iPhoneHandle
1.2.2
OTRS AG
http://otrs.org/
GNU AFFERO GENERAL PUBLIC LICENSE Version 3, November 2007
Build for iPhoneHandle 1.2.2.
Build for iPhoneHandle 1.2.1.
Build for iPhoneHandle 1.2.0 rc1.
Build for iPhoneHandle 1.2.0 beta2.
First version for OTRS 3.2.x.
The iPhoneHandle Package.
Das iPhoneHandle Paket.
3.2.x
<br/>
<strong>WELCOME</strong>
<br/>
<br/>
You are about to install the OTRS package iPhoneHandle.<br/>
<br/>
<br/>
<b>ATTENTION</b>
<br/>
<br/>
Make sure your database accepts packages over 5 MB in size. A MySQL database for example accepts packages up to 1 MB by default. In this case, the value for max_allowed_packet must be increased. The recommended maximum size accepted is 20 MB.<br/>
<br/>
<br/>
((enjoy))<br/>
<br/>
<br/>
<strong>ATTENTION</strong>
<br/>
<br/>
If you uninstall this package, the iPhone app, will not be able to communicate with your server!
<br/>
<br/>
((enjoy))<br/>
<br/>
<br/>
<strong>WELCOME</strong>
<br/>
<br/>
You are about to upgrade the OTRS package iPhoneHandle.<br/>
<br/>
<br/>
((enjoy))<br/>
<br/>
# define function name
my $FunctionName = 'CodeInstall';
# create the package name
my $CodeModule = 'var::packagesetup::' . $Param{Structure}->{Name}->{Content};
# load the module
if ( $Self->{MainObject}->Require($CodeModule) ) {
# create new instance
my $CodeObject = $CodeModule->new( %{$Self} );
if ($CodeObject) {
# start method
if ( !$CodeObject->$FunctionName(%{$Self}) ) {
$Self->{LogObject}->Log(
Priority => 'error',
Message => "Could not call method $FunctionName() on $CodeModule.pm."
);
}
}
# error handling
else {
$Self->{LogObject}->Log(
Priority => 'error',
Message => "Could not call method new() on $CodeModule.pm."
);
}
}
# define function name
my $FunctionName = 'CodeUpgrade';
# create the package name
my $CodeModule = 'var::packagesetup::' . $Param{Structure}->{Name}->{Content};
# load the module
if ( $Self->{MainObject}->Require($CodeModule) ) {
# create new instance
my $CodeObject = $CodeModule->new( %{$Self} );
if ($CodeObject) {
# start method
if ( !$CodeObject->$FunctionName(%{$Self}) ) {
$Self->{LogObject}->Log(
Priority => 'error',
Message => "Could not call method $FunctionName() on $CodeModule.pm."
);
}
}
# error handling
else {
$Self->{LogObject}->Log(
Priority => 'error',
Message => "Could not call method new() on $CodeModule.pm."
);
}
}
# define function name
my $FunctionName = 'CodeUninstall';
# create the package name
my $CodeModule = 'var::packagesetup::' . $Param{Structure}->{Name}->{Content};
# load the module
if ( $Self->{MainObject}->Require($CodeModule) ) {
# create new instance
my $CodeObject = $CodeModule->new( %{$Self} );
if ($CodeObject) {
# start method
if ( !$CodeObject->$FunctionName(%{$Self}) ) {
$Self->{LogObject}->Log(
Priority => 'error',
Message => "Could not call method $FunctionName() on $CodeModule.pm."
);
}
}
# error handling
else {
$Self->{LogObject}->Log(
Priority => 'error',
Message => "Could not call method new() on $CodeModule.pm."
);
}
}
# define function name
my $FunctionName = 'CodeReinstall';
# create the package name
my $CodeModule = 'var::packagesetup::' . $Param{Structure}->{Name}->{Content};
# load the module
if ( $Self->{MainObject}->Require($CodeModule) ) {
# create new instance
my $CodeObject = $CodeModule->new( %{$Self} );
if ($CodeObject) {
# start method
if ( !$CodeObject->$FunctionName(%{$Self}) ) {
$Self->{LogObject}->Log(
Priority => 'error',
Message => "Could not call method $FunctionName() on $CodeModule.pm."
);
}
}
# error handling
else {
$Self->{LogObject}->Log(
Priority => 'error',
Message => "Could not call method new() on $CodeModule.pm."
);
}
}
2015-09-08 23:52:26
opms.otrs.com
IyEvdXNyL2Jpbi9wZXJsCiMgLS0KIyBiaW4vY2dpLWJpbi9qc29uLnBsIC0ganNvbiBoYW5kbGUKIyBDb3B5cmlnaHQgKEMpIDIwMDEtMjAxNSBPVFJTIEFHLCBodHRwOi8vb3Rycy5jb20vCiMgLS0KIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFGRkVSTyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCiMgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEgVVNBCiMgb3Igc2VlIGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9hZ3BsLnR4dC4KIyAtLQoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwoKIyB1c2UgLi4vLi4vIGFzIGxpYiBsb2NhdGlvbgp1c2UgRmluZEJpbiBxdygkQmluKTsKdXNlIGxpYiAiJEJpbi8uLi8uLiI7CnVzZSBsaWIgIiRCaW4vLi4vLi4vS2VybmVsL2NwYW4tbGliIjsKCnVzZSBLZXJuZWw6OkNvbmZpZzsKdXNlIEtlcm5lbDo6U3lzdGVtOjpFbmNvZGU7CnVzZSBLZXJuZWw6OlN5c3RlbTo6TG9nOwp1c2UgS2VybmVsOjpTeXN0ZW06OkRCOwp1c2UgS2VybmVsOjpTeXN0ZW06Ok1haW47CnVzZSBLZXJuZWw6OlN5c3RlbTo6VGltZTsKdXNlIEtlcm5lbDo6U3lzdGVtOjpBdXRoOwp1c2UgS2VybmVsOjpTeXN0ZW06OlVzZXI7CnVzZSBLZXJuZWw6OlN5c3RlbTo6R3JvdXA7CnVzZSBLZXJuZWw6OlN5c3RlbTo6UXVldWU7CnVzZSBLZXJuZWw6OlN5c3RlbTo6U2VydmljZTsKdXNlIEtlcm5lbDo6U3lzdGVtOjpUeXBlOwp1c2UgS2VybmVsOjpTeXN0ZW06OlN0YXRlOwp1c2UgS2VybmVsOjpTeXN0ZW06OkxvY2s7CnVzZSBLZXJuZWw6OlN5c3RlbTo6U0xBOwp1c2UgS2VybmVsOjpTeXN0ZW06OkN1c3RvbWVyVXNlcjsKdXNlIEtlcm5lbDo6U3lzdGVtOjpUaWNrZXQ7CnVzZSBLZXJuZWw6OlN5c3RlbTo6TGlua09iamVjdDsKdXNlIEtlcm5lbDo6U3lzdGVtOjpKU09OOwp1c2UgS2VybmVsOjpTeXN0ZW06OmlQaG9uZTsKCnVzZSBLZXJuZWw6OlN5c3RlbTo6V2ViOjpSZXF1ZXN0OwoKbXkgJFNlbGYgPSB7fTsKYmxlc3MoJFNlbGYpOyAgICAjIyBubyBjcml0aWMKcHJpbnQgIkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgXG4iOwpwcmludCAiXG4iOwpwcmludCAkU2VsZi0+RGlzcGF0Y2goKTsKCnN1YiBuZXcgewogICAgbXkgKCAkVHlwZSwgJVBhcmFtICkgPSBAXzsKCiAgICAjIGFsbG9jYXRlIG5ldyBoYXNoIGZvciBvYmplY3QKICAgIG15ICRTZWxmID0geyVQYXJhbX07CiAgICBibGVzcyggJFNlbGYsICRUeXBlICk7CgogICAgcmV0dXJuICRTZWxmOwp9CgpzdWIgRGlzcGF0Y2ggewogICAgbXkgKCRTZWxmKSA9IEBfOwoKICAgICMgY29tbW9uIG9iamVjdHMKICAgICRTZWxmLT57Q29uZmlnT2JqZWN0fSA9IEtlcm5lbDo6Q29uZmlnLT5uZXcoKTsKICAgICRTZWxmLT57RW5jb2RlT2JqZWN0fSA9IEtlcm5lbDo6U3lzdGVtOjpFbmNvZGUtPm5ldyggJXskU2VsZn0gKTsKICAgICRTZWxmLT57TG9nT2JqZWN0fSAgICA9IEtlcm5lbDo6U3lzdGVtOjpMb2ctPm5ldygKICAgICAgICBMb2dQcmVmaXggPT4gJ09UUlMtaVBob25lSGFuZGxlJywKICAgICAgICAleyRTZWxmfSwKICAgICk7CiAgICAkU2VsZi0+e01haW5PYmplY3R9ICAgICAgICAgPSBLZXJuZWw6OlN5c3RlbTo6TWFpbi0+bmV3KCAleyRTZWxmfSApOwogICAgJFNlbGYtPntEQk9iamVjdH0gICAgICAgICAgID0gS2VybmVsOjpTeXN0ZW06OkRCLT5uZXcoICV7JFNlbGZ9ICk7CiAgICAkU2VsZi0+e1RpbWVPYmplY3R9ICAgICAgICAgPSBLZXJuZWw6OlN5c3RlbTo6VGltZS0+bmV3KCAleyRTZWxmfSApOwogICAgJFNlbGYtPntVc2VyT2JqZWN0fSAgICAgICAgID0gS2VybmVsOjpTeXN0ZW06OlVzZXItPm5ldyggJXskU2VsZn0gKTsKICAgICRTZWxmLT57R3JvdXBPYmplY3R9ICAgICAgICA9IEtlcm5lbDo6U3lzdGVtOjpHcm91cC0+bmV3KCAleyRTZWxmfSApOwogICAgJFNlbGYtPntRdWV1ZU9iamVjdH0gICAgICAgID0gS2VybmVsOjpTeXN0ZW06OlF1ZXVlLT5uZXcoICV7JFNlbGZ9ICk7CiAgICAkU2VsZi0+e1NlcnZpY2VPYmplY3R9ICAgICAgPSBLZXJuZWw6OlN5c3RlbTo6U2VydmljZS0+bmV3KCAleyRTZWxmfSApOwogICAgJFNlbGYtPntUeXBlT2JqZWN0fSAgICAgICAgID0gS2VybmVsOjpTeXN0ZW06OlR5cGUtPm5ldyggJXskU2VsZn0gKTsKICAgICRTZWxmLT57U3RhdGVPYmplY3R9ICAgICAgICA9IEtlcm5lbDo6U3lzdGVtOjpTdGF0ZS0+bmV3KCAleyRTZWxmfSApOwogICAgJFNlbGYtPntMb2NrT2JqZWN0fSAgICAgICAgID0gS2VybmVsOjpTeXN0ZW06OkxvY2stPm5ldyggJXskU2VsZn0gKTsKICAgICRTZWxmLT57U0xBT2JqZWN0fSAgICAgICAgICA9IEtlcm5lbDo6U3lzdGVtOjpTTEEtPm5ldyggJXskU2VsZn0gKTsKICAgICRTZWxmLT57Q3VzdG9tZXJVc2VyT2JqZWN0fSA9IEtlcm5lbDo6U3lzdGVtOjpDdXN0b21lclVzZXItPm5ldyggJXskU2VsZn0gKTsKICAgICRTZWxmLT57VGlja2V0T2JqZWN0fSAgICAgICA9IEtlcm5lbDo6U3lzdGVtOjpUaWNrZXQtPm5ldyggJXskU2VsZn0gKTsKICAgICRTZWxmLT57TGlua09iamVjdH0gICAgICAgICA9IEtlcm5lbDo6U3lzdGVtOjpMaW5rT2JqZWN0LT5uZXcoICV7JFNlbGZ9ICk7CiAgICAkU2VsZi0+e0pTT05PYmplY3R9ICAgICAgICAgPSBLZXJuZWw6OlN5c3RlbTo6SlNPTi0+bmV3KCAleyRTZWxmfSApOwogICAgJFNlbGYtPntQYXJhbU9iamVjdH0gICAgICAgID0gS2VybmVsOjpTeXN0ZW06OldlYjo6UmVxdWVzdC0+bmV3KCAleyRTZWxmfSApOwogICAgJFNlbGYtPntpUGhvbmVPYmplY3R9ICAgICAgID0gS2VybmVsOjpTeXN0ZW06OmlQaG9uZS0+bmV3KCAleyRTZWxmfSApOwoKICAgICMgZ2V0IGxvZyBmaWxlbmFtZQogICAgJFNlbGYtPntEZWJ1Z0xvZ0ZpbGV9ID0gJFNlbGYtPntDb25maWdPYmplY3R9LT5HZXQoJ2lQaG9uZTo6TG9nRmlsZScpIHx8ICcnOwoKICAgICMgc2V0IGNvbW1vbiB2YXJpYWJsZXMKICAgIG15ICRVc2VyICAgPSAkU2VsZi0+e1BhcmFtT2JqZWN0fS0+R2V0UGFyYW0oIFBhcmFtID0+ICdVc2VyJyApICAgICB8fCAnJzsKICAgIG15ICRQdyAgICAgPSAkU2VsZi0+e1BhcmFtT2JqZWN0fS0+R2V0UGFyYW0oIFBhcmFtID0+ICdQYXNzd29yZCcgKSB8fCAnJzsKICAgIG15ICRPYmplY3QgPSAkU2VsZi0+e1BhcmFtT2JqZWN0fS0+R2V0UGFyYW0oIFBhcmFtID0+ICdPYmplY3QnICkgICB8fCAnJzsKICAgIG15ICRNZXRob2QgPSAkU2VsZi0+e1BhcmFtT2JqZWN0fS0+R2V0UGFyYW0oIFBhcmFtID0+ICdNZXRob2QnICkgICB8fCAnJzsKICAgIG15ICREYXRhICAgPSAkU2VsZi0+e1BhcmFtT2JqZWN0fS0+R2V0UGFyYW0oIFBhcmFtID0+ICdEYXRhJyApOwogICAgbXkgJFBhcmFtU2NhbGFyID0gJFNlbGYtPntKU09OT2JqZWN0fS0+RGVjb2RlKCBEYXRhID0+ICREYXRhICk7CgogICAgbXkgJVBhcmFtOwogICAgaWYgKCRQYXJhbVNjYWxhcikgewogICAgICAgICVQYXJhbSA9ICV7JFBhcmFtU2NhbGFyfTsKICAgIH0KCiAgICAjIGluYm91bmQgbG9nCiAgICBpZiAoICRTZWxmLT57Q29uZmlnT2JqZWN0fS0+R2V0KCdpUGhvbmU6OkRlYnVnTG9nJykgKSB7CiAgICAgICAgbXkgJE1lc3NhZ2UgPSAnVXNlcj0nIC4gJFVzZXIgLiAnJlBhc3N3b3JkPSoqKionIC4gJyZPYmplY3Q9JyAuICRPYmplY3QKICAgICAgICAgICAgLiAnJk1ldGhvZD0nIC4gJE1ldGhvZCAuICcmRGF0YT0nIC4gJERhdGE7CgogICAgICAgICRTZWxmLT5Mb2coCiAgICAgICAgICAgIERpcmVjdGlvbiA9PiAnSW5ib3VuZCcsCiAgICAgICAgICAgIE1lc3NhZ2UgICA9PiAkTWVzc2FnZSwKICAgICAgICApOwogICAgfQoKICAgICMgY2hlY2sgbmVlZGVkCiAgICBpZiAoICEkVXNlciB8fCAhJE9iamVjdCB8fCAhJE1ldGhvZCApIHsKICAgICAgICBteSAkTWVzc2FnZSA9ICJOZWVkIFVzZXIsIE9iamVjdCBhbmQgTWV0aG9kISI7CiAgICAgICAgJFNlbGYtPntMb2dPYmplY3R9LT5Mb2coCiAgICAgICAgICAgIFByaW9yaXR5ID0+ICdlcnJvcicsCiAgICAgICAgICAgIE1lc3NhZ2UgID0+ICRNZXNzYWdlLAogICAgICAgICk7CgogICAgICAgIHJldHVybiAkU2VsZi0+UmVzdWx0KAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBTdWNjZXNzICAgICAgPT4gMCwKICAgICAgICAgICAgICAgIEVycm9yTWVzc2FnZSA9PiAkTWVzc2FnZSwKICAgICAgICAgICAgfSwKICAgICAgICApOwogICAgfQoKICAgICMgYWdlbnQgYXV0aAogICAgbXkgJVBhcmFtRml4ZWQ7CiAgICBpZiAoMSkgewogICAgICAgIG15ICRBdXRoT2JqZWN0ID0gS2VybmVsOjpTeXN0ZW06OkF1dGgtPm5ldyggJXskU2VsZn0gKTsKICAgICAgICBteSAkVXNlckxvZ2luICA9ICRBdXRoT2JqZWN0LT5BdXRoKAogICAgICAgICAgICBVc2VyID0+ICRVc2VyLAogICAgICAgICAgICBQdyAgID0+ICRQdwogICAgICAgICk7CgogICAgICAgIGlmICggISRVc2VyTG9naW4gKSB7CiAgICAgICAgICAgIG15ICRNZXNzYWdlID0gIkF1dGggZm9yIHVzZXIgJFVzZXIgZmFpbGVkISI7CiAgICAgICAgICAgICRTZWxmLT57TG9nT2JqZWN0fS0+TG9nKAogICAgICAgICAgICAgICAgUHJpb3JpdHkgPT4gJ25vdGljZScsCiAgICAgICAgICAgICAgICBNZXNzYWdlICA9PiAkTWVzc2FnZSwKICAgICAgICAgICAgKTsKICAgICAgICAgICAgcmV0dXJuICRTZWxmLT5SZXN1bHQoCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgU3VjY2VzcyAgICAgID0+IDAsCiAgICAgICAgICAgICAgICAgICAgRXJyb3JNZXNzYWdlID0+ICRNZXNzYWdlLAogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgKTsKICAgICAgICB9CgogICAgICAgICMgc2V0IHVzZXIgaWQKICAgICAgICBteSAkVXNlcklEID0gJFNlbGYtPntVc2VyT2JqZWN0fS0+VXNlckxvb2t1cCgKICAgICAgICAgICAgVXNlckxvZ2luID0+ICRVc2VyTG9naW4sCiAgICAgICAgKTsKICAgICAgICBpZiAoICEkVXNlcklEICkgewogICAgICAgICAgICByZXR1cm4gJFNlbGYtPlJlc3VsdCgKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBTdWNjZXNzICAgICAgPT4gMCwKICAgICAgICAgICAgICAgICAgICBFcnJvck1lc3NhZ2UgPT4gIlVzZXIgJFVzZXJMb2dpbiBub3QgZm91bmQsIFVzZXJJRCBjYW4gbm90IGJlIHNldCEiLAogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgKTsKICAgICAgICB9CgogICAgICAgICRQYXJhbUZpeGVke1VzZXJJRH0gPSAkVXNlcklEOwogICAgfQoKICAgICMgc3lzdGVtIGF1dGgKICAgICMgVGhpcyBjb2RlIGlzIG5vdCBuZWVkZWQgYW5kIGhhcyB0byBiZSByZW1vdmVkIQogICAgZWxzZSB7CiAgICAgICAgbXkgJFJlcXVpcmVkVXNlciAgICAgPSAkU2VsZi0+e0NvbmZpZ09iamVjdH0tPkdldCgnU09BUDo6VXNlcicpOwogICAgICAgIG15ICRSZXF1aXJlZFBhc3N3b3JkID0gJFNlbGYtPntDb25maWdPYmplY3R9LT5HZXQoJ1NPQVA6OlBhc3N3b3JkJyk7CgogICAgICAgIGlmICgKICAgICAgICAgICAgIWRlZmluZWQgJFJlcXVpcmVkVXNlcgogICAgICAgICAgICB8fCAhbGVuZ3RoICRSZXF1aXJlZFVzZXIKICAgICAgICAgICAgfHwgIWRlZmluZWQgJFJlcXVpcmVkUGFzc3dvcmQgfHwgIWxlbmd0aCAkUmVxdWlyZWRQYXNzd29yZAogICAgICAgICAgICApCiAgICAgICAgewogICAgICAgICAgICAkU2VsZi0+e0xvZ09iamVjdH0tPkxvZygKICAgICAgICAgICAgICAgIFByaW9yaXR5ID0+ICdub3RpY2UnLAogICAgICAgICAgICAgICAgTWVzc2FnZSAgPT4gJ1NPQVA6OlVzZXIgb3IgU09BUDo6UGFzc3dvcmQgaXMgZW1wdHksIFNPQVAgYWNjZXNzIGRlbmllZCEnLAogICAgICAgICAgICApOwogICAgICAgICAgICByZXR1cm4gJFNlbGYtPlJlc3VsdCgpOwogICAgICAgIH0KCiAgICAgICAgaWYgKCAkVXNlciBuZSAkUmVxdWlyZWRVc2VyIHx8ICRQdyBuZSAkUmVxdWlyZWRQYXNzd29yZCApIHsKICAgICAgICAgICAgJFNlbGYtPntMb2dPYmplY3R9LT5Mb2coCiAgICAgICAgICAgICAgICBQcmlvcml0eSA9PiAnbm90aWNlJywKICAgICAgICAgICAgICAgIE1lc3NhZ2UgID0+ICJBdXRoIGZvciB1c2VyICRVc2VyIGZhaWxlZCEiLAogICAgICAgICAgICApOwogICAgICAgICAgICByZXR1cm4gJFNlbGYtPlJlc3VsdCgpOwogICAgICAgIH0KICAgIH0KCiAgICAjIG9iamVjdCB3aGl0ZSBsaXN0CiAgICBteSAkT2JqZWN0V2hpdGVMaXN0ID0gJFNlbGYtPntDb25maWdPYmplY3R9LT5HZXQoJ2lQaG9uZTo6QVBJOjpPYmplY3QnKTsKICAgIGlmICgkT2JqZWN0V2hpdGVMaXN0KSB7CiAgICAgICAgaWYgKCAhZGVmaW5lZCAkT2JqZWN0V2hpdGVMaXN0LT57JE9iamVjdH0gKSB7CiAgICAgICAgICAgIG15ICRNZXNzYWdlID0gIk5vIGFjY2VzcyB0byAnJE9iamVjdCchIjsKICAgICAgICAgICAgJFNlbGYtPntMb2dPYmplY3R9LT5Mb2coCiAgICAgICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICAgICAgTWVzc2FnZSAgPT4gJE1lc3NhZ2UsCiAgICAgICAgICAgICk7CiAgICAgICAgICAgIHJldHVybiAkU2VsZi0+UmVzdWx0KAogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFN1Y2Nlc3MgICAgICA9PiAwLAogICAgICAgICAgICAgICAgICAgIEVycm9yTWVzc2FnZSA9PiAkTWVzc2FnZSwKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICk7CiAgICAgICAgfQogICAgICAgIGlmICggJE9iamVjdFdoaXRlTGlzdC0+eyRPYmplY3R9ICYmICRNZXRob2QgIX4gLyRPYmplY3RXaGl0ZUxpc3QtPnskT2JqZWN0fS8gKSB7CiAgICAgICAgICAgIG15ICRNZXNzYWdlID0gIk5vIGFjY2VzcyBtZXRob2QgJyRNZXRob2QoKScgZnJvbSAnJE9iamVjdCchIjsKICAgICAgICAgICAgJFNlbGYtPntMb2dPYmplY3R9LT5Mb2coCiAgICAgICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICAgICAgTWVzc2FnZSAgPT4gJE1lc3NhZ2UsCiAgICAgICAgICAgICk7CiAgICAgICAgICAgIHJldHVybiAkU2VsZi0+UmVzdWx0KAogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFN1Y2Nlc3MgICAgICA9PiAwLAogICAgICAgICAgICAgICAgICAgIEVycm9yTWVzc2FnZSA9PiAkTWVzc2FnZSwKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICk7CiAgICAgICAgfQogICAgfQoKICAgIGlmICggISRTZWxmLT57JE9iamVjdH0gJiYgJE9iamVjdCBuZSAnQ3VzdG9tT2JqZWN0JyApIHsKICAgICAgICBteSAkTWVzc2FnZSA9ICJObyBzdWNoIE9iamVjdCAkT2JqZWN0ISI7CiAgICAgICAgJFNlbGYtPntMb2dPYmplY3R9LT5Mb2coCiAgICAgICAgICAgIFByaW9yaXR5ID0+ICdlcnJvcicsCiAgICAgICAgICAgIE1lc3NhZ2UgID0+ICRNZXNzYWdlLAogICAgICAgICk7CiAgICAgICAgcmV0dXJuICRTZWxmLT5SZXN1bHQoCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFN1Y2Nlc3MgICAgICA9PiAwLAogICAgICAgICAgICAgICAgRXJyb3JNZXNzYWdlID0+ICRNZXNzYWdlLAogICAgICAgICAgICB9LAogICAgICAgICk7CiAgICB9CgogICAgIyBjaGVjayBpZiBtZXRob2QgZXhpc3RzIGluIG9iamVjdHMgb3RoZXIgdGhhbiAnQ3VzdG9tT2JqZWN0JwogICAgaWYgKAogICAgICAgICggJFNlbGYtPnskT2JqZWN0fSAmJiAhJFNlbGYtPnskT2JqZWN0fS0+Y2FuKCRNZXRob2QpICkKICAgICAgICAmJiAhJFNlbGYtPmNhbigkTWV0aG9kKQogICAgICAgICkKICAgIHsKICAgICAgICBteSAkTWVzc2FnZSA9ICJObyBzdWNoIG1ldGhvZCAnJE1ldGhvZCcgaW4gJyRPYmplY3QnISI7CiAgICAgICAgJFNlbGYtPntMb2dPYmplY3R9LT5Mb2coCiAgICAgICAgICAgIFByaW9yaXR5ID0+ICdlcnJvcicsCiAgICAgICAgICAgIE1lc3NhZ2UgID0+ICRNZXNzYWdlLAogICAgICAgICk7CiAgICAgICAgcmV0dXJuICRTZWxmLT5SZXN1bHQoCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFN1Y2Nlc3MgICAgICA9PiAwLAogICAgICAgICAgICAgICAgRXJyb3JNZXNzYWdlID0+ICRNZXNzYWdlLAogICAgICAgICAgICB9LAogICAgICAgICk7CiAgICB9CiAgICBlbHNpZiAoICRPYmplY3QgZXEgJ0N1c3RvbU9iamVjdCcgKSB7CgogICAgICAgICMgY2hlY2sgaWYgbWV0aG9kIGV4aXN0cyBpbiBpUGhvbmVPYmplY3QKICAgICAgICBpZiAoICEkU2VsZi0+e2lQaG9uZU9iamVjdH0tPmNhbigkTWV0aG9kKSApIHsKICAgICAgICAgICAgbXkgJE1lc3NhZ2UgPSAiTm8gc3VjaCBtZXRob2QgJyRNZXRob2QnIGluICckT2JqZWN0JyEiOwogICAgICAgICAgICAkU2VsZi0+e0xvZ09iamVjdH0tPkxvZygKICAgICAgICAgICAgICAgIFByaW9yaXR5ID0+ICdlcnJvcicsCiAgICAgICAgICAgICAgICBNZXNzYWdlICA9PiAkTWVzc2FnZSwKICAgICAgICAgICAgKTsKICAgICAgICAgICAgcmV0dXJuICRTZWxmLT5SZXN1bHQoCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgU3VjY2VzcyAgICAgID0+IDAsCiAgICAgICAgICAgICAgICAgICAgRXJyb3JNZXNzYWdlID0+ICRNZXNzYWdlLAogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgKTsKICAgICAgICB9CiAgICB9CgogICAgIyBleGVjdXRlIGlQaG9uZU9iamVjdCBtZXRob2RzCiAgICBpZiAoICRPYmplY3QgZXEgJ0N1c3RvbU9iamVjdCcgfHwgJE9iamVjdCBlcSAnaVBob25lT2JqZWN0JyApIHsKCiAgICAgICAgbXkgQFJlc3VsdCA9ICRTZWxmLT57aVBob25lT2JqZWN0fS0+JE1ldGhvZCgKICAgICAgICAgICAgJVBhcmFtLAogICAgICAgICAgICAlUGFyYW1GaXhlZCwKICAgICAgICApOwogICAgICAgIHJldHVybiAkU2VsZi0+UmVzdWx0KCBcQFJlc3VsdCApOwogICAgfQoKICAgICMgZXhlY3V0ZSBvdGhlciBvYmplY3QgbWV0aG9kcwogICAgZWxzZSB7CiAgICAgICAgbXkgQFJlc3VsdCA9ICRTZWxmLT57JE9iamVjdH0tPiRNZXRob2QoCiAgICAgICAgICAgICVQYXJhbSwKICAgICAgICAgICAgJVBhcmFtRml4ZWQsCiAgICAgICAgKTsKICAgICAgICByZXR1cm4gJFNlbGYtPlJlc3VsdCggXEBSZXN1bHQgKTsKICAgIH0KfQoKc3ViIFJlc3VsdCB7CiAgICBteSAoICRTZWxmLCAkUmVzdWx0ICkgPSBAXzsKCiAgICBteSAlUmVzdWx0UHJvdG9jb2w7CgogICAgaWYgKCRSZXN1bHQpIHsKCiAgICAgICAgIyB0aGlzIG1ldGhvZCBpcyBzdGlsbCBuZWVkZWQgZm9yIG90aGVyIG9iamVjdHMgdGhhbiBDdXN0b21PYmplY3QKICAgICAgICAjIHRoaXMgbWV0aG9kIGlzIGFsc28gdXNlZCBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSBvZiBub3QgbWlncmF0ZWQgQ3VzdG9tT2JqZWN0IGZ1bmN0aW9ucwogICAgICAgIGlmICggcmVmICRSZXN1bHQgZXEgJ0FSUkFZJyApIHsKCiAgICAgICAgICAgICMgLTEgcmVzcG9uc2UgbWVhbnMgYW4gZXJyb3IKICAgICAgICAgICAgaWYgKCBkZWZpbmVkIEB7JFJlc3VsdH1bMF0gJiYgQHskUmVzdWx0fVswXSBlcSAtMSApIHsKICAgICAgICAgICAgICAgICRSZXN1bHRQcm90b2NvbHtSZXN1bHR9ID0gJ2ZhaWxlZCc7CgogICAgICAgICAgICAgICAgIyBnZXQgbGFzdCBsb2dlZCBlcnJvciBhbmQgc2V0IGlzIGFzIHRoZSBlcnJvciBtZXNzYWdlCiAgICAgICAgICAgICAgICBmb3IgbXkgJEtleSAocXcoZXJyb3Igbm90aWNlKSkgewogICAgICAgICAgICAgICAgICAgICRSZXN1bHRQcm90b2NvbHtNZXNzYWdlfSA9ICRTZWxmLT57TG9nT2JqZWN0fS0+R2V0TG9nRW50cnkoCiAgICAgICAgICAgICAgICAgICAgICAgIFR5cGUgPT4gJEtleSwKICAgICAgICAgICAgICAgICAgICAgICAgV2hhdCA9PiAnTWVzc2FnZScsCiAgICAgICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgICAgICAgICBsYXN0IGlmICRSZXN1bHRQcm90b2NvbHtNZXNzYWdlfTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgIyBvdGhlcndpc2UgaXMgYWx3YXlzIHN1Y2Nlc3NmdWwKICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICAkUmVzdWx0UHJvdG9jb2x7UmVzdWx0fSA9ICdzdWNjZXNzZnVsJzsKICAgICAgICAgICAgICAgICRSZXN1bHRQcm90b2NvbHtEYXRhfSAgID0gJFJlc3VsdDsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgIyB0aGlzIG1ldGhvZCB3aWxsIGhhdmUgbW9yZSBjb250cm9sIG92ZXIgdGhlIGVycm9yIG1lc3NhZ2VzCiAgICAgICAgZWxzaWYgKCByZWYgJFJlc3VsdCBlcSAnSEFTSCcgKSB7CgogICAgICAgICAgICAjIGNoZWNrIGZvciBhIHRydWUgdmFsdWUgaW4gU3VjY2VzcyBrZXkKICAgICAgICAgICAgaWYgKCBkZWZpbmVkICRSZXN1bHQtPntTdWNjZXNzfSAmJiAkUmVzdWx0LT57U3VjY2Vzc30gPT0gMSApIHsKICAgICAgICAgICAgICAgICRSZXN1bHRQcm90b2NvbHtSZXN1bHR9ID0gJ3N1Y2Nlc3NmdWwnOwogICAgICAgICAgICAgICAgJFJlc3VsdFByb3RvY29se0RhdGF9ICAgPSAkUmVzdWx0LT57RGF0YX07CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgICMgb3RoZXJ3aXNlIGlzIGFuIGVycm9yCiAgICAgICAgICAgIGVsc2lmICggZGVmaW5lZCAkUmVzdWx0LT57U3VjY2Vzc30gJiYgISRSZXN1bHQtPntTdWNjZXNzfSApIHsKICAgICAgICAgICAgICAgICRSZXN1bHRQcm90b2NvbHtSZXN1bHR9ICAgICAgPSAnZmFpbGVkJywKICAgICAgICAgICAgICAgICAgICAkUmVzdWx0UHJvdG9jb2x7TWVzc2FnZX0gPSAkUmVzdWx0LT57RXJyb3JNZXNzYWdlfQogICAgICAgICAgICAgICAgICAgIHx8ICdVbmtub3duIEVycm9yLCBwbGFzZSBjb250YWN0IHN5c3RlbSBhZG1pbmlzdHJhdG9yIHRvIGNoZWNrIE9UUlMgTG9ncyEnOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAjIHN1Y2Nlc3MgZmFsbGJhY2sgaWYgcmVzdWx0IGlzIG5vdCBhbiBBUlJBWSBvciBIQVNICiAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICRSZXN1bHRQcm90b2NvbHtSZXN1bHR9ID0gJ3N1Y2Nlc3NmdWwnOwogICAgICAgICAgICAkUmVzdWx0UHJvdG9jb2x7RGF0YX0gICA9ICRSZXN1bHQ7CiAgICAgICAgfQogICAgfQoKICAgICMgZmFpbGVkIGZhbGxiYWNrIGlmIHRoZXJlIHdhcyBubyByZXNwb25zZQogICAgZWxzZSB7CiAgICAgICAgJFJlc3VsdFByb3RvY29se1Jlc3VsdH0gPSAnZmFpbGVkJzsKCiAgICAgICAgIyBnZXQgbGFzdCBsb2dlZCBlcnJvciBhbmQgc2V0IGlzIGFzIHRoZSBlcnJvciBtZXNzYWdlCiAgICAgICAgZm9yIG15ICRLZXkgKHF3KGVycm9yIG5vdGljZSkpIHsKICAgICAgICAgICAgJFJlc3VsdFByb3RvY29se01lc3NhZ2V9ID0gJFNlbGYtPntMb2dPYmplY3R9LT5HZXRMb2dFbnRyeSgKICAgICAgICAgICAgICAgIFR5cGUgPT4gJEtleSwKICAgICAgICAgICAgICAgIFdoYXQgPT4gJ01lc3NhZ2UnLAogICAgICAgICAgICApOwogICAgICAgICAgICBsYXN0IGlmICRSZXN1bHRQcm90b2NvbHtNZXNzYWdlfTsKICAgICAgICB9CiAgICB9CgogICAgIyBzZXQgcmVzdWx0IHRvIGEgdmFyaWFibGUgZm9yIGVhc3kgbG9nIG91dHB1dAogICAgbXkgJEpTT05SZXN1bHQgPSAkU2VsZi0+e0pTT05PYmplY3R9LT5FbmNvZGUoIERhdGEgPT4gXCVSZXN1bHRQcm90b2NvbCApOwoKICAgICMgb3V0Ym91bmQgbG9nCiAgICBpZiAoICRTZWxmLT57Q29uZmlnT2JqZWN0fS0+R2V0KCdpUGhvbmU6OkRlYnVnTG9nJykgKSB7CgogICAgICAgICRTZWxmLT5Mb2coCiAgICAgICAgICAgIERpcmVjdGlvbiA9PiAnT3V0Ym91bmQnLAogICAgICAgICAgICBNZXNzYWdlICAgPT4gJEpTT05SZXN1bHQsCiAgICAgICAgICAgICkKICAgIH0KCiAgICByZXR1cm4gJEpTT05SZXN1bHQ7Cn0KCnN1YiBMb2cgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICBteSAkRkg7CgogICAgIyBvcGVuIGxvZ2ZpbGUKICAgIGlmICggIW9wZW4gJEZILCAnPj4nLCAkU2VsZi0+e0RlYnVnTG9nRmlsZX0gKSB7CgogICAgICAgICMgcHJpbnQgZXJyb3Igc2NyZWVuCiAgICAgICAgcHJpbnQgU1RERVJSICJcbiI7CiAgICAgICAgcHJpbnQgU1RERVJSICIgPj4gQ2FuJ3Qgd3JpdGUgJFNlbGYtPntMb2dGaWxlfTogJCEgPDxcbiI7CiAgICAgICAgcHJpbnQgU1RERVJSICJcbiI7CiAgICAgICAgcmV0dXJuOwogICAgfQoKICAgICMgd3JpdGUgbG9nIGZpbGUKICAgIHByaW50ICRGSCAnWycgLiAkU2VsZi0+e1RpbWVPYmplY3R9LT5DdXJyZW50VGltZXN0YW1wKCkgLiAnXSc7CiAgICBwcmludCAkRkggIltEZWJ1Z10gWyRQYXJhbXtEaXJlY3Rpb259XSAkUGFyYW17TWVzc2FnZX1cbiI7CgogICAgIyBjbG9zZSBmaWxlIGhhbmRsZQogICAgY2xvc2UgJEZIOwogICAgcmV0dXJuIDE7Cn0KCjE7Cg==
PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPG90cnNfY29uZmlnIHZlcnNpb249IjEuMCIgaW5pdD0iQXBwbGljYXRpb24iPgogICAgPENvbmZpZ0l0ZW0gTmFtZT0iaVBob25lOjpGcm9udGVuZDo6QWdlbnRUaWNrZXRQaG9uZSMjI1RpY2tldEZyZWVUZXh0IiBSZXF1aXJlZD0iMCIgVmFsaWQ9IjEiPgogICAgICAgIDxEZXNjcmlwdGlvbiBUcmFuc2xhdGFibGU9IjEiPkRFUFJFQ0FURUQhIFRoaXMgc2V0dGluZyBpcyBub3QgdXNlZCBhbnkgbW9yZSBhbmQgd2lsbCBiZSByZW1vdmVkIGluIGEgZnV0dXJlIHZlcnNpb24gb2YgT1RSUy48L0Rlc2NyaXB0aW9uPgogICAgICAgIDxHcm91cD5aX2lQaG9uZV9EZXByZWNhdGVkPC9Hcm91cD4KICAgICAgICA8U3ViR3JvdXA+RnJvbnRlbmQ6OkFnZW50OjpUaWNrZXQ6OlZpZXdQaG9uZTwvU3ViR3JvdXA+CiAgICAgICAgPFNldHRpbmc+CiAgICAgICAgICAgIDxIYXNoPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSIxIj4wPC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSIyIj4wPC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSIzIj4wPC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSI0Ij4wPC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSI1Ij4wPC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSI2Ij4wPC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSI3Ij4wPC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSI4Ij4wPC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSI5Ij4wPC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSIxMCI+MDwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iMTEiPjA8L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IjEyIj4wPC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSIxMyI+MDwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iMTQiPjA8L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IjE1Ij4wPC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSIxNiI+MDwvSXRlbT4KICAgICAgICAgICAgPC9IYXNoPgogICAgICAgIDwvU2V0dGluZz4KICAgIDwvQ29uZmlnSXRlbT4KICAgIDxDb25maWdJdGVtIE5hbWU9ImlQaG9uZTo6RnJvbnRlbmQ6OkFnZW50VGlja2V0UGhvbmUjIyNUaWNrZXRGcmVlVGltZSIgUmVxdWlyZWQ9IjAiIFZhbGlkPSIxIj4KICAgICAgICA8RGVzY3JpcHRpb24gVHJhbnNsYXRhYmxlPSIxIj5ERVBSRUNBVEVEISBUaGlzIHNldHRpbmcgaXMgbm90IHVzZWQgYW55IG1vcmUgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiBhIGZ1dHVyZSB2ZXJzaW9uIG9mIE9UUlMuPC9EZXNjcmlwdGlvbj4KICAgICAgICA8R3JvdXA+Wl9pUGhvbmVfRGVwcmVjYXRlZDwvR3JvdXA+CiAgICAgICAgPFN1Ykdyb3VwPkZyb250ZW5kOjpBZ2VudDo6VGlja2V0OjpWaWV3UGhvbmU8L1N1Ykdyb3VwPgogICAgICAgIDxTZXR0aW5nPgogICAgICAgICAgICA8SGFzaD4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iMSI+MDwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iMiI+MDwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iMyI+MDwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iNCI+MDwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iNSI+MDwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iNiI+MDwvSXRlbT4KICAgICAgICAgICAgPC9IYXNoPgogICAgICAgIDwvU2V0dGluZz4KICAgIDwvQ29uZmlnSXRlbT4KICAgIDxDb25maWdJdGVtIE5hbWU9ImlQaG9uZTo6RnJvbnRlbmQ6OkFnZW50VGlja2V0UGhvbmUjIyNBcnRpY2xlRnJlZVRleHQiIFJlcXVpcmVkPSIwIiBWYWxpZD0iMSI+CiAgICAgICAgPERlc2NyaXB0aW9uIFRyYW5zbGF0YWJsZT0iMSI+REVQUkVDQVRFRCEgVGhpcyBzZXR0aW5nIGlzIG5vdCB1c2VkIGFueSBtb3JlIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gYSBmdXR1cmUgdmVyc2lvbiBvZiBPVFJTLjwvRGVzY3JpcHRpb24+CiAgICAgICAgPEdyb3VwPlpfaVBob25lX0RlcHJlY2F0ZWQ8L0dyb3VwPgogICAgICAgIDxTdWJHcm91cD5Gcm9udGVuZDo6QWdlbnQ6OlRpY2tldDo6Vmlld1Bob25lPC9TdWJHcm91cD4KICAgICAgICA8U2V0dGluZz4KICAgICAgICAgICAgPEhhc2g+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IjEiPjA8L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IjIiPjA8L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IjMiPjA8L0l0ZW0+CiAgICAgICAgICAgIDwvSGFzaD4KICAgICAgICA8L1NldHRpbmc+CiAgICA8L0NvbmZpZ0l0ZW0+CgogICAgPENvbmZpZ0l0ZW0gTmFtZT0iaVBob25lOjpGcm9udGVuZDo6QWdlbnRUaWNrZXROb3RlIyMjVGlja2V0RnJlZVRleHQiIFJlcXVpcmVkPSIwIiBWYWxpZD0iMSI+CiAgICAgICAgPERlc2NyaXB0aW9uIFRyYW5zbGF0YWJsZT0iMSI+REVQUkVDQVRFRCEgVGhpcyBzZXR0aW5nIGlzIG5vdCB1c2VkIGFueSBtb3JlIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gYSBmdXR1cmUgdmVyc2lvbiBvZiBPVFJTLjwvRGVzY3JpcHRpb24+CiAgICAgICAgPEdyb3VwPlpfaVBob25lX0RlcHJlY2F0ZWQ8L0dyb3VwPgogICAgICAgIDxTdWJHcm91cD5Gcm9udGVuZDo6QWdlbnQ6OlRpY2tldDo6Vmlld05vdGU8L1N1Ykdyb3VwPgogICAgICAgIDxTZXR0aW5nPgogICAgICAgICAgICA8SGFzaD4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iMSI+MDwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iMiI+MDwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iMyI+MDwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iNCI+MDwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iNSI+MDwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iNiI+MDwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iNyI+MDwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iOCI+MDwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iOSI+MDwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iMTAiPjA8L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IjExIj4wPC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSIxMiI+MDwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iMTMiPjA8L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IjE0Ij4wPC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSIxNSI+MDwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iMTYiPjA8L0l0ZW0+CiAgICAgICAgICAgIDwvSGFzaD4KICAgICAgICA8L1NldHRpbmc+CiAgICA8L0NvbmZpZ0l0ZW0+CiAgICA8Q29uZmlnSXRlbSBOYW1lPSJpUGhvbmU6OkZyb250ZW5kOjpBZ2VudFRpY2tldE5vdGUjIyNUaWNrZXRGcmVlVGltZSIgUmVxdWlyZWQ9IjAiIFZhbGlkPSIxIj4KICAgICAgICA8RGVzY3JpcHRpb24gVHJhbnNsYXRhYmxlPSIxIj5ERVBSRUNBVEVEISBUaGlzIHNldHRpbmcgaXMgbm90IHVzZWQgYW55IG1vcmUgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiBhIGZ1dHVyZSB2ZXJzaW9uIG9mIE9UUlMuPC9EZXNjcmlwdGlvbj4KICAgICAgICA8R3JvdXA+Wl9pUGhvbmVfRGVwcmVjYXRlZDwvR3JvdXA+CiAgICAgICAgPFN1Ykdyb3VwPkZyb250ZW5kOjpBZ2VudDo6VGlja2V0OjpWaWV3Tm90ZTwvU3ViR3JvdXA+CiAgICAgICAgPFNldHRpbmc+CiAgICAgICAgICAgIDxIYXNoPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSIxIj4wPC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSIyIj4wPC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSIzIj4wPC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSI0Ij4wPC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSI1Ij4wPC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSI2Ij4wPC9JdGVtPgogICAgICAgICAgICA8L0hhc2g+CiAgICAgICAgPC9TZXR0aW5nPgogICAgPC9Db25maWdJdGVtPgogICAgPENvbmZpZ0l0ZW0gTmFtZT0iaVBob25lOjpGcm9udGVuZDo6QWdlbnRUaWNrZXROb3RlIyMjQXJ0aWNsZUZyZWVUZXh0IiBSZXF1aXJlZD0iMCIgVmFsaWQ9IjEiPgogICAgICAgIDxEZXNjcmlwdGlvbiBUcmFuc2xhdGFibGU9IjEiPkRFUFJFQ0FURUQhIFRoaXMgc2V0dGluZyBpcyBub3QgdXNlZCBhbnkgbW9yZSBhbmQgd2lsbCBiZSByZW1vdmVkIGluIGEgZnV0dXJlIHZlcnNpb24gb2YgT1RSUy48L0Rlc2NyaXB0aW9uPgogICAgICAgIDxHcm91cD5aX2lQaG9uZV9EZXByZWNhdGVkPC9Hcm91cD4KICAgICAgICA8U3ViR3JvdXA+RnJvbnRlbmQ6OkFnZW50OjpUaWNrZXQ6OlZpZXdOb3RlPC9TdWJHcm91cD4KICAgICAgICA8U2V0dGluZz4KICAgICAgICAgICAgPEhhc2g+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IjEiPjA8L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IjIiPjA8L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IjMiPjA8L0l0ZW0+CiAgICAgICAgICAgIDwvSGFzaD4KICAgICAgICA8L1NldHRpbmc+CiAgICA8L0NvbmZpZ0l0ZW0+CgogICAgPENvbmZpZ0l0ZW0gTmFtZT0iaVBob25lOjpGcm9udGVuZDo6QWdlbnRUaWNrZXRDbG9zZSMjI1RpY2tldEZyZWVUZXh0IiBSZXF1aXJlZD0iMCIgVmFsaWQ9IjEiPgogICAgICAgIDxEZXNjcmlwdGlvbiBUcmFuc2xhdGFibGU9IjEiPkRFUFJFQ0FURUQhIFRoaXMgc2V0dGluZyBpcyBub3QgdXNlZCBhbnkgbW9yZSBhbmQgd2lsbCBiZSByZW1vdmVkIGluIGEgZnV0dXJlIHZlcnNpb24gb2YgT1RSUy48L0Rlc2NyaXB0aW9uPgogICAgICAgIDxHcm91cD5aX2lQaG9uZV9EZXByZWNhdGVkPC9Hcm91cD4KICAgICAgICA8U3ViR3JvdXA+RnJvbnRlbmQ6OkFnZW50OjpUaWNrZXQ6OlZpZXdDbG9zZTwvU3ViR3JvdXA+CiAgICAgICAgPFNldHRpbmc+CiAgICAgICAgICAgIDxIYXNoPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSIxIj4wPC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSIyIj4wPC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSIzIj4wPC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSI0Ij4wPC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSI1Ij4wPC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSI2Ij4wPC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSI3Ij4wPC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSI4Ij4wPC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSI5Ij4wPC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSIxMCI+MDwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iMTEiPjA8L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IjEyIj4wPC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSIxMyI+MDwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iMTQiPjA8L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IjE1Ij4wPC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSIxNiI+MDwvSXRlbT4KICAgICAgICAgICAgPC9IYXNoPgogICAgICAgIDwvU2V0dGluZz4KICAgIDwvQ29uZmlnSXRlbT4KICAgIDxDb25maWdJdGVtIE5hbWU9ImlQaG9uZTo6RnJvbnRlbmQ6OkFnZW50VGlja2V0Q2xvc2UjIyNUaWNrZXRGcmVlVGltZSIgUmVxdWlyZWQ9IjAiIFZhbGlkPSIxIj4KICAgICAgICA8RGVzY3JpcHRpb24gVHJhbnNsYXRhYmxlPSIxIj5ERVBSRUNBVEVEISBUaGlzIHNldHRpbmcgaXMgbm90IHVzZWQgYW55IG1vcmUgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiBhIGZ1dHVyZSB2ZXJzaW9uIG9mIE9UUlMuPC9EZXNjcmlwdGlvbj4KICAgICAgICA8R3JvdXA+Wl9pUGhvbmVfRGVwcmVjYXRlZDwvR3JvdXA+CiAgICAgICAgPFN1Ykdyb3VwPkZyb250ZW5kOjpBZ2VudDo6VGlja2V0OjpWaWV3Q2xvc2U8L1N1Ykdyb3VwPgogICAgICAgIDxTZXR0aW5nPgogICAgICAgICAgICA8SGFzaD4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iMSI+MDwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iMiI+MDwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iMyI+MDwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iNCI+MDwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iNSI+MDwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iNiI+MDwvSXRlbT4KICAgICAgICAgICAgPC9IYXNoPgogICAgICAgIDwvU2V0dGluZz4KICAgIDwvQ29uZmlnSXRlbT4KICAgIDxDb25maWdJdGVtIE5hbWU9ImlQaG9uZTo6RnJvbnRlbmQ6OkFnZW50VGlja2V0Q2xvc2UjIyNBcnRpY2xlRnJlZVRleHQiIFJlcXVpcmVkPSIwIiBWYWxpZD0iMSI+CiAgICAgICAgPERlc2NyaXB0aW9uIFRyYW5zbGF0YWJsZT0iMSI+REVQUkVDQVRFRCEgVGhpcyBzZXR0aW5nIGlzIG5vdCB1c2VkIGFueSBtb3JlIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gYSBmdXR1cmUgdmVyc2lvbiBvZiBPVFJTLjwvRGVzY3JpcHRpb24+CiAgICAgICAgPEdyb3VwPlpfaVBob25lX0RlcHJlY2F0ZWQ8L0dyb3VwPgogICAgICAgIDxTdWJHcm91cD5Gcm9udGVuZDo6QWdlbnQ6OlRpY2tldDo6Vmlld0Nsb3NlPC9TdWJHcm91cD4KICAgICAgICA8U2V0dGluZz4KICAgICAgICAgICAgPEhhc2g+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IjEiPjA8L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IjIiPjA8L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IjMiPjA8L0l0ZW0+CiAgICAgICAgICAgIDwvSGFzaD4KICAgICAgICA8L1NldHRpbmc+CiAgICA8L0NvbmZpZ0l0ZW0+CgogICAgPENvbmZpZ0l0ZW0gTmFtZT0iaVBob25lOjpGcm9udGVuZDo6QWdlbnRUaWNrZXRDb21wb3NlIyMjVGlja2V0RnJlZVRleHQiIFJlcXVpcmVkPSIwIiBWYWxpZD0iMSI+CiAgICAgICAgPERlc2NyaXB0aW9uIFRyYW5zbGF0YWJsZT0iMSI+REVQUkVDQVRFRCEgVGhpcyBzZXR0aW5nIGlzIG5vdCB1c2VkIGFueSBtb3JlIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gYSBmdXR1cmUgdmVyc2lvbiBvZiBPVFJTLjwvRGVzY3JpcHRpb24+CiAgICAgICAgPEdyb3VwPlpfaVBob25lX0RlcHJlY2F0ZWQ8L0dyb3VwPgogICAgICAgIDxTdWJHcm91cD5Gcm9udGVuZDo6QWdlbnQ6OlRpY2tldDo6Vmlld0NvbXBvc2U8L1N1Ykdyb3VwPgogICAgICAgIDxTZXR0aW5nPgogICAgICAgICAgICA8SGFzaD4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iMSI+MDwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iMiI+MDwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iMyI+MDwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iNCI+MDwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iNSI+MDwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iNiI+MDwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iNyI+MDwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iOCI+MDwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iOSI+MDwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iMTAiPjA8L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IjExIj4wPC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSIxMiI+MDwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iMTMiPjA8L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IjE0Ij4wPC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSIxNSI+MDwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iMTYiPjA8L0l0ZW0+CiAgICAgICAgICAgIDwvSGFzaD4KICAgICAgICA8L1NldHRpbmc+CiAgICA8L0NvbmZpZ0l0ZW0+CiAgICA8Q29uZmlnSXRlbSBOYW1lPSJpUGhvbmU6OkZyb250ZW5kOjpBZ2VudFRpY2tldENvbXBvc2UjIyNUaWNrZXRGcmVlVGltZSIgUmVxdWlyZWQ9IjAiIFZhbGlkPSIxIj4KICAgICAgICA8RGVzY3JpcHRpb24gVHJhbnNsYXRhYmxlPSIxIj5ERVBSRUNBVEVEISBUaGlzIHNldHRpbmcgaXMgbm90IHVzZWQgYW55IG1vcmUgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiBhIGZ1dHVyZSB2ZXJzaW9uIG9mIE9UUlMuPC9EZXNjcmlwdGlvbj4KICAgICAgICA8R3JvdXA+Wl9pUGhvbmVfRGVwcmVjYXRlZDwvR3JvdXA+CiAgICAgICAgPFN1Ykdyb3VwPkZyb250ZW5kOjpBZ2VudDo6VGlja2V0OjpWaWV3Q29tcG9zZTwvU3ViR3JvdXA+CiAgICAgICAgPFNldHRpbmc+CiAgICAgICAgICAgIDxIYXNoPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSIxIj4wPC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSIyIj4wPC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSIzIj4wPC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSI0Ij4wPC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSI1Ij4wPC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSI2Ij4wPC9JdGVtPgogICAgICAgICAgICA8L0hhc2g+CiAgICAgICAgPC9TZXR0aW5nPgogICAgPC9Db25maWdJdGVtPgogICAgPENvbmZpZ0l0ZW0gTmFtZT0iaVBob25lOjpGcm9udGVuZDo6QWdlbnRUaWNrZXRDb21wb3NlIyMjQXJ0aWNsZUZyZWVUZXh0IiBSZXF1aXJlZD0iMCIgVmFsaWQ9IjEiPgogICAgICAgIDxEZXNjcmlwdGlvbiBUcmFuc2xhdGFibGU9IjEiPkRFUFJFQ0FURUQhIFRoaXMgc2V0dGluZyBpcyBub3QgdXNlZCBhbnkgbW9yZSBhbmQgd2lsbCBiZSByZW1vdmVkIGluIGEgZnV0dXJlIHZlcnNpb24gb2YgT1RSUy48L0Rlc2NyaXB0aW9uPgogICAgICAgIDxHcm91cD5aX2lQaG9uZV9EZXByZWNhdGVkPC9Hcm91cD4KICAgICAgICA8U3ViR3JvdXA+RnJvbnRlbmQ6OkFnZW50OjpUaWNrZXQ6OlZpZXdDb21wb3NlPC9TdWJHcm91cD4KICAgICAgICA8U2V0dGluZz4KICAgICAgICAgICAgPEhhc2g+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IjEiPjA8L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IjIiPjA8L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IjMiPjA8L0l0ZW0+CiAgICAgICAgICAgIDwvSGFzaD4KICAgICAgICA8L1NldHRpbmc+CiAgICA8L0NvbmZpZ0l0ZW0+CgogICAgPENvbmZpZ0l0ZW0gTmFtZT0iaVBob25lOjpGcm9udGVuZDo6QWdlbnRUaWNrZXRNb3ZlIyMjVGlja2V0RnJlZVRleHQiIFJlcXVpcmVkPSIwIiBWYWxpZD0iMSI+CiAgICAgICAgPERlc2NyaXB0aW9uIFRyYW5zbGF0YWJsZT0iMSI+REVQUkVDQVRFRCEgVGhpcyBzZXR0aW5nIGlzIG5vdCB1c2VkIGFueSBtb3JlIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gYSBmdXR1cmUgdmVyc2lvbiBvZiBPVFJTLjwvRGVzY3JpcHRpb24+CiAgICAgICAgPEdyb3VwPlpfaVBob25lX0RlcHJlY2F0ZWQ8L0dyb3VwPgogICAgICAgIDxTdWJHcm91cD5Gcm9udGVuZDo6QWdlbnQ6OlRpY2tldDo6Vmlld01vdmU8L1N1Ykdyb3VwPgogICAgICAgIDxTZXR0aW5nPgogICAgICAgICAgICA8SGFzaD4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iMSI+MDwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iMiI+MDwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iMyI+MDwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iNCI+MDwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iNSI+MDwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iNiI+MDwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iNyI+MDwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iOCI+MDwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iOSI+MDwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iMTAiPjA8L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IjExIj4wPC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSIxMiI+MDwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iMTMiPjA8L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IjE0Ij4wPC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSIxNSI+MDwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iMTYiPjA8L0l0ZW0+CiAgICAgICAgICAgIDwvSGFzaD4KICAgICAgICA8L1NldHRpbmc+CiAgICA8L0NvbmZpZ0l0ZW0+CiAgICA8Q29uZmlnSXRlbSBOYW1lPSJpUGhvbmU6OkZyb250ZW5kOjpBZ2VudFRpY2tldE1vdmUjIyNUaWNrZXRGcmVlVGltZSIgUmVxdWlyZWQ9IjAiIFZhbGlkPSIxIj4KICAgICAgICA8RGVzY3JpcHRpb24gVHJhbnNsYXRhYmxlPSIxIj5ERVBSRUNBVEVEISBUaGlzIHNldHRpbmcgaXMgbm90IHVzZWQgYW55IG1vcmUgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiBhIGZ1dHVyZSB2ZXJzaW9uIG9mIE9UUlMuPC9EZXNjcmlwdGlvbj4KICAgICAgICA8R3JvdXA+Wl9pUGhvbmVfRGVwcmVjYXRlZDwvR3JvdXA+CiAgICAgICAgPFN1Ykdyb3VwPkZyb250ZW5kOjpBZ2VudDo6VGlja2V0OjpWaWV3TW92ZTwvU3ViR3JvdXA+CiAgICAgICAgPFNldHRpbmc+CiAgICAgICAgICAgIDxIYXNoPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSIxIj4wPC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSIyIj4wPC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSIzIj4wPC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSI0Ij4wPC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSI1Ij4wPC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSI2Ij4wPC9JdGVtPgogICAgICAgICAgICA8L0hhc2g+CiAgICAgICAgPC9TZXR0aW5nPgogICAgPC9Db25maWdJdGVtPgogICAgPENvbmZpZ0l0ZW0gTmFtZT0iaVBob25lOjpGcm9udGVuZDo6QWdlbnRUaWNrZXRNb3ZlIyMjQXJ0aWNsZUZyZWVUZXh0IiBSZXF1aXJlZD0iMCIgVmFsaWQ9IjEiPgogICAgICAgIDxEZXNjcmlwdGlvbiBUcmFuc2xhdGFibGU9IjEiPkRFUFJFQ0FURUQhIFRoaXMgc2V0dGluZyBpcyBub3QgdXNlZCBhbnkgbW9yZSBhbmQgd2lsbCBiZSByZW1vdmVkIGluIGEgZnV0dXJlIHZlcnNpb24gb2YgT1RSUy48L0Rlc2NyaXB0aW9uPgogICAgICAgIDxHcm91cD5aX2lQaG9uZV9EZXByZWNhdGVkPC9Hcm91cD4KICAgICAgICA8U3ViR3JvdXA+RnJvbnRlbmQ6OkFnZW50OjpUaWNrZXQ6OlZpZXdNb3ZlPC9TdWJHcm91cD4KICAgICAgICA8U2V0dGluZz4KICAgICAgICAgICAgPEhhc2g+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IjEiPjA8L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IjIiPjA8L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IjMiPjA8L0l0ZW0+CiAgICAgICAgICAgIDwvSGFzaD4KICAgICAgICA8L1NldHRpbmc+CiAgICA8L0NvbmZpZ0l0ZW0+Cjwvb3Ryc19jb25maWc+Cg==
PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pgo8b3Ryc19jb25maWcgdmVyc2lvbj0iMS4wIiBpbml0PSJBcHBsaWNhdGlvbiI+CgogICAgPENvbmZpZ0l0ZW0gTmFtZT0iaVBob25lOjpEZWJ1Z0xvZyIgUmVxdWlyZWQ9IjEiIFZhbGlkPSIxIj4KICAgICAgICA8RGVzY3JpcHRpb24gVHJhbnNsYXRhYmxlPSIxIj5BbGxvd3MgdG8gZW5hYmxlIGEgc3BlY2lhbCBsb2cgZm9yIGFsbCBjb21tdW5pY2F0aW9uIGJldHdlZW4gaVBob25lIGFuZCBvdHJzLjwvRGVzY3JpcHRpb24+CiAgICAgICAgPEdyb3VwPmlQaG9uZTwvR3JvdXA+CiAgICAgICAgPFN1Ykdyb3VwPkNvcmU6OkxvZzwvU3ViR3JvdXA+CiAgICAgICAgPFNldHRpbmc+CiAgICAgICAgICAgIDxPcHRpb24gU2VsZWN0ZWRJRD0iMCI+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IjAiPk5vPC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSIxIj5ZZXM8L0l0ZW0+CiAgICAgICAgICAgIDwvT3B0aW9uPgogICAgICAgIDwvU2V0dGluZz4KICAgIDwvQ29uZmlnSXRlbT4KICAgIDxDb25maWdJdGVtIE5hbWU9ImlQaG9uZTo6TG9nRmlsZSIgUmVxdWlyZWQ9IjEiIFZhbGlkPSIxIj4KICAgICAgICA8RGVzY3JpcHRpb24gVHJhbnNsYXRhYmxlPSIxIj5EZWZpbmVzIHRoZSBwYXRoIGFuZCBmaWxlIG5hbWUgZm9yIHRoZSBkZWd1ZyBsb2cgZmlsZS4gVGhpcyBmaWxlIHdpbGwgYmUgYXV0b21hdGljYWxseSBjcmVhdGVkIGJ5IHRoZSBzeXN0ZW0sIGlmIGl0IGRvZXNuJ3QgZXhpc3QuPC9EZXNjcmlwdGlvbj4KICAgICAgICA8R3JvdXA+aVBob25lPC9Hcm91cD4KICAgICAgICA8U3ViR3JvdXA+Q29yZTo6TG9nPC9TdWJHcm91cD4KICAgICAgICA8U2V0dGluZz4KICAgICAgICAgICAgPFN0cmluZyBSZWdleD0iIj4vdG1wL2lQaG9uZS5sb2c8L1N0cmluZz4KICAgICAgICA8L1NldHRpbmc+CiAgICA8L0NvbmZpZ0l0ZW0+CgogICAgPENvbmZpZ0l0ZW0gTmFtZT0iaVBob25lOjpGcm9udGVuZDo6QWdlbnRUaWNrZXRQaG9uZSMjI1RpY2tldFR5cGUiIFJlcXVpcmVkPSIwIiBWYWxpZD0iMSI+CiAgICAgICAgPERlc2NyaXB0aW9uIFRyYW5zbGF0YWJsZT0iMSI+U2V0cyB0aGUgdGlja2V0IHR5cGUgaW4gdGhlIG5ldyBwaG9uZSB0aWNrZXQgc2NyZWVuIG9uIHRoZSBpUGhvbmUgaW50ZXJmYWNlIChUaWNrZXQ6OlR5cGUgbmVlZHMgdG8gYmUgYWN0aXZhdGVkKS48L0Rlc2NyaXB0aW9uPgogICAgICAgIDxHcm91cD5pUGhvbmU8L0dyb3VwPgogICAgICAgIDxTdWJHcm91cD5Gcm9udGVuZDo6QWdlbnQ6OlRpY2tldDo6Vmlld1Bob25lPC9TdWJHcm91cD4KICAgICAgICA8U2V0dGluZz4KICAgICAgICAgICAgPE9wdGlvbiBTZWxlY3RlZElEPSIxIj4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iMCI+Tm88L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IjEiPlllczwvSXRlbT4KICAgICAgICAgICAgPC9PcHRpb24+CiAgICAgICAgPC9TZXR0aW5nPgogICAgPC9Db25maWdJdGVtPgogICAgPENvbmZpZ0l0ZW0gTmFtZT0iaVBob25lOjpGcm9udGVuZDo6QWdlbnRUaWNrZXRQaG9uZSMjI1NlcnZpY2UiIFJlcXVpcmVkPSIwIiBWYWxpZD0iMSI+CiAgICAgICAgPERlc2NyaXB0aW9uIFRyYW5zbGF0YWJsZT0iMSI+U2V0cyB0aGUgc2VydmljZSBpbiB0aGUgbmV3IHBob25lIHRpY2tldCBzY3JlZW4gb2YgdGhlIGlQaG9uZSBpbnRlcmZhY2UgKFRpY2tldDo6U2VydmljZSBuZWVkcyB0byBiZSBhY3RpdmF0ZWQpLjwvRGVzY3JpcHRpb24+CiAgICAgICAgPEdyb3VwPmlQaG9uZTwvR3JvdXA+CiAgICAgICAgPFN1Ykdyb3VwPkZyb250ZW5kOjpBZ2VudDo6VGlja2V0OjpWaWV3UGhvbmU8L1N1Ykdyb3VwPgogICAgICAgIDxTZXR0aW5nPgogICAgICAgICAgICA8T3B0aW9uIFNlbGVjdGVkSUQ9IjEiPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSIwIj5ObzwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iMSI+WWVzPC9JdGVtPgogICAgICAgICAgICA8L09wdGlvbj4KICAgICAgICA8L1NldHRpbmc+CiAgICA8L0NvbmZpZ0l0ZW0+CiAgICA8Q29uZmlnSXRlbSBOYW1lPSJpUGhvbmU6OkZyb250ZW5kOjpBZ2VudFRpY2tldFBob25lIyMjT3duZXIiIFJlcXVpcmVkPSIwIiBWYWxpZD0iMSI+CiAgICAgICAgPERlc2NyaXB0aW9uIFRyYW5zbGF0YWJsZT0iMSI+U2V0cyB0aGUgdGlja2V0IG93bmVyIGluIHRoZSBuZXcgcGhvbmUgdGlja2V0IHNjcmVlbiBvZiB0aGUgaVBob25lIGludGVyZmFjZS48L0Rlc2NyaXB0aW9uPgogICAgICAgIDxHcm91cD5pUGhvbmU8L0dyb3VwPgogICAgICAgIDxTdWJHcm91cD5Gcm9udGVuZDo6QWdlbnQ6OlRpY2tldDo6Vmlld1Bob25lPC9TdWJHcm91cD4KICAgICAgICA8U2V0dGluZz4KICAgICAgICAgICAgPE9wdGlvbiBTZWxlY3RlZElEPSIxIj4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iMCI+Tm88L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IjEiPlllczwvSXRlbT4KICAgICAgICAgICAgPC9PcHRpb24+CiAgICAgICAgPC9TZXR0aW5nPgogICAgPC9Db25maWdJdGVtPgogICAgPENvbmZpZ0l0ZW0gTmFtZT0iaVBob25lOjpGcm9udGVuZDo6QWdlbnRUaWNrZXRQaG9uZSMjI1Jlc3BvbnNpYmxlIiBSZXF1aXJlZD0iMCIgVmFsaWQ9IjEiPgogICAgICAgIDxEZXNjcmlwdGlvbiBUcmFuc2xhdGFibGU9IjEiPlNldHMgdGhlIHJlc3BvbnNpYmxlIGFnZW50IG9mIHRoZSB0aWNrZXQgaW4gdGhlIG5ldyBwaG9uZSB0aWNrZXQgc2NyZWVuIG9mIHRoZSBpUGhvbmUgaW50ZXJmYWNlLjwvRGVzY3JpcHRpb24+CiAgICAgICAgPEdyb3VwPmlQaG9uZTwvR3JvdXA+CiAgICAgICAgPFN1Ykdyb3VwPkZyb250ZW5kOjpBZ2VudDo6VGlja2V0OjpWaWV3UGhvbmU8L1N1Ykdyb3VwPgogICAgICAgIDxTZXR0aW5nPgogICAgICAgICAgICA8T3B0aW9uIFNlbGVjdGVkSUQ9IjEiPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSIwIj5ObzwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iMSI+WWVzPC9JdGVtPgogICAgICAgICAgICA8L09wdGlvbj4KICAgICAgICA8L1NldHRpbmc+CiAgICA8L0NvbmZpZ0l0ZW0+CiAgICA8Q29uZmlnSXRlbSBOYW1lPSJpUGhvbmU6OkZyb250ZW5kOjpBZ2VudFRpY2tldFBob25lIyMjQ3VzdG9tZXJJRCIgUmVxdWlyZWQ9IjAiIFZhbGlkPSIxIj4KICAgICAgICA8RGVzY3JpcHRpb24gVHJhbnNsYXRhYmxlPSIxIj5TZXRzIHRoZSBjdXN0b21lciBpZCBpbiB0aGUgbmV3IHBob25lIHRpY2tldCBzY3JlZW4gb2YgdGhlIGlQaG9uZSBpbnRlcmZhY2UuPC9EZXNjcmlwdGlvbj4KICAgICAgICA8R3JvdXA+aVBob25lPC9Hcm91cD4KICAgICAgICA8U3ViR3JvdXA+RnJvbnRlbmQ6OkFnZW50OjpUaWNrZXQ6OlZpZXdQaG9uZTwvU3ViR3JvdXA+CiAgICAgICAgPFNldHRpbmc+CiAgICAgICAgICAgIDxPcHRpb24gU2VsZWN0ZWRJRD0iMSI+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IjAiPk5vPC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSIxIj5ZZXM8L0l0ZW0+CiAgICAgICAgICAgIDwvT3B0aW9uPgogICAgICAgIDwvU2V0dGluZz4KICAgIDwvQ29uZmlnSXRlbT4KICAgIDxDb25maWdJdGVtIE5hbWU9ImlQaG9uZTo6RnJvbnRlbmQ6OkFnZW50VGlja2V0UGhvbmUjIyNTdGF0ZSIgUmVxdWlyZWQ9IjAiIFZhbGlkPSIxIj4KICAgICAgICA8RGVzY3JpcHRpb24gVHJhbnNsYXRhYmxlPSIxIj5BbGxvd3MgdG8gc2V0IGEgbmV3IHRpY2tldCBzdGF0ZSBpbiB0aGUgbmV3IHBob25lIHRpY2tldCB0aWNrZXQgc2NyZWVuIG9mIHRoZSBpUGhvbmUgaW50ZXJmYWNlLjwvRGVzY3JpcHRpb24+CiAgICAgICAgPEdyb3VwPmlQaG9uZTwvR3JvdXA+CiAgICAgICAgPFN1Ykdyb3VwPkZyb250ZW5kOjpBZ2VudDo6VGlja2V0OjpWaWV3UGhvbmU8L1N1Ykdyb3VwPgogICAgICAgIDxTZXR0aW5nPgogICAgICAgICAgICA8T3B0aW9uIFNlbGVjdGVkSUQ9IjEiPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSIwIj5ObzwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iMSI+WWVzPC9JdGVtPgogICAgICAgICAgICA8L09wdGlvbj4KICAgICAgICA8L1NldHRpbmc+CiAgICA8L0NvbmZpZ0l0ZW0+CiAgICA8Q29uZmlnSXRlbSBOYW1lPSJpUGhvbmU6OkZyb250ZW5kOjpBZ2VudFRpY2tldFBob25lIyMjU3RhdGVEZWZhdWx0IiBSZXF1aXJlZD0iMCIgVmFsaWQ9IjEiPgogICAgICAgIDxEZXNjcmlwdGlvbiBUcmFuc2xhdGFibGU9IjEiPlNldHMgdGhlIGRlZmF1bHQgbmV4dCBzdGF0ZSBmb3IgbmV3IHBob25lIHRpY2tldHMgaW4gdGhlIGlQaG9uZSBpbnRlcmZhY2UuPC9EZXNjcmlwdGlvbj4KICAgICAgICA8R3JvdXA+aVBob25lPC9Hcm91cD4KICAgICAgICA8U3ViR3JvdXA+RnJvbnRlbmQ6OkFnZW50OjpUaWNrZXQ6OlZpZXdQaG9uZTwvU3ViR3JvdXA+CiAgICAgICAgPFNldHRpbmc+CiAgICAgICAgICAgIDxTdHJpbmcgUmVnZXg9IiI+b3BlbjwvU3RyaW5nPgogICAgICAgIDwvU2V0dGluZz4KICAgIDwvQ29uZmlnSXRlbT4KICAgIDxDb25maWdJdGVtIE5hbWU9ImlQaG9uZTo6RnJvbnRlbmQ6OkFnZW50VGlja2V0UGhvbmUjIyNQcmlvcml0eURlZmF1bHQiIFJlcXVpcmVkPSIwIiBWYWxpZD0iMSI+CiAgICAgICAgPERlc2NyaXB0aW9uIFRyYW5zbGF0YWJsZT0iMSI+RGVmaW5lcyB0aGUgZGVmYXVsdCB0aWNrZXQgcHJpb3JpdHkgaW4gdGhlIG5ldyBwaG9uZSB0aWNrZXQgc2NyZWVuIG9mIHRoZSBpUGhvbmUgaW50ZXJmYWNlLjwvRGVzY3JpcHRpb24+CiAgICAgICAgPEdyb3VwPmlQaG9uZTwvR3JvdXA+CiAgICAgICAgPFN1Ykdyb3VwPkZyb250ZW5kOjpBZ2VudDo6VGlja2V0OjpWaWV3UGhvbmU8L1N1Ykdyb3VwPgogICAgICAgIDxTZXR0aW5nPgogICAgICAgICAgICA8U3RyaW5nIFJlZ2V4PSIiPjMgbm9ybWFsPC9TdHJpbmc+CiAgICAgICAgPC9TZXR0aW5nPgogICAgPC9Db25maWdJdGVtPgogICAgPENvbmZpZ0l0ZW0gTmFtZT0iaVBob25lOjpGcm9udGVuZDo6QWdlbnRUaWNrZXRQaG9uZSMjI0FydGljbGVUeXBlRGVmYXVsdCIgUmVxdWlyZWQ9IjEiIFZhbGlkPSIxIj4KICAgICAgICA8RGVzY3JpcHRpb24gVHJhbnNsYXRhYmxlPSIxIj5EZWZpbmVzIHRoZSBkZWZhdWx0IHR5cGUgb2YgdGhlIHRpY2tldCBpbiB0aGUgbmV3IHBob25lIHRpY2tldCBzY3JlZW4gb2YgdGhlIGlQaG9uZSBpbnRlcmZhY2UuPC9EZXNjcmlwdGlvbj4KICAgICAgICA8R3JvdXA+aVBob25lPC9Hcm91cD4KICAgICAgICA8U3ViR3JvdXA+RnJvbnRlbmQ6OkFnZW50OjpUaWNrZXQ6OlZpZXdQaG9uZTwvU3ViR3JvdXA+CiAgICAgICAgPFNldHRpbmc+CiAgICAgICAgICAgIDxTdHJpbmcgUmVnZXg9IiI+cGhvbmU8L1N0cmluZz4KICAgICAgICA8L1NldHRpbmc+CiAgICA8L0NvbmZpZ0l0ZW0+CiAgICA8Q29uZmlnSXRlbSBOYW1lPSJpUGhvbmU6OkZyb250ZW5kOjpBZ2VudFRpY2tldFBob25lIyMjU2VuZGVyVHlwZSIgUmVxdWlyZWQ9IjEiIFZhbGlkPSIxIj4KICAgICAgICA8RGVzY3JpcHRpb24gVHJhbnNsYXRhYmxlPSIxIj5TZXRzIHRoZSBkZWZhdWx0IHNlbmRlciB0eXBlIGZvciBuZXcgcGhvbmUgdGlja2V0IGluIHRoZSBpUGhvbmUgaW50ZXJmYWNlLjwvRGVzY3JpcHRpb24+CiAgICAgICAgPEdyb3VwPmlQaG9uZTwvR3JvdXA+CiAgICAgICAgPFN1Ykdyb3VwPkZyb250ZW5kOjpBZ2VudDo6VGlja2V0OjpWaWV3UGhvbmU8L1N1Ykdyb3VwPgogICAgICAgIDxTZXR0aW5nPgogICAgICAgICAgICA8U3RyaW5nIFJlZ2V4PSIiPmN1c3RvbWVyPC9TdHJpbmc+CiAgICAgICAgPC9TZXR0aW5nPgogICAgPC9Db25maWdJdGVtPgogICAgPENvbmZpZ0l0ZW0gTmFtZT0iaVBob25lOjpGcm9udGVuZDo6QWdlbnRUaWNrZXRQaG9uZSMjI1RpbWVVbml0cyIgUmVxdWlyZWQ9IjAiIFZhbGlkPSIxIj4KICAgICAgICA8RGVzY3JpcHRpb24gVHJhbnNsYXRhYmxlPSIxIj5TZXRzIHRoZSB0aW1lIHVuaXRzIGluIHRoZSBuZXcgcGhvbmUgdGlja2V0IHNjcmVlbiBvZiB0aGUgaVBob25lIGludGVyZmFjZS48L0Rlc2NyaXB0aW9uPgogICAgICAgIDxHcm91cD5pUGhvbmU8L0dyb3VwPgogICAgICAgIDxTdWJHcm91cD5Gcm9udGVuZDo6QWdlbnQ6OlRpY2tldDo6Vmlld1Bob25lPC9TdWJHcm91cD4KICAgICAgICA8U2V0dGluZz4KICAgICAgICAgICAgPE9wdGlvbiBTZWxlY3RlZElEPSIxIj4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iMCI+Tm88L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IjEiPlllczwvSXRlbT4KICAgICAgICAgICAgPC9PcHRpb24+CiAgICAgICAgPC9TZXR0aW5nPgogICAgPC9Db25maWdJdGVtPgoKICAgIDxDb25maWdJdGVtIE5hbWU9ImlQaG9uZTo6RnJvbnRlbmQ6OkFnZW50VGlja2V0UGhvbmUjIyNIaXN0b3J5VHlwZSIgUmVxdWlyZWQ9IjEiIFZhbGlkPSIxIj4KICAgICAgICA8RGVzY3JpcHRpb24gVHJhbnNsYXRhYmxlPSIxIj5EZWZpbmVzIHRoZSBoaXN0b3J5IHR5cGUgZm9yIHRoZSBuZXcgcGhvbmUgdGlja2V0IHNjcmVlbiBhY3Rpb24sIHdoaWNoIGdldHMgdXNlZCBmb3IgdGlja2V0IGhpc3RvcnkgaW4gdGhlIGlQaG9uZSBpbnRlcmZhY2UuPC9EZXNjcmlwdGlvbj4KICAgICAgICA8R3JvdXA+aVBob25lPC9Hcm91cD4KICAgICAgICA8U3ViR3JvdXA+RnJvbnRlbmQ6OkFnZW50OjpUaWNrZXQ6OlZpZXdQaG9uZTwvU3ViR3JvdXA+CiAgICAgICAgPFNldHRpbmc+CiAgICAgICAgICAgIDxTdHJpbmcgUmVnZXg9IiI+UGhvbmVDYWxsQ3VzdG9tZXI8L1N0cmluZz4KICAgICAgICA8L1NldHRpbmc+CiAgICA8L0NvbmZpZ0l0ZW0+CiAgICA8Q29uZmlnSXRlbSBOYW1lPSJpUGhvbmU6OkZyb250ZW5kOjpBZ2VudFRpY2tldFBob25lIyMjSGlzdG9yeUNvbW1lbnQiIFJlcXVpcmVkPSIxIiBWYWxpZD0iMSI+CiAgICAgICAgPERlc2NyaXB0aW9uIFRyYW5zbGF0YWJsZT0iMSI+RGVmaW5lcyB0aGUgaGlzdG9yeSBjb21tZW50IGZvciB0aGUgbmV3IHBob25lIHRpY2tldCBzY3JlZW4gYWN0aW9uLCB3aGljaCBnZXRzIHVzZWQgZm9yIHRpY2tldCBoaXN0b3J5IGluIHRoZSBpUGhvbmUgaW50ZXJmYWNlLjwvRGVzY3JpcHRpb24+CiAgICAgICAgPEdyb3VwPmlQaG9uZTwvR3JvdXA+CiAgICAgICAgPFN1Ykdyb3VwPkZyb250ZW5kOjpBZ2VudDo6VGlja2V0OjpWaWV3UGhvbmU8L1N1Ykdyb3VwPgogICAgICAgIDxTZXR0aW5nPgogICAgICAgICAgICA8U3RyaW5nIFJlZ2V4PSIiPjwvU3RyaW5nPgogICAgICAgIDwvU2V0dGluZz4KICAgIDwvQ29uZmlnSXRlbT4KICAgIDxDb25maWdJdGVtIE5hbWU9ImlQaG9uZTo6RnJvbnRlbmQ6OkFnZW50VGlja2V0Tm90ZSMjI1Blcm1pc3Npb24iIFJlcXVpcmVkPSIxIiBWYWxpZD0iMSI+CiAgICAgICAgPERlc2NyaXB0aW9uIFRyYW5zbGF0YWJsZT0iMSI+UmVxdWlyZWQgcGVybWlzc2lvbnMgdG8gdXNlIHRoZSB0aWNrZXQgbm90ZSBzY3JlZW4gaW4gdGhlIGlQaG9uZSBpbnRlcmZhY2UuPC9EZXNjcmlwdGlvbj4KICAgICAgICA8R3JvdXA+aVBob25lPC9Hcm91cD4KICAgICAgICA8U3ViR3JvdXA+RnJvbnRlbmQ6OkFnZW50OjpUaWNrZXQ6OlZpZXdOb3RlPC9TdWJHcm91cD4KICAgICAgICA8U2V0dGluZz4KICAgICAgICAgICAgPFN0cmluZyBSZWdleD0iIj5ub3RlPC9TdHJpbmc+CiAgICAgICAgPC9TZXR0aW5nPgogICAgPC9Db25maWdJdGVtPgogICAgPENvbmZpZ0l0ZW0gTmFtZT0iaVBob25lOjpGcm9udGVuZDo6QWdlbnRUaWNrZXRQaG9uZSMjI0R5bmFtaWNGaWVsZCIgUmVxdWlyZWQ9IjAiIFZhbGlkPSIxIj4KICAgICAgICA8RGVzY3JpcHRpb24gVHJhbnNsYXRhYmxlPSIxIj5EeW5hbWljIGZpZWxkcyBzaG93biBpbiB0aGUgbmV3IHBob25lIHRpY2tldCBzY3JlZW4gb2YgdGhlIGlQaG9uZSBpbnRlcmZhY2UuIFBvc3NpYmxlIHNldHRpbmdzOiAwID0gRGlzYWJsZWQsIDEgPSBFbmFibGVkLCAyID0gRW5hYmxlZCBhbmQgcmVxdWlyZWQuPC9EZXNjcmlwdGlvbj4KICAgICAgICA8R3JvdXA+aVBob25lPC9Hcm91cD4KICAgICAgICA8U3ViR3JvdXA+RnJvbnRlbmQ6OkFnZW50OjpUaWNrZXQ6OlZpZXdQaG9uZTwvU3ViR3JvdXA+CiAgICAgICAgPFNldHRpbmc+CiAgICAgICAgICAgIDxIYXNoPgogICAgICAgICAgICA8L0hhc2g+CiAgICAgICAgPC9TZXR0aW5nPgogICAgPC9Db25maWdJdGVtPgoKICAgIDxDb25maWdJdGVtIE5hbWU9ImlQaG9uZTo6RnJvbnRlbmQ6OkFnZW50VGlja2V0Tm90ZSMjI1JlcXVpcmVkTG9jayIgUmVxdWlyZWQ9IjAiIFZhbGlkPSIxIj4KICAgICAgICA8RGVzY3JpcHRpb24gVHJhbnNsYXRhYmxlPSIxIj5EZWZpbmVzIGlmIGEgdGlja2V0IGxvY2sgaXMgcmVxdWlyZWQgaW4gdGhlIHRpY2tldCBub3RlIHNjcmVlbiBvZiB0aGUgaVBob25lIGludGVyZmFjZSAoaWYgdGhlIHRpY2tldCBpc24ndCBsb2NrZWQgeWV0LCB0aGUgdGlja2V0IGdldHMgbG9ja2VkIGFuZCB0aGUgY3VycmVudCBhZ2VudCB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IGFzIGl0cyBvd25lcikuPC9EZXNjcmlwdGlvbj4KICAgICAgICA8R3JvdXA+aVBob25lPC9Hcm91cD4KICAgICAgICA8U3ViR3JvdXA+RnJvbnRlbmQ6OkFnZW50OjpUaWNrZXQ6OlZpZXdOb3RlPC9TdWJHcm91cD4KICAgICAgICA8U2V0dGluZz4KICAgICAgICAgICAgPE9wdGlvbiBTZWxlY3RlZElEPSIwIj4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iMCI+Tm88L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IjEiPlllczwvSXRlbT4KICAgICAgICAgICAgPC9PcHRpb24+CiAgICAgICAgPC9TZXR0aW5nPgogICAgPC9Db25maWdJdGVtPgogICAgPENvbmZpZ0l0ZW0gTmFtZT0iaVBob25lOjpGcm9udGVuZDo6QWdlbnRUaWNrZXROb3RlIyMjVGlja2V0VHlwZSIgUmVxdWlyZWQ9IjAiIFZhbGlkPSIxIj4KICAgICAgICA8RGVzY3JpcHRpb24gVHJhbnNsYXRhYmxlPSIxIj5TZXRzIHRoZSB0aWNrZXQgdHlwZSBpbiB0aGUgdGlja2V0IG5vdGUgc2NyZWVuIG9mIHRoZSBpUGhvbmUgaW50ZXJmYWNlIChUaWNrZXQ6OlR5cGUgbmVlZHMgdG8gYmUgYWN0aXZhdGVkKS48L0Rlc2NyaXB0aW9uPgogICAgICAgIDxHcm91cD5pUGhvbmU8L0dyb3VwPgogICAgICAgIDxTdWJHcm91cD5Gcm9udGVuZDo6QWdlbnQ6OlRpY2tldDo6Vmlld05vdGU8L1N1Ykdyb3VwPgogICAgICAgIDxTZXR0aW5nPgogICAgICAgICAgICA8T3B0aW9uIFNlbGVjdGVkSUQ9IjAiPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSIwIj5ObzwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iMSI+WWVzPC9JdGVtPgogICAgICAgICAgICA8L09wdGlvbj4KICAgICAgICA8L1NldHRpbmc+CiAgICA8L0NvbmZpZ0l0ZW0+CgogICAgPENvbmZpZ0l0ZW0gTmFtZT0iaVBob25lOjpGcm9udGVuZDo6QWdlbnRUaWNrZXROb3RlIyMjU2VydmljZSIgUmVxdWlyZWQ9IjAiIFZhbGlkPSIxIj4KICAgICAgICA8RGVzY3JpcHRpb24gVHJhbnNsYXRhYmxlPSIxIj5TZXRzIHRoZSBzZXJ2aWNlIGluIHRoZSB0aWNrZXQgbm90ZSBzY3JlZW4gb2YgdGhlIGlQaG9uZSBpbnRlcmZhY2UgKFRpY2tldDo6U2VydmljZSBuZWVkcyB0byBiZSBhY3RpdmF0ZWQpLjwvRGVzY3JpcHRpb24+CiAgICAgICAgPEdyb3VwPmlQaG9uZTwvR3JvdXA+CiAgICAgICAgPFN1Ykdyb3VwPkZyb250ZW5kOjpBZ2VudDo6VGlja2V0OjpWaWV3Tm90ZTwvU3ViR3JvdXA+CiAgICAgICAgPFNldHRpbmc+CiAgICAgICAgICAgIDxPcHRpb24gU2VsZWN0ZWRJRD0iMCI+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IjAiPk5vPC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSIxIj5ZZXM8L0l0ZW0+CiAgICAgICAgICAgIDwvT3B0aW9uPgogICAgICAgIDwvU2V0dGluZz4KICAgIDwvQ29uZmlnSXRlbT4KICAgIDxDb25maWdJdGVtIE5hbWU9ImlQaG9uZTo6RnJvbnRlbmQ6OkFnZW50VGlja2V0Tm90ZSMjI093bmVyIiBSZXF1aXJlZD0iMCIgVmFsaWQ9IjEiPgogICAgICAgIDxEZXNjcmlwdGlvbiBUcmFuc2xhdGFibGU9IjEiPlNldHMgdGhlIHRpY2tldCBvd25lciBpbiB0aGUgdGlja2V0IG5vdGUgc2NyZWVuIG9mIHRoZSBpUGhvbmUgaW50ZXJmYWNlLjwvRGVzY3JpcHRpb24+CiAgICAgICAgPEdyb3VwPmlQaG9uZTwvR3JvdXA+CiAgICAgICAgPFN1Ykdyb3VwPkZyb250ZW5kOjpBZ2VudDo6VGlja2V0OjpWaWV3Tm90ZTwvU3ViR3JvdXA+CiAgICAgICAgPFNldHRpbmc+CiAgICAgICAgICAgIDxPcHRpb24gU2VsZWN0ZWRJRD0iMCI+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IjAiPk5vPC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSIxIj5ZZXM8L0l0ZW0+CiAgICAgICAgICAgIDwvT3B0aW9uPgogICAgICAgIDwvU2V0dGluZz4KICAgIDwvQ29uZmlnSXRlbT4KICAgIDxDb25maWdJdGVtIE5hbWU9ImlQaG9uZTo6RnJvbnRlbmQ6OkFnZW50VGlja2V0Tm90ZSMjI1Jlc3BvbnNpYmxlIiBSZXF1aXJlZD0iMCIgVmFsaWQ9IjEiPgogICAgICAgIDxEZXNjcmlwdGlvbiBUcmFuc2xhdGFibGU9IjEiPlNldHMgdGhlIHJlc3BvbnNpYmxlIGFnZW50IG9mIHRoZSB0aWNrZXQgaW4gdGhlIHRpY2tldCBub3RlIHNjcmVlbiBvZiB0aGUgaVBob25lIGludGVyZmFjZS48L0Rlc2NyaXB0aW9uPgogICAgICAgIDxHcm91cD5pUGhvbmU8L0dyb3VwPgogICAgICAgIDxTdWJHcm91cD5Gcm9udGVuZDo6QWdlbnQ6OlRpY2tldDo6Vmlld05vdGU8L1N1Ykdyb3VwPgogICAgICAgIDxTZXR0aW5nPgogICAgICAgICAgICA8T3B0aW9uIFNlbGVjdGVkSUQ9IjAiPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSIwIj5ObzwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iMSI+WWVzPC9JdGVtPgogICAgICAgICAgICA8L09wdGlvbj4KICAgICAgICA8L1NldHRpbmc+CiAgICA8L0NvbmZpZ0l0ZW0+CiAgICA8Q29uZmlnSXRlbSBOYW1lPSJpUGhvbmU6OkZyb250ZW5kOjpBZ2VudFRpY2tldE5vdGUjIyNTdGF0ZSIgUmVxdWlyZWQ9IjAiIFZhbGlkPSIxIj4KICAgICAgICA8RGVzY3JpcHRpb24gVHJhbnNsYXRhYmxlPSIxIj5JZiBhIG5vdGUgaXMgYWRkZWQgYnkgYW4gYWdlbnQsIHNldHMgdGhlIHN0YXRlIG9mIGEgdGlja2V0IGluIHRoZSB0aWNrZXQgbm90ZSBzY3JlZW4gb2YgdGhlIGlQaG9uZSBpbnRlcmZhY2UuPC9EZXNjcmlwdGlvbj4KICAgICAgICA8R3JvdXA+aVBob25lPC9Hcm91cD4KICAgICAgICA8U3ViR3JvdXA+RnJvbnRlbmQ6OkFnZW50OjpUaWNrZXQ6OlZpZXdOb3RlPC9TdWJHcm91cD4KICAgICAgICA8U2V0dGluZz4KICAgICAgICAgICAgPE9wdGlvbiBTZWxlY3RlZElEPSIwIj4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iMCI+Tm88L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IjEiPlllczwvSXRlbT4KICAgICAgICAgICAgPC9PcHRpb24+CiAgICAgICAgPC9TZXR0aW5nPgogICAgPC9Db25maWdJdGVtPgogICAgPENvbmZpZ0l0ZW0gTmFtZT0iaVBob25lOjpGcm9udGVuZDo6QWdlbnRUaWNrZXROb3RlIyMjU3RhdGVUeXBlIiBSZXF1aXJlZD0iMSIgVmFsaWQ9IjEiPgogICAgICAgIDxEZXNjcmlwdGlvbiBUcmFuc2xhdGFibGU9IjEiPkRlZmluZXMgdGhlIG5leHQgc3RhdGUgb2YgYSB0aWNrZXQgYWZ0ZXIgYWRkaW5nIGEgbm90ZSwgaW4gdGhlIHRpY2tldCBub3RlIHNjcmVlbiBvZiB0aGUgaVBob25lIGludGVyZmFjZS48L0Rlc2NyaXB0aW9uPgogICAgICAgIDxHcm91cD5pUGhvbmU8L0dyb3VwPgogICAgICAgIDxTdWJHcm91cD5Gcm9udGVuZDo6QWdlbnQ6OlRpY2tldDo6Vmlld05vdGU8L1N1Ykdyb3VwPgogICAgICAgIDxTZXR0aW5nPgogICAgICAgICAgICA8QXJyYXk+CiAgICAgICAgICAgICAgICA8SXRlbT5vcGVuPC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0+Y2xvc2VkPC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0+cGVuZGluZyByZW1pbmRlcjwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtPnBlbmRpbmcgYXV0bzwvSXRlbT4KICAgICAgICAgICAgPC9BcnJheT4KICAgICAgICA8L1NldHRpbmc+CiAgICA8L0NvbmZpZ0l0ZW0+CiAgICA8Q29uZmlnSXRlbSBOYW1lPSJpUGhvbmU6OkZyb250ZW5kOjpBZ2VudFRpY2tldE5vdGUjIyNTdGF0ZURlZmF1bHQiIFJlcXVpcmVkPSIwIiBWYWxpZD0iMCI+CiAgICAgICAgPERlc2NyaXB0aW9uIFRyYW5zbGF0YWJsZT0iMSI+RGVmaW5lcyB0aGUgZGVmYXVsdCBuZXh0IHN0YXRlIG9mIGEgdGlja2V0IGFmdGVyIGFkZGluZyBhIG5vdGUsIGluIHRoZSB0aWNrZXQgbm90ZSBzY3JlZW4gb2YgdGhlIGlQaG9uZSBpbnRlcmZhY2UuPC9EZXNjcmlwdGlvbj4KICAgICAgICA8R3JvdXA+aVBob25lPC9Hcm91cD4KICAgICAgICA8U3ViR3JvdXA+RnJvbnRlbmQ6OkFnZW50OjpUaWNrZXQ6OlZpZXdOb3RlPC9TdWJHcm91cD4KICAgICAgICA8U2V0dGluZz4KICAgICAgICAgICAgPFN0cmluZyBSZWdleD0iIj5vcGVuPC9TdHJpbmc+CiAgICAgICAgPC9TZXR0aW5nPgogICAgPC9Db25maWdJdGVtPgogICAgPENvbmZpZ0l0ZW0gTmFtZT0iaVBob25lOjpGcm9udGVuZDo6QWdlbnRUaWNrZXROb3RlIyMjTm90ZSIgUmVxdWlyZWQ9IjAiIFZhbGlkPSIxIj4KICAgICAgICA8RGVzY3JpcHRpb24gVHJhbnNsYXRhYmxlPSIxIj5BbGxvd3MgYWRkaW5nIG5vdGVzIGluIHRoZSB0aWNrZXQgbm90ZSBzY3JlZW4gb2YgdGhlIGlQaG9uZSBpbnRlcmZhY2UuPC9EZXNjcmlwdGlvbj4KICAgICAgICA8R3JvdXA+aVBob25lPC9Hcm91cD4KICAgICAgICA8U3ViR3JvdXA+RnJvbnRlbmQ6OkFnZW50OjpUaWNrZXQ6OlZpZXdOb3RlPC9TdWJHcm91cD4KICAgICAgICA8U2V0dGluZz4KICAgICAgICAgICAgPE9wdGlvbiBTZWxlY3RlZElEPSIxIj4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iMCI+Tm88L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IjEiPlllczwvSXRlbT4KICAgICAgICAgICAgPC9PcHRpb24+CiAgICAgICAgPC9TZXR0aW5nPgogICAgPC9Db25maWdJdGVtPgogICAgPENvbmZpZ0l0ZW0gTmFtZT0iaVBob25lOjpGcm9udGVuZDo6QWdlbnRUaWNrZXROb3RlIyMjU3ViamVjdCIgUmVxdWlyZWQ9IjAiIFZhbGlkPSIxIj4KICAgICAgICA8RGVzY3JpcHRpb24gVHJhbnNsYXRhYmxlPSIxIj5TZXRzIHRoZSBkZWZhdWx0IHN1YmplY3QgZm9yIG5vdGVzIGFkZGVkIGluIHRoZSB0aWNrZXQgbm90ZSBzY3JlZW4gb2YgdGhlIGlQaG9uZSBpbnRlcmZhY2UuPC9EZXNjcmlwdGlvbj4KICAgICAgICA8R3JvdXA+aVBob25lPC9Hcm91cD4KICAgICAgICA8U3ViR3JvdXA+RnJvbnRlbmQ6OkFnZW50OjpUaWNrZXQ6OlZpZXdOb3RlPC9TdWJHcm91cD4KICAgICAgICA8U2V0dGluZz4KICAgICAgICAgICAgPFN0cmluZyBSZWdleD0iIj5Ob3RlPC9TdHJpbmc+CiAgICAgICAgPC9TZXR0aW5nPgogICAgPC9Db25maWdJdGVtPgogICAgPENvbmZpZ0l0ZW0gTmFtZT0iaVBob25lOjpGcm9udGVuZDo6QWdlbnRUaWNrZXROb3RlIyMjQm9keSIgUmVxdWlyZWQ9IjAiIFZhbGlkPSIxIj4KICAgICAgICA8RGVzY3JpcHRpb24gVHJhbnNsYXRhYmxlPSIxIj5TZXRzIHRoZSBkZWZhdWx0IGJvZHkgdGV4dCBmb3Igbm90ZXMgYWRkZWQgaW4gdGhlIHRpY2tldCBub3RlIHNjcmVlbiBvZiB0aGUgaVBob25lIGludGVyZmFjZS48L0Rlc2NyaXB0aW9uPgogICAgICAgIDxHcm91cD5pUGhvbmU8L0dyb3VwPgogICAgICAgIDxTdWJHcm91cD5Gcm9udGVuZDo6QWdlbnQ6OlRpY2tldDo6Vmlld05vdGU8L1N1Ykdyb3VwPgogICAgICAgIDxTZXR0aW5nPgogICAgICAgICAgICA8VGV4dEFyZWE+PC9UZXh0QXJlYT4KICAgICAgICA8L1NldHRpbmc+CiAgICA8L0NvbmZpZ0l0ZW0+CiAgICA8Q29uZmlnSXRlbSBOYW1lPSJpUGhvbmU6OkZyb250ZW5kOjpBZ2VudFRpY2tldE5vdGUjIyNBcnRpY2xlVHlwZURlZmF1bHQiIFJlcXVpcmVkPSIwIiBWYWxpZD0iMSI+CiAgICAgICAgPERlc2NyaXB0aW9uIFRyYW5zbGF0YWJsZT0iMSI+RGVmaW5lcyB0aGUgZGVmYXVsdCB0eXBlIG9mIHRoZSBub3RlIGluIHRoZSB0aWNrZXQgbm90ZSBzY3JlZW4gb2YgdGhlIGlQaG9uZSBpbnRlcmZhY2UuPC9EZXNjcmlwdGlvbj4KICAgICAgICA8R3JvdXA+aVBob25lPC9Hcm91cD4KICAgICAgICA8U3ViR3JvdXA+RnJvbnRlbmQ6OkFnZW50OjpUaWNrZXQ6OlZpZXdOb3RlPC9TdWJHcm91cD4KICAgICAgICA8U2V0dGluZz4KICAgICAgICAgICAgPFN0cmluZyBSZWdleD0iIj5ub3RlLWludGVybmFsPC9TdHJpbmc+CiAgICAgICAgPC9TZXR0aW5nPgogICAgPC9Db25maWdJdGVtPgogICAgPENvbmZpZ0l0ZW0gTmFtZT0iaVBob25lOjpGcm9udGVuZDo6QWdlbnRUaWNrZXROb3RlIyMjQXJ0aWNsZVR5cGVzIiBSZXF1aXJlZD0iMCIgVmFsaWQ9IjEiPgogICAgICAgIDxEZXNjcmlwdGlvbiBUcmFuc2xhdGFibGU9IjEiPlNwZWNpZnkgdGhlIGRpZmZlcmVudCBub3RlIHR5cGVzLCB0aGF0IHlvdSB3YW50IHRvIHVzZSBpbiB5b3VyIHN5c3RlbS48L0Rlc2NyaXB0aW9uPgogICAgICAgIDxHcm91cD5pUGhvbmU8L0dyb3VwPgogICAgICAgIDxTdWJHcm91cD5Gcm9udGVuZDo6QWdlbnQ6OlRpY2tldDo6Vmlld05vdGU8L1N1Ykdyb3VwPgogICAgICAgIDxTZXR0aW5nPgogICAgICAgICAgICA8SGFzaD4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0ibm90ZS1pbnRlcm5hbCI+MTwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0ibm90ZS1leHRlcm5hbCI+MTwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0ibm90ZS1yZXBvcnQiPjA8L0l0ZW0+CiAgICAgICAgICAgIDwvSGFzaD4KICAgICAgICA8L1NldHRpbmc+CiAgICA8L0NvbmZpZ0l0ZW0+CiAgICA8Q29uZmlnSXRlbSBOYW1lPSJpUGhvbmU6OkZyb250ZW5kOjpBZ2VudFRpY2tldE5vdGUjIyNQcmlvcml0eSIgUmVxdWlyZWQ9IjAiIFZhbGlkPSIwIj4KICAgICAgICA8RGVzY3JpcHRpb24gVHJhbnNsYXRhYmxlPSIxIj5TaG93cyB0aGUgdGlja2V0IHByaW9yaXR5IG9wdGlvbnMgaW4gdGhlIHRpY2tldCBub3RlIHNjcmVlbiBvZiB0aGUgaVBob25lIGludGVyZmFjZS48L0Rlc2NyaXB0aW9uPgogICAgICAgIDxHcm91cD5pUGhvbmU8L0dyb3VwPgogICAgICAgIDxTdWJHcm91cD5Gcm9udGVuZDo6QWdlbnQ6OlRpY2tldDo6Vmlld05vdGU8L1N1Ykdyb3VwPgogICAgICAgIDxTZXR0aW5nPgogICAgICAgICAgICA8T3B0aW9uIFNlbGVjdGVkSUQ9IjAiPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSIwIj5ObzwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iMSI+WWVzPC9JdGVtPgogICAgICAgICAgICA8L09wdGlvbj4KICAgICAgICA8L1NldHRpbmc+CiAgICA8L0NvbmZpZ0l0ZW0+CiAgICA8Q29uZmlnSXRlbSBOYW1lPSJpUGhvbmU6OkZyb250ZW5kOjpBZ2VudFRpY2tldE5vdGUjIyNQcmlvcml0eURlZmF1bHQiIFJlcXVpcmVkPSIwIiBWYWxpZD0iMCI+CiAgICAgICAgPERlc2NyaXB0aW9uIFRyYW5zbGF0YWJsZT0iMSI+RGVmaW5lcyB0aGUgZGVmYXVsdCB0aWNrZXQgcHJpb3JpdHkgaW4gdGhlIHRpY2tldCBub3RlIHNjcmVlbiBvZiB0aGUgaVBob25lIGludGVyZmFjZS48L0Rlc2NyaXB0aW9uPgogICAgICAgIDxHcm91cD5pUGhvbmU8L0dyb3VwPgogICAgICAgIDxTdWJHcm91cD5Gcm9udGVuZDo6QWdlbnQ6OlRpY2tldDo6Vmlld05vdGU8L1N1Ykdyb3VwPgogICAgICAgIDxTZXR0aW5nPgogICAgICAgICAgICA8U3RyaW5nIFJlZ2V4PSIiPjMgbm9ybWFsPC9TdHJpbmc+CiAgICAgICAgPC9TZXR0aW5nPgogICAgPC9Db25maWdJdGVtPgogICAgPENvbmZpZ0l0ZW0gTmFtZT0iaVBob25lOjpGcm9udGVuZDo6QWdlbnRUaWNrZXROb3RlIyMjVGl0bGUiIFJlcXVpcmVkPSIwIiBWYWxpZD0iMSI+CiAgICAgICAgPERlc2NyaXB0aW9uIFRyYW5zbGF0YWJsZT0iMSI+U2hvd3MgdGhlIHRpdGxlIGZpZWxkcyBpbiB0aGUgdGlja2V0IG5vdGUgc2NyZWVuIG9mIHRoZSBpcGhvbmUgaW50ZXJmYWNlLjwvRGVzY3JpcHRpb24+CiAgICAgICAgPEdyb3VwPmlQaG9uZTwvR3JvdXA+CiAgICAgICAgPFN1Ykdyb3VwPkZyb250ZW5kOjpBZ2VudDo6VGlja2V0OjpWaWV3Tm90ZTwvU3ViR3JvdXA+CiAgICAgICAgPFNldHRpbmc+CiAgICAgICAgICAgIDxPcHRpb24gU2VsZWN0ZWRJRD0iMCI+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IjAiPk5vPC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSIxIj5ZZXM8L0l0ZW0+CiAgICAgICAgICAgIDwvT3B0aW9uPgogICAgICAgIDwvU2V0dGluZz4KICAgIDwvQ29uZmlnSXRlbT4KICAgIDxDb25maWdJdGVtIE5hbWU9ImlQaG9uZTo6RnJvbnRlbmQ6OkFnZW50VGlja2V0Tm90ZSMjI1RpbWVVbml0cyIgUmVxdWlyZWQ9IjAiIFZhbGlkPSIxIj4KICAgICAgICA8RGVzY3JpcHRpb24gVHJhbnNsYXRhYmxlPSIxIj5TZXRzIHRoZSB0aW1lIHVuaXRzIGluIHRoZSB0aWNrZXQgbm90ZSBzY3JlZW4gb2YgdGhlIGlQaG9uZSBpbnRlcmZhY2UuPC9EZXNjcmlwdGlvbj4KICAgICAgICA8R3JvdXA+aVBob25lPC9Hcm91cD4KICAgICAgICA8U3ViR3JvdXA+RnJvbnRlbmQ6OkFnZW50OjpUaWNrZXQ6OlZpZXdOb3RlPC9TdWJHcm91cD4KICAgICAgICA8U2V0dGluZz4KICAgICAgICAgICAgPE9wdGlvbiBTZWxlY3RlZElEPSIxIj4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iMCI+Tm88L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IjEiPlllczwvSXRlbT4KICAgICAgICAgICAgPC9PcHRpb24+CiAgICAgICAgPC9TZXR0aW5nPgogICAgPC9Db25maWdJdGVtPgogICAgPENvbmZpZ0l0ZW0gTmFtZT0iaVBob25lOjpGcm9udGVuZDo6QWdlbnRUaWNrZXROb3RlIyMjSGlzdG9yeVR5cGUiIFJlcXVpcmVkPSIwIiBWYWxpZD0iMSI+CiAgICAgICAgPERlc2NyaXB0aW9uIFRyYW5zbGF0YWJsZT0iMSI+RGVmaW5lcyB0aGUgaGlzdG9yeSB0eXBlIGZvciB0aGUgdGlja2V0IG5vdGUgc2NyZWVuIGFjdGlvbiwgd2hpY2ggZ2V0cyB1c2VkIGZvciB0aWNrZXQgaGlzdG9yeSBpbiB0aGUgaVBob25lIGludGVyZmFjZS48L0Rlc2NyaXB0aW9uPgogICAgICAgIDxHcm91cD5pUGhvbmU8L0dyb3VwPgogICAgICAgIDxTdWJHcm91cD5Gcm9udGVuZDo6QWdlbnQ6OlRpY2tldDo6Vmlld05vdGU8L1N1Ykdyb3VwPgogICAgICAgIDxTZXR0aW5nPgogICAgICAgICAgICA8U3RyaW5nIFJlZ2V4PSIiPkFkZE5vdGU8L1N0cmluZz4KICAgICAgICA8L1NldHRpbmc+CiAgICA8L0NvbmZpZ0l0ZW0+CiAgICA8Q29uZmlnSXRlbSBOYW1lPSJpUGhvbmU6OkZyb250ZW5kOjpBZ2VudFRpY2tldE5vdGUjIyNIaXN0b3J5Q29tbWVudCIgUmVxdWlyZWQ9IjAiIFZhbGlkPSIxIj4KICAgICAgICA8RGVzY3JpcHRpb24gVHJhbnNsYXRhYmxlPSIxIj5EZWZpbmVzIHRoZSBoaXN0b3J5IGNvbW1lbnQgZm9yIHRoZSB0aWNrZXQgbm90ZSBzY3JlZW4gYWN0aW9uLCB3aGljaCBnZXRzIHVzZWQgZm9yIHRpY2tldCBoaXN0b3J5IGluIHRoZSBpUGhvbmUgaW50ZXJmYWNlLjwvRGVzY3JpcHRpb24+CiAgICAgICAgPEdyb3VwPmlQaG9uZTwvR3JvdXA+CiAgICAgICAgPFN1Ykdyb3VwPkZyb250ZW5kOjpBZ2VudDo6VGlja2V0OjpWaWV3Tm90ZTwvU3ViR3JvdXA+CiAgICAgICAgPFNldHRpbmc+CiAgICAgICAgICAgIDxTdHJpbmcgUmVnZXg9IiI+JSVOb3RlPC9TdHJpbmc+CiAgICAgICAgPC9TZXR0aW5nPgogICAgPC9Db25maWdJdGVtPgogICAgPENvbmZpZ0l0ZW0gTmFtZT0iaVBob25lOjpGcm9udGVuZDo6QWdlbnRUaWNrZXROb3RlIyMjRHluYW1pY0ZpZWxkIiBSZXF1aXJlZD0iMCIgVmFsaWQ9IjEiPgogICAgICAgIDxEZXNjcmlwdGlvbiBUcmFuc2xhdGFibGU9IjEiPkR5bmFtaWMgZmllbGRzIHNob3duIGluIHRoZSB0aWNrZXQgbm90ZSBzY3JlZW4gb2YgdGhlIGlQaG9uZSBpbnRlcmZhY2UuIFBvc3NpYmxlIHNldHRpbmdzOiAwID0gRGlzYWJsZWQsIDEgPSBFbmFibGVkLCAyID0gRW5hYmxlZCBhbmQgcmVxdWlyZWQuPC9EZXNjcmlwdGlvbj4KICAgICAgICA8R3JvdXA+aVBob25lPC9Hcm91cD4KICAgICAgICA8U3ViR3JvdXA+RnJvbnRlbmQ6OkFnZW50OjpUaWNrZXQ6OlZpZXdOb3RlPC9TdWJHcm91cD4KICAgICAgICA8U2V0dGluZz4KICAgICAgICAgICAgPEhhc2g+CiAgICAgICAgICAgIDwvSGFzaD4KICAgICAgICA8L1NldHRpbmc+CiAgICA8L0NvbmZpZ0l0ZW0+CgogICAgPENvbmZpZ0l0ZW0gTmFtZT0iaVBob25lOjpGcm9udGVuZDo6QWdlbnRUaWNrZXRDbG9zZSMjI1Blcm1pc3Npb24iIFJlcXVpcmVkPSIxIiBWYWxpZD0iMSI+CiAgICAgICAgPERlc2NyaXB0aW9uIFRyYW5zbGF0YWJsZT0iMSI+UmVxdWlyZWQgcGVybWlzc2lvbnMgdG8gdXNlIHRoZSBjbG9zZSB0aWNrZXQgc2NyZWVuIGluIHRoZSBpUGhvbmUgaW50ZXJmYWNlLjwvRGVzY3JpcHRpb24+CiAgICAgICAgPEdyb3VwPmlQaG9uZTwvR3JvdXA+CiAgICAgICAgPFN1Ykdyb3VwPkZyb250ZW5kOjpBZ2VudDo6VGlja2V0OjpWaWV3Q2xvc2U8L1N1Ykdyb3VwPgogICAgICAgIDxTZXR0aW5nPgogICAgICAgICAgICA8U3RyaW5nIFJlZ2V4PSIiPmNsb3NlPC9TdHJpbmc+CiAgICAgICAgPC9TZXR0aW5nPgogICAgPC9Db25maWdJdGVtPgogICAgPENvbmZpZ0l0ZW0gTmFtZT0iaVBob25lOjpGcm9udGVuZDo6QWdlbnRUaWNrZXRDbG9zZSMjI1JlcXVpcmVkTG9jayIgUmVxdWlyZWQ9IjAiIFZhbGlkPSIxIj4KICAgICAgICA8RGVzY3JpcHRpb24gVHJhbnNsYXRhYmxlPSIxIj5EZWZpbmVzIGlmIGEgdGlja2V0IGxvY2sgaXMgcmVxdWlyZWQgaW4gdGhlIGNsb3NlIHRpY2tldCBzY3JlZW4gb2YgdGhlIGlQaG9uZSBpbnRlcmZhY2UgKGlmIHRoZSB0aWNrZXQgaXNuJ3QgbG9ja2VkIHlldCwgdGhlIHRpY2tldCBnZXRzIGxvY2tlZCBhbmQgdGhlIGN1cnJlbnQgYWdlbnQgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSBhcyBpdHMgb3duZXIpLjwvRGVzY3JpcHRpb24+CiAgICAgICAgPEdyb3VwPmlQaG9uZTwvR3JvdXA+CiAgICAgICAgPFN1Ykdyb3VwPkZyb250ZW5kOjpBZ2VudDo6VGlja2V0OjpWaWV3Q2xvc2U8L1N1Ykdyb3VwPgogICAgICAgIDxTZXR0aW5nPgogICAgICAgICAgICA8T3B0aW9uIFNlbGVjdGVkSUQ9IjEiPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSIwIj5ObzwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iMSI+WWVzPC9JdGVtPgogICAgICAgICAgICA8L09wdGlvbj4KICAgICAgICA8L1NldHRpbmc+CiAgICA8L0NvbmZpZ0l0ZW0+CiAgICA8Q29uZmlnSXRlbSBOYW1lPSJpUGhvbmU6OkZyb250ZW5kOjpBZ2VudFRpY2tldENsb3NlIyMjVGlja2V0VHlwZSIgUmVxdWlyZWQ9IjAiIFZhbGlkPSIxIj4KICAgICAgICA8RGVzY3JpcHRpb24gVHJhbnNsYXRhYmxlPSIxIj5TZXRzIHRoZSB0aWNrZXQgdHlwZSBpbiB0aGUgY2xvc2UgdGlja2V0IHNjcmVlbiBvZiB0aGUgaVBob25lIGludGVyZmFjZSAoVGlja2V0OjpUeXBlIG5lZWRzIHRvIGJlIGFjdGl2YXRlZCkuPC9EZXNjcmlwdGlvbj4KICAgICAgICA8R3JvdXA+aVBob25lPC9Hcm91cD4KICAgICAgICA8U3ViR3JvdXA+RnJvbnRlbmQ6OkFnZW50OjpUaWNrZXQ6OlZpZXdDbG9zZTwvU3ViR3JvdXA+CiAgICAgICAgPFNldHRpbmc+CiAgICAgICAgICAgIDxPcHRpb24gU2VsZWN0ZWRJRD0iMCI+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IjAiPk5vPC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSIxIj5ZZXM8L0l0ZW0+CiAgICAgICAgICAgIDwvT3B0aW9uPgogICAgICAgIDwvU2V0dGluZz4KICAgIDwvQ29uZmlnSXRlbT4KICAgIDxDb25maWdJdGVtIE5hbWU9ImlQaG9uZTo6RnJvbnRlbmQ6OkFnZW50VGlja2V0Q2xvc2UjIyNTZXJ2aWNlIiBSZXF1aXJlZD0iMCIgVmFsaWQ9IjEiPgogICAgICAgIDxEZXNjcmlwdGlvbiBUcmFuc2xhdGFibGU9IjEiPlNldHMgdGhlIHNlcnZpY2UgaW4gdGhlIGNsb3NlIHRpY2tldCBzY3JlZW4gb2YgdGhlIGlQaG9uZSBpbnRlcmZhY2UgKFRpY2tldDo6U2VydmljZSBuZWVkcyB0byBiZSBhY3RpdmF0ZWQpLjwvRGVzY3JpcHRpb24+CiAgICAgICAgPEdyb3VwPmlQaG9uZTwvR3JvdXA+CiAgICAgICAgPFN1Ykdyb3VwPkZyb250ZW5kOjpBZ2VudDo6VGlja2V0OjpWaWV3Q2xvc2U8L1N1Ykdyb3VwPgogICAgICAgIDxTZXR0aW5nPgogICAgICAgICAgICA8T3B0aW9uIFNlbGVjdGVkSUQ9IjAiPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSIwIj5ObzwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iMSI+WWVzPC9JdGVtPgogICAgICAgICAgICA8L09wdGlvbj4KICAgICAgICA8L1NldHRpbmc+CiAgICA8L0NvbmZpZ0l0ZW0+CiAgICA8Q29uZmlnSXRlbSBOYW1lPSJpUGhvbmU6OkZyb250ZW5kOjpBZ2VudFRpY2tldENsb3NlIyMjT3duZXIiIFJlcXVpcmVkPSIwIiBWYWxpZD0iMSI+CiAgICAgICAgPERlc2NyaXB0aW9uIFRyYW5zbGF0YWJsZT0iMSI+U2V0cyB0aGUgdGlja2V0IG93bmVyIGluIHRoZSBjbG9zZSB0aWNrZXQgc2NyZWVuIG9mIHRoZSBpUGhvbmUgaW50ZXJmYWNlLjwvRGVzY3JpcHRpb24+CiAgICAgICAgPEdyb3VwPmlQaG9uZTwvR3JvdXA+CiAgICAgICAgPFN1Ykdyb3VwPkZyb250ZW5kOjpBZ2VudDo6VGlja2V0OjpWaWV3Q2xvc2U8L1N1Ykdyb3VwPgogICAgICAgIDxTZXR0aW5nPgogICAgICAgICAgICA8T3B0aW9uIFNlbGVjdGVkSUQ9IjAiPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSIwIj5ObzwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iMSI+WWVzPC9JdGVtPgogICAgICAgICAgICA8L09wdGlvbj4KICAgICAgICA8L1NldHRpbmc+CiAgICA8L0NvbmZpZ0l0ZW0+CiAgICA8Q29uZmlnSXRlbSBOYW1lPSJpUGhvbmU6OkZyb250ZW5kOjpBZ2VudFRpY2tldENsb3NlIyMjUmVzcG9uc2libGUiIFJlcXVpcmVkPSIwIiBWYWxpZD0iMSI+CiAgICAgICAgPERlc2NyaXB0aW9uIFRyYW5zbGF0YWJsZT0iMSI+U2V0cyB0aGUgcmVzcG9uc2libGUgYWdlbnQgb2YgdGhlIHRpY2tldCBpbiB0aGUgY2xvc2UgdGlja2V0IHNjcmVlbiBvZiB0aGUgaVBob25lIGludGVyZmFjZS48L0Rlc2NyaXB0aW9uPgogICAgICAgIDxHcm91cD5pUGhvbmU8L0dyb3VwPgogICAgICAgIDxTdWJHcm91cD5Gcm9udGVuZDo6QWdlbnQ6OlRpY2tldDo6Vmlld0Nsb3NlPC9TdWJHcm91cD4KICAgICAgICA8U2V0dGluZz4KICAgICAgICAgICAgPE9wdGlvbiBTZWxlY3RlZElEPSIwIj4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iMCI+Tm88L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IjEiPlllczwvSXRlbT4KICAgICAgICAgICAgPC9PcHRpb24+CiAgICAgICAgPC9TZXR0aW5nPgogICAgPC9Db25maWdJdGVtPgogICAgPENvbmZpZ0l0ZW0gTmFtZT0iaVBob25lOjpGcm9udGVuZDo6QWdlbnRUaWNrZXRDbG9zZSMjI1N0YXRlIiBSZXF1aXJlZD0iMCIgVmFsaWQ9IjEiPgogICAgICAgIDxEZXNjcmlwdGlvbiBUcmFuc2xhdGFibGU9IjEiPklmIGEgbm90ZSBpcyBhZGRlZCBieSBhbiBhZ2VudCwgc2V0cyB0aGUgc3RhdGUgb2YgYSB0aWNrZXQgaW4gdGhlIGNsb3NlIHRpY2tldCBzY3JlZW4gb2YgdGhlIGlQaG9uZSBpbnRlcmZhY2UuPC9EZXNjcmlwdGlvbj4KICAgICAgICA8R3JvdXA+aVBob25lPC9Hcm91cD4KICAgICAgICA8U3ViR3JvdXA+RnJvbnRlbmQ6OkFnZW50OjpUaWNrZXQ6OlZpZXdDbG9zZTwvU3ViR3JvdXA+CiAgICAgICAgPFNldHRpbmc+CiAgICAgICAgICAgIDxPcHRpb24gU2VsZWN0ZWRJRD0iMSI+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IjAiPk5vPC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSIxIj5ZZXM8L0l0ZW0+CiAgICAgICAgICAgIDwvT3B0aW9uPgogICAgICAgIDwvU2V0dGluZz4KICAgIDwvQ29uZmlnSXRlbT4KICAgIDxDb25maWdJdGVtIE5hbWU9ImlQaG9uZTo6RnJvbnRlbmQ6OkFnZW50VGlja2V0Q2xvc2UjIyNTdGF0ZVR5cGUiIFJlcXVpcmVkPSIxIiBWYWxpZD0iMSI+CiAgICAgICAgPERlc2NyaXB0aW9uIFRyYW5zbGF0YWJsZT0iMSI+RGVmaW5lcyB0aGUgbmV4dCBzdGF0ZSBvZiBhIHRpY2tldCBhZnRlciBhZGRpbmcgYSBub3RlLCBpbiB0aGUgY2xvc2UgdGlja2V0IHNjcmVlbiBvZiB0aGUgaVBob25lIGludGVyZmFjZS48L0Rlc2NyaXB0aW9uPgogICAgICAgIDxHcm91cD5pUGhvbmU8L0dyb3VwPgogICAgICAgIDxTdWJHcm91cD5Gcm9udGVuZDo6QWdlbnQ6OlRpY2tldDo6Vmlld0Nsb3NlPC9TdWJHcm91cD4KICAgICAgICA8U2V0dGluZz4KICAgICAgICAgICAgPEFycmF5PgogICAgICAgICAgICAgICAgPEl0ZW0+Y2xvc2VkPC9JdGVtPgogICAgICAgICAgICA8L0FycmF5PgogICAgICAgIDwvU2V0dGluZz4KICAgIDwvQ29uZmlnSXRlbT4KICAgIDxDb25maWdJdGVtIE5hbWU9ImlQaG9uZTo6RnJvbnRlbmQ6OkFnZW50VGlja2V0Q2xvc2UjIyNTdGF0ZURlZmF1bHQiIFJlcXVpcmVkPSIwIiBWYWxpZD0iMSI+CiAgICAgICAgPERlc2NyaXB0aW9uIFRyYW5zbGF0YWJsZT0iMSI+RGVmaW5lcyB0aGUgZGVmYXVsdCBuZXh0IHN0YXRlIG9mIGEgdGlja2V0IGFmdGVyIGFkZGluZyBhIG5vdGUsIGluIHRoZSBjbG9zZSB0aWNrZXQgc2NyZWVuIG9mIHRoZSBpUGhvbmUgaW50ZXJmYWNlLjwvRGVzY3JpcHRpb24+CiAgICAgICAgPEdyb3VwPmlQaG9uZTwvR3JvdXA+CiAgICAgICAgPFN1Ykdyb3VwPkZyb250ZW5kOjpBZ2VudDo6VGlja2V0OjpWaWV3Q2xvc2U8L1N1Ykdyb3VwPgogICAgICAgIDxTZXR0aW5nPgogICAgICAgICAgICA8U3RyaW5nIFJlZ2V4PSIiPmNsb3NlZCBzdWNjZXNzZnVsPC9TdHJpbmc+CiAgICAgICAgPC9TZXR0aW5nPgogICAgPC9Db25maWdJdGVtPgogICAgPENvbmZpZ0l0ZW0gTmFtZT0iaVBob25lOjpGcm9udGVuZDo6QWdlbnRUaWNrZXRDbG9zZSMjI05vdGUiIFJlcXVpcmVkPSIwIiBWYWxpZD0iMSI+CiAgICAgICAgPERlc2NyaXB0aW9uIFRyYW5zbGF0YWJsZT0iMSI+QWxsb3dzIGFkZGluZyBub3RlcyBpbiB0aGUgY2xvc2UgdGlja2V0IHNjcmVlbiBvZiB0aGUgaVBob25lIGludGVyZmFjZS48L0Rlc2NyaXB0aW9uPgogICAgICAgIDxHcm91cD5pUGhvbmU8L0dyb3VwPgogICAgICAgIDxTdWJHcm91cD5Gcm9udGVuZDo6QWdlbnQ6OlRpY2tldDo6Vmlld0Nsb3NlPC9TdWJHcm91cD4KICAgICAgICA8U2V0dGluZz4KICAgICAgICAgICAgPE9wdGlvbiBTZWxlY3RlZElEPSIxIj4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iMCI+Tm88L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IjEiPlllczwvSXRlbT4KICAgICAgICAgICAgPC9PcHRpb24+CiAgICAgICAgPC9TZXR0aW5nPgogICAgPC9Db25maWdJdGVtPgogICAgPENvbmZpZ0l0ZW0gTmFtZT0iaVBob25lOjpGcm9udGVuZDo6QWdlbnRUaWNrZXRDbG9zZSMjI1N1YmplY3QiIFJlcXVpcmVkPSIwIiBWYWxpZD0iMSI+CiAgICAgICAgPERlc2NyaXB0aW9uIFRyYW5zbGF0YWJsZT0iMSI+U2V0cyB0aGUgZGVmYXVsdCBzdWJqZWN0IGZvciBub3RlcyBhZGRlZCBpbiB0aGUgY2xvc2UgdGlja2V0IHNjcmVlbiBvZiB0aGUgaVBob25lIGludGVyZmFjZS48L0Rlc2NyaXB0aW9uPgogICAgICAgIDxHcm91cD5pUGhvbmU8L0dyb3VwPgogICAgICAgIDxTdWJHcm91cD5Gcm9udGVuZDo6QWdlbnQ6OlRpY2tldDo6Vmlld0Nsb3NlPC9TdWJHcm91cD4KICAgICAgICA8U2V0dGluZz4KICAgICAgICAgICAgPFN0cmluZyBSZWdleD0iIj5DbG9zZTwvU3RyaW5nPgogICAgICAgIDwvU2V0dGluZz4KICAgIDwvQ29uZmlnSXRlbT4KICAgIDxDb25maWdJdGVtIE5hbWU9ImlQaG9uZTo6RnJvbnRlbmQ6OkFnZW50VGlja2V0Q2xvc2UjIyNCb2R5IiBSZXF1aXJlZD0iMCIgVmFsaWQ9IjEiPgogICAgICAgIDxEZXNjcmlwdGlvbiBUcmFuc2xhdGFibGU9IjEiPlNldHMgdGhlIGRlZmF1bHQgYm9keSB0ZXh0IGZvciBub3RlcyBhZGRlZCBpbiB0aGUgY2xvc2UgdGlja2V0IHNjcmVlbiBvZiB0aGUgaVBob25lIGludGVyZmFjZS48L0Rlc2NyaXB0aW9uPgogICAgICAgIDxHcm91cD5pUGhvbmU8L0dyb3VwPgogICAgICAgIDxTdWJHcm91cD5Gcm9udGVuZDo6QWdlbnQ6OlRpY2tldDo6Vmlld0Nsb3NlPC9TdWJHcm91cD4KICAgICAgICA8U2V0dGluZz4KICAgICAgICAgICAgPFRleHRBcmVhPjwvVGV4dEFyZWE+CiAgICAgICAgPC9TZXR0aW5nPgogICAgPC9Db25maWdJdGVtPgogICAgPENvbmZpZ0l0ZW0gTmFtZT0iaVBob25lOjpGcm9udGVuZDo6QWdlbnRUaWNrZXRDbG9zZSMjI0FydGljbGVUeXBlRGVmYXVsdCIgUmVxdWlyZWQ9IjAiIFZhbGlkPSIxIj4KICAgICAgICA8RGVzY3JpcHRpb24gVHJhbnNsYXRhYmxlPSIxIj5EZWZpbmVzIHRoZSBkZWZhdWx0IHR5cGUgb2YgdGhlIG5vdGUgaW4gdGhlIGNsb3NlIHRpY2tldCBzY3JlZW4gb2YgdGhlIGlQaG9uZSBpbnRlcmZhY2UuPC9EZXNjcmlwdGlvbj4KICAgICAgICA8R3JvdXA+aVBob25lPC9Hcm91cD4KICAgICAgICA8U3ViR3JvdXA+RnJvbnRlbmQ6OkFnZW50OjpUaWNrZXQ6OlZpZXdDbG9zZTwvU3ViR3JvdXA+CiAgICAgICAgPFNldHRpbmc+CiAgICAgICAgICAgIDxTdHJpbmcgUmVnZXg9IiI+bm90ZS1pbnRlcm5hbDwvU3RyaW5nPgogICAgICAgIDwvU2V0dGluZz4KICAgIDwvQ29uZmlnSXRlbT4KICAgIDxDb25maWdJdGVtIE5hbWU9ImlQaG9uZTo6RnJvbnRlbmQ6OkFnZW50VGlja2V0Q2xvc2UjIyNBcnRpY2xlVHlwZXMiIFJlcXVpcmVkPSIwIiBWYWxpZD0iMSI+CiAgICAgICAgPERlc2NyaXB0aW9uIFRyYW5zbGF0YWJsZT0iMSI+U3BlY2lmaWVzIHRoZSBkaWZmZXJlbnQgbm90ZSB0eXBlcyB0aGF0IHdpbGwgYmUgdXNlZCBpbiB0aGUgc3lzdGVtLjwvRGVzY3JpcHRpb24+CiAgICAgICAgPEdyb3VwPmlQaG9uZTwvR3JvdXA+CiAgICAgICAgPFN1Ykdyb3VwPkZyb250ZW5kOjpBZ2VudDo6VGlja2V0OjpWaWV3Q2xvc2U8L1N1Ykdyb3VwPgogICAgICAgIDxTZXR0aW5nPgogICAgICAgICAgICA8SGFzaD4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0ibm90ZS1pbnRlcm5hbCI+MTwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0ibm90ZS1leHRlcm5hbCI+MDwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0ibm90ZS1yZXBvcnQiPjA8L0l0ZW0+CiAgICAgICAgICAgIDwvSGFzaD4KICAgICAgICA8L1NldHRpbmc+CiAgICA8L0NvbmZpZ0l0ZW0+CiAgICA8Q29uZmlnSXRlbSBOYW1lPSJpUGhvbmU6OkZyb250ZW5kOjpBZ2VudFRpY2tldENsb3NlIyMjUHJpb3JpdHkiIFJlcXVpcmVkPSIwIiBWYWxpZD0iMCI+CiAgICAgICAgPERlc2NyaXB0aW9uIFRyYW5zbGF0YWJsZT0iMSI+U2hvd3MgdGhlIHRpY2tldCBwcmlvcml0eSBvcHRpb25zIGluIHRoZSBjbG9zZSB0aWNrZXQgc2NyZWVuIG9mIHRoZSBpUGhvbmUgaW50ZXJmYWNlLjwvRGVzY3JpcHRpb24+CiAgICAgICAgPEdyb3VwPmlQaG9uZTwvR3JvdXA+CiAgICAgICAgPFN1Ykdyb3VwPkZyb250ZW5kOjpBZ2VudDo6VGlja2V0OjpWaWV3Q2xvc2U8L1N1Ykdyb3VwPgogICAgICAgIDxTZXR0aW5nPgogICAgICAgICAgICA8T3B0aW9uIFNlbGVjdGVkSUQ9IjAiPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSIwIj5ObzwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iMSI+WWVzPC9JdGVtPgogICAgICAgICAgICA8L09wdGlvbj4KICAgICAgICA8L1NldHRpbmc+CiAgICA8L0NvbmZpZ0l0ZW0+CiAgICA8Q29uZmlnSXRlbSBOYW1lPSJpUGhvbmU6OkZyb250ZW5kOjpBZ2VudFRpY2tldENsb3NlIyMjUHJpb3JpdHlEZWZhdWx0IiBSZXF1aXJlZD0iMCIgVmFsaWQ9IjAiPgogICAgICAgIDxEZXNjcmlwdGlvbiBUcmFuc2xhdGFibGU9IjEiPkRlZmluZXMgdGhlIGRlZmF1bHQgdGlja2V0IHByaW9yaXR5IGluIHRoZSBjbG9zZSB0aWNrZXQgc2NyZWVuIG9mIHRoZSBpUGhvbmUgaW50ZXJmYWNlLjwvRGVzY3JpcHRpb24+CiAgICAgICAgPEdyb3VwPmlQaG9uZTwvR3JvdXA+CiAgICAgICAgPFN1Ykdyb3VwPkZyb250ZW5kOjpBZ2VudDo6VGlja2V0OjpWaWV3Q2xvc2U8L1N1Ykdyb3VwPgogICAgICAgIDxTZXR0aW5nPgogICAgICAgICAgICA8U3RyaW5nIFJlZ2V4PSIiPjMgbm9ybWFsPC9TdHJpbmc+CiAgICAgICAgPC9TZXR0aW5nPgogICAgPC9Db25maWdJdGVtPgogICAgPENvbmZpZ0l0ZW0gTmFtZT0iaVBob25lOjpGcm9udGVuZDo6QWdlbnRUaWNrZXRDbG9zZSMjI1RpdGxlIiBSZXF1aXJlZD0iMCIgVmFsaWQ9IjEiPgogICAgICAgIDxEZXNjcmlwdGlvbiBUcmFuc2xhdGFibGU9IjEiPlNob3dzIHRoZSB0aXRsZSBmaWVsZHMgaW4gdGhlIGNsb3NlIHRpY2tldCBzY3JlZW4gb2YgdGhlIGlQaG9uZSBpbnRlcmZhY2UuPC9EZXNjcmlwdGlvbj4KICAgICAgICA8R3JvdXA+aVBob25lPC9Hcm91cD4KICAgICAgICA8U3ViR3JvdXA+RnJvbnRlbmQ6OkFnZW50OjpUaWNrZXQ6OlZpZXdDbG9zZTwvU3ViR3JvdXA+CiAgICAgICAgPFNldHRpbmc+CiAgICAgICAgICAgIDxPcHRpb24gU2VsZWN0ZWRJRD0iMCI+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IjAiPk5vPC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSIxIj5ZZXM8L0l0ZW0+CiAgICAgICAgICAgIDwvT3B0aW9uPgogICAgICAgIDwvU2V0dGluZz4KICAgIDwvQ29uZmlnSXRlbT4KICAgIDxDb25maWdJdGVtIE5hbWU9ImlQaG9uZTo6RnJvbnRlbmQ6OkFnZW50VGlja2V0Q2xvc2UjIyNUaW1lVW5pdHMiIFJlcXVpcmVkPSIwIiBWYWxpZD0iMSI+CiAgICAgICAgPERlc2NyaXB0aW9uIFRyYW5zbGF0YWJsZT0iMSI+U2V0cyB0aGUgdGltZSB1bml0cyBpbiB0aGUgY2xvc2UgdGlja2V0IHNjcmVlbiBvZiB0aGUgaVBob25lIGludGVyZmFjZS48L0Rlc2NyaXB0aW9uPgogICAgICAgIDxHcm91cD5pUGhvbmU8L0dyb3VwPgogICAgICAgIDxTdWJHcm91cD5Gcm9udGVuZDo6QWdlbnQ6OlRpY2tldDo6Vmlld0Nsb3NlPC9TdWJHcm91cD4KICAgICAgICA8U2V0dGluZz4KICAgICAgICAgICAgPE9wdGlvbiBTZWxlY3RlZElEPSIxIj4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iMCI+Tm88L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IjEiPlllczwvSXRlbT4KICAgICAgICAgICAgPC9PcHRpb24+CiAgICAgICAgPC9TZXR0aW5nPgogICAgPC9Db25maWdJdGVtPgogICAgPENvbmZpZ0l0ZW0gTmFtZT0iaVBob25lOjpGcm9udGVuZDo6QWdlbnRUaWNrZXRDbG9zZSMjI0hpc3RvcnlUeXBlIiBSZXF1aXJlZD0iMCIgVmFsaWQ9IjEiPgogICAgICAgIDxEZXNjcmlwdGlvbiBUcmFuc2xhdGFibGU9IjEiPkRlZmluZXMgdGhlIGhpc3RvcnkgdHlwZSBmb3IgdGhlIGNsb3NlIHRpY2tldCBzY3JlZW4gYWN0aW9uLCB3aGljaCBnZXRzIHVzZWQgZm9yIHRpY2tldCBoaXN0b3J5IGluIHRoZSBpUGhvbmUgaW50ZXJmYWNlLjwvRGVzY3JpcHRpb24+CiAgICAgICAgPEdyb3VwPmlQaG9uZTwvR3JvdXA+CiAgICAgICAgPFN1Ykdyb3VwPkZyb250ZW5kOjpBZ2VudDo6VGlja2V0OjpWaWV3Q2xvc2U8L1N1Ykdyb3VwPgogICAgICAgIDxTZXR0aW5nPgogICAgICAgICAgICA8U3RyaW5nIFJlZ2V4PSIiPkFkZE5vdGU8L1N0cmluZz4KICAgICAgICA8L1NldHRpbmc+CiAgICA8L0NvbmZpZ0l0ZW0+CiAgICA8Q29uZmlnSXRlbSBOYW1lPSJpUGhvbmU6OkZyb250ZW5kOjpBZ2VudFRpY2tldENsb3NlIyMjSGlzdG9yeUNvbW1lbnQiIFJlcXVpcmVkPSIwIiBWYWxpZD0iMSI+CiAgICAgICAgPERlc2NyaXB0aW9uIFRyYW5zbGF0YWJsZT0iMSI+RGVmaW5lcyB0aGUgaGlzdG9yeSBjb21tZW50IGZvciB0aGUgY2xvc2UgdGlja2V0IHNjcmVlbiBhY3Rpb24sIHdoaWNoIGdldHMgdXNlZCBmb3IgdGlja2V0IGhpc3RvcnkgaW4gdGhlIGlQaG9uZSBpbnRlcmZhY2UuPC9EZXNjcmlwdGlvbj4KICAgICAgICA8R3JvdXA+aVBob25lPC9Hcm91cD4KICAgICAgICA8U3ViR3JvdXA+RnJvbnRlbmQ6OkFnZW50OjpUaWNrZXQ6OlZpZXdDbG9zZTwvU3ViR3JvdXA+CiAgICAgICAgPFNldHRpbmc+CiAgICAgICAgICAgIDxTdHJpbmcgUmVnZXg9IiI+JSVDbG9zZTwvU3RyaW5nPgogICAgICAgIDwvU2V0dGluZz4KICAgIDwvQ29uZmlnSXRlbT4KICAgIDxDb25maWdJdGVtIE5hbWU9ImlQaG9uZTo6RnJvbnRlbmQ6OkFnZW50VGlja2V0Q2xvc2UjIyNEeW5hbWljRmllbGQiIFJlcXVpcmVkPSIwIiBWYWxpZD0iMSI+CiAgICAgICAgPERlc2NyaXB0aW9uIFRyYW5zbGF0YWJsZT0iMSI+RHluYW1pYyBmaWVsZHMgc2hvd24gaW4gdGhlIHRpY2tldCBjbG9zZSBzY3JlZW4gb2YgdGhlIGlQaG9uZSBpbnRlcmZhY2UuIFBvc3NpYmxlIHNldHRpbmdzOiAwID0gRGlzYWJsZWQsIDEgPSBFbmFibGVkLCAyID0gRW5hYmxlZCBhbmQgcmVxdWlyZWQuPC9EZXNjcmlwdGlvbj4KICAgICAgICA8R3JvdXA+aVBob25lPC9Hcm91cD4KICAgICAgICA8U3ViR3JvdXA+RnJvbnRlbmQ6OkFnZW50OjpUaWNrZXQ6OlZpZXdDbG9zZTwvU3ViR3JvdXA+CiAgICAgICAgPFNldHRpbmc+CiAgICAgICAgICAgIDxIYXNoPgogICAgICAgICAgICA8L0hhc2g+CiAgICAgICAgPC9TZXR0aW5nPgogICAgPC9Db25maWdJdGVtPgoKICAgIDxDb25maWdJdGVtIE5hbWU9ImlQaG9uZTo6RnJvbnRlbmQ6OkFnZW50VGlja2V0Q29tcG9zZSMjI1Blcm1pc3Npb24iIFJlcXVpcmVkPSIxIiBWYWxpZD0iMSI+CiAgICAgICAgPERlc2NyaXB0aW9uIFRyYW5zbGF0YWJsZT0iMSI+UmVxdWlyZWQgcGVybWlzc2lvbnMgdG8gdXNlIHRoZSB0aWNrZXQgY29tcG9zZSBzY3JlZW4gaW4gdGhlIGlQaG9uZSBpbnRlcmZhY2UuPC9EZXNjcmlwdGlvbj4KICAgICAgICA8R3JvdXA+aVBob25lPC9Hcm91cD4KICAgICAgICA8U3ViR3JvdXA+RnJvbnRlbmQ6OkFnZW50OjpUaWNrZXQ6OlZpZXdDb21wb3NlPC9TdWJHcm91cD4KICAgICAgICA8U2V0dGluZz4KICAgICAgICAgICAgPFN0cmluZyBSZWdleD0iIj5jb21wb3NlPC9TdHJpbmc+CiAgICAgICAgPC9TZXR0aW5nPgogICAgPC9Db25maWdJdGVtPgogICAgPENvbmZpZ0l0ZW0gTmFtZT0iaVBob25lOjpGcm9udGVuZDo6QWdlbnRUaWNrZXRDb21wb3NlIyMjUmVxdWlyZWRMb2NrIiBSZXF1aXJlZD0iMCIgVmFsaWQ9IjEiPgogICAgICAgIDxEZXNjcmlwdGlvbiBUcmFuc2xhdGFibGU9IjEiPkRlZmluZXMgaWYgYSB0aWNrZXQgbG9jayBpcyByZXF1aXJlZCBpbiB0aGUgdGlja2V0IGNvbXBvc2Ugc2NyZWVuIG9mIHRoZSBpUGhvbmUgaW50ZXJmYWNlIChpZiB0aGUgdGlja2V0IGlzbid0IGxvY2tlZCB5ZXQsIHRoZSB0aWNrZXQgZ2V0cyBsb2NrZWQgYW5kIHRoZSBjdXJyZW50IGFnZW50IHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgYXMgaXRzIG93bmVyKS48L0Rlc2NyaXB0aW9uPgogICAgICAgIDxHcm91cD5pUGhvbmU8L0dyb3VwPgogICAgICAgIDxTdWJHcm91cD5Gcm9udGVuZDo6QWdlbnQ6OlRpY2tldDo6Vmlld0NvbXBvc2U8L1N1Ykdyb3VwPgogICAgICAgIDxTZXR0aW5nPgogICAgICAgICAgICA8T3B0aW9uIFNlbGVjdGVkSUQ9IjEiPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSIwIj5ObzwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iMSI+WWVzPC9JdGVtPgogICAgICAgICAgICA8L09wdGlvbj4KICAgICAgICA8L1NldHRpbmc+CiAgICA8L0NvbmZpZ0l0ZW0+CiAgICA8Q29uZmlnSXRlbSBOYW1lPSJpUGhvbmU6OkZyb250ZW5kOjpBZ2VudFRpY2tldENvbXBvc2UjIyNTdGF0ZSIgUmVxdWlyZWQ9IjEiIFZhbGlkPSIxIj4KICAgICAgICA8RGVzY3JpcHRpb24gVHJhbnNsYXRhYmxlPSIxIj5JZiBhIG5vdGUgaXMgYWRkZWQgYnkgYW4gYWdlbnQsIHNldHMgdGhlIHN0YXRlIG9mIGEgdGlja2V0IGlmIGl0IGlzIGNvbXBvc2VkIC8gYW5zd2VyZWQgaW4gdGhlIHRpY2tldCBjb21wb3NlIHNjcmVlbiBvZiB0aGUgaVBob25lIGludGVyZmFjZS48L0Rlc2NyaXB0aW9uPgogICAgICAgIDxHcm91cD5pUGhvbmU8L0dyb3VwPgogICAgICAgIDxTdWJHcm91cD5Gcm9udGVuZDo6QWdlbnQ6OlRpY2tldDo6Vmlld0NvbXBvc2U8L1N1Ykdyb3VwPgogICAgICAgIDxTZXR0aW5nPgogICAgICAgICAgICA8T3B0aW9uIFNlbGVjdGVkSUQ9IjEiPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSIwIj5ObzwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iMSI+WWVzPC9JdGVtPgogICAgICAgICAgICA8L09wdGlvbj4KICAgICAgICA8L1NldHRpbmc+CiAgICA8L0NvbmZpZ0l0ZW0+CiAgICA8Q29uZmlnSXRlbSBOYW1lPSJpUGhvbmU6OkZyb250ZW5kOjpBZ2VudFRpY2tldENvbXBvc2UjIyNTdGF0ZURlZmF1bHQiIFJlcXVpcmVkPSIwIiBWYWxpZD0iMSI+CiAgICAgICAgPERlc2NyaXB0aW9uIFRyYW5zbGF0YWJsZT0iMSI+RGVmaW5lcyB0aGUgZGVmYXVsdCBuZXh0IHN0YXRlIG9mIGEgdGlja2V0IGlmIGl0IGlzIGNvbXBvc2VkIC8gYW5zd2VyZWQgaW4gdGhlIHRpY2tldCBjb21wb3NlIHNjcmVlbiBvZiB0aGUgaVBob25lIGludGVyZmFjZS48L0Rlc2NyaXB0aW9uPgogICAgICAgIDxHcm91cD5pUGhvbmU8L0dyb3VwPgogICAgICAgIDxTdWJHcm91cD5Gcm9udGVuZDo6QWdlbnQ6OlRpY2tldDo6Vmlld0NvbXBvc2U8L1N1Ykdyb3VwPgogICAgICAgIDxTZXR0aW5nPgogICAgICAgICAgICA8U3RyaW5nIFJlZ2V4PSIiPm9wZW48L1N0cmluZz4KICAgICAgICA8L1NldHRpbmc+CiAgICA8L0NvbmZpZ0l0ZW0+CiAgICA8Q29uZmlnSXRlbSBOYW1lPSJpUGhvbmU6OkZyb250ZW5kOjpBZ2VudFRpY2tldENvbXBvc2UjIyNTdGF0ZVR5cGUiIFJlcXVpcmVkPSIxIiBWYWxpZD0iMSI+CiAgICAgICAgPERlc2NyaXB0aW9uIFRyYW5zbGF0YWJsZT0iMSI+RGVmaW5lcyB0aGUgbmV4dCBwb3NzaWJsZSBzdGF0ZXMgYWZ0ZXIgY29tcG9zaW5nIC8gYW5zd2VyaW5nIGEgdGlja2V0IGluIHRoZSB0aWNrZXQgY29tcG9zZSBzY3JlZW4gb2YgdGhlIGlQaG9uZSBpbnRlcmZhY2UuPC9EZXNjcmlwdGlvbj4KICAgICAgICA8R3JvdXA+aVBob25lPC9Hcm91cD4KICAgICAgICA8U3ViR3JvdXA+RnJvbnRlbmQ6OkFnZW50OjpUaWNrZXQ6OlZpZXdDb21wb3NlPC9TdWJHcm91cD4KICAgICAgICA8U2V0dGluZz4KICAgICAgICAgICAgPEFycmF5PgogICAgICAgICAgICAgICAgPEl0ZW0+b3BlbjwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtPmNsb3NlZDwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtPnBlbmRpbmcgYXV0bzwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtPnBlbmRpbmcgcmVtaW5kZXI8L0l0ZW0+CiAgICAgICAgICAgIDwvQXJyYXk+CiAgICAgICAgPC9TZXR0aW5nPgogICAgPC9Db25maWdJdGVtPgogICAgPENvbmZpZ0l0ZW0gTmFtZT0iaVBob25lOjpGcm9udGVuZDo6Q29tcG9zZUFkZEN1c3RvbWVyQWRkcmVzcyIgUmVxdWlyZWQ9IjEiIFZhbGlkPSIxIj4KICAgICAgICA8RGVzY3JpcHRpb24gVHJhbnNsYXRhYmxlPSIxIj5BZGRzIGN1c3RvbWVycyBlbWFpbCBhZGRyZXNzZXMgdG8gcmVjaXBpZW50cyBpbiB0aGUgdGlja2V0IGNvbXBvc2Ugc2NyZWVuIG9mIHRoZSBpUGhvbmUgaW50ZXJmYWNlLjwvRGVzY3JpcHRpb24+CiAgICAgICAgPEdyb3VwPmlQaG9uZTwvR3JvdXA+CiAgICAgICAgPFN1Ykdyb3VwPkZyb250ZW5kOjpBZ2VudDo6VGlja2V0OjpWaWV3Q29tcG9zZTwvU3ViR3JvdXA+CiAgICAgICAgPFNldHRpbmc+CiAgICAgICAgICAgIDxPcHRpb24gU2VsZWN0ZWRJRD0iMSI+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IjAiPk5vPC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSIxIj5ZZXM8L0l0ZW0+CiAgICAgICAgICAgIDwvT3B0aW9uPgogICAgICAgIDwvU2V0dGluZz4KICAgIDwvQ29uZmlnSXRlbT4KICAgIDxDb25maWdJdGVtIE5hbWU9ImlQaG9uZTo6RnJvbnRlbmQ6OkNvbXBvc2VSZXBsYWNlU2VuZGVyQWRkcmVzcyIgUmVxdWlyZWQ9IjEiIFZhbGlkPSIxIj4KICAgICAgICA8RGVzY3JpcHRpb24gVHJhbnNsYXRhYmxlPSIxIj5SZXBsYWNlcyB0aGUgb3JpZ2luYWwgc2VuZGVyIHdpdGggY3VycmVudCBjdXN0b21lcidzIGVtYWlsIGFkZHJlc3Mgb24gY29tcG9zZSBhbnN3ZXIgaW4gdGhlIHRpY2tldCBjb21wb3NlIHNjcmVlbiBvZiB0aGUgaVBob25lIGludGVyZmFjZS48L0Rlc2NyaXB0aW9uPgogICAgICAgIDxHcm91cD5pUGhvbmU8L0dyb3VwPgogICAgICAgIDxTdWJHcm91cD5Gcm9udGVuZDo6QWdlbnQ6OlRpY2tldDo6Vmlld0NvbXBvc2U8L1N1Ykdyb3VwPgogICAgICAgIDxTZXR0aW5nPgogICAgICAgICAgICA8T3B0aW9uIFNlbGVjdGVkSUQ9IjAiPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSIwIj5ObzwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iMSI+WWVzPC9JdGVtPgogICAgICAgICAgICA8L09wdGlvbj4KICAgICAgICA8L1NldHRpbmc+CiAgICA8L0NvbmZpZ0l0ZW0+CiAgICA8Q29uZmlnSXRlbSBOYW1lPSJpUGhvbmU6OkZyb250ZW5kOjpDb21wb3NlRXhjbHVkZUNjUmVjaXBpZW50cyIgUmVxdWlyZWQ9IjEiIFZhbGlkPSIxIj4KICAgICAgICA8RGVzY3JpcHRpb24gVHJhbnNsYXRhYmxlPSIxIj5Vc2VzIENjIHJlY2lwaWVudHMgaW4gcmVwbHkgQ2MgbGlzdCBvbiBjb21wb3NlIGFuIGVtYWlsIGFuc3dlciBpbiB0aGUgdGlja2V0IGNvbXBvc2Ugc2NyZWVuIG9mIHRoZSBpUGhvbmUgaW50ZXJmYWNlLjwvRGVzY3JpcHRpb24+CiAgICAgICAgPEdyb3VwPmlQaG9uZTwvR3JvdXA+CiAgICAgICAgPFN1Ykdyb3VwPkZyb250ZW5kOjpBZ2VudDo6VGlja2V0OjpWaWV3Q29tcG9zZTwvU3ViR3JvdXA+CiAgICAgICAgPFNldHRpbmc+CiAgICAgICAgICAgIDxPcHRpb24gU2VsZWN0ZWRJRD0iMCI+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IjAiPk5vPC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSIxIj5ZZXM8L0l0ZW0+CiAgICAgICAgICAgIDwvT3B0aW9uPgogICAgICAgIDwvU2V0dGluZz4KICAgIDwvQ29uZmlnSXRlbT4KICAgIDxDb25maWdJdGVtIE5hbWU9ImlQaG9uZTo6RnJvbnRlbmQ6OkFnZW50VGlja2V0Q29tcG9zZSMjI1RpbWVVbml0cyIgUmVxdWlyZWQ9IjAiIFZhbGlkPSIxIj4KICAgICAgICA8RGVzY3JpcHRpb24gVHJhbnNsYXRhYmxlPSIxIj5TZXRzIHRoZSB0aW1lIHVuaXRzIGluIHRoZSB0aWNrZXQgY29tcG9zZSBzY3JlZW4gb2YgdGhlIGlQaG9uZSBpbnRlcmZhY2UuPC9EZXNjcmlwdGlvbj4KICAgICAgICA8R3JvdXA+aVBob25lPC9Hcm91cD4KICAgICAgICA8U3ViR3JvdXA+RnJvbnRlbmQ6OkFnZW50OjpUaWNrZXQ6OlZpZXdDb21wb3NlPC9TdWJHcm91cD4KICAgICAgICA8U2V0dGluZz4KICAgICAgICAgICAgPE9wdGlvbiBTZWxlY3RlZElEPSIxIj4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iMCI+Tm88L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IjEiPlllczwvSXRlbT4KICAgICAgICAgICAgPC9PcHRpb24+CiAgICAgICAgPC9TZXR0aW5nPgogICAgPC9Db25maWdJdGVtPgogICAgPENvbmZpZ0l0ZW0gTmFtZT0iaVBob25lOjpGcm9udGVuZDo6QWdlbnRUaWNrZXRDb21wb3NlIyMjRHluYW1pY0ZpZWxkIiBSZXF1aXJlZD0iMCIgVmFsaWQ9IjEiPgogICAgICAgIDxEZXNjcmlwdGlvbiBUcmFuc2xhdGFibGU9IjEiPkR5bmFtaWMgZmllbGRzIHNob3duIGluIHRoZSB0aWNrZXQgY29tcG9zZSBzY3JlZW4gb2YgdGhlIGlQaG9uZSBpbnRlcmZhY2UuIFBvc3NpYmxlIHNldHRpbmdzOiAwID0gRGlzYWJsZWQsIDEgPSBFbmFibGVkLCAyID0gRW5hYmxlZCBhbmQgcmVxdWlyZWQuPC9EZXNjcmlwdGlvbj4KICAgICAgICA8R3JvdXA+aVBob25lPC9Hcm91cD4KICAgICAgICA8U3ViR3JvdXA+RnJvbnRlbmQ6OkFnZW50OjpUaWNrZXQ6OlZpZXdDb21wb3NlPC9TdWJHcm91cD4KICAgICAgICA8U2V0dGluZz4KICAgICAgICAgICAgPEhhc2g+CiAgICAgICAgICAgIDwvSGFzaD4KICAgICAgICA8L1NldHRpbmc+CiAgICA8L0NvbmZpZ0l0ZW0+CgogICAgPENvbmZpZ0l0ZW0gTmFtZT0iaVBob25lOjpGcm9udGVuZDo6QWdlbnRUaWNrZXRNb3ZlIyMjUGVybWlzc2lvbiIgUmVxdWlyZWQ9IjEiIFZhbGlkPSIxIj4KICAgICAgICA8RGVzY3JpcHRpb24gVHJhbnNsYXRhYmxlPSIxIj5SZXF1aXJlZCBwZXJtaXNzaW9ucyB0byB1c2UgdGhlIG1vdmUgdGlja2V0IHNjcmVlbiBpbiB0aGUgaVBob25lIGludGVyZmFjZS48L0Rlc2NyaXB0aW9uPgogICAgICAgIDxHcm91cD5pUGhvbmU8L0dyb3VwPgogICAgICAgIDxTdWJHcm91cD5Gcm9udGVuZDo6QWdlbnQ6OlRpY2tldDo6Vmlld01vdmU8L1N1Ykdyb3VwPgogICAgICAgIDxTZXR0aW5nPgogICAgICAgICAgICA8U3RyaW5nIFJlZ2V4PSIiPmNvbXBvc2U8L1N0cmluZz4KICAgICAgICA8L1NldHRpbmc+CiAgICA8L0NvbmZpZ0l0ZW0+CiAgICA8Q29uZmlnSXRlbSBOYW1lPSJpUGhvbmU6OkZyb250ZW5kOjpBZ2VudFRpY2tldE1vdmUjIyNSZXF1aXJlZExvY2siIFJlcXVpcmVkPSIwIiBWYWxpZD0iMSI+CiAgICAgICAgPERlc2NyaXB0aW9uIFRyYW5zbGF0YWJsZT0iMSI+RGVmaW5lcyBpZiBhIHRpY2tldCBsb2NrIGlzIHJlcXVpcmVkIGluIHRoZSBtb3ZlIHRpY2tldCBzY3JlZW4gb2YgdGhlIGlQaG9uZSBpbnRlcmZhY2UgKGlmIHRoZSB0aWNrZXQgaXNuJ3QgbG9ja2VkIHlldCwgdGhlIHRpY2tldCBnZXRzIGxvY2tlZCBhbmQgdGhlIGN1cnJlbnQgYWdlbnQgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSBhcyBpdHMgb3duZXIpLjwvRGVzY3JpcHRpb24+CiAgICAgICAgPEdyb3VwPmlQaG9uZTwvR3JvdXA+CiAgICAgICAgPFN1Ykdyb3VwPkZyb250ZW5kOjpBZ2VudDo6VGlja2V0OjpWaWV3TW92ZTwvU3ViR3JvdXA+CiAgICAgICAgPFNldHRpbmc+CiAgICAgICAgICAgIDxPcHRpb24gU2VsZWN0ZWRJRD0iMSI+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IjAiPk5vPC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSIxIj5ZZXM8L0l0ZW0+CiAgICAgICAgICAgIDwvT3B0aW9uPgogICAgICAgIDwvU2V0dGluZz4KICAgIDwvQ29uZmlnSXRlbT4KICAgIDxDb25maWdJdGVtIE5hbWU9ImlQaG9uZTo6RnJvbnRlbmQ6OkFnZW50VGlja2V0TW92ZSMjI093bmVyIiBSZXF1aXJlZD0iMCIgVmFsaWQ9IjEiPgogICAgICAgIDxEZXNjcmlwdGlvbiBUcmFuc2xhdGFibGU9IjEiPlNldHMgdGhlIHRpY2tldCBvd25lciBpbiB0aGUgbW92ZSB0aWNrZXQgc2NyZWVuIG9mIHRoZSBpUGhvbmUgaW50ZXJmYWNlLjwvRGVzY3JpcHRpb24+CiAgICAgICAgPEdyb3VwPmlQaG9uZTwvR3JvdXA+CiAgICAgICAgPFN1Ykdyb3VwPkZyb250ZW5kOjpBZ2VudDo6VGlja2V0OjpWaWV3TW92ZTwvU3ViR3JvdXA+CiAgICAgICAgPFNldHRpbmc+CiAgICAgICAgICAgIDxPcHRpb24gU2VsZWN0ZWRJRD0iMSI+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IjAiPk5vPC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSIxIj5ZZXM8L0l0ZW0+CiAgICAgICAgICAgIDwvT3B0aW9uPgogICAgICAgIDwvU2V0dGluZz4KICAgIDwvQ29uZmlnSXRlbT4KICAgIDxDb25maWdJdGVtIE5hbWU9ImlQaG9uZTo6RnJvbnRlbmQ6OkFnZW50VGlja2V0TW92ZSMjI1N0YXRlIiBSZXF1aXJlZD0iMCIgVmFsaWQ9IjEiPgogICAgICAgIDxEZXNjcmlwdGlvbiBUcmFuc2xhdGFibGU9IjEiPkFsbG93cyB0byBzZXQgYSBuZXcgdGlja2V0IHN0YXRlIGluIHRoZSBtb3ZlIHRpY2tldCBzY3JlZW4gb2YgdGhlIGlQaG9uZSBpbnRlcmZhY2UuPC9EZXNjcmlwdGlvbj4KICAgICAgICA8R3JvdXA+aVBob25lPC9Hcm91cD4KICAgICAgICA8U3ViR3JvdXA+RnJvbnRlbmQ6OkFnZW50OjpUaWNrZXQ6OlZpZXdNb3ZlPC9TdWJHcm91cD4KICAgICAgICA8U2V0dGluZz4KICAgICAgICAgICAgPE9wdGlvbiBTZWxlY3RlZElEPSIxIj4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iMCI+Tm88L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IjEiPlllczwvSXRlbT4KICAgICAgICAgICAgPC9PcHRpb24+CiAgICAgICAgPC9TZXR0aW5nPgogICAgPC9Db25maWdJdGVtPgogICAgPENvbmZpZ0l0ZW0gTmFtZT0iaVBob25lOjpGcm9udGVuZDo6QWdlbnRUaWNrZXRNb3ZlIyMjU3RhdGVUeXBlIiBSZXF1aXJlZD0iMSIgVmFsaWQ9IjEiPgogICAgICAgIDxEZXNjcmlwdGlvbiBUcmFuc2xhdGFibGU9IjEiPkRlZmluZXMgdGhlIG5leHQgc3RhdGUgb2YgYSB0aWNrZXQgYWZ0ZXIgYmVpbmcgbW92ZWQgdG8gYW5vdGhlciBxdWV1ZSwgaW4gdGhlIG1vdmUgdGlja2V0IHNjcmVlbiBvZiB0aGUgaVBob25lIGludGVyZmFjZS48L0Rlc2NyaXB0aW9uPgogICAgICAgIDxHcm91cD5pUGhvbmU8L0dyb3VwPgogICAgICAgIDxTdWJHcm91cD5Gcm9udGVuZDo6QWdlbnQ6OlRpY2tldDo6Vmlld01vdmU8L1N1Ykdyb3VwPgogICAgICAgIDxTZXR0aW5nPgogICAgICAgICAgICA8QXJyYXk+CiAgICAgICAgICAgICAgICA8SXRlbT5vcGVuPC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0+Y2xvc2VkPC9JdGVtPgogICAgICAgICAgICA8L0FycmF5PgogICAgICAgIDwvU2V0dGluZz4KICAgIDwvQ29uZmlnSXRlbT4KICAgIDxDb25maWdJdGVtIE5hbWU9ImlQaG9uZTo6RnJvbnRlbmQ6OkFnZW50VGlja2V0TW92ZSMjI1N0YXRlRGVmYXVsdCIgUmVxdWlyZWQ9IjAiIFZhbGlkPSIxIj4KICAgICAgICA8RGVzY3JpcHRpb24gVHJhbnNsYXRhYmxlPSIxIj5EZWZpbmVzIHRoZSBkZWZhdWx0IG5leHQgc3RhdGUgb2YgYSB0aWNrZXQgYWZ0ZXIgYWRkaW5nIGEgbm90ZSwgaW4gdGhlIG1vdmUgdGlja2V0IHNjcmVlbiBvZiB0aGUgaVBob25lIGludGVyZmFjZS48L0Rlc2NyaXB0aW9uPgogICAgICAgIDxHcm91cD5pUGhvbmU8L0dyb3VwPgogICAgICAgIDxTdWJHcm91cD5Gcm9udGVuZDo6QWdlbnQ6OlRpY2tldDo6Vmlld01vdmU8L1N1Ykdyb3VwPgogICAgICAgIDxTZXR0aW5nPgogICAgICAgICAgICA8U3RyaW5nIFJlZ2V4PSIiPm9wZW48L1N0cmluZz4KICAgICAgICA8L1NldHRpbmc+CiAgICA8L0NvbmZpZ0l0ZW0+CiAgICA8Q29uZmlnSXRlbSBOYW1lPSJpUGhvbmU6OkZyb250ZW5kOjpBZ2VudFRpY2tldE1vdmUjIyNQcmlvcml0eSIgUmVxdWlyZWQ9IjAiIFZhbGlkPSIwIj4KICAgICAgICA8RGVzY3JpcHRpb24gVHJhbnNsYXRhYmxlPSIxIj5TaG93cyB0aGUgdGlja2V0IHByaW9yaXR5IG9wdGlvbnMgaW4gdGhlIG1vdmUgdGlja2V0IHNjcmVlbiBvZiB0aGUgaVBob25lIGludGVyZmFjZS48L0Rlc2NyaXB0aW9uPgogICAgICAgIDxHcm91cD5pUGhvbmU8L0dyb3VwPgogICAgICAgIDxTdWJHcm91cD5Gcm9udGVuZDo6QWdlbnQ6OlRpY2tldDo6Vmlld01vdmU8L1N1Ykdyb3VwPgogICAgICAgIDxTZXR0aW5nPgogICAgICAgICAgICA8T3B0aW9uIFNlbGVjdGVkSUQ9IjAiPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSIwIj5ObzwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iMSI+WWVzPC9JdGVtPgogICAgICAgICAgICA8L09wdGlvbj4KICAgICAgICA8L1NldHRpbmc+CiAgICA8L0NvbmZpZ0l0ZW0+CiAgICA8Q29uZmlnSXRlbSBOYW1lPSJpUGhvbmU6OkZyb250ZW5kOjpBZ2VudFRpY2tldE1vdmUjIyNQcmlvcml0eURlZmF1bHQiIFJlcXVpcmVkPSIwIiBWYWxpZD0iMCI+CiAgICAgICAgPERlc2NyaXB0aW9uIFRyYW5zbGF0YWJsZT0iMSI+RGVmaW5lcyB0aGUgZGVmYXVsdCB0aWNrZXQgcHJpb3JpdHkgaW4gdGhlIG1vdmUgdGlja2V0IHNjcmVlbiBvZiB0aGUgaVBob25lIGludGVyZmFjZS48L0Rlc2NyaXB0aW9uPgogICAgICAgIDxHcm91cD5pUGhvbmU8L0dyb3VwPgogICAgICAgIDxTdWJHcm91cD5Gcm9udGVuZDo6QWdlbnQ6OlRpY2tldDo6Vmlld01vdmU8L1N1Ykdyb3VwPgogICAgICAgIDxTZXR0aW5nPgogICAgICAgICAgICA8U3RyaW5nIFJlZ2V4PSIiPjMgbm9ybWFsPC9TdHJpbmc+CiAgICAgICAgPC9TZXR0aW5nPgogICAgPC9Db25maWdJdGVtPgogICAgPENvbmZpZ0l0ZW0gTmFtZT0iaVBob25lOjpGcm9udGVuZDo6QWdlbnRUaWNrZXRNb3ZlIyMjVGltZVVuaXRzIiBSZXF1aXJlZD0iMCIgVmFsaWQ9IjEiPgogICAgICAgIDxEZXNjcmlwdGlvbiBUcmFuc2xhdGFibGU9IjEiPlNldHMgdGhlIHRpbWUgdW5pdHMgaW4gdGhlIG1vdmUgdGlja2V0IHNjcmVlbiBvZiB0aGUgaVBob25lIGludGVyZmFjZS48L0Rlc2NyaXB0aW9uPgogICAgICAgIDxHcm91cD5pUGhvbmU8L0dyb3VwPgogICAgICAgIDxTdWJHcm91cD5Gcm9udGVuZDo6QWdlbnQ6OlRpY2tldDo6Vmlld01vdmU8L1N1Ykdyb3VwPgogICAgICAgIDxTZXR0aW5nPgogICAgICAgICAgICA8T3B0aW9uIFNlbGVjdGVkSUQ9IjEiPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSIwIj5ObzwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iMSI+WWVzPC9JdGVtPgogICAgICAgICAgICA8L09wdGlvbj4KICAgICAgICA8L1NldHRpbmc+CiAgICA8L0NvbmZpZ0l0ZW0+CiAgICA8Q29uZmlnSXRlbSBOYW1lPSJpUGhvbmU6OkZyb250ZW5kOjpBZ2VudFRpY2tldE1vdmUjIyNEeW5hbWljRmllbGQiIFJlcXVpcmVkPSIwIiBWYWxpZD0iMSI+CiAgICAgICAgPERlc2NyaXB0aW9uIFRyYW5zbGF0YWJsZT0iMSI+RHluYW1pYyBmaWVsZHMgc2hvd24gaW4gdGhlIHRpY2tldCBtb3ZlIHNjcmVlbiBvZiB0aGUgaVBob25lIGludGVyZmFjZS4gUG9zc2libGUgc2V0dGluZ3M6IDAgPSBEaXNhYmxlZCwgMSA9IEVuYWJsZWQsIDIgPSBFbmFibGVkIGFuZCByZXF1aXJlZC48L0Rlc2NyaXB0aW9uPgogICAgICAgIDxHcm91cD5pUGhvbmU8L0dyb3VwPgogICAgICAgIDxTdWJHcm91cD5Gcm9udGVuZDo6QWdlbnQ6OlRpY2tldDo6Vmlld01vdmU8L1N1Ykdyb3VwPgogICAgICAgIDxTZXR0aW5nPgogICAgICAgICAgICA8SGFzaD4KICAgICAgICAgICAgPC9IYXNoPgogICAgICAgIDwvU2V0dGluZz4KICAgIDwvQ29uZmlnSXRlbT4KCiAgICA8Q29uZmlnSXRlbSBOYW1lPSJpUGhvbmU6OkFQSTo6T2JqZWN0IyMjVGlja2V0T2JqZWN0IiBSZXF1aXJlZD0iMSIgVmFsaWQ9IjEiPgogICAgICAgIDxEZXNjcmlwdGlvbiBUcmFuc2xhdGFibGU9IjEiPkNvbmZpZ3VyZSBhY2Nlc3MgcmVzdHJpY3Rpb25zIHRvIG9iamVjdHMgb2YgaVBob25lIGhhbmRsZS48L0Rlc2NyaXB0aW9uPgogICAgICAgIDxHcm91cD5pUGhvbmU8L0dyb3VwPgogICAgICAgIDxTdWJHcm91cD5BUEk8L1N1Ykdyb3VwPgogICAgICAgIDxTZXR0aW5nPgogICAgICAgICAgICA8U3RyaW5nIFJlZ2V4PSIiPihNb3ZlTGlzdHxNb3ZlVGlja2V0KTwvU3RyaW5nPgogICAgICAgIDwvU2V0dGluZz4KICAgIDwvQ29uZmlnSXRlbT4KICAgIDxDb25maWdJdGVtIE5hbWU9ImlQaG9uZTo6QVBJOjpPYmplY3QjIyNDdXN0b21PYmplY3QiIFJlcXVpcmVkPSIxIiBWYWxpZD0iMSI+CiAgICAgICAgPERlc2NyaXB0aW9uIFRyYW5zbGF0YWJsZT0iMSI+Q29uZmlndXJlIGFjY2VzcyByZXN0cmljdGlvbnMgdG8gb2JqZWN0cyBvZiBpUGhvbmUgaGFuZGxlLjwvRGVzY3JpcHRpb24+CiAgICAgICAgPEdyb3VwPmlQaG9uZTwvR3JvdXA+CiAgICAgICAgPFN1Ykdyb3VwPkFQSTwvU3ViR3JvdXA+CiAgICAgICAgPFNldHRpbmc+CiAgICAgICAgICAgIDxTdHJpbmcgUmVnZXg9IiI+PC9TdHJpbmc+CiAgICAgICAgPC9TZXR0aW5nPgogICAgPC9Db25maWdJdGVtPgogICAgPENvbmZpZ0l0ZW0gTmFtZT0iaVBob25lOjpBUEk6Ok9iamVjdCMjI2lQaG9uZU9iamVjdCIgUmVxdWlyZWQ9IjEiIFZhbGlkPSIxIj4KICAgICAgICA8RGVzY3JpcHRpb24gVHJhbnNsYXRhYmxlPSIxIj5Db25maWd1cmUgYWNjZXNzIHJlc3RyaWN0aW9ucyB0byBvYmplY3RzIG9mIGlQaG9uZSBoYW5kbGUuPC9EZXNjcmlwdGlvbj4KICAgICAgICA8R3JvdXA+aVBob25lPC9Hcm91cD4KICAgICAgICA8U3ViR3JvdXA+QVBJPC9TdWJHcm91cD4KICAgICAgICA8U2V0dGluZz4KICAgICAgICAgICAgPFN0cmluZyBSZWdleD0iIj48L1N0cmluZz4KICAgICAgICA8L1NldHRpbmc+CiAgICA8L0NvbmZpZ0l0ZW0+CgogICAgPENvbmZpZ0l0ZW0gTmFtZT0iRHluYW1pY0ZpZWxkczo6aVBob25lOjpCYWNrZW5kIyMjVGV4dCIgUmVxdWlyZWQ9IjAiIFZhbGlkPSIxIj4KICAgICAgICA8RGVzY3JpcHRpb24gVHJhbnNsYXRhYmxlPSIxIj5EeW5hbWljRmllbGQgYmFja2VuZCByZWdpc3RyYXRpb24uPC9EZXNjcmlwdGlvbj4KICAgICAgICA8R3JvdXA+aVBob25lPC9Hcm91cD4KICAgICAgICA8U3ViR3JvdXA+RHluYW1pY0ZpZWxkczo6QmFja2VuZDo6UmVnaXN0cmF0aW9uPC9TdWJHcm91cD4KICAgICAgICA8U2V0dGluZz4KICAgICAgICAgICAgPEhhc2g+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IkRpc3BsYXlOYW1lIiBUcmFuc2xhdGFibGU9IjEiPlRleHQ8L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9Ik1vZHVsZSI+S2VybmVsOjpTeXN0ZW06OkR5bmFtaWNGaWVsZDo6aVBob25lOjpCYWNrZW5kOjpUZXh0PC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJDb25maWdEaWFsb2ciPkFkbWluRHluYW1pY0ZpZWxkVGV4dDwvSXRlbT4KICAgICAgICAgICAgPC9IYXNoPgogICAgICAgIDwvU2V0dGluZz4KICAgIDwvQ29uZmlnSXRlbT4KICAgIDxDb25maWdJdGVtIE5hbWU9IkR5bmFtaWNGaWVsZHM6OmlQaG9uZTo6QmFja2VuZCMjI1RleHRBcmVhIiBSZXF1aXJlZD0iMCIgVmFsaWQ9IjEiPgogICAgICAgIDxEZXNjcmlwdGlvbiBUcmFuc2xhdGFibGU9IjEiPkR5bmFtaWNGaWVsZCBiYWNrZW5kIHJlZ2lzdHJhdGlvbi48L0Rlc2NyaXB0aW9uPgogICAgICAgIDxHcm91cD5pUGhvbmU8L0dyb3VwPgogICAgICAgIDxTdWJHcm91cD5EeW5hbWljRmllbGRzOjpCYWNrZW5kOjpSZWdpc3RyYXRpb248L1N1Ykdyb3VwPgogICAgICAgIDxTZXR0aW5nPgogICAgICAgICAgICA8SGFzaD4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iRGlzcGxheU5hbWUiIFRyYW5zbGF0YWJsZT0iMSI+VGV4dGFyZWE8L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9Ik1vZHVsZSI+S2VybmVsOjpTeXN0ZW06OkR5bmFtaWNGaWVsZDo6aVBob25lOjpCYWNrZW5kOjpUZXh0QXJlYTwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iQ29uZmlnRGlhbG9nIj5BZG1pbkR5bmFtaWNGaWVsZFRleHQ8L0l0ZW0+CiAgICAgICAgICAgIDwvSGFzaD4KICAgICAgICA8L1NldHRpbmc+CiAgICA8L0NvbmZpZ0l0ZW0+CiAgICA8Q29uZmlnSXRlbSBOYW1lPSJEeW5hbWljRmllbGRzOjppUGhvbmU6OkJhY2tlbmQjIyNDaGVja2JveCIgUmVxdWlyZWQ9IjAiIFZhbGlkPSIxIj4KICAgICAgICA8RGVzY3JpcHRpb24gVHJhbnNsYXRhYmxlPSIxIj5EeW5hbWljRmllbGQgYmFja2VuZCByZWdpc3RyYXRpb24uPC9EZXNjcmlwdGlvbj4KICAgICAgICA8R3JvdXA+aVBob25lPC9Hcm91cD4KICAgICAgICA8U3ViR3JvdXA+RHluYW1pY0ZpZWxkczo6QmFja2VuZDo6UmVnaXN0cmF0aW9uPC9TdWJHcm91cD4KICAgICAgICA8U2V0dGluZz4KICAgICAgICAgICAgPEhhc2g+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IkRpc3BsYXlOYW1lIiBUcmFuc2xhdGFibGU9IjEiPkNoZWNrYm94PC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJNb2R1bGUiPktlcm5lbDo6U3lzdGVtOjpEeW5hbWljRmllbGQ6OmlQaG9uZTo6QmFja2VuZDo6Q2hlY2tib3g8L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IkNvbmZpZ0RpYWxvZyI+QWRtaW5EeW5hbWljRmllbGRDaGVja2JveDwvSXRlbT4KICAgICAgICAgICAgPC9IYXNoPgogICAgICAgIDwvU2V0dGluZz4KICAgIDwvQ29uZmlnSXRlbT4KICAgIDxDb25maWdJdGVtIE5hbWU9IkR5bmFtaWNGaWVsZHM6OmlQaG9uZTo6QmFja2VuZCMjI0Ryb3Bkb3duIiBSZXF1aXJlZD0iMCIgVmFsaWQ9IjEiPgogICAgICAgIDxEZXNjcmlwdGlvbiBUcmFuc2xhdGFibGU9IjEiPkR5bmFtaWNGaWVsZCBiYWNrZW5kIHJlZ2lzdHJhdGlvbi48L0Rlc2NyaXB0aW9uPgogICAgICAgIDxHcm91cD5pUGhvbmU8L0dyb3VwPgogICAgICAgIDxTdWJHcm91cD5EeW5hbWljRmllbGRzOjpCYWNrZW5kOjpSZWdpc3RyYXRpb248L1N1Ykdyb3VwPgogICAgICAgIDxTZXR0aW5nPgogICAgICAgICAgICA8SGFzaD4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iRGlzcGxheU5hbWUiIFRyYW5zbGF0YWJsZT0iMSI+RHJvcGRvd248L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9Ik1vZHVsZSI+S2VybmVsOjpTeXN0ZW06OkR5bmFtaWNGaWVsZDo6aVBob25lOjpCYWNrZW5kOjpEcm9wZG93bjwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iQ29uZmlnRGlhbG9nIj5BZG1pbkR5bmFtaWNGaWVsZERyb3Bkb3duPC9JdGVtPgogICAgICAgICAgICA8L0hhc2g+CiAgICAgICAgPC9TZXR0aW5nPgogICAgPC9Db25maWdJdGVtPgogICAgPENvbmZpZ0l0ZW0gTmFtZT0iRHluYW1pY0ZpZWxkczo6aVBob25lOjpCYWNrZW5kIyMjRGF0ZVRpbWUiIFJlcXVpcmVkPSIwIiBWYWxpZD0iMSI+CiAgICAgICAgPERlc2NyaXB0aW9uIFRyYW5zbGF0YWJsZT0iMSI+RHluYW1pY0ZpZWxkIGJhY2tlbmQgcmVnaXN0cmF0aW9uLjwvRGVzY3JpcHRpb24+CiAgICAgICAgPEdyb3VwPmlQaG9uZTwvR3JvdXA+CiAgICAgICAgPFN1Ykdyb3VwPkR5bmFtaWNGaWVsZHM6OkJhY2tlbmQ6OlJlZ2lzdHJhdGlvbjwvU3ViR3JvdXA+CiAgICAgICAgPFNldHRpbmc+CiAgICAgICAgICAgIDxIYXNoPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJEaXNwbGF5TmFtZSIgVHJhbnNsYXRhYmxlPSIxIj5EYXRlIC8gVGltZTwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iTW9kdWxlIj5LZXJuZWw6OlN5c3RlbTo6RHluYW1pY0ZpZWxkOjppUGhvbmU6OkJhY2tlbmQ6OkRhdGVUaW1lPC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJDb25maWdEaWFsb2ciPkFkbWluRHluYW1pY0ZpZWxkRGF0ZVRpbWU8L0l0ZW0+CiAgICAgICAgICAgIDwvSGFzaD4KICAgICAgICA8L1NldHRpbmc+CiAgICA8L0NvbmZpZ0l0ZW0+CiAgICA8Q29uZmlnSXRlbSBOYW1lPSJEeW5hbWljRmllbGRzOjppUGhvbmU6OkJhY2tlbmQjIyNEYXRlIiBSZXF1aXJlZD0iMCIgVmFsaWQ9IjEiPgogICAgICAgIDxEZXNjcmlwdGlvbiBUcmFuc2xhdGFibGU9IjEiPkR5bmFtaWNGaWVsZCBiYWNrZW5kIHJlZ2lzdHJhdGlvbi48L0Rlc2NyaXB0aW9uPgogICAgICAgIDxHcm91cD5pUGhvbmU8L0dyb3VwPgogICAgICAgIDxTdWJHcm91cD5EeW5hbWljRmllbGRzOjpCYWNrZW5kOjpSZWdpc3RyYXRpb248L1N1Ykdyb3VwPgogICAgICAgIDxTZXR0aW5nPgogICAgICAgICAgICA8SGFzaD4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iRGlzcGxheU5hbWUiIFRyYW5zbGF0YWJsZT0iMSI+RGF0ZTwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iTW9kdWxlIj5LZXJuZWw6OlN5c3RlbTo6RHluYW1pY0ZpZWxkOjppUGhvbmU6OkJhY2tlbmQ6OkRhdGU8L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IkNvbmZpZ0RpYWxvZyI+QWRtaW5EeW5hbWljRmllbGREYXRlVGltZTwvSXRlbT4KICAgICAgICAgICAgPC9IYXNoPgogICAgICAgIDwvU2V0dGluZz4KICAgIDwvQ29uZmlnSXRlbT4KCiAgICA8Q29uZmlnSXRlbSBOYW1lPSJEeW5hbWljRmllbGRzOjppUGhvbmU6OkJhY2tlbmQjIyNNdWx0aXNlbGVjdCIgUmVxdWlyZWQ9IjAiIFZhbGlkPSIxIj4KICAgICAgICA8RGVzY3JpcHRpb24gVHJhbnNsYXRhYmxlPSIxIj5EeW5hbWljRmllbGQgYmFja2VuZCByZWdpc3RyYXRpb24uPC9EZXNjcmlwdGlvbj4KICAgICAgICA8R3JvdXA+aVBob25lPC9Hcm91cD4KICAgICAgICA8U3ViR3JvdXA+RHluYW1pY0ZpZWxkczo6QmFja2VuZDo6UmVnaXN0cmF0aW9uPC9TdWJHcm91cD4KICAgICAgICA8U2V0dGluZz4KICAgICAgICAgICAgPEhhc2g+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IkRpc3BsYXlOYW1lIiBUcmFuc2xhdGFibGU9IjEiPk11bHRpc2VsZWN0PC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJNb2R1bGUiPktlcm5lbDo6U3lzdGVtOjpEeW5hbWljRmllbGQ6OmlQaG9uZTo6QmFja2VuZDo6TXVsdGlzZWxlY3Q8L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IkNvbmZpZ0RpYWxvZyI+QWRtaW5EeW5hbWljRmllbGRNdWx0aXNlbGVjdDwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iSXRlbVNlcGFyYXRvciI+LCA8L0l0ZW0+CiAgICAgICAgICAgIDwvSGFzaD4KICAgICAgICA8L1NldHRpbmc+CiAgICA8L0NvbmZpZ0l0ZW0+CgoKPC9vdHJzX2NvbmZpZz4K
IyAtLQojIEtlcm5lbC9TeXN0ZW0vRHluYW1pY0ZpZWxkL2lQaG9uZS9CYWNrZW5kL0NoZWNrYm94LnBtIC0gRGVsZWdhdGUgZm9yIER5bmFtaWNGaWVsZCBDaGVja2JveCBiYWNrZW5kCiMgQ29weXJpZ2h0IChDKSAyMDAxLTIwMTUgT1RSUyBBRywgaHR0cDovL290cnMuY29tLwojIC0tCiMgVGhpcyBzb2Z0d2FyZSBjb21lcyB3aXRoIEFCU09MVVRFTFkgTk8gV0FSUkFOVFkuIEZvciBkZXRhaWxzLCBzZWUKIyB0aGUgZW5jbG9zZWQgZmlsZSBDT1BZSU5HIGZvciBsaWNlbnNlIGluZm9ybWF0aW9uIChBR1BMKS4gSWYgeW91CiMgZGlkIG5vdCByZWNlaXZlIHRoaXMgZmlsZSwgc2VlIGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9hZ3BsLnR4dC4KIyAtLQoKcGFja2FnZSBLZXJuZWw6OlN5c3RlbTo6RHluYW1pY0ZpZWxkOjppUGhvbmU6OkJhY2tlbmQ6OkNoZWNrYm94OwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwoKdXNlIEtlcm5lbDo6U3lzdGVtOjpEeW5hbWljRmllbGRWYWx1ZTsKdXNlIEtlcm5lbDo6U3lzdGVtOjpWYXJpYWJsZUNoZWNrIHF3KDphbGwpOwoKPWhlYWQxIE5BTUUKCktlcm5lbDo6U3lzdGVtOjpEeW5hbWljRmllbGQ6OmlQaG9uZTo6QmFja2VuZDo6VGV4dEFyZWEKCj1oZWFkMSBTWU5PUFNJUwoKRHluYW1pY0ZpZWxkcyBDaGVja2JveCBiYWNrZW5kIGRlbGVnYXRlIGZvciBpUGhvbmVIYW5kbGUKCj1oZWFkMSBQVUJMSUMgSU5URVJGQUNFCgpUaGlzIG1vZHVsZSBpbXBsZW1lbnRzIHRoZSBwdWJsaWMgaW50ZXJmYWNlIG9mIEw8S2VybmVsOjpTeXN0ZW06OkR5bmFtaWNGaWVsZDo6aVBob25lOjppUGhvbmVCYWNrZW5kPi4KUGxlYXNlIGxvb2sgdGhlcmUgZm9yIGEgZGV0YWlsZWQgcmVmZXJlbmNlIG9mIHRoZSBmdW5jdGlvbnMuCgo9b3ZlciA0Cgo9aXRlbSBuZXcoKQoKdXN1YWxseSwgeW91IHdhbnQgdG8gY3JlYXRlIGFuIGluc3RhbmNlIG9mIHRoaXMKYnkgdXNpbmcgS2VybmVsOjpTeXN0ZW06OkR5bmFtaWNGaWVsZDo6aVBob25lOjppUGhvbmVCYWNrZW5kLT5uZXcoKTsKCj1jdXQKCnN1YiBuZXcgewogICAgbXkgKCAkVHlwZSwgJVBhcmFtICkgPSBAXzsKCiAgICAjIGFsbG9jYXRlIG5ldyBoYXNoIGZvciBvYmplY3QKICAgIG15ICRTZWxmID0ge307CiAgICBibGVzcyggJFNlbGYsICRUeXBlICk7CgogICAgIyBnZXQgbmVlZGVkIG9iamVjdHMKICAgIGZvciBteSAkTmVlZGVkIChxdyhDb25maWdPYmplY3QgRW5jb2RlT2JqZWN0IExvZ09iamVjdCBNYWluT2JqZWN0IERCT2JqZWN0IFRpbWVPYmplY3QpKSB7CiAgICAgICAgZGllICJHb3Qgbm8gJE5lZWRlZCEiIGlmICEkUGFyYW17JE5lZWRlZH07CgogICAgICAgICRTZWxmLT57JE5lZWRlZH0gPSAkUGFyYW17JE5lZWRlZH07CiAgICB9CgogICAgIyBjcmVhdGUgYWRkaXRpb25hbCBvYmplY3RzCiAgICAkU2VsZi0+e0R5bmFtaWNGaWVsZFZhbHVlT2JqZWN0fSA9IEtlcm5lbDo6U3lzdGVtOjpEeW5hbWljRmllbGRWYWx1ZS0+bmV3KCAleyRTZWxmfSApOwoKICAgIHJldHVybiAkU2VsZjsKfQoKc3ViIElzSVBob25lQ2FwYWJsZSB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgIHJldHVybiAxOwp9CgpzdWIgRWRpdEZpZWxkUmVuZGVyIHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgIyB0YWtlIGNvbmZpZyBmcm9tIGZpZWxkIGNvbmZpZwogICAgbXkgJEZpZWxkQ29uZmlnID0gJFBhcmFte0R5bmFtaWNGaWVsZENvbmZpZ30tPntDb25maWd9OwogICAgbXkgJEZpZWxkTmFtZSAgID0gJ0R5bmFtaWNGaWVsZF8nIC4gJFBhcmFte0R5bmFtaWNGaWVsZENvbmZpZ30tPntOYW1lfTsKICAgIG15ICRGaWVsZExhYmVsICA9ICRQYXJhbXtMYW5ndWFnZU9iamVjdH0tPkdldCggJFBhcmFte0R5bmFtaWNGaWVsZENvbmZpZ30tPntMYWJlbH0gKTsKCiAgICBteSAkVmFsdWUgPSAnJzsKCiAgICAjIHNldCB0aGUgZmllbGQgdmFsdWUgb3IgZGVmYXVsdAogICAgaWYgKCAkUGFyYW17VXNlRGVmYXVsdFZhbHVlfSApIHsKICAgICAgICAkVmFsdWUgPSAoIGRlZmluZWQgJEZpZWxkQ29uZmlnLT57RGVmYXVsdFZhbHVlfSA/ICRGaWVsZENvbmZpZy0+e0RlZmF1bHRWYWx1ZX0gOiAnJyApOwogICAgfQogICAgJFZhbHVlID0gJFBhcmFte1ZhbHVlfSBpZiBkZWZpbmVkICRQYXJhbXtWYWx1ZX07CgogICAgIyBzZXQgUG9zc2libGVWYWx1ZXMKICAgIG15ICRQb3NzaWJsZVZhbHVlcyA9IHsKICAgICAgICAwID0+ICRQYXJhbXtMYW5ndWFnZU9iamVjdH0tPkdldCgnVW5jaGVja2VkJykgfHwgJ1VuY2hlY2tlZCcsCiAgICAgICAgMSA9PiAkUGFyYW17TGFuZ3VhZ2VPYmplY3R9LT5HZXQoJ0NoZWtlZCcpICAgIHx8ICdDaGVja2VkJywKICAgIH07CgogICAgIyBjcmVhdGUgdGhlIGZpZWxkIGRlZmluaXRpb24KICAgIG15ICREYXRhID0gewogICAgICAgIE5hbWUgICAgICA9PiAkRmllbGROYW1lLAogICAgICAgIFRpdGxlICAgICA9PiAkRmllbGRMYWJlbCwKICAgICAgICBEYXRhdHlwZSAgPT4gJ1RleHQnLAogICAgICAgIFZpZXd0eXBlICA9PiAnUGlja2VyJywKICAgICAgICBPcHRpb25zICAgPT4gJFBvc3NpYmxlVmFsdWVzLAogICAgICAgIE1hbmRhdG9yeSA9PiAkUGFyYW17TWFuZGF0b3J5fSwKICAgICAgICBEZWZhdWx0ICAgPT4gJFZhbHVlLAogICAgfTsKCiAgICByZXR1cm4gJERhdGE7Cn0KCnN1YiBFZGl0RmllbGRWYWx1ZUdldCB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgIG15ICRGaWVsZE5hbWUgPSAnRHluYW1pY0ZpZWxkXycgLiAkUGFyYW17RHluYW1pY0ZpZWxkQ29uZmlnfS0+e05hbWV9OwoKICAgIG15ICRWYWx1ZSA9ICRQYXJhbXskRmllbGROYW1lfTsKCiAgICByZXR1cm4gJFZhbHVlOwp9CgpzdWIgRWRpdEZpZWxkVmFsdWVWYWxpZGF0ZSB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgICMgZ2V0IHRoZSBmaWVsZCB2YWx1ZSBmcm9tIHBhcmFtCiAgICBteSAkVmFsdWUgPSAkUGFyYW17VmFsdWV9OwoKICAgIG15ICRTZXJ2ZXJFcnJvcjsKICAgIG15ICRFcnJvck1lc3NhZ2U7CgogICAgIyBwZXJmb3JtIG5lY2Vzc2FyeSB2YWxpZGF0aW9ucwogICAgaWYgKCAkUGFyYW17TWFuZGF0b3J5fSAmJiAhJFZhbHVlICkgewogICAgICAgICRTZXJ2ZXJFcnJvciA9IDE7CiAgICB9CiAgICBlbHNlIHsKCiAgICAgICAgIyB2YWxpZGF0ZSBpZiB2YWx1ZSBpcyBpbiBwb3NzaWJsZSB2YWx1ZXMgbGlzdCAoYnV0IGxldCBwYXNzIGVtcHR5IHZhbHVlcykKICAgICAgICBpZiAoICRWYWx1ZSBuZSAnMCcgJiYgJFZhbHVlIG5lICcxJyApIHsKICAgICAgICAgICAgJFNlcnZlckVycm9yICA9IDE7CiAgICAgICAgICAgICRFcnJvck1lc3NhZ2UgPSAnVGhlIGZpZWxkIGNvbnRlbnQgaXMgaW52YWxpZCc7CiAgICAgICAgfQogICAgfQoKICAgICMgY3JlYXRlIHJlc3VsdGluZyBzdHJ1Y3R1cmUKICAgIG15ICRSZXN1bHQgPSB7CiAgICAgICAgU2VydmVyRXJyb3IgID0+ICRTZXJ2ZXJFcnJvciwKICAgICAgICBFcnJvck1lc3NhZ2UgPT4gJEVycm9yTWVzc2FnZSwKICAgIH07CgogICAgcmV0dXJuICRSZXN1bHQ7Cn0KCjE7Cgo9YmFjawoKPWhlYWQxIFRFUk1TIEFORCBDT05ESVRJT05TCgpUaGlzIHNvZnR3YXJlIGlzIHBhcnQgb2YgdGhlIE9UUlMgcHJvamVjdCAoTDxodHRwOi8vb3Rycy5vcmcvPikuCgpUaGlzIHNvZnR3YXJlIGNvbWVzIHdpdGggQUJTT0xVVEVMWSBOTyBXQVJSQU5UWS4gRm9yIGRldGFpbHMsIHNlZQp0aGUgZW5jbG9zZWQgZmlsZSBDT1BZSU5HIGZvciBsaWNlbnNlIGluZm9ybWF0aW9uIChBR1BMKS4gSWYgeW91CmRpZCBub3QgcmVjZWl2ZSB0aGlzIGZpbGUsIHNlZSBMPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9hZ3BsLnR4dD4uCgo9Y3V0Cgo9aGVhZDEgVkVSU0lPTgoKJCQKCj1jdXQK
IyAtLQojIEtlcm5lbC9TeXN0ZW0vRHluYW1pY0ZpZWxkL2lQaG9uZS9CYWNrZW5kL0RhdGUucG0gLSBEZWxlZ2F0ZSBmb3IgRHluYW1pY0ZpZWxkIERhdGUgYmFja2VuZAojIENvcHlyaWdodCAoQykgMjAwMS0yMDE1IE9UUlMgQUcsIGh0dHA6Ly9vdHJzLmNvbS8KIyAtLQojIFRoaXMgc29mdHdhcmUgY29tZXMgd2l0aCBBQlNPTFVURUxZIE5PIFdBUlJBTlRZLiBGb3IgZGV0YWlscywgc2VlCiMgdGhlIGVuY2xvc2VkIGZpbGUgQ09QWUlORyBmb3IgbGljZW5zZSBpbmZvcm1hdGlvbiAoQUdQTCkuIElmIHlvdQojIGRpZCBub3QgcmVjZWl2ZSB0aGlzIGZpbGUsIHNlZSBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvYWdwbC50eHQuCiMgLS0KCnBhY2thZ2UgS2VybmVsOjpTeXN0ZW06OkR5bmFtaWNGaWVsZDo6aVBob25lOjpCYWNrZW5kOjpEYXRlOwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwoKdXNlIEtlcm5lbDo6U3lzdGVtOjpWYXJpYWJsZUNoZWNrIHF3KDphbGwpOwp1c2UgS2VybmVsOjpTeXN0ZW06OkR5bmFtaWNGaWVsZFZhbHVlOwp1c2UgS2VybmVsOjpTeXN0ZW06OlRpbWU7Cgo9aGVhZDEgTkFNRQoKS2VybmVsOjpTeXN0ZW06OkR5bmFtaWNGaWVsZDo6aVBob25lOjpCYWNrZW5kOjpUZXh0QXJlYQoKPWhlYWQxIFNZTk9QU0lTCgpEeW5hbWljRmllbGRzIERhdGUgYmFja2VuZCBkZWxlZ2F0ZSBmb3IgaVBob25lSGFuZGxlCgo9aGVhZDEgUFVCTElDIElOVEVSRkFDRQoKVGhpcyBtb2R1bGUgaW1wbGVtZW50cyB0aGUgcHVibGljIGludGVyZmFjZSBvZiBMPEtlcm5lbDo6U3lzdGVtOjpEeW5hbWljRmllbGQ6OmlQaG9uZTo6aVBob25lQmFja2VuZD4uClBsZWFzZSBsb29rIHRoZXJlIGZvciBhIGRldGFpbGVkIHJlZmVyZW5jZSBvZiB0aGUgZnVuY3Rpb25zLgoKPW92ZXIgNAoKPWl0ZW0gbmV3KCkKCnVzdWFsbHksIHlvdSB3YW50IHRvIGNyZWF0ZSBhbiBpbnN0YW5jZSBvZiB0aGlzCmJ5IHVzaW5nIEtlcm5lbDo6U3lzdGVtOjpEeW5hbWljRmllbGQ6OmlQaG9uZTo6aVBob25lQmFja2VuZC0+bmV3KCk7Cgo9Y3V0CgpzdWIgbmV3IHsKICAgIG15ICggJFR5cGUsICVQYXJhbSApID0gQF87CgogICAgIyBhbGxvY2F0ZSBuZXcgaGFzaCBmb3Igb2JqZWN0CiAgICBteSAkU2VsZiA9IHt9OwogICAgYmxlc3MoICRTZWxmLCAkVHlwZSApOwoKICAgICMgZ2V0IG5lZWRlZCBvYmplY3RzCiAgICBmb3IgbXkgJE5lZWRlZCAocXcoQ29uZmlnT2JqZWN0IEVuY29kZU9iamVjdCBMb2dPYmplY3QgTWFpbk9iamVjdCBEQk9iamVjdCkpIHsKICAgICAgICBkaWUgIkdvdCBubyAkTmVlZGVkISIgaWYgISRQYXJhbXskTmVlZGVkfTsKCiAgICAgICAgJFNlbGYtPnskTmVlZGVkfSA9ICRQYXJhbXskTmVlZGVkfTsKICAgIH0KCiAgICAjIGNyZWF0ZSBhZGRpdGlvbmFsIG9iamVjdHMKICAgICRTZWxmLT57RHluYW1pY0ZpZWxkVmFsdWVPYmplY3R9ID0gS2VybmVsOjpTeXN0ZW06OkR5bmFtaWNGaWVsZFZhbHVlLT5uZXcoICV7JFNlbGZ9ICk7CiAgICAkU2VsZi0+e1RpbWVPYmplY3R9ICAgICAgICAgICAgICA9IEtlcm5lbDo6U3lzdGVtOjpUaW1lLT5uZXcoICV7JFNlbGZ9ICk7CgogICAgcmV0dXJuICRTZWxmOwp9CgpzdWIgSXNJUGhvbmVDYXBhYmxlIHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgcmV0dXJuIDE7Cn0KCnN1YiBFZGl0RmllbGRSZW5kZXIgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICAjIHRha2UgY29uZmlnIGZyb20gZmllbGQgY29uZmlnCiAgICBteSAkRmllbGRDb25maWcgPSAkUGFyYW17RHluYW1pY0ZpZWxkQ29uZmlnfS0+e0NvbmZpZ307CiAgICBteSAkRmllbGROYW1lICAgPSAnRHluYW1pY0ZpZWxkXycgLiAkUGFyYW17RHluYW1pY0ZpZWxkQ29uZmlnfS0+e05hbWV9OwogICAgbXkgJEZpZWxkTGFiZWwgID0gJFBhcmFte0xhbmd1YWdlT2JqZWN0fS0+R2V0KCAkUGFyYW17RHluYW1pY0ZpZWxkQ29uZmlnfS0+e0xhYmVsfSApOwoKICAgIG15ICRWYWx1ZSA9ICcnOwoKICAgICMgc2V0IHRoZSBmaWVsZCB2YWx1ZSBvciBkZWZhdWx0CiAgICBpZiAoICRQYXJhbXtVc2VEZWZhdWx0VmFsdWV9ICkgewogICAgICAgIG15ICRUaW1lRGlmZiA9ICggZGVmaW5lZCAkRmllbGRDb25maWctPntEZWZhdWx0VmFsdWV9ID8gJEZpZWxkQ29uZmlnLT57RGVmYXVsdFZhbHVlfSA6ICcnICk7CgogICAgICAgICMgZ2V0IGN1cnJlbnQgc3lzdGVtIHRpbWUKICAgICAgICBteSAkU3lzdGVtVGltZSA9ICRTZWxmLT57VGltZU9iamVjdH0tPlN5c3RlbVRpbWUoKTsKCiAgICAgICAgIyBnZXQgdGltZSBzdHJpbmcgKyAkVGltZSBkaWZmCiAgICAgICAgJFZhbHVlID0gJFNlbGYtPntUaW1lT2JqZWN0fS0+U3lzdGVtVGltZTJUaW1lU3RhbXAoCiAgICAgICAgICAgIFN5c3RlbVRpbWUgPT4gJFN5c3RlbVRpbWUgKyAkVGltZURpZmYsCiAgICAgICAgKTsKCiAgICAgICAgIyByZW1vdmUgdGhlIHRpbWUgcGFydAogICAgICAgICRWYWx1ZSA9fiBze1xBIChcZHs0fS1cZHsyfS1cZHsyfSkgIC4qIFx6fXskMX14bXM7CiAgICB9CiAgICAkVmFsdWUgPSAkUGFyYW17VmFsdWV9IGlmIGRlZmluZWQgJFBhcmFte1ZhbHVlfTsKCiAgICAjIGNyZWF0ZSB0aGUgZmllbGQgZGVmaW5pdGlvbgogICAgbXkgJERhdGEgPSB7CiAgICAgICAgTmFtZSAgICAgID0+ICRGaWVsZE5hbWUsCiAgICAgICAgVGl0bGUgICAgID0+ICRGaWVsZExhYmVsLAogICAgICAgIERhdGF0eXBlICA9PiAnRGF0ZScsCiAgICAgICAgVmlld3R5cGUgID0+ICdQaWNrZXInLAogICAgICAgIE1hbmRhdG9yeSA9PiAkUGFyYW17TWFuZGF0b3J5fSwKICAgICAgICBEZWZhdWx0ICAgPT4gJFZhbHVlIHx8ICcnLAogICAgfTsKCiAgICByZXR1cm4gJERhdGE7Cn0KCnN1YiBFZGl0RmllbGRWYWx1ZUdldCB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgIG15ICRGaWVsZE5hbWUgPSAnRHluYW1pY0ZpZWxkXycgLiAkUGFyYW17RHluYW1pY0ZpZWxkQ29uZmlnfS0+e05hbWV9OwoKICAgIG15ICRWYWx1ZSA9ICRQYXJhbXskRmllbGROYW1lfTsKCiAgICAjIHJlbW92ZSB0aGUgdGltZSBwYXJ0CiAgICAkVmFsdWUgPX4gc3tcQSAoXGR7NH0tXGR7Mn0tXGR7Mn0pICAuKiBcen17JDF9eG1zOwoKICAgICMgYWRkIDBzIHRvIHRoZSB0aW1lIHBhcnQKICAgICRWYWx1ZSAuPSAnIDAwOjAwOjAwJzsKCiAgICByZXR1cm4gJFZhbHVlOwp9CgpzdWIgRWRpdEZpZWxkVmFsdWVWYWxpZGF0ZSB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgICMgZ2V0IHRoZSBmaWVsZCB2YWx1ZSBmcm9tIHBhcmFtCiAgICBteSAkVmFsdWUgPSAkUGFyYW17VmFsdWV9OwoKICAgIG15ICRTZXJ2ZXJFcnJvcjsKICAgIG15ICRFcnJvck1lc3NhZ2U7CgogICAgIyBwZXJmb3JtIG5lY2Vzc2FyeSB2YWxpZGF0aW9ucwogICAgaWYgKCAkUGFyYW17TWFuZGF0b3J5fSAmJiAkVmFsdWUgZXEgJycgKSB7CgogICAgICAgIHJldHVybiB7CiAgICAgICAgICAgIFNlcnZlckVycm9yICA9PiAxLAogICAgICAgICAgICBFcnJvck1lc3NhZ2UgPT4gJEVycm9yTWVzc2FnZSwKICAgICAgICB9OwogICAgfQoKICAgICMgdHJ5IHRvIGNvbnZlcnQgdmFsdWUgdG8gYSBTeXN0ZW1UaW1lCiAgICBteSAkU3lzdGVtVGltZSA9ICRTZWxmLT57VGltZU9iamVjdH0tPlRpbWVTdGFtcDJTeXN0ZW1UaW1lKAogICAgICAgIFN0cmluZyA9PiAkVmFsdWUsCiAgICApOwoKICAgIGlmICggISRTeXN0ZW1UaW1lICkgewogICAgICAgIHJldHVybiB7CiAgICAgICAgICAgIFNlcnZlckVycm9yICA9PiAxLAogICAgICAgICAgICBFcnJvck1lc3NhZ2UgPT4gJEVycm9yTWVzc2FnZSwKICAgICAgICB9OwogICAgfQoKICAgICMgY3JlYXRlIHJlc3VsdGluZyBzdHJ1Y3R1cmUKICAgIG15ICRSZXN1bHQgPSB7CiAgICAgICAgU2VydmVyRXJyb3IgID0+ICRTZXJ2ZXJFcnJvciwKICAgICAgICBFcnJvck1lc3NhZ2UgPT4gJEVycm9yTWVzc2FnZSwKICAgIH07CgogICAgcmV0dXJuICRSZXN1bHQ7Cn0KCjE7Cgo9YmFjawoKPWhlYWQxIFRFUk1TIEFORCBDT05ESVRJT05TCgpUaGlzIHNvZnR3YXJlIGlzIHBhcnQgb2YgdGhlIE9UUlMgcHJvamVjdCAoTDxodHRwOi8vb3Rycy5vcmcvPikuCgpUaGlzIHNvZnR3YXJlIGNvbWVzIHdpdGggQUJTT0xVVEVMWSBOTyBXQVJSQU5UWS4gRm9yIGRldGFpbHMsIHNlZQp0aGUgZW5jbG9zZWQgZmlsZSBDT1BZSU5HIGZvciBsaWNlbnNlIGluZm9ybWF0aW9uIChBR1BMKS4gSWYgeW91CmRpZCBub3QgcmVjZWl2ZSB0aGlzIGZpbGUsIHNlZSBMPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9hZ3BsLnR4dD4uCgo9Y3V0Cgo9aGVhZDEgVkVSU0lPTgoKJCQKCj1jdXQK
IyAtLQojIEtlcm5lbC9TeXN0ZW0vRHluYW1pY0ZpZWxkL2lQaG9uZS9CYWNrZW5kL0RhdGVUaW1lLnBtIC0gRGVsZWdhdGUgZm9yIER5bmFtaWNGaWVsZCBEYXRlVGltZSBiYWNrZW5kCiMgQ29weXJpZ2h0IChDKSAyMDAxLTIwMTUgT1RSUyBBRywgaHR0cDovL290cnMuY29tLwojIC0tCiMgVGhpcyBzb2Z0d2FyZSBjb21lcyB3aXRoIEFCU09MVVRFTFkgTk8gV0FSUkFOVFkuIEZvciBkZXRhaWxzLCBzZWUKIyB0aGUgZW5jbG9zZWQgZmlsZSBDT1BZSU5HIGZvciBsaWNlbnNlIGluZm9ybWF0aW9uIChBR1BMKS4gSWYgeW91CiMgZGlkIG5vdCByZWNlaXZlIHRoaXMgZmlsZSwgc2VlIGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9hZ3BsLnR4dC4KIyAtLQoKcGFja2FnZSBLZXJuZWw6OlN5c3RlbTo6RHluYW1pY0ZpZWxkOjppUGhvbmU6OkJhY2tlbmQ6OkRhdGVUaW1lOwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwoKdXNlIEtlcm5lbDo6U3lzdGVtOjpWYXJpYWJsZUNoZWNrIHF3KDphbGwpOwp1c2UgS2VybmVsOjpTeXN0ZW06OkR5bmFtaWNGaWVsZFZhbHVlOwp1c2UgS2VybmVsOjpTeXN0ZW06OlRpbWU7Cgo9aGVhZDEgTkFNRQoKS2VybmVsOjpTeXN0ZW06OkR5bmFtaWNGaWVsZDo6aVBob25lOjpCYWNrZW5kOjpUZXh0QXJlYQoKPWhlYWQxIFNZTk9QU0lTCgpEeW5hbWljRmllbGRzIERhdGVUaW1lIGJhY2tlbmQgZGVsZWdhdGUgZm9yIGlQaG9uZUhhbmRsZQoKPWhlYWQxIFBVQkxJQyBJTlRFUkZBQ0UKClRoaXMgbW9kdWxlIGltcGxlbWVudHMgdGhlIHB1YmxpYyBpbnRlcmZhY2Ugb2YgTDxLZXJuZWw6OlN5c3RlbTo6RHluYW1pY0ZpZWxkOjppUGhvbmU6OmlQaG9uZUJhY2tlbmQ+LgpQbGVhc2UgbG9vayB0aGVyZSBmb3IgYSBkZXRhaWxlZCByZWZlcmVuY2Ugb2YgdGhlIGZ1bmN0aW9ucy4KCj1vdmVyIDQKCj1pdGVtIG5ldygpCgp1c3VhbGx5LCB5b3Ugd2FudCB0byBjcmVhdGUgYW4gaW5zdGFuY2Ugb2YgdGhpcwpieSB1c2luZyBLZXJuZWw6OlN5c3RlbTo6RHluYW1pY0ZpZWxkOjppUGhvbmU6OmlQaG9uZUJhY2tlbmQtPm5ldygpOwoKPWN1dAoKc3ViIG5ldyB7CiAgICBteSAoICRUeXBlLCAlUGFyYW0gKSA9IEBfOwoKICAgICMgYWxsb2NhdGUgbmV3IGhhc2ggZm9yIG9iamVjdAogICAgbXkgJFNlbGYgPSB7fTsKICAgIGJsZXNzKCAkU2VsZiwgJFR5cGUgKTsKCiAgICAjIGdldCBuZWVkZWQgb2JqZWN0cwogICAgZm9yIG15ICROZWVkZWQgKHF3KENvbmZpZ09iamVjdCBFbmNvZGVPYmplY3QgTG9nT2JqZWN0IE1haW5PYmplY3QgREJPYmplY3QpKSB7CiAgICAgICAgZGllICJHb3Qgbm8gJE5lZWRlZCEiIGlmICEkUGFyYW17JE5lZWRlZH07CgogICAgICAgICRTZWxmLT57JE5lZWRlZH0gPSAkUGFyYW17JE5lZWRlZH07CiAgICB9CgogICAgIyBjcmVhdGUgYWRkaXRpb25hbCBvYmplY3RzCiAgICAkU2VsZi0+e0R5bmFtaWNGaWVsZFZhbHVlT2JqZWN0fSA9IEtlcm5lbDo6U3lzdGVtOjpEeW5hbWljRmllbGRWYWx1ZS0+bmV3KCAleyRTZWxmfSApOwogICAgJFNlbGYtPntUaW1lT2JqZWN0fSAgICAgICAgICAgICAgPSBLZXJuZWw6OlN5c3RlbTo6VGltZS0+bmV3KCAleyRTZWxmfSApOwoKICAgIHJldHVybiAkU2VsZjsKfQoKc3ViIElzSVBob25lQ2FwYWJsZSB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgIHJldHVybiAxOwp9CgpzdWIgRWRpdEZpZWxkUmVuZGVyIHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgIyB0YWtlIGNvbmZpZyBmcm9tIGZpZWxkIGNvbmZpZwogICAgbXkgJEZpZWxkQ29uZmlnID0gJFBhcmFte0R5bmFtaWNGaWVsZENvbmZpZ30tPntDb25maWd9OwogICAgbXkgJEZpZWxkTmFtZSAgID0gJ0R5bmFtaWNGaWVsZF8nIC4gJFBhcmFte0R5bmFtaWNGaWVsZENvbmZpZ30tPntOYW1lfTsKICAgIG15ICRGaWVsZExhYmVsICA9ICRQYXJhbXtMYW5ndWFnZU9iamVjdH0tPkdldCggJFBhcmFte0R5bmFtaWNGaWVsZENvbmZpZ30tPntMYWJlbH0gKTsKCiAgICBteSAkVmFsdWUgPSAnJzsKCiAgICAjIHNldCB0aGUgZmllbGQgdmFsdWUgb3IgZGVmYXVsdAogICAgaWYgKCAkUGFyYW17VXNlRGVmYXVsdFZhbHVlfSApIHsKICAgICAgICBteSAkVGltZURpZmYgPSAoIGRlZmluZWQgJEZpZWxkQ29uZmlnLT57RGVmYXVsdFZhbHVlfSA/ICRGaWVsZENvbmZpZy0+e0RlZmF1bHRWYWx1ZX0gOiAnJyApOwoKICAgICAgICAjIGdldCBjdXJyZW50IHN5c3RlbSB0aW1lCiAgICAgICAgbXkgJFN5c3RlbVRpbWUgPSAkU2VsZi0+e1RpbWVPYmplY3R9LT5TeXN0ZW1UaW1lKCk7CgogICAgICAgICMgZ2V0IHRpbWUgc3RyaW5nICsgJFRpbWUgZGlmZgogICAgICAgICRWYWx1ZSA9ICRTZWxmLT57VGltZU9iamVjdH0tPlN5c3RlbVRpbWUyVGltZVN0YW1wKAogICAgICAgICAgICBTeXN0ZW1UaW1lID0+ICRTeXN0ZW1UaW1lICsgJFRpbWVEaWZmLAogICAgICAgICk7CgogICAgfQogICAgJFZhbHVlID0gJFBhcmFte1ZhbHVlfSBpZiBkZWZpbmVkICRQYXJhbXtWYWx1ZX07CgogICAgIyBjcmVhdGUgdGhlIGZpZWxkIGRlZmluaXRpb24KICAgIG15ICREYXRhID0gewogICAgICAgIE5hbWUgICAgICA9PiAkRmllbGROYW1lLAogICAgICAgIFRpdGxlICAgICA9PiAkRmllbGRMYWJlbCwKICAgICAgICBEYXRhdHlwZSAgPT4gJ0RhdGVUaW1lJywKICAgICAgICBWaWV3dHlwZSAgPT4gJ1BpY2tlcicsCiAgICAgICAgTWFuZGF0b3J5ID0+ICRQYXJhbXtNYW5kYXRvcnl9LAogICAgICAgIERlZmF1bHQgICA9PiAkVmFsdWUgfHwgJycsCiAgICB9OwoKICAgIHJldHVybiAkRGF0YTsKfQoKc3ViIEVkaXRGaWVsZFZhbHVlR2V0IHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgbXkgJEZpZWxkTmFtZSA9ICdEeW5hbWljRmllbGRfJyAuICRQYXJhbXtEeW5hbWljRmllbGRDb25maWd9LT57TmFtZX07CgogICAgbXkgJFZhbHVlID0gJFBhcmFteyRGaWVsZE5hbWV9OwoKICAgICMgdGltZSB6b25lIHRyYW5zbGF0aW9uIGlmIG5lZWRlZAogICAgaWYgKCAkU2VsZi0+e0NvbmZpZ09iamVjdH0tPkdldCgnVGltZVpvbmVVc2VyJykgJiYgJFBhcmFte1VzZXJUaW1lWm9uZX0gKSB7CgogICAgICAgICMgY292ZXJ0ICRWYWx1ZSB0byBhIG51bWVyaWMgdGltZSBmb3IgY29udmV0cnNpb25zCiAgICAgICAgbXkgJFN5c3RlbVRpbWUgPSAkU2VsZi0+e1RpbWVPYmplY3R9LT5UaW1lU3RhbXAyU3lzdGVtVGltZSgKICAgICAgICAgICAgU3RyaW5nID0+ICRWYWx1ZSwKICAgICAgICApOwoKICAgICAgICAjIGNyZWF0ZSBhIHRpbWUgb2JqZWN0IGZvciB0aGVzIHVzZXIgKGJlY2F1c2Ugb2YgdGhlIHRpbWUgem9uZSkKICAgICAgICAkU2VsZi0+e1VzZXJUaW1lT2JqZWN0fSA9IEtlcm5lbDo6U3lzdGVtOjpUaW1lLT5uZXcoCiAgICAgICAgICAgICV7JFNlbGZ9LAogICAgICAgICAgICBVc2VyVGltZVpvbmUgPT4gJFBhcmFte1VzZXJUaW1lWm9uZX0sCiAgICAgICAgKTsKCiAgICAgICAgIyBzdWJ0cmFjdCB0aGUgdXNlciB0aW1lIHpvbmUgZnJvbSB0aGUgY3VycmVudCB2YWx1ZQogICAgICAgICRTeXN0ZW1UaW1lID0gJFN5c3RlbVRpbWUgLSAoICRQYXJhbXtVc2VyVGltZVpvbmV9ICogMzYwMCApOwoKICAgICAgICAjIGNvbnZlcnQgbnVtZXJpYyB2YWx1ZSBhZ2FpbiB0byBzdHJpbmcKICAgICAgICAkVmFsdWUgPSAkU2VsZi0+e1VzZXJUaW1lT2JqZWN0fS0+U3lzdGVtVGltZTJUaW1lU3RhbXAoCiAgICAgICAgICAgIFN5c3RlbVRpbWUgPT4gJFN5c3RlbVRpbWUsCiAgICAgICAgKTsKICAgIH0KCiAgICByZXR1cm4gJFZhbHVlOwp9CgpzdWIgRWRpdEZpZWxkVmFsdWVWYWxpZGF0ZSB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgICMgZ2V0IHRoZSBmaWVsZCB2YWx1ZSBmcm9tIHBhcmFtCiAgICBteSAkVmFsdWUgPSAkUGFyYW17VmFsdWV9OwoKICAgIG15ICRTZXJ2ZXJFcnJvcjsKICAgIG15ICRFcnJvck1lc3NhZ2U7CgogICAgIyBwZXJmb3JtIG5lY2Vzc2FyeSB2YWxpZGF0aW9ucwogICAgaWYgKCAkUGFyYW17TWFuZGF0b3J5fSAmJiAkVmFsdWUgZXEgJycgKSB7CgogICAgICAgIHJldHVybiB7CiAgICAgICAgICAgIFNlcnZlckVycm9yICA9PiAxLAogICAgICAgICAgICBFcnJvck1lc3NhZ2UgPT4gJEVycm9yTWVzc2FnZSwKICAgICAgICB9OwogICAgfQoKICAgICMgdHJ5IHRvIGNvbnZlcnQgdmFsdWUgdG8gYSBTeXN0ZW1UaW1lCiAgICBteSAkU3lzdGVtVGltZSA9ICRTZWxmLT57VGltZU9iamVjdH0tPlRpbWVTdGFtcDJTeXN0ZW1UaW1lKAogICAgICAgIFN0cmluZyA9PiAkVmFsdWUsCiAgICApOwoKICAgIGlmICggISRTeXN0ZW1UaW1lICkgewogICAgICAgIHJldHVybiB7CiAgICAgICAgICAgIFNlcnZlckVycm9yICA9PiAxLAogICAgICAgICAgICBFcnJvck1lc3NhZ2UgPT4gJEVycm9yTWVzc2FnZSwKICAgICAgICB9OwogICAgfQoKICAgICMgY3JlYXRlIHJlc3VsdGluZyBzdHJ1Y3R1cmUKICAgIG15ICRSZXN1bHQgPSB7CiAgICAgICAgU2VydmVyRXJyb3IgID0+ICRTZXJ2ZXJFcnJvciwKICAgICAgICBFcnJvck1lc3NhZ2UgPT4gJEVycm9yTWVzc2FnZSwKICAgIH07CgogICAgcmV0dXJuICRSZXN1bHQ7Cn0KCnN1YiBfVHJhbnNmb3JtRGF0ZVNlbGVjdGlvbiB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgICMgdGltZSB6b25lIHRyYW5zbGF0aW9uIGlmIG5lZWRlZAogICAgaWYgKCAkU2VsZi0+e0NvbmZpZ09iamVjdH0tPkdldCgnVGltZVpvbmVVc2VyJykgJiYgJFBhcmFte1VzZXJUaW1lWm9uZX0gKSB7CiAgICAgICAgbXkgJFN5c3RlbVRpbWUgPSAkU2VsZi0+e1RpbWVPYmplY3R9LT5UaW1lU3RhbXAyU3lzdGVtVGltZSgKICAgICAgICAgICAgU3RyaW5nID0+ICRQYXJhbXtUaW1lU3RhbXB9LAogICAgICAgICk7CiAgICAgICAgJFN5c3RlbVRpbWUgPSAkU3lzdGVtVGltZSAtICggJFNlbGYtPntVc2VyVGltZVpvbmV9ICogMzYwMCApOwoKICAgICAgICAkU2VsZi0+e1VzZXJUaW1lT2JqZWN0fSA9IEtlcm5lbDo6U3lzdGVtOjpUaW1lLT5uZXcoCiAgICAgICAgICAgICV7JFNlbGZ9LAogICAgICAgICAgICBVc2VyVGltZVpvbmUgPT4gJFBhcmFte1VzZXJUaW1lWm9uZX0sCiAgICAgICAgKTsKCiAgICAgICAgJFBhcmFte1RpbWVTdGFtcH0gPSAkU2VsZi0+e1VzZXJUaW1lT2JqZWN0fS0+U3lzdGVtVGltZTJUaW1lU3RhbXAoCiAgICAgICAgICAgIFN5c3RlbVRpbWUgPT4gJFN5c3RlbVRpbWUsCiAgICAgICAgKTsKICAgIH0KICAgIHJldHVybiAkUGFyYW17VGltZVN0YW1wfTsKfQoKMTsKCj1iYWNrCgo9aGVhZDEgVEVSTVMgQU5EIENPTkRJVElPTlMKClRoaXMgc29mdHdhcmUgaXMgcGFydCBvZiB0aGUgT1RSUyBwcm9qZWN0IChMPGh0dHA6Ly9vdHJzLm9yZy8+KS4KClRoaXMgc29mdHdhcmUgY29tZXMgd2l0aCBBQlNPTFVURUxZIE5PIFdBUlJBTlRZLiBGb3IgZGV0YWlscywgc2VlCnRoZSBlbmNsb3NlZCBmaWxlIENPUFlJTkcgZm9yIGxpY2Vuc2UgaW5mb3JtYXRpb24gKEFHUEwpLiBJZiB5b3UKZGlkIG5vdCByZWNlaXZlIHRoaXMgZmlsZSwgc2VlIEw8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2FncGwudHh0Pi4KCj1jdXQKCj1oZWFkMSBWRVJTSU9OCgokJAoKPWN1dAo=
IyAtLQojIEtlcm5lbC9TeXN0ZW0vRHluYW1pY0ZpZWxkL2lQaG9uZS9CYWNrZW5kL0Ryb3Bkb3duLnBtIC0gRGVsZWdhdGUgZm9yIER5bmFtaWNGaWVsZCBEcm9wZG93biBiYWNrZW5kCiMgQ29weXJpZ2h0IChDKSAyMDAxLTIwMTUgT1RSUyBBRywgaHR0cDovL290cnMuY29tLwojIC0tCiMgVGhpcyBzb2Z0d2FyZSBjb21lcyB3aXRoIEFCU09MVVRFTFkgTk8gV0FSUkFOVFkuIEZvciBkZXRhaWxzLCBzZWUKIyB0aGUgZW5jbG9zZWQgZmlsZSBDT1BZSU5HIGZvciBsaWNlbnNlIGluZm9ybWF0aW9uIChBR1BMKS4gSWYgeW91CiMgZGlkIG5vdCByZWNlaXZlIHRoaXMgZmlsZSwgc2VlIGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9hZ3BsLnR4dC4KIyAtLQoKcGFja2FnZSBLZXJuZWw6OlN5c3RlbTo6RHluYW1pY0ZpZWxkOjppUGhvbmU6OkJhY2tlbmQ6OkRyb3Bkb3duOwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwoKdXNlIEtlcm5lbDo6U3lzdGVtOjpEeW5hbWljRmllbGRWYWx1ZTsKdXNlIEtlcm5lbDo6U3lzdGVtOjpWYXJpYWJsZUNoZWNrIHF3KDphbGwpOwoKPWhlYWQxIE5BTUUKCktlcm5lbDo6U3lzdGVtOjpEeW5hbWljRmllbGQ6OmlQaG9uZTo6QmFja2VuZDo6VGV4dEFyZWEKCj1oZWFkMSBTWU5PUFNJUwoKRHluYW1pY0ZpZWxkcyBEcm9wZG93biBiYWNrZW5kIGRlbGVnYXRlIGZvciBpUGhvbmVIYW5kbGUKCj1oZWFkMSBQVUJMSUMgSU5URVJGQUNFCgpUaGlzIG1vZHVsZSBpbXBsZW1lbnRzIHRoZSBwdWJsaWMgaW50ZXJmYWNlIG9mIEw8S2VybmVsOjpTeXN0ZW06OkR5bmFtaWNGaWVsZDo6aVBob25lOjppUGhvbmVCYWNrZW5kPi4KUGxlYXNlIGxvb2sgdGhlcmUgZm9yIGEgZGV0YWlsZWQgcmVmZXJlbmNlIG9mIHRoZSBmdW5jdGlvbnMuCgo9b3ZlciA0Cgo9aXRlbSBuZXcoKQoKdXN1YWxseSwgeW91IHdhbnQgdG8gY3JlYXRlIGFuIGluc3RhbmNlIG9mIHRoaXMKYnkgdXNpbmcgS2VybmVsOjpTeXN0ZW06OkR5bmFtaWNGaWVsZDo6aVBob25lOjppUGhvbmVCYWNrZW5kLT5uZXcoKTsKCj1jdXQKCnN1YiBuZXcgewogICAgbXkgKCAkVHlwZSwgJVBhcmFtICkgPSBAXzsKCiAgICAjIGFsbG9jYXRlIG5ldyBoYXNoIGZvciBvYmplY3QKICAgIG15ICRTZWxmID0ge307CiAgICBibGVzcyggJFNlbGYsICRUeXBlICk7CgogICAgIyBnZXQgbmVlZGVkIG9iamVjdHMKICAgIGZvciBteSAkTmVlZGVkIChxdyhDb25maWdPYmplY3QgRW5jb2RlT2JqZWN0IExvZ09iamVjdCBNYWluT2JqZWN0IERCT2JqZWN0IFRpbWVPYmplY3QpKSB7CiAgICAgICAgZGllICJHb3Qgbm8gJE5lZWRlZCEiIGlmICEkUGFyYW17JE5lZWRlZH07CgogICAgICAgICRTZWxmLT57JE5lZWRlZH0gPSAkUGFyYW17JE5lZWRlZH07CiAgICB9CgogICAgIyBjcmVhdGUgYWRkaXRpb25hbCBvYmplY3RzCiAgICAkU2VsZi0+e0R5bmFtaWNGaWVsZFZhbHVlT2JqZWN0fSA9IEtlcm5lbDo6U3lzdGVtOjpEeW5hbWljRmllbGRWYWx1ZS0+bmV3KCAleyRTZWxmfSApOwoKICAgIHJldHVybiAkU2VsZjsKfQoKc3ViIElzSVBob25lQ2FwYWJsZSB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgIHJldHVybiAxOwp9CgpzdWIgRWRpdEZpZWxkUmVuZGVyIHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgIyB0YWtlIGNvbmZpZyBmcm9tIGZpZWxkIGNvbmZpZwogICAgbXkgJEZpZWxkQ29uZmlnID0gJFBhcmFte0R5bmFtaWNGaWVsZENvbmZpZ30tPntDb25maWd9OwogICAgbXkgJEZpZWxkTmFtZSAgID0gJ0R5bmFtaWNGaWVsZF8nIC4gJFBhcmFte0R5bmFtaWNGaWVsZENvbmZpZ30tPntOYW1lfTsKICAgIG15ICRGaWVsZExhYmVsICA9ICRQYXJhbXtMYW5ndWFnZU9iamVjdH0tPkdldCggJFBhcmFte0R5bmFtaWNGaWVsZENvbmZpZ30tPntMYWJlbH0gKTsKCiAgICBteSAkVmFsdWUgPSAnJzsKCiAgICAjIHNldCB0aGUgZmllbGQgdmFsdWUgb3IgZGVmYXVsdAogICAgaWYgKCAkUGFyYW17VXNlRGVmYXVsdFZhbHVlfSApIHsKICAgICAgICAkVmFsdWUgPSAoIGRlZmluZWQgJEZpZWxkQ29uZmlnLT57RGVmYXVsdFZhbHVlfSA/ICRGaWVsZENvbmZpZy0+e0RlZmF1bHRWYWx1ZX0gOiAnJyApOwogICAgfQogICAgJFZhbHVlID0gJFBhcmFte1ZhbHVlfSBpZiBkZWZpbmVkICRQYXJhbXtWYWx1ZX07CgogICAgIyBzZXQgUG9zc2libGVWYWx1ZXMKICAgIG15ICRQb3NzaWJsZVZhbHVlcyA9ICRGaWVsZENvbmZpZy0+e1Bvc3NpYmxlVmFsdWVzfTsKCiAgICBpZiAoICRGaWVsZENvbmZpZy0+e1RyYW5zbGF0YWJsZVZhbHVlc30gKSB7CiAgICAgICAgaWYgKCBJc0hhc2hSZWZXaXRoRGF0YSgkUG9zc2libGVWYWx1ZXMpICkgewogICAgICAgICAgICBmb3IgbXkgJFBvc3NpYmxlS2V5ICggc29ydCBrZXlzICV7JFBvc3NpYmxlVmFsdWVzfSApIHsKICAgICAgICAgICAgICAgIG15ICRPcmlnaW5hbFZhbHVlID0gJFBvc3NpYmxlVmFsdWVzLT57JFBvc3NpYmxlS2V5fTsKICAgICAgICAgICAgICAgICRQb3NzaWJsZVZhbHVlcy0+eyRQb3NzaWJsZUtleX0gPSAkUGFyYW17TGFuZ3VhZ2VPYmplY3R9LT5HZXQoJE9yaWdpbmFsVmFsdWUpIHx8ICRPcmlnaW5hbFZhbHVlOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgICMgc2V0IFBvc3NpYmxlTm9uZSBhdHRyaWJ1dGUKICAgIG15ICRGaWVsZFBvc3NpYmxlTm9uZTsKICAgIGlmICggZGVmaW5lZCAkUGFyYW17T3ZlcnJpZGVQb3NzaWJsZU5vbmV9ICkgewogICAgICAgICRGaWVsZFBvc3NpYmxlTm9uZSA9ICRQYXJhbXtPdmVycmlkZVBvc3NpYmxlTm9uZX07CiAgICB9CiAgICBlbHNlIHsKICAgICAgICAkRmllbGRQb3NzaWJsZU5vbmUgPSAkRmllbGRDb25maWctPntQb3NzaWJsZU5vbmV9IHx8IDA7CiAgICB9CgogICAgaWYgKCRGaWVsZFBvc3NpYmxlTm9uZSkgewogICAgICAgICRQb3NzaWJsZVZhbHVlcy0+eycnfSA9ICctJzsKICAgIH0KCiAgICAjIGNyZWF0ZSB0aGUgZmllbGQgZGVmaW5pdGlvbgogICAgbXkgJERhdGEgPSB7CiAgICAgICAgTmFtZSAgICAgID0+ICRGaWVsZE5hbWUsCiAgICAgICAgVGl0bGUgICAgID0+ICRGaWVsZExhYmVsLAogICAgICAgIERhdGF0eXBlICA9PiAnVGV4dCcsCiAgICAgICAgVmlld3R5cGUgID0+ICdQaWNrZXInLAogICAgICAgIE9wdGlvbnMgICA9PiAkUG9zc2libGVWYWx1ZXMsCiAgICAgICAgTWFuZGF0b3J5ID0+ICRQYXJhbXtNYW5kYXRvcnl9LAogICAgICAgIERlZmF1bHQgICA9PiAkVmFsdWUgfHwgJycsCiAgICB9OwoKICAgIHJldHVybiAkRGF0YTsKfQoKc3ViIEVkaXRGaWVsZFZhbHVlR2V0IHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgbXkgJEZpZWxkTmFtZSA9ICdEeW5hbWljRmllbGRfJyAuICRQYXJhbXtEeW5hbWljRmllbGRDb25maWd9LT57TmFtZX07CgogICAgbXkgJFZhbHVlID0gJFBhcmFteyRGaWVsZE5hbWV9OwoKICAgIHJldHVybiAkVmFsdWU7Cn0KCnN1YiBFZGl0RmllbGRWYWx1ZVZhbGlkYXRlIHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgIyBnZXQgdGhlIGZpZWxkIHZhbHVlIGZyb20gcGFyYW0KICAgIG15ICRWYWx1ZSA9ICRQYXJhbXtWYWx1ZX07CgogICAgbXkgJFNlcnZlckVycm9yOwogICAgbXkgJEVycm9yTWVzc2FnZTsKCiAgICAjIHBlcmZvcm0gbmVjZXNzYXJ5IHZhbGlkYXRpb25zCiAgICBpZiAoICRQYXJhbXtNYW5kYXRvcnl9ICYmICRWYWx1ZSBlcSAnJyApIHsKICAgICAgICAkU2VydmVyRXJyb3IgPSAxOwogICAgfQogICAgZWxzZSB7CgogICAgICAgICMgZ2V0IHBvc3NpYmxlIHZhbHVlcyBsaXN0CiAgICAgICAgbXkgJFBvc3NpYmxlVmFsdWVzID0gJFBhcmFte0R5bmFtaWNGaWVsZENvbmZpZ30tPntDb25maWd9LT57UG9zc2libGVWYWx1ZXN9OwoKICAgICAgICAjIHZhbGlkYXRlIGlmIHZhbHVlIGlzIGluIHBvc3NpYmxlIHZhbHVlcyBsaXN0IChidXQgbGV0IHBhc3MgZW1wdHkgdmFsdWVzKQogICAgICAgIGlmICggJFZhbHVlICYmICEkUG9zc2libGVWYWx1ZXMtPnskVmFsdWV9ICkgewogICAgICAgICAgICAkU2VydmVyRXJyb3IgID0gMTsKICAgICAgICAgICAgJEVycm9yTWVzc2FnZSA9ICdUaGUgZmllbGQgY29udGVudCBpcyBpbnZhbGlkJzsKICAgICAgICB9CiAgICB9CgogICAgIyBjcmVhdGUgcmVzdWx0aW5nIHN0cnVjdHVyZQogICAgbXkgJFJlc3VsdCA9IHsKICAgICAgICBTZXJ2ZXJFcnJvciAgPT4gJFNlcnZlckVycm9yLAogICAgICAgIEVycm9yTWVzc2FnZSA9PiAkRXJyb3JNZXNzYWdlLAogICAgfTsKCiAgICByZXR1cm4gJFJlc3VsdDsKfQoKMTsKCj1iYWNrCgo9aGVhZDEgVEVSTVMgQU5EIENPTkRJVElPTlMKClRoaXMgc29mdHdhcmUgaXMgcGFydCBvZiB0aGUgT1RSUyBwcm9qZWN0IChMPGh0dHA6Ly9vdHJzLm9yZy8+KS4KClRoaXMgc29mdHdhcmUgY29tZXMgd2l0aCBBQlNPTFVURUxZIE5PIFdBUlJBTlRZLiBGb3IgZGV0YWlscywgc2VlCnRoZSBlbmNsb3NlZCBmaWxlIENPUFlJTkcgZm9yIGxpY2Vuc2UgaW5mb3JtYXRpb24gKEFHUEwpLiBJZiB5b3UKZGlkIG5vdCByZWNlaXZlIHRoaXMgZmlsZSwgc2VlIEw8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2FncGwudHh0Pi4KCj1jdXQKCj1oZWFkMSBWRVJTSU9OCgokJAoKPWN1dAo=
IyAtLQojIEtlcm5lbC9TeXN0ZW0vRHluYW1pY0ZpZWxkL2lQaG9uZUZpbHRlci9CYWNrZW5kL011bHRpc2VsZWN0LnBtIC0gRGVsZWdhdGUgZm9yIER5bmFtaWNGaWVsZCBNdWx0aXNlbGVjdCBiYWNrZW5kCiMgQ29weXJpZ2h0IChDKSAyMDAxLTIwMTUgT1RSUyBBRywgaHR0cDovL290cnMuY29tLwojIC0tCiMgVGhpcyBzb2Z0d2FyZSBjb21lcyB3aXRoIEFCU09MVVRFTFkgTk8gV0FSUkFOVFkuIEZvciBkZXRhaWxzLCBzZWUKIyB0aGUgZW5jbG9zZWQgZmlsZSBDT1BZSU5HIGZvciBsaWNlbnNlIGluZm9ybWF0aW9uIChBR1BMKS4gSWYgeW91CiMgZGlkIG5vdCByZWNlaXZlIHRoaXMgZmlsZSwgc2VlIGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9hZ3BsLnR4dC4KIyAtLQoKcGFja2FnZSBLZXJuZWw6OlN5c3RlbTo6RHluYW1pY0ZpZWxkOjppUGhvbmU6OkJhY2tlbmQ6Ok11bHRpc2VsZWN0OwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwoKdXNlIEtlcm5lbDo6U3lzdGVtOjpWYXJpYWJsZUNoZWNrIHF3KDphbGwpOwp1c2UgS2VybmVsOjpTeXN0ZW06OkR5bmFtaWNGaWVsZFZhbHVlOwoKPWhlYWQxIE5BTUUKCktlcm5lbDo6U3lzdGVtOjpEeW5hbWljRmllbGQ6OmlQaG9uZTo6QmFja2VuZDo6VGV4dEFyZWEKCj1oZWFkMSBTWU5PUFNJUwoKRHluYW1pY0ZpZWxkcyBNdWx0aXNlbGVjdCBiYWNrZW5kIGRlbGVnYXRlIGZvciBJUGhvbmVIYW5kbGUKCj1oZWFkMSBQVUJMSUMgSU5URVJGQUNFCgpUaGlzIG1vZHVsZSBpbXBsZW1lbnRzIHRoZSBwdWJsaWMgaW50ZXJmYWNlIG9mIEw8S2VybmVsOjpTeXN0ZW06OkR5bmFtaWNGaWVsZDo6aVBob25lOjppUGhvbmVCYWNrZW5kPi4KUGxlYXNlIGxvb2sgdGhlcmUgZm9yIGEgZGV0YWlsZWQgcmVmZXJlbmNlIG9mIHRoZSBmdW5jdGlvbnMuCgo9b3ZlciA0Cgo9aXRlbSBuZXcoKQoKdXN1YWxseSwgeW91IHdhbnQgdG8gY3JlYXRlIGFuIGluc3RhbmNlIG9mIHRoaXMKYnkgdXNpbmcgS2VybmVsOjpTeXN0ZW06OkR5bmFtaWNGaWVsZDo6aVBob25lOjppUGhvbmVCYWNrZW5kLT5uZXcoKTsKCj1jdXQKCnN1YiBuZXcgewogICAgbXkgKCAkVHlwZSwgJVBhcmFtICkgPSBAXzsKCiAgICAjIGFsbG9jYXRlIG5ldyBoYXNoIGZvciBvYmplY3QKICAgIG15ICRTZWxmID0ge307CiAgICBibGVzcyggJFNlbGYsICRUeXBlICk7CgogICAgIyBnZXQgbmVlZGVkIG9iamVjdHMKICAgIGZvciBteSAkTmVlZGVkIChxdyhDb25maWdPYmplY3QgRW5jb2RlT2JqZWN0IExvZ09iamVjdCBNYWluT2JqZWN0IERCT2JqZWN0KSkgewogICAgICAgIGRpZSAiR290IG5vICROZWVkZWQhIiBpZiAhJFBhcmFteyROZWVkZWR9OwoKICAgICAgICAkU2VsZi0+eyROZWVkZWR9ID0gJFBhcmFteyROZWVkZWR9OwogICAgfQoKICAgICMgY3JlYXRlIGFkZGl0aW9uYWwgb2JqZWN0cwogICAgJFNlbGYtPntEeW5hbWljRmllbGRWYWx1ZU9iamVjdH0gPSBLZXJuZWw6OlN5c3RlbTo6RHluYW1pY0ZpZWxkVmFsdWUtPm5ldyggJXskU2VsZn0gKTsKCiAgICByZXR1cm4gJFNlbGY7Cn0KCnN1YiBJc0lQaG9uZUNhcGFibGUgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICByZXR1cm4gMDsKfQoKc3ViIEVkaXRGaWVsZFJlbmRlciB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgICMgbm90IHN1cHBvcnRlZCBieSBpUGhvbmUgQXBwCiAgICByZXR1cm47Cn0KCnN1YiBFZGl0RmllbGRWYWx1ZUdldCB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgICMgbm90IHN1cHBvcnRlZCBieSBpUGhvbmUgQXBwCiAgICByZXR1cm47Cn0KCnN1YiBFZGl0RmllbGRWYWx1ZVZhbGlkYXRlIHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgIyBub3Qgc3VwcG9ydGVkIGJ5IGlQaG9uZSBBcHAKICAgIHJldHVybjsKfQoKMTsKCj1iYWNrCgo9aGVhZDEgVEVSTVMgQU5EIENPTkRJVElPTlMKClRoaXMgc29mdHdhcmUgaXMgcGFydCBvZiB0aGUgT1RSUyBwcm9qZWN0IChMPGh0dHA6Ly9vdHJzLm9yZy8+KS4KClRoaXMgc29mdHdhcmUgY29tZXMgd2l0aCBBQlNPTFVURUxZIE5PIFdBUlJBTlRZLiBGb3IgZGV0YWlscywgc2VlCnRoZSBlbmNsb3NlZCBmaWxlIENPUFlJTkcgZm9yIGxpY2Vuc2UgaW5mb3JtYXRpb24gKEFHUEwpLiBJZiB5b3UKZGlkIG5vdCByZWNlaXZlIHRoaXMgZmlsZSwgc2VlIEw8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2FncGwudHh0Pi4KCj1jdXQKCj1oZWFkMSBWRVJTSU9OCgokJAoKPWN1dAo=
IyAtLQojIEtlcm5lbC9TeXN0ZW0vRHluYW1pY0ZpZWxkL2lQaG9uZS9CYWNrZW5kL1RleHQucG0gLSBEZWxlZ2F0ZSBmb3IgRHluYW1pY0ZpZWxkIFRleHQgYmFja2VuZAojIENvcHlyaWdodCAoQykgMjAwMS0yMDE1IE9UUlMgQUcsIGh0dHA6Ly9vdHJzLmNvbS8KIyAtLQojIFRoaXMgc29mdHdhcmUgY29tZXMgd2l0aCBBQlNPTFVURUxZIE5PIFdBUlJBTlRZLiBGb3IgZGV0YWlscywgc2VlCiMgdGhlIGVuY2xvc2VkIGZpbGUgQ09QWUlORyBmb3IgbGljZW5zZSBpbmZvcm1hdGlvbiAoQUdQTCkuIElmIHlvdQojIGRpZCBub3QgcmVjZWl2ZSB0aGlzIGZpbGUsIHNlZSBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvYWdwbC50eHQuCiMgLS0KCnBhY2thZ2UgS2VybmVsOjpTeXN0ZW06OkR5bmFtaWNGaWVsZDo6aVBob25lOjpCYWNrZW5kOjpUZXh0OwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwoKdXNlIEtlcm5lbDo6U3lzdGVtOjpWYXJpYWJsZUNoZWNrIHF3KDphbGwpOwp1c2UgS2VybmVsOjpTeXN0ZW06OkR5bmFtaWNGaWVsZFZhbHVlOwoKPWhlYWQxIE5BTUUKCktlcm5lbDo6U3lzdGVtOjpEeW5hbWljRmllbGQ6OmlQaG9uZTo6QmFja2VuZDo6VGV4dEFyZWEKCj1oZWFkMSBTWU5PUFNJUwoKRHluYW1pY0ZpZWxkcyBUZXh0IGJhY2tlbmQgZGVsZWdhdGUgZm9yIGlQaG9uZUhhbmRsZQoKPWhlYWQxIFBVQkxJQyBJTlRFUkZBQ0UKClRoaXMgbW9kdWxlIGltcGxlbWVudHMgdGhlIHB1YmxpYyBpbnRlcmZhY2Ugb2YgTDxLZXJuZWw6OlN5c3RlbTo6RHluYW1pY0ZpZWxkOjppUGhvbmU6OmlQaG9uZUJhY2tlbmQ+LgpQbGVhc2UgbG9vayB0aGVyZSBmb3IgYSBkZXRhaWxlZCByZWZlcmVuY2Ugb2YgdGhlIGZ1bmN0aW9ucy4KCj1vdmVyIDQKCj1pdGVtIG5ldygpCgp1c3VhbGx5LCB5b3Ugd2FudCB0byBjcmVhdGUgYW4gaW5zdGFuY2Ugb2YgdGhpcwpieSB1c2luZyBLZXJuZWw6OlN5c3RlbTo6RHluYW1pY0ZpZWxkOjppUGhvbmU6OmlQaG9uZUJhY2tlbmQtPm5ldygpOwoKPWN1dAoKc3ViIG5ldyB7CiAgICBteSAoICRUeXBlLCAlUGFyYW0gKSA9IEBfOwoKICAgICMgYWxsb2NhdGUgbmV3IGhhc2ggZm9yIG9iamVjdAogICAgbXkgJFNlbGYgPSB7fTsKICAgIGJsZXNzKCAkU2VsZiwgJFR5cGUgKTsKCiAgICAjIGdldCBuZWVkZWQgb2JqZWN0cwogICAgZm9yIG15ICROZWVkZWQgKHF3KENvbmZpZ09iamVjdCBFbmNvZGVPYmplY3QgTG9nT2JqZWN0IE1haW5PYmplY3QgREJPYmplY3QpKSB7CiAgICAgICAgZGllICJHb3Qgbm8gJE5lZWRlZCEiIGlmICEkUGFyYW17JE5lZWRlZH07CgogICAgICAgICRTZWxmLT57JE5lZWRlZH0gPSAkUGFyYW17JE5lZWRlZH07CiAgICB9CgogICAgIyBjcmVhdGUgYWRkaXRpb25hbCBvYmplY3RzCiAgICAkU2VsZi0+e0R5bmFtaWNGaWVsZFZhbHVlT2JqZWN0fSA9IEtlcm5lbDo6U3lzdGVtOjpEeW5hbWljRmllbGRWYWx1ZS0+bmV3KCAleyRTZWxmfSApOwoKICAgIHJldHVybiAkU2VsZjsKfQoKc3ViIElzSVBob25lQ2FwYWJsZSB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgIHJldHVybiAxOwp9CgpzdWIgRWRpdEZpZWxkUmVuZGVyIHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgIyB0YWtlIGNvbmZpZyBmcm9tIGZpZWxkIGNvbmZpZwogICAgbXkgJEZpZWxkQ29uZmlnID0gJFBhcmFte0R5bmFtaWNGaWVsZENvbmZpZ30tPntDb25maWd9OwogICAgbXkgJEZpZWxkTmFtZSAgID0gJ0R5bmFtaWNGaWVsZF8nIC4gJFBhcmFte0R5bmFtaWNGaWVsZENvbmZpZ30tPntOYW1lfTsKICAgIG15ICRGaWVsZExhYmVsICA9ICRQYXJhbXtMYW5ndWFnZU9iamVjdH0tPkdldCggJFBhcmFte0R5bmFtaWNGaWVsZENvbmZpZ30tPntMYWJlbH0gKTsKCiAgICBteSAkVmFsdWUgPSAnJzsKCiAgICAjIHNldCB0aGUgZmllbGQgdmFsdWUgb3IgZGVmYXVsdAogICAgaWYgKCAkUGFyYW17VXNlRGVmYXVsdFZhbHVlfSApIHsKICAgICAgICAkVmFsdWUgPSAoIGRlZmluZWQgJEZpZWxkQ29uZmlnLT57RGVmYXVsdFZhbHVlfSA/ICRGaWVsZENvbmZpZy0+e0RlZmF1bHRWYWx1ZX0gOiAnJyApOwogICAgfQogICAgJFZhbHVlID0gJFBhcmFte1ZhbHVlfSBpZiBkZWZpbmVkICRQYXJhbXtWYWx1ZX07CgogICAgIyBjcmVhdGUgdGhlIGZpZWxkIGRlZmluaXRpb24KICAgIG15ICREYXRhID0gewogICAgICAgIE5hbWUgICAgICA9PiAkRmllbGROYW1lLAogICAgICAgIFRpdGxlICAgICA9PiAkRmllbGRMYWJlbCwKICAgICAgICBEYXRhdHlwZSAgPT4gJ1RleHQnLAogICAgICAgIFZpZXd0eXBlICA9PiAnSW5wdXQnLAogICAgICAgIE1pbiAgICAgICA9PiAxLAogICAgICAgIE1heCAgICAgICA9PiAyMDAsCiAgICAgICAgTWFuZGF0b3J5ID0+ICRQYXJhbXtNYW5kYXRvcnl9LAogICAgICAgIERlZmF1bHQgICA9PiAkVmFsdWUgfHwgJycsCiAgICB9OwoKICAgIHJldHVybiAkRGF0YTsKfQoKc3ViIEVkaXRGaWVsZFZhbHVlR2V0IHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgbXkgJEZpZWxkTmFtZSA9ICdEeW5hbWljRmllbGRfJyAuICRQYXJhbXtEeW5hbWljRmllbGRDb25maWd9LT57TmFtZX07CgogICAgbXkgJFZhbHVlID0gJFBhcmFteyRGaWVsZE5hbWV9OwoKICAgIHJldHVybiAkVmFsdWU7Cn0KCnN1YiBFZGl0RmllbGRWYWx1ZVZhbGlkYXRlIHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgIyBnZXQgdGhlIGZpZWxkIHZhbHVlIGZyb20gcGFyYW0KICAgIG15ICRWYWx1ZSA9ICRQYXJhbXtWYWx1ZX07CgogICAgbXkgJFNlcnZlckVycm9yOwogICAgbXkgJEVycm9yTWVzc2FnZTsKCiAgICAjIHBlcmZvcm0gbmVjZXNzYXJ5IHZhbGlkYXRpb25zCiAgICBpZiAoICRQYXJhbXtNYW5kYXRvcnl9ICYmICRWYWx1ZSBlcSAnJyApIHsKICAgICAgICAkU2VydmVyRXJyb3IgPSAxOwogICAgfQoKICAgICMgY3JlYXRlIHJlc3VsdGluZyBzdHJ1Y3R1cmUKICAgIG15ICRSZXN1bHQgPSB7CiAgICAgICAgU2VydmVyRXJyb3IgID0+ICRTZXJ2ZXJFcnJvciwKICAgICAgICBFcnJvck1lc3NhZ2UgPT4gJEVycm9yTWVzc2FnZSwKICAgIH07CgogICAgcmV0dXJuICRSZXN1bHQ7Cn0KCjE7Cgo9YmFjawoKPWhlYWQxIFRFUk1TIEFORCBDT05ESVRJT05TCgpUaGlzIHNvZnR3YXJlIGlzIHBhcnQgb2YgdGhlIE9UUlMgcHJvamVjdCAoTDxodHRwOi8vb3Rycy5vcmcvPikuCgpUaGlzIHNvZnR3YXJlIGNvbWVzIHdpdGggQUJTT0xVVEVMWSBOTyBXQVJSQU5UWS4gRm9yIGRldGFpbHMsIHNlZQp0aGUgZW5jbG9zZWQgZmlsZSBDT1BZSU5HIGZvciBsaWNlbnNlIGluZm9ybWF0aW9uIChBR1BMKS4gSWYgeW91CmRpZCBub3QgcmVjZWl2ZSB0aGlzIGZpbGUsIHNlZSBMPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9hZ3BsLnR4dD4uCgo9Y3V0Cgo9aGVhZDEgVkVSU0lPTgoKJCQKCj1jdXQK
IyAtLQojIEtlcm5lbC9TeXN0ZW0vRHluYW1pY0ZpZWxkL2lQaG9uZS9CYWNrZW5kL1RleHRBcmVhLnBtIC0gRGVsZWdhdGUgZm9yIER5bmFtaWNGaWVsZCBUZXh0QXJlYSBiYWNrZW5kCiMgQ29weXJpZ2h0IChDKSAyMDAxLTIwMTUgT1RSUyBBRywgaHR0cDovL290cnMuY29tLwojIC0tCiMgVGhpcyBzb2Z0d2FyZSBjb21lcyB3aXRoIEFCU09MVVRFTFkgTk8gV0FSUkFOVFkuIEZvciBkZXRhaWxzLCBzZWUKIyB0aGUgZW5jbG9zZWQgZmlsZSBDT1BZSU5HIGZvciBsaWNlbnNlIGluZm9ybWF0aW9uIChBR1BMKS4gSWYgeW91CiMgZGlkIG5vdCByZWNlaXZlIHRoaXMgZmlsZSwgc2VlIGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9hZ3BsLnR4dC4KIyAtLQoKcGFja2FnZSBLZXJuZWw6OlN5c3RlbTo6RHluYW1pY0ZpZWxkOjppUGhvbmU6OkJhY2tlbmQ6OlRleHRBcmVhOwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwoKdXNlIEtlcm5lbDo6U3lzdGVtOjpWYXJpYWJsZUNoZWNrIHF3KDphbGwpOwp1c2UgS2VybmVsOjpTeXN0ZW06OkR5bmFtaWNGaWVsZFZhbHVlOwoKPWhlYWQxIE5BTUUKCktlcm5lbDo6U3lzdGVtOjpEeW5hbWljRmllbGQ6OmlQaG9uZTo6QmFja2VuZDo6VGV4dEFyZWEKCj1oZWFkMSBTWU5PUFNJUwoKRHluYW1pY0ZpZWxkcyBUZXh0QXJlYSBiYWNrZW5kIGRlbGVnYXRlIGZvciBpUGhvbmVIYW5sZQoKPWhlYWQxIFBVQkxJQyBJTlRFUkZBQ0UKClRoaXMgbW9kdWxlIGltcGxlbWVudHMgdGhlIHB1YmxpYyBpbnRlcmZhY2Ugb2YgTDxLZXJuZWw6OlN5c3RlbTo6RHluYW1pY0ZpZWxkOjppUGhvbmU6OmlQaG9uZUJhY2tlbmQ+LgpQbGVhc2UgbG9vayB0aGVyZSBmb3IgYSBkZXRhaWxlZCByZWZlcmVuY2Ugb2YgdGhlIGZ1bmN0aW9ucy4KCj1vdmVyIDQKCj1pdGVtIG5ldygpCgp1c3VhbGx5LCB5b3Ugd2FudCB0byBjcmVhdGUgYW4gaW5zdGFuY2Ugb2YgdGhpcwpieSB1c2luZyBLZXJuZWw6OlN5c3RlbTo6RHluYW1pY0ZpZWxkOjppUGhvbmU6OmlQaG9uZUJhY2tlbmQtPm5ldygpOwoKPWN1dAoKc3ViIG5ldyB7CiAgICBteSAoICRUeXBlLCAlUGFyYW0gKSA9IEBfOwoKICAgICMgYWxsb2NhdGUgbmV3IGhhc2ggZm9yIG9iamVjdAogICAgbXkgJFNlbGYgPSB7fTsKICAgIGJsZXNzKCAkU2VsZiwgJFR5cGUgKTsKCiAgICAjIGdldCBuZWVkZWQgb2JqZWN0cwogICAgZm9yIG15ICROZWVkZWQgKHF3KENvbmZpZ09iamVjdCBFbmNvZGVPYmplY3QgTG9nT2JqZWN0IE1haW5PYmplY3QgREJPYmplY3QpKSB7CiAgICAgICAgZGllICJHb3Qgbm8gJE5lZWRlZCEiIGlmICEkUGFyYW17JE5lZWRlZH07CgogICAgICAgICRTZWxmLT57JE5lZWRlZH0gPSAkUGFyYW17JE5lZWRlZH07CiAgICB9CgogICAgIyBjcmVhdGUgYWRkaXRpb25hbCBvYmplY3RzCiAgICAkU2VsZi0+e0R5bmFtaWNGaWVsZFZhbHVlT2JqZWN0fSA9IEtlcm5lbDo6U3lzdGVtOjpEeW5hbWljRmllbGRWYWx1ZS0+bmV3KCAleyRTZWxmfSApOwoKICAgIHJldHVybiAkU2VsZjsKfQoKc3ViIElzSVBob25lQ2FwYWJsZSB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgIHJldHVybiAxOwp9CgpzdWIgRWRpdEZpZWxkUmVuZGVyIHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgIyB0YWtlIGNvbmZpZyBmcm9tIGZpZWxkIGNvbmZpZwogICAgbXkgJEZpZWxkQ29uZmlnID0gJFBhcmFte0R5bmFtaWNGaWVsZENvbmZpZ30tPntDb25maWd9OwogICAgbXkgJEZpZWxkTmFtZSAgID0gJ0R5bmFtaWNGaWVsZF8nIC4gJFBhcmFte0R5bmFtaWNGaWVsZENvbmZpZ30tPntOYW1lfTsKICAgIG15ICRGaWVsZExhYmVsICA9ICRQYXJhbXtMYW5ndWFnZU9iamVjdH0tPkdldCggJFBhcmFte0R5bmFtaWNGaWVsZENvbmZpZ30tPntMYWJlbH0gKTsKCiAgICBteSAkVmFsdWUgPSAnJzsKCiAgICAjIHNldCB0aGUgZmllbGQgdmFsdWUgb3IgZGVmYXVsdAogICAgaWYgKCAkUGFyYW17VXNlRGVmYXVsdFZhbHVlfSApIHsKICAgICAgICAkVmFsdWUgPSAoIGRlZmluZWQgJEZpZWxkQ29uZmlnLT57RGVmYXVsdFZhbHVlfSA/ICRGaWVsZENvbmZpZy0+e0RlZmF1bHRWYWx1ZX0gOiAnJyApOwogICAgfQogICAgJFZhbHVlID0gJFBhcmFte1ZhbHVlfSBpZiBkZWZpbmVkICRQYXJhbXtWYWx1ZX07CgogICAgIyBjcmVhdGUgdGhlIGZpZWxkIGRlZmluaXRpb24KICAgIG15ICREYXRhID0gewogICAgICAgIE5hbWUgICAgICA9PiAkRmllbGROYW1lLAogICAgICAgIFRpdGxlICAgICA9PiAkRmllbGRMYWJlbCwKICAgICAgICBEYXRhdHlwZSAgPT4gJ1RleHQnLAogICAgICAgIFZpZXd0eXBlICA9PiAnVGV4dEFyZWEnLAogICAgICAgIE1pbiAgICAgICA9PiAxLAogICAgICAgIE1heCAgICAgICA9PiAyMF8wMDAsCiAgICAgICAgTWFuZGF0b3J5ID0+ICRQYXJhbXtNYW5kYXRvcnl9LAogICAgICAgIERlZmF1bHQgICA9PiAkVmFsdWUgfHwgJycsCiAgICB9OwoKICAgIHJldHVybiAkRGF0YTsKfQoKc3ViIEVkaXRGaWVsZFZhbHVlR2V0IHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgbXkgJEZpZWxkTmFtZSA9ICdEeW5hbWljRmllbGRfJyAuICRQYXJhbXtEeW5hbWljRmllbGRDb25maWd9LT57TmFtZX07CgogICAgbXkgJFZhbHVlID0gJFBhcmFteyRGaWVsZE5hbWV9OwoKICAgIHJldHVybiAkVmFsdWU7Cn0KCnN1YiBFZGl0RmllbGRWYWx1ZVZhbGlkYXRlIHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgIyBnZXQgdGhlIGZpZWxkIHZhbHVlIGZyb20gdGhlIHBhcmFtCiAgICBteSAkVmFsdWUgPSAkUGFyYW17VmFsdWV9OwoKICAgIG15ICRTZXJ2ZXJFcnJvcjsKICAgIG15ICRFcnJvck1lc3NhZ2U7CgogICAgIyBwZXJmb3JtIG5lY2Vzc2FyeSB2YWxpZGF0aW9ucwogICAgaWYgKCAkUGFyYW17TWFuZGF0b3J5fSAmJiAkVmFsdWUgZXEgJycgKSB7CiAgICAgICAgJFNlcnZlckVycm9yID0gMTsKICAgIH0KCiAgICAjIGNyZWF0ZSByZXN1bHRpbmcgc3RydWN0dXJlCiAgICBteSAkUmVzdWx0ID0gewogICAgICAgIFNlcnZlckVycm9yICA9PiAkU2VydmVyRXJyb3IsCiAgICAgICAgRXJyb3JNZXNzYWdlID0+ICRFcnJvck1lc3NhZ2UsCiAgICB9OwoKICAgIHJldHVybiAkUmVzdWx0Owp9CgoxOwoKPWJhY2sKCj1oZWFkMSBURVJNUyBBTkQgQ09ORElUSU9OUwoKVGhpcyBzb2Z0d2FyZSBpcyBwYXJ0IG9mIHRoZSBPVFJTIHByb2plY3QgKEw8aHR0cDovL290cnMub3JnLz4pLgoKVGhpcyBzb2Z0d2FyZSBjb21lcyB3aXRoIEFCU09MVVRFTFkgTk8gV0FSUkFOVFkuIEZvciBkZXRhaWxzLCBzZWUKdGhlIGVuY2xvc2VkIGZpbGUgQ09QWUlORyBmb3IgbGljZW5zZSBpbmZvcm1hdGlvbiAoQUdQTCkuIElmIHlvdQpkaWQgbm90IHJlY2VpdmUgdGhpcyBmaWxlLCBzZWUgTDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvYWdwbC50eHQ+LgoKPWN1dAoKPWhlYWQxIFZFUlNJT04KCiQkCgo9Y3V0Cg==
IyAtLQojIEtlcm5lbC9TeXN0ZW0vRHluYW1pY0ZpZWxkL2lQaG9uZS9pUGhvbmVCYWNrZW5kLnBtIC0gSW50ZXJmYWNlIGZvciBEeW5hbWljRmllbGQgYmFja2VuZHMKIyBDb3B5cmlnaHQgKEMpIDIwMDEtMjAxNSBPVFJTIEFHLCBodHRwOi8vb3Rycy5jb20vCiMgLS0KIyBUaGlzIHNvZnR3YXJlIGNvbWVzIHdpdGggQUJTT0xVVEVMWSBOTyBXQVJSQU5UWS4gRm9yIGRldGFpbHMsIHNlZQojIHRoZSBlbmNsb3NlZCBmaWxlIENPUFlJTkcgZm9yIGxpY2Vuc2UgaW5mb3JtYXRpb24gKEFHUEwpLiBJZiB5b3UKIyBkaWQgbm90IHJlY2VpdmUgdGhpcyBmaWxlLCBzZWUgaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2FncGwudHh0LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6U3lzdGVtOjpEeW5hbWljRmllbGQ6OmlQaG9uZTo6aVBob25lQmFja2VuZDsKCnVzZSBzdHJpY3Q7CnVzZSB3YXJuaW5nczsKCnVzZSBTY2FsYXI6OlV0aWwgcXcod2Vha2VuKTsKdXNlIEtlcm5lbDo6U3lzdGVtOjpWYXJpYWJsZUNoZWNrIHF3KDphbGwpOwoKPWhlYWQxIE5BTUUKCktlcm5lbDo6U3lzdGVtOjpEeW5hbWljRmllbGQ6OkJhY2tlbmQKCj1oZWFkMSBTWU5PUFNJUwoKRHluYW1pY0ZpZWxkcyBiYWNrZW5kIGludGVyZmFjZQoKPWhlYWQxIFBVQkxJQyBJTlRFUkZBQ0UKCj1vdmVyIDQKCj1jdXQKCj1pdGVtIG5ldygpCgpjcmVhdGUgYSBEeW5hbWljRmllbGQgaVBob25lIGJhY2tlbmQgb2JqZWN0CgogICAgdXNlIEtlcm5lbDo6Q29uZmlnOwogICAgdXNlIEtlcm5lbDo6U3lzdGVtOjpFbmNvZGU7CiAgICB1c2UgS2VybmVsOjpTeXN0ZW06OkxvZzsKICAgIHVzZSBLZXJuZWw6OlN5c3RlbTo6VGltZTsKICAgIHVzZSBLZXJuZWw6OlN5c3RlbTo6TWFpbjsKICAgIHVzZSBLZXJuZWw6OlN5c3RlbTo6REI7CiAgICB1c2UgS2VybmVsOjpTeXN0ZW06OkR5bmFtaWNGaWVsZDo6aVBob25lOjppUGhvbmVCYWNrZW5kOwoKICAgIG15ICRDb25maWdPYmplY3QgPSBLZXJuZWw6OkNvbmZpZy0+bmV3KCk7CiAgICBteSAkRW5jb2RlT2JqZWN0ID0gS2VybmVsOjpTeXN0ZW06OkVuY29kZS0+bmV3KAogICAgICAgIENvbmZpZ09iamVjdCA9PiAkQ29uZmlnT2JqZWN0LAogICAgKTsKICAgIG15ICRMb2dPYmplY3QgPSBLZXJuZWw6OlN5c3RlbTo6TG9nLT5uZXcoCiAgICAgICAgQ29uZmlnT2JqZWN0ID0+ICRDb25maWdPYmplY3QsCiAgICAgICAgRW5jb2RlT2JqZWN0ID0+ICRFbmNvZGVPYmplY3QsCiAgICApOwogICAgbXkgJFRpbWVPYmplY3QgPSBLZXJuZWw6OlN5c3RlbTo6VGltZS0+bmV3KAogICAgICAgIENvbmZpZ09iamVjdCA9PiAkQ29uZmlnT2JqZWN0LAogICAgICAgIExvZ09iamVjdCAgICA9PiAkTG9nT2JqZWN0LAogICAgKTsKICAgIG15ICRNYWluT2JqZWN0ID0gS2VybmVsOjpTeXN0ZW06Ok1haW4tPm5ldygKICAgICAgICBDb25maWdPYmplY3QgPT4gJENvbmZpZ09iamVjdCwKICAgICAgICBFbmNvZGVPYmplY3QgPT4gJEVuY29kZU9iamVjdCwKICAgICAgICBMb2dPYmplY3QgICAgPT4gJExvZ09iamVjdCwKICAgICk7CiAgICBteSAkREJPYmplY3QgPSBLZXJuZWw6OlN5c3RlbTo6REItPm5ldygKICAgICAgICBDb25maWdPYmplY3QgPT4gJENvbmZpZ09iamVjdCwKICAgICAgICBFbmNvZGVPYmplY3QgPT4gJEVuY29kZU9iamVjdCwKICAgICAgICBMb2dPYmplY3QgICAgPT4gJExvZ09iamVjdCwKICAgICAgICBNYWluT2JqZWN0ICAgPT4gJE1haW5PYmplY3QsCiAgICApOwogICAgbXkgJGlQaG9uZUJhY2tlbmRPYmplY3QgPSBLZXJuZWw6OlN5c3RlbTo6RHluYW1pY0ZpZWxkOjppUGhvbmU6OmlQaG9uZUJhY2tlbmQtPm5ldygKICAgICAgICBDb25maWdPYmplY3QgICAgICAgID0+ICRDb25maWdPYmplY3QsCiAgICAgICAgRW5jb2RlT2JqZWN0ICAgICAgICA9PiAkRW5jb2RlT2JqZWN0LAogICAgICAgIExvZ09iamVjdCAgICAgICAgICAgPT4gJExvZ09iamVjdCwKICAgICAgICBUaW1lT2JqZWN0ICAgICAgICAgID0+ICRUaW1lT2JqZWN0LAogICAgICAgIE1haW5PYmplY3QgICAgICAgICAgPT4gJE1haW5PYmplY3QsCiAgICAgICAgREJPYmplY3QgICAgICAgICAgICA9PiAkREJPYmplY3QsCiAgICApOwoKPWN1dAoKc3ViIG5ldyB7CiAgICBteSAoICRUeXBlLCAlUGFyYW0gKSA9IEBfOwoKICAgICMgYWxsb2NhdGUgbmV3IGhhc2ggZm9yIG9iamVjdAogICAgbXkgJFNlbGYgPSB7fTsKICAgIGJsZXNzKCAkU2VsZiwgJFR5cGUgKTsKCiAgICAjIGdldCBuZWVkZWQgb2JqZWN0cwogICAgZm9yIG15ICROZWVkZWQgKHF3KENvbmZpZ09iamVjdCBFbmNvZGVPYmplY3QgTG9nT2JqZWN0IE1haW5PYmplY3QgREJPYmplY3QgVGltZU9iamVjdCkpIHsKICAgICAgICBkaWUgIkdvdCBubyAkTmVlZGVkISIgaWYgISRQYXJhbXskTmVlZGVkfTsKCiAgICAgICAgJFNlbGYtPnskTmVlZGVkfSA9ICRQYXJhbXskTmVlZGVkfTsKICAgIH0KCiAgICAjIGdldCB0aGUgRHluYW1pYyBGaWVsZCBCYWNrZW5kcyBjb25maWd1cmF0aW9uCiAgICBteSAkRHluYW1pY0ZpZWxkc0NvbmZpZyA9ICRTZWxmLT57Q29uZmlnT2JqZWN0fS0+R2V0KCdEeW5hbWljRmllbGRzOjppUGhvbmU6OkJhY2tlbmQnKTsKCiAgICAjIGNoZWNrIENvbmZpZ3VyYXRpb24gZm9ybWF0CiAgICBpZiAoICFJc0hhc2hSZWZXaXRoRGF0YSgkRHluYW1pY0ZpZWxkc0NvbmZpZykgKSB7CiAgICAgICAgJFNlbGYtPntMb2dPYmplY3R9LT5Mb2coCiAgICAgICAgICAgIFByaW9yaXR5ID0+ICdlcnJvcicsCiAgICAgICAgICAgIE1lc3NhZ2UgID0+ICJEeW5hbWljIGZpZWxkIGNvbmZpZ3VyYXRpb24gaXMgbm90IHZhbGlkISIsCiAgICAgICAgKTsKICAgICAgICByZXR1cm47CiAgICB9CgogICAgIyBjcmVhdGUgYWxsIHJlZ2lzdGVyZWQgYmFja2VuZCBtb2R1bGVzCiAgICBmb3IgbXkgJEZpZWxkVHlwZSAoIHNvcnQga2V5cyAleyREeW5hbWljRmllbGRzQ29uZmlnfSApIHsKCiAgICAgICAgIyBjaGVjayBpZiB0aGUgcmVnaXN0cmF0aW9uIGZvciBlYWNoIGZpZWxkIHR5cGUgaXMgdmFsaWQKICAgICAgICBpZiAoICEkRHluYW1pY0ZpZWxkc0NvbmZpZy0+eyRGaWVsZFR5cGV9LT57TW9kdWxlfSApIHsKICAgICAgICAgICAgJFNlbGYtPntMb2dPYmplY3R9LT5Mb2coCiAgICAgICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICAgICAgTWVzc2FnZSAgPT4gIlJlZ2lzdHJhdGlvbiBmb3IgZmllbGQgdHlwZSAkRmllbGRUeXBlIGlzIGludmFsaWQhIiwKICAgICAgICAgICAgKTsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KCiAgICAgICAgIyBzZXQgdGhlIGJhY2tlbmQgZmlsZQogICAgICAgIG15ICRCYWNrZW5kTW9kdWxlID0gJER5bmFtaWNGaWVsZHNDb25maWctPnskRmllbGRUeXBlfS0+e01vZHVsZX07CgogICAgICAgICMgY2hlY2sgaWYgYmFja2VuZCBmaWVsZCBleGlzdHMKICAgICAgICBpZiAoICEkU2VsZi0+e01haW5PYmplY3R9LT5SZXF1aXJlKCRCYWNrZW5kTW9kdWxlKSApIHsKICAgICAgICAgICAgJFNlbGYtPntMb2dPYmplY3R9LT5Mb2coCiAgICAgICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICAgICAgTWVzc2FnZSAgPT4gIkNhbid0IGxvYWQgZHluYW1pYyBmaWVsZCBiYWNrZW5kIG1vZHVsZSBmb3IgZmllbGQgdHlwZSAkRmllbGRUeXBlISIsCiAgICAgICAgICAgICk7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CgogICAgICAgICMgY3JlYXRlIGEgYmFja2VuZCBvYmplY3QKICAgICAgICBteSAkQmFja2VuZE9iamVjdCA9ICRCYWNrZW5kTW9kdWxlLT5uZXcoICV7JFNlbGZ9ICk7CgogICAgICAgIGlmICggISRCYWNrZW5kT2JqZWN0ICkgewogICAgICAgICAgICAkU2VsZi0+e0xvZ09iamVjdH0tPkxvZygKICAgICAgICAgICAgICAgIFByaW9yaXR5ID0+ICdlcnJvcicsCiAgICAgICAgICAgICAgICBNZXNzYWdlICA9PiAiQ291bGRuJ3QgY3JlYXRlIGEgYmFja2VuZCBvYmplY3QgZm9yIGZpZWxkIHR5cGUgJEZpZWxkVHlwZSEiLAogICAgICAgICAgICApOwogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQoKICAgICAgICBpZiAoIHJlZiAkQmFja2VuZE9iamVjdCBuZSAkQmFja2VuZE1vZHVsZSApIHsKICAgICAgICAgICAgJFNlbGYtPntMb2dPYmplY3R9LT5Mb2coCiAgICAgICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICAgICAgTWVzc2FnZSAgPT4gIkJhY2tlbmQgb2JqZWN0IGZvciBmaWVsZCB0eXBlICRGaWVsZFR5cGUgd2FzIG5vdCBjcmVhdGVkIHN1Y2Nlc3NmdWx5ISIsCiAgICAgICAgICAgICk7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CgogICAgICAgICMgcmVtZW1iZXIgdGhlIGJhY2tlbmQgb2JqZWN0CiAgICAgICAgJFNlbGYtPnsgJ0R5bmFtaWNGaWVsZCcgLiAkRmllbGRUeXBlIC4gJ09iamVjdCcgfSA9ICRCYWNrZW5kT2JqZWN0OwogICAgfQoKICAgICMgZ2V0IHRoZSBEeW5hbWljIEZpZWxkIE9iamVjdHMgY29uZmlndXJhdGlvbgogICAgbXkgJER5bmFtaWNGaWVsZE9iamVjdFR5cGVDb25maWcgPSAkU2VsZi0+e0NvbmZpZ09iamVjdH0tPkdldCgnRHluYW1pY0ZpZWxkczo6T2JqZWN0VHlwZScpOwoKICAgICMgY2hlY2sgQ29uZmlndXJhdGlvbiBmb3JtYXQKICAgIGlmICggSXNIYXNoUmVmV2l0aERhdGEoJER5bmFtaWNGaWVsZE9iamVjdFR5cGVDb25maWcpICkgewoKICAgICAgICAjIGNyZWF0ZSBhbGwgcmVnaXN0ZXJlZCBPYmplY3RUeXBlIGhhbmRsZXIgbW9kdWxlcwogICAgICAgIGZvciBteSAkT2JqZWN0VHlwZSAoIHNvcnQga2V5cyAleyREeW5hbWljRmllbGRPYmplY3RUeXBlQ29uZmlnfSApIHsKCiAgICAgICAgICAgICMgY2hlY2sgaWYgdGhlIHJlZ2lzdHJhdGlvbiBmb3IgZWFjaCBmaWVsZCB0eXBlIGlzIHZhbGlkCiAgICAgICAgICAgIGlmICggISREeW5hbWljRmllbGRPYmplY3RUeXBlQ29uZmlnLT57JE9iamVjdFR5cGV9LT57TW9kdWxlfSApIHsKICAgICAgICAgICAgICAgICRTZWxmLT57TG9nT2JqZWN0fS0+TG9nKAogICAgICAgICAgICAgICAgICAgIFByaW9yaXR5ID0+ICdlcnJvcicsCiAgICAgICAgICAgICAgICAgICAgTWVzc2FnZSAgPT4gIlJlZ2lzdHJhdGlvbiBmb3Igb2JqZWN0IHR5cGUgJE9iamVjdFR5cGUgaXMgaW52YWxpZCEiLAogICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgIyBzZXQgdGhlIGJhY2tlbmQgZmlsZQogICAgICAgICAgICBteSAkT2JqZWN0SGFuZGxlck1vZHVsZSA9ICREeW5hbWljRmllbGRPYmplY3RUeXBlQ29uZmlnLT57JE9iamVjdFR5cGV9LT57TW9kdWxlfTsKCiAgICAgICAgICAgICMgY2hlY2sgaWYgYmFja2VuZCBmaWVsZCBleGlzdHMKICAgICAgICAgICAgaWYgKCAhJFNlbGYtPntNYWluT2JqZWN0fS0+UmVxdWlyZSgkT2JqZWN0SGFuZGxlck1vZHVsZSkgKSB7CiAgICAgICAgICAgICAgICAkU2VsZi0+e0xvZ09iamVjdH0tPkxvZygKICAgICAgICAgICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICAgICAgICAgIE1lc3NhZ2UgPT4KICAgICAgICAgICAgICAgICAgICAgICAgIkNhbid0IGxvYWQgZHluYW1pYyBmaWVsZCBvYmplY3QgaGFuZGxlciBtb2R1bGUgZm9yIG9iamVjdCB0eXBlICRPYmplY3RUeXBlISIsCiAgICAgICAgICAgICAgICApOwogICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICB9CgogICAgICAgICAgICAjIGNyZWF0ZSBhIGJhY2tlbmQgb2JqZWN0CiAgICAgICAgICAgIG15ICRPYmplY3RIYW5kbGVyT2JqZWN0ID0gJE9iamVjdEhhbmRsZXJNb2R1bGUtPm5ldygKICAgICAgICAgICAgICAgICV7JFNlbGZ9LAogICAgICAgICAgICAgICAgJVBhcmFtLCAgICAjIHBhc3MgJVBhcmFtIHRvbywgZm9yIG9wdGlvbmFsIGFyZ3VtZW50cyBsaWtlIFRpY2tldE9iamVjdAogICAgICAgICAgICApOwoKICAgICAgICAgICAgaWYgKCAhJE9iamVjdEhhbmRsZXJPYmplY3QgKSB7CiAgICAgICAgICAgICAgICAkU2VsZi0+e0xvZ09iamVjdH0tPkxvZygKICAgICAgICAgICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICAgICAgICAgIE1lc3NhZ2UgID0+ICJDb3VsZG4ndCBjcmVhdGUgYSBoYW5kbGVyIG9iamVjdCBmb3Igb2JqZWN0IHR5cGUgJE9iamVjdFR5cGUhIiwKICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmICggcmVmICRPYmplY3RIYW5kbGVyT2JqZWN0IG5lICRPYmplY3RIYW5kbGVyTW9kdWxlICkgewogICAgICAgICAgICAgICAgJFNlbGYtPntMb2dPYmplY3R9LT5Mb2coCiAgICAgICAgICAgICAgICAgICAgUHJpb3JpdHkgPT4gJ2Vycm9yJywKICAgICAgICAgICAgICAgICAgICBNZXNzYWdlID0+CiAgICAgICAgICAgICAgICAgICAgICAgICJIYW5kbGVyIG9iamVjdCBmb3Igb2JqZWN0IHR5cGUgJE9iamVjdFR5cGUgd2FzIG5vdCBjcmVhdGVkIHN1Y2Nlc3NmdWx5ISIsCiAgICAgICAgICAgICAgICApOwogICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICB9CgogICAgICAgICAgICAjIHJlbWVtYmVyIHRoZSBiYWNrZW5kIG9iamVjdAogICAgICAgICAgICAkU2VsZi0+eyAnRHluYW1pY0ZpZWxkJyAuICRPYmplY3RUeXBlIC4gJ0hhbmRsZXJPYmplY3QnIH0gPSAkT2JqZWN0SGFuZGxlck9iamVjdDsKICAgICAgICB9CiAgICB9CgogICAgcmV0dXJuICRTZWxmOwp9Cgo9aXRlbSBJc0lQaG9uZUNhcGFibGUoKQoKcmV0dXJucyBpZiB0aGUgY3VycmVudCBmaWVsZCBiYWNrZW5kIGlzIHN1cHBvcnRlZCBieSB0aGUgaVBob25lIEFwcC4KCiAgICBteSAkaVBob25lQ2FwYWJsZSA9ICRpUGhvbmVCYWNrZW5kT2JqZWN0LT5Jc0lQaG9uZUNhcGFibGUoKTsgICAjIDEgb3IgMAoKPWN1dAoKc3ViIElzSVBob25lQ2FwYWJsZSB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgICMgY2hlY2sgbmVlZGVkIHN0dWZmCiAgICBmb3IgbXkgJE5lZWRlZCAocXcoRHluYW1pY0ZpZWxkQ29uZmlnKSkgewogICAgICAgIGlmICggISRQYXJhbXskTmVlZGVkfSApIHsKICAgICAgICAgICAgJFNlbGYtPntMb2dPYmplY3R9LT5Mb2coCiAgICAgICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICAgICAgTWVzc2FnZSAgPT4gIk5lZWQgJE5lZWRlZCEiCiAgICAgICAgICAgICk7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICB9CgogICAgIyBjaGVjayBEeW5hbWljRmllbGRDb25maWcgKGdlbmVyYWwpCiAgICBpZiAoICFJc0hhc2hSZWZXaXRoRGF0YSggJFBhcmFte0R5bmFtaWNGaWVsZENvbmZpZ30gKSApIHsKICAgICAgICAkU2VsZi0+e0xvZ09iamVjdH0tPkxvZygKICAgICAgICAgICAgUHJpb3JpdHkgPT4gJ2Vycm9yJywKICAgICAgICAgICAgTWVzc2FnZSAgPT4gIlRoZSBmaWVsZCBjb25maWd1cmF0aW9uIGlzIGludmFsaWQiLAogICAgICAgICk7CiAgICAgICAgcmV0dXJuOwogICAgfQoKICAgICMgY2hlY2sgRHluYW1pY0ZpZWxkQ29uZmlnIChpbnRlcm5hbGx5KQogICAgZm9yIG15ICROZWVkZWQgKHF3KElEIEZpZWxkVHlwZSBPYmplY3RUeXBlKSkgewogICAgICAgIGlmICggISRQYXJhbXtEeW5hbWljRmllbGRDb25maWd9LT57JE5lZWRlZH0gKSB7CiAgICAgICAgICAgICRTZWxmLT57TG9nT2JqZWN0fS0+TG9nKAogICAgICAgICAgICAgICAgUHJpb3JpdHkgPT4gJ2Vycm9yJywKICAgICAgICAgICAgICAgIE1lc3NhZ2UgID0+ICJOZWVkICROZWVkZWQgaW4gRHluYW1pY0ZpZWxkQ29uZmlnISIKICAgICAgICAgICAgKTsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgIH0KCiAgICAjIHNldCB0aGUgZHluYW1pYyBmaWVsZCBzcGVjaWZpYyBiYWNrZW5kCiAgICBteSAkRHluYW1pY0ZpZWxkQmFja2VuZCA9ICdEeW5hbWljRmllbGQnIC4gJFBhcmFte0R5bmFtaWNGaWVsZENvbmZpZ30tPntGaWVsZFR5cGV9IC4gJ09iamVjdCc7CgogICAgaWYgKCAhJFNlbGYtPnskRHluYW1pY0ZpZWxkQmFja2VuZH0gKSB7CiAgICAgICAgJFNlbGYtPntMb2dPYmplY3R9LT5Mb2coCiAgICAgICAgICAgIFByaW9yaXR5ID0+ICdlcnJvcicsCiAgICAgICAgICAgIE1lc3NhZ2UgID0+ICJCYWNrZW5kICRQYXJhbXtEeW5hbWljRmllbGRDb25maWd9LT57RmllbGRUeXBlfSBpcyBpbnZhbGlkISIKICAgICAgICApOwogICAgICAgIHJldHVybjsKICAgIH0KCiAgICAjIGNhbGwgSXNJUGhvbmVDYXBhYmxlIG9uIHRoZSBzcGVjaWZpYyBiYWNrZW5kCiAgICByZXR1cm4gJFNlbGYtPnskRHluYW1pY0ZpZWxkQmFja2VuZH0tPklzSVBob25lQ2FwYWJsZSgKICAgICAgICAlUGFyYW0KICAgICk7Cn0KCj1pdGVtIEVkaXRGaWVsZFJlbmRlcigpCgpjcmVhdGVzIHRoZSBmaWVsZCBkZWZpbml0aW9uIHRvIGJlIHVzZWQgaW4gaXBob25lIGVkaXQgbWFza3MuCgogICAgbXkgJEZpZWxkRGVmaW5pdGlvbiA9ICRpUGhvbmVCYWNrZW5kT2JqZWN0LT5FZGl0RmllbGRSZW5kZXIoCiAgICAgICAgRHluYW1pY0ZpZWxkQ29uZmlnICAgPT4gJER5bmFtaWNGaWVsZENvbmZpZywgICAgICAjIENvbXBsZXRlIGNvbmZpZyBvZiB0aGUgRHluYW1pY0ZpZWxkCiAgICAgICAgVmFsdWUgICAgICAgICAgICAgICAgPT4gJ0FueSB2YWx1ZScsICAgICAgICAgICAgICAjIE9wdGlvbmFsCiAgICAgICAgTWFuZGF0b3J5ICAgICAgICAgICAgPT4gMSwgICAgICAgICAgICAgICAgICAgICAgICAjIDAgb3IgMSwKICAgICAgICBVc2VEZWZhdWx0VmFsdWUgICAgICA9PiAxLCAgICAgICAgICAgICAgICAgICAgICAgICMgMCBvciAxLCAxIGRlZmF1bHQKICAgICAgICBPdmVycmlkZVBvc3NpYmxlTm9uZSA9PiAxLCAgICAgICAgICAgICAgICAgICAgICAgICMgT3B0aW9uYWwsIDAgb3IgMS4gSWYgZGVmaW5lZCBvcnZlcnJpZGVzIHRoZSBQb3NzaWJsZSBOb25lCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICBzZXR0aW5nIG9mIGFsbCBkeW5hbWljIGZpZWxkcyAod2hlcmUgYXBwbGllcykgd2l0aCB0aGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgIGRlZmluZWQgdmFsdWUKICAgICAgICBMYW5ndWFnZU9iamVjdCAgICAgICA9PiAkTGFuZ3VhZ2VPYmplY3QsCiAgICApOwoKICAgIFJldHVybnM6CgogICAgICAgIG15ICRGaWVsZERlZmluaXRpb24gPSB7CiAgICAgICAgICAgIE5hbWUgICAgICAgICAgID0+ICdzb21lIG5hbWUnLCAgICAgICMgRmllbGQgbmFtZQoKICAgICAgICAgICAgVGl0bGUgICAgICAgICAgPT4gJ3NvbWUgdGl0bGUnLCAgICAgIyBGaWVsZCBsYWJlbCAodHJhbnNsYXRlZCBpZiBjYXBhYmxlKQoKICAgICAgICAgICAgRGF0YXR5cGUgICAgICAgPT4gJERhdGF0eXBlLCAgICAgICAgIyBUaGUgdHlwZSBvZiB0aGF0IHRvIGhvbGQsIE9wdGlvbnM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgRGF0ZSB8fCBUaW1lIHx8IERhdGVUaW1lIHx8IFRleHQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICB8fCBOdW1lcmljCgogICAgICAgICAgICBWaWV3dHlwZSAgICAgICA9PiAkVmlld1R5cGUsICAgICAgICAjIFRoZSBmb3JtYXQgb2YgdGhlIGZpZWxkIGluIHRoZSBpUGhvbmUgQXBwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgQXV0b0NvbXBsZXRpb24gKGlucHV0IGZpZWxkIHdpdGggYW4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICBhdXRvLWNvbXBsZXRpb24gZmVhdHVyZTsgcG9zc2libGUgdmFsdWVzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAgYXJlIGxvYWRlZCBkeW5hbWljYWxseSBmcm9tIHRoZSBzZXJ2ZXIgd2l0aAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgIHRoZSBEeW5hbWljT3B0aW9ucykKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICBQaWNrZXIgKG9wdGlvbiBsaXN0IHdpdGggdmFsdWVzIHdoaWNoIGFyZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgIHByb3ZpZGVkIHdpdGggdGhlIE9wdGlvbnMgb3IgRHluYW1pY09wdGlvbnMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICBhdHRyaWJ1dGUpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgRU1haWwgKGlucHV0IGZpZWxkIGZvciBFLU1haWwgYWRkcmVzc2VzIHdpdGggYQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgIHN1aXRhYmxlIGtleWJvYXJkKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgIFVSTCAoaW5wdXQgZmllbGQgZm9yIFVSTHMgd2l0aCBhIHN1aXRhYmxlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAga2V5Ym9hcmQpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgUGFzc3dvcmQgKGlucHV0IGZpZWxkIGZvciBwYXNzd29yZHMsIHdoaWNoIGRvZXMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgICBub3QgcmV2ZWFsIHRoZSBlbnRlcmVkIHRleHQpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgSW5wdXQgKHNpbXBsZSBpbnB1dCBmaWVsZCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICBUZXh0QXJlYSAobXVsdGktbGluZSBpbnB1dCBmaWVsZCkKCiAgICAgICAgICAgIE1pbiAgICAgICAgICAgICA9PiAxLCAgICAgICAgICAgICAgICMgT3B0aW9uYWwsIE1pbmltdW0gdmFsdWUgZm9yIG51bWVyaWMgZm9ybSBmaWVsZHMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICBvciBtaW5pbXVtIGxlbmd0aCBmb3IgdGV4dCBmaWVsZHMuCgogICAgICAgICAgICBNYXggICAgICAgICAgICAgPT4gMiwgICAgICAgICAgICAgICAjIE9wdGlvbmFsLCBNYXhpbXVtIHZhbHVlIGZvciBudW1lcmljIGZvcm0gZmllbGRzIG9yCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgbWF4aW11bSBsZW5ndGggZm9yIHRleHQgZmllbGRzLgoKICAgICAgICAgICAgT3B0aW9ucyAgICAgICAgID0+IHsgICAgICAgICAgICAgICAgIyBPcHRpb25hbCwgTGlzdCBvZiBvcHRpb25zIHdoaWNoIGRlZmluZXMgdGhlIHJhbmdlCiAgICAgICAgICAgICAgICAxID0+ICdWYWx1ZTEnLCAgICAgICAgICAgICAgICAgICMgICAgb2YgdmFsdWVzIGZvciBhbiBlbGVtZW50IG9mIFZpZXd0eXBlIFBpY2tlci4KICAgICAgICAgICAgICAgIDIgPT4gJ1ZhbHVlMicsICAgICAgICAgICAgICAgICAgIyAgICBPcHRpb25zIGlzIG5vdCByZXF1aXJlZCBmb3IgcGlja2VyIGVsZW1lbnRzCiAgICAgICAgICAgIH0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgd2l0aCBEYXRhdHlwZSBEYXRlLCBUaW1lIG9yIERhdGVUaW1lLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgIE1hbmRhdG9yeSBpZiB0aGUgRGF0YXR5cGUgaXMgbm90IERhdGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgVGltZSB1bmQgRGF0ZVRpbWUsIHRoZSBWaWV3dHlwZSBpcyBQaWNrZXIgYW5kCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgRHl5bmFtaWNPcHRpb25zIGlzIG5vdCBwcm92aWRlZAoKICAgICAgICAgICAgRHluYW1pY09wdGlvbnMgPT4geyAgICAgICAgICAgICAgICAgIyBPcHRpb25hbCwgU2ltaWxhciB0byBPcHRpb25zIGJ1dCB0aGUgbGlzdCBvZgogICAgICAgICAgICAgICAgT2JqZWN0ICAgICA9PiAnc29tZSBvYmplY3QnLCAgICAjICAgIHZhbHVlcyBpcyBub3QgZml4ZWQsIGluc3RlYWQgYSBmdW5jdGlvbiBpcwogICAgICAgICAgICAgICAgTWV0aG9kICAgICA9PiAnc29tZSBtZXRob2QnLCAgICAjICAgIGNhbGxlZCB0byByZXRyZWl2ZSB0aGUgcG9zc2libGUgb3B0aW9ucy4KICAgICAgICAgICAgICAgIFBhcmFtZXRlcnMgPT4gWyAgICAgICAgICAgICAgICAgIyAgICBEeW5hbWljT3B0aW9ucyBpcyBub3QgcmVxdWlyZWQgZm9yIHBpY2tlcgogICAgICAgICAgICAgICAgICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgIGVsZW1lbnRzIHdpdGggRGF0YXR5cGUgRGF0ZSwgVGltZSBvciBEYXRlVGltZS4KICAgICAgICAgICAgICAgICAgICAgICAgUGFyYW0xID0+ICdzb21lIGRhdGEnLCAgIyAgICBNYW5kYXRvcnkgaWYgdGhlIERhdGF0eXBlIGlzIG5vdCBEYXRlLAogICAgICAgICAgICAgICAgICAgICAgICBQYXJhbTIgPT4gJ3NvbWUgZGF0YScsICAjICAgIFRpbWUgdW5kIERhdGVUaW1lLCB0aGUgVmlld3R5cGUgaXMgUGlja2VyIGFuZAogICAgICAgICAgICAgICAgICAgIH0sICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgIER5eW5hbWljT3B0aW9ucyBpcyBub3QgcHJvdmlkZWQKICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgIH0sCgogICAgICAgICAgICBBdXRvRmlsbEVsZW1lbnRzID0+IFsgICAgICAgICAgICAgICAjIE9wdGlvbmFsLCBVc2VkIHRvIHNldCBhbm90aGVyIGZpZWxkIHZhbHVlCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgRWxlbWVudE5hbWUgPT4gJ2ZpZWxkIG5hbWUnLAogICAgICAgICAgICAgICAgICAgIE9iamVjdCAgICAgID0+ICdzb21lIG9iamVjdCcsCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kICAgICAgPT4gJ3NvbWUgbWV0aG9kJywKICAgICAgICAgICAgICAgICAgICBQYXJhbWV0ZXJzICA9PiBbCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBhcmFtMSA9PiAnc29tZSBkYXRhJywKICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgXSwKCiAgICAgICAgICAgIE1hbmRhdG9yeSA9PiAwLCAgICAgICAgICAgICAgICAgICAgICMgMCB8fCAxCgogICAgICAgICAgICBEZWZhdWx0ICAgPT4gJ3NvbWUgdmFsdWUnLAogICAgICAgIH07CiAgICB9OwoKPWN1dAoKc3ViIEVkaXRGaWVsZFJlbmRlciB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgICMgY2hlY2sgbmVlZGVkIHN0dWZmCiAgICBmb3IgbXkgJE5lZWRlZCAocXcoRHluYW1pY0ZpZWxkQ29uZmlnIExhbmd1YWdlT2JqZWN0KSkgewogICAgICAgIGlmICggISRQYXJhbXskTmVlZGVkfSApIHsKICAgICAgICAgICAgJFNlbGYtPntMb2dPYmplY3R9LT5Mb2coCiAgICAgICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICAgICAgTWVzc2FnZSAgPT4gIk5lZWQgJE5lZWRlZCEiCiAgICAgICAgICAgICk7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICB9CgogICAgIyBjaGVjayBEeW5hbWljRmllbGRDb25maWcgKGdlbmVyYWwpCiAgICBpZiAoICFJc0hhc2hSZWZXaXRoRGF0YSggJFBhcmFte0R5bmFtaWNGaWVsZENvbmZpZ30gKSApIHsKICAgICAgICAkU2VsZi0+e0xvZ09iamVjdH0tPkxvZygKICAgICAgICAgICAgUHJpb3JpdHkgPT4gJ2Vycm9yJywKICAgICAgICAgICAgTWVzc2FnZSAgPT4gIlRoZSBmaWVsZCBjb25maWd1cmF0aW9uIGlzIGludmFsaWQiLAogICAgICAgICk7CiAgICAgICAgcmV0dXJuOwogICAgfQoKICAgICMgY2hlY2sgRHluYW1pY0ZpZWxkQ29uZmlnIChpbnRlcm5hbGx5KQogICAgZm9yIG15ICROZWVkZWQgKHF3KElEIEZpZWxkVHlwZSBPYmplY3RUeXBlIENvbmZpZyBOYW1lKSkgewogICAgICAgIGlmICggISRQYXJhbXtEeW5hbWljRmllbGRDb25maWd9LT57JE5lZWRlZH0gKSB7CiAgICAgICAgICAgICRTZWxmLT57TG9nT2JqZWN0fS0+TG9nKAogICAgICAgICAgICAgICAgUHJpb3JpdHkgPT4gJ2Vycm9yJywKICAgICAgICAgICAgICAgIE1lc3NhZ2UgID0+ICJOZWVkICROZWVkZWQgaW4gRHluYW1pY0ZpZWxkQ29uZmlnISIKICAgICAgICAgICAgKTsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgIH0KCiAgICAjIHNldCB0aGUgZHluYW1pYyBmaWVsZCBzcGVjaWZpYyBiYWNrZW5kCiAgICBteSAkRHluYW1pY0ZpZWxkQmFja2VuZCA9ICdEeW5hbWljRmllbGQnIC4gJFBhcmFte0R5bmFtaWNGaWVsZENvbmZpZ30tPntGaWVsZFR5cGV9IC4gJ09iamVjdCc7CgogICAgaWYgKCAhJFNlbGYtPnskRHluYW1pY0ZpZWxkQmFja2VuZH0gKSB7CiAgICAgICAgJFNlbGYtPntMb2dPYmplY3R9LT5Mb2coCiAgICAgICAgICAgIFByaW9yaXR5ID0+ICdlcnJvcicsCiAgICAgICAgICAgIE1lc3NhZ2UgID0+ICJCYWNrZW5kICRQYXJhbXtEeW5hbWljRmllbGRDb25maWd9LT57RmllbGRUeXBlfSBpcyBpbnZhbGlkISIKICAgICAgICApOwogICAgICAgIHJldHVybjsKICAgIH0KCiAgICAjIHNldCB1c2UgZGVmYXVsdCB2YWx1ZSBhcyBkZWZhdWx0IGlmIG5vdCBzcGVjaWZpZWQKICAgIGlmICggIWRlZmluZWQgJFBhcmFte1VzZURlZmF1bHRWYWx1ZX0gKSB7CiAgICAgICAgJFBhcmFte1VzZURlZmF1bHRWYWx1ZX0gPSAxOwogICAgfQoKICAgICMgY2FsbCBFZGl0RmllbGRSZW5kZXIgb24gdGhlIHNwZWNpZmljIGJhY2tlbmQKICAgIG15ICRGaWVsZERlZmluaXRpb24gPSAkU2VsZi0+eyREeW5hbWljRmllbGRCYWNrZW5kfS0+RWRpdEZpZWxkUmVuZGVyKAogICAgICAgICVQYXJhbQogICAgKTsKCiAgICByZXR1cm4gJEZpZWxkRGVmaW5pdGlvbjsKCn0KCj1pdGVtIEVkaXRGaWVsZFZhbHVlR2V0KCkKCmV4dHJhY3RzIHRoZSB2YWx1ZSBvZiBhIGR5bmFtaWMgZmllbGQgZnJvbSB0aGUgcGFyYW0gb2JqZWN0LgoKICAgIG15ICRWYWx1ZSA9ICRpUGhvbmVCYWNrZW5kT2JqZWN0LT5FZGl0RmllbGRWYWx1ZUdldCgKICAgICAgICBEeW5hbWljRmllbGRDb25maWcgICA9PiAkRHluYW1pY0ZpZWxkQ29uZmlnLCAgICAjIGNvbXBsZXRlIGNvbmZpZyBvZiB0aGUgRHluYW1pY0ZpZWxkCiAgICAgICAgRHluYW1pY0ZpZWxkX05hbWVYICAgPT4gJ0R5bmFtaWNGaWVsZFZhbHVlJyAgICAgIyBSYXcgZmllbGQgdmFsdWUgd2hlcmUsIE5hbWVYIGlzIHRoZSBuYW1lCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICAgb2YgdGhlIGZpbGVkCiAgICAgICAgVHJhbnNmb3JtRGF0ZXMgICAgICAgPT4gMSAgICAgICAgICAgICAgICAgICAgICAgIyAxIHx8IDAsIGRlZmF1bHQgMSwgdG8gdHJhbnNmb3JtIHRoZSBkeW5hbWljIGZpZWxkcyB0aGF0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgIHVzZSBkYXRlcyB0byB0aGUgdXNlciB0aW1lIHpvbmUgKGkuZS4gRGF0ZSwgRGF0ZVRpbWUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgZHluYW1pYyBmaWVsZHMpCiAgICAgICAgVXNlclRpbWVab25lICAgICAgICAgPT4gLTYKICAgICk7CgogICAgUmV0dXJucyAkVmFsdWU7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgZGVwZW5kaW5nIG9uIGVhY2ggZmllbGQgdHlwZSBlLmcuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICRWYWx1ZSA9ICdhIHRleHQnOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAkVmFsdWUgPSAnMTk3Ny0xMi0xMiAxMjowMDowMCc7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICRWYWx1ZSA9IDE7Cgo9Y3V0CgpzdWIgRWRpdEZpZWxkVmFsdWVHZXQgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICAjIGNoZWNrIG5lZWRlZCBzdHVmZgogICAgZm9yIG15ICROZWVkZWQgKHF3KER5bmFtaWNGaWVsZENvbmZpZykpIHsKICAgICAgICBpZiAoICEkUGFyYW17JE5lZWRlZH0gKSB7CiAgICAgICAgICAgICRTZWxmLT57TG9nT2JqZWN0fS0+TG9nKAogICAgICAgICAgICAgICAgUHJpb3JpdHkgPT4gJ2Vycm9yJywKICAgICAgICAgICAgICAgIE1lc3NhZ2UgID0+ICJOZWVkICROZWVkZWQhIgogICAgICAgICAgICApOwogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQogICAgfQoKICAgICMgZGVmaW5lIHRyYW5zZm9ybSBkYXRlcyBwYXJhbWV0ZXIKICAgIGlmICggIWRlZmluZWQgJFBhcmFte1RyYW5zZm9ybURhdGVzfSApIHsKICAgICAgICAkUGFyYW17VHJhbnNmb3JtRGF0ZXN9ID0gMTsKICAgIH0KCiAgICAjIGNoZWNrIER5bmFtaWNGaWVsZENvbmZpZyAoZ2VuZXJhbCkKICAgIGlmICggIUlzSGFzaFJlZldpdGhEYXRhKCAkUGFyYW17RHluYW1pY0ZpZWxkQ29uZmlnfSApICkgewogICAgICAgICRTZWxmLT57TG9nT2JqZWN0fS0+TG9nKAogICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICBNZXNzYWdlICA9PiAiVGhlIGZpZWxkIGNvbmZpZ3VyYXRpb24gaXMgaW52YWxpZCIsCiAgICAgICAgKTsKICAgICAgICByZXR1cm47CiAgICB9CgogICAgIyBjaGVjayBEeW5hbWljRmllbGRDb25maWcgKGludGVybmFsbHkpCiAgICBmb3IgbXkgJE5lZWRlZCAocXcoSUQgRmllbGRUeXBlIE9iamVjdFR5cGUgTmFtZSkpIHsKICAgICAgICBpZiAoICEkUGFyYW17RHluYW1pY0ZpZWxkQ29uZmlnfS0+eyROZWVkZWR9ICkgewogICAgICAgICAgICAkU2VsZi0+e0xvZ09iamVjdH0tPkxvZygKICAgICAgICAgICAgICAgIFByaW9yaXR5ID0+ICdlcnJvcicsCiAgICAgICAgICAgICAgICBNZXNzYWdlICA9PiAiTmVlZCAkTmVlZGVkIGluIER5bmFtaWNGaWVsZENvbmZpZyEiCiAgICAgICAgICAgICk7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICB9CgogICAgIyBzZXQgdGhlIGR5bmFtaWMgZmllbGQgc3BlY2lmaWMgYmFja2VuZAogICAgbXkgJER5bmFtaWNGaWVsZEJhY2tlbmQgPSAnRHluYW1pY0ZpZWxkJyAuICRQYXJhbXtEeW5hbWljRmllbGRDb25maWd9LT57RmllbGRUeXBlfSAuICdPYmplY3QnOwoKICAgIGlmICggISRTZWxmLT57JER5bmFtaWNGaWVsZEJhY2tlbmR9ICkgewogICAgICAgICRTZWxmLT57TG9nT2JqZWN0fS0+TG9nKAogICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICBNZXNzYWdlICA9PiAiQmFja2VuZCAkUGFyYW17RHluYW1pY0ZpZWxkQ29uZmlnfS0+e0ZpZWxkVHlwZX0gaXMgaW52YWxpZCEiCiAgICAgICAgKTsKICAgICAgICByZXR1cm47CiAgICB9CgogICAgIyByZXR1cm4gdmFsdWUgZnJvbSB0aGUgc3BlY2lmaWMgYmFja2VuZAogICAgcmV0dXJuICRTZWxmLT57JER5bmFtaWNGaWVsZEJhY2tlbmR9LT5FZGl0RmllbGRWYWx1ZUdldCglUGFyYW0pOwp9Cgo9aXRlbSBFZGl0RmllbGRWYWx1ZVZhbGlkYXRlKCkKCnZhbGlkYXRlIHRoZSBjdXJyZW50IHZhbHVlIGZvciB0aGUgZHluYW1pYyBmaWVsZAoKICAgIG15ICRSZXN1bHQgPSAkaVBob25lQmFja2VuZE9iamVjdC0+RWRpdEZpZWxkVmFsdWVWYWxpZGF0ZSgKICAgICAgICBEeW5hbWljRmllbGRDb25maWcgICA9PiAkRHluYW1pY0ZpZWxkQ29uZmlnLCAgICAgICMgY29tcGxldGUgY29uZmlnIG9mIHRoZSBEeW5hbWljRmllbGQKICAgICAgICBWYWx1ZSAgICAgICAgICAgICAgICA9PiAkJFZhbHVlICAgICAgICAgICAgICAgICAgICMgVGhlIGN1cnJlbnQgZHluYW1pYyBmaWVsZCB2YWx1ZQogICAgICAgIE1hbmRhdG9yeSAgICAgICAgICAgID0+IDEsICAgICAgICAgICAgICAgICAgICAgICAgIyAwIG9yIDEsCiAgICApOwoKICAgIFJldHVybnMKCiAgICAkUmVzdWx0ID0gewogICAgICAgIFNlcnZlckVycm9yICAgICAgICA9PiAxLCAgICAgICAgICAgICAgICAgICAgICAgICAgIyAwIG9yIDEsCiAgICAgICAgRXJyb3JNZXNzYWdlICAgICAgID0+ICRFcnJvck1lc3NhZ2UsICAgICAgICAgICAgICAjIE9wdGlvbmFsIG9yIGEgZGVmYXVsdCB3aWxsIGJlIHVzZWQgaW4gZXJyb3IgY2FzZQogICAgfQoKPWN1dAoKc3ViIEVkaXRGaWVsZFZhbHVlVmFsaWRhdGUgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICAjIGNoZWNrIG5lZWRlZCBzdHVmZgogICAgaWYgKCAhJFBhcmFte0R5bmFtaWNGaWVsZENvbmZpZ30gKSB7CiAgICAgICAgJFNlbGYtPntMb2dPYmplY3R9LT5Mb2coCiAgICAgICAgICAgIFByaW9yaXR5ID0+ICdlcnJvcicsCiAgICAgICAgICAgIE1lc3NhZ2UgID0+ICJOZWVkIER5bmFtaWNGaWVsZENvbmZpZyEiCiAgICAgICAgKTsKICAgICAgICByZXR1cm47CiAgICB9CgogICAgIyBjaGVjayBEeW5hbWljRmllbGRDb25maWcgKGdlbmVyYWwpCiAgICBpZiAoICFJc0hhc2hSZWZXaXRoRGF0YSggJFBhcmFte0R5bmFtaWNGaWVsZENvbmZpZ30gKSApIHsKICAgICAgICAkU2VsZi0+e0xvZ09iamVjdH0tPkxvZygKICAgICAgICAgICAgUHJpb3JpdHkgPT4gJ2Vycm9yJywKICAgICAgICAgICAgTWVzc2FnZSAgPT4gIlRoZSBmaWVsZCBjb25maWd1cmF0aW9uIGlzIGludmFsaWQiLAogICAgICAgICk7CiAgICAgICAgcmV0dXJuOwogICAgfQoKICAgICMgY2hlY2sgRHluYW1pY0ZpZWxkQ29uZmlnIChpbnRlcm5hbGx5KQogICAgZm9yIG15ICROZWVkZWQgKHF3KElEIEZpZWxkVHlwZSBPYmplY3RUeXBlIENvbmZpZyBOYW1lKSkgewogICAgICAgIGlmICggISRQYXJhbXtEeW5hbWljRmllbGRDb25maWd9LT57JE5lZWRlZH0gKSB7CiAgICAgICAgICAgICRTZWxmLT57TG9nT2JqZWN0fS0+TG9nKAogICAgICAgICAgICAgICAgUHJpb3JpdHkgPT4gJ2Vycm9yJywKICAgICAgICAgICAgICAgIE1lc3NhZ2UgID0+ICJOZWVkICROZWVkZWQgaW4gRHluYW1pY0ZpZWxkQ29uZmlnISIKICAgICAgICAgICAgKTsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgIH0KCiAgICAjIHNldCB0aGUgZHluYW1pYyBmaWVsZCBzcGVjaWZpYyBiYWNrZW5kCiAgICBteSAkRHluYW1pY0ZpZWxkQmFja2VuZCA9ICdEeW5hbWljRmllbGQnIC4gJFBhcmFte0R5bmFtaWNGaWVsZENvbmZpZ30tPntGaWVsZFR5cGV9IC4gJ09iamVjdCc7CgogICAgaWYgKCAhJFNlbGYtPnskRHluYW1pY0ZpZWxkQmFja2VuZH0gKSB7CiAgICAgICAgJFNlbGYtPntMb2dPYmplY3R9LT5Mb2coCiAgICAgICAgICAgIFByaW9yaXR5ID0+ICdlcnJvcicsCiAgICAgICAgICAgIE1lc3NhZ2UgID0+ICJCYWNrZW5kICRQYXJhbXtEeW5hbWljRmllbGRDb25maWd9LT57RmllbGRUeXBlfSBpcyBpbnZhbGlkISIKICAgICAgICApOwogICAgICAgIHJldHVybjsKICAgIH0KCiAgICAjIHJldHVybiB2YWxpZGF0aW9uIHN0cnVjdHVyZSBmcm9tIHRoZSBzcGVjaWZpYyBiYWNrZW5kCiAgICByZXR1cm4gJFNlbGYtPnskRHluYW1pY0ZpZWxkQmFja2VuZH0tPkVkaXRGaWVsZFZhbHVlVmFsaWRhdGUoJVBhcmFtKTsKCn0KCjE7Cgo9YmFjawoKPWhlYWQxIFRFUk1TIEFORCBDT05ESVRJT05TCgpUaGlzIHNvZnR3YXJlIGlzIHBhcnQgb2YgdGhlIE9UUlMgcHJvamVjdCAoTDxodHRwOi8vb3Rycy5vcmcvPikuCgpUaGlzIHNvZnR3YXJlIGNvbWVzIHdpdGggQUJTT0xVVEVMWSBOTyBXQVJSQU5UWS4gRm9yIGRldGFpbHMsIHNlZQp0aGUgZW5jbG9zZWQgZmlsZSBDT1BZSU5HIGZvciBsaWNlbnNlIGluZm9ybWF0aW9uIChBR1BMKS4gSWYgeW91CmRpZCBub3QgcmVjZWl2ZSB0aGlzIGZpbGUsIHNlZSBMPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9hZ3BsLnR4dD4uCgo9Y3V0Cgo9Y3V0Cg==
IyAtLQojIHNjcmlwdHMvdGVzdC9KU09OR2F0ZXdheS50IC0gSlNPTiBnYXRld2F5IHRlc3RzY3JpcHQKIyBDb3B5cmlnaHQgKEMpIDIwMDEtMjAxNSBPVFJTIEFHLCBodHRwOi8vb3Rycy5jb20vCiMgLS0KIyBUaGlzIHNvZnR3YXJlIGNvbWVzIHdpdGggQUJTT0xVVEVMWSBOTyBXQVJSQU5UWS4gRm9yIGRldGFpbHMsIHNlZQojIHRoZSBlbmNsb3NlZCBmaWxlIENPUFlJTkcgZm9yIGxpY2Vuc2UgaW5mb3JtYXRpb24gKEFHUEwpLiBJZiB5b3UKIyBkaWQgbm90IHJlY2VpdmUgdGhpcyBmaWxlLCBzZWUgaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2FncGwudHh0LgojIC0tCgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CnVzZSB1dGY4Owp1c2UgdmFycyAocXcoJFNlbGYpKTsKCnVzZSBLZXJuZWw6OkNvbmZpZzsKdXNlIEtlcm5lbDo6U3lzdGVtOjpKU09OOwp1c2UgS2VybmVsOjpTeXN0ZW06OlVuaXRUZXN0OjpIZWxwZXI7CnVzZSBLZXJuZWw6OlN5c3RlbTo6VmFyaWFibGVDaGVjayBxdyhJc0FycmF5UmVmV2l0aERhdGEgSXNIYXNoUmVmV2l0aERhdGEgSXNTdHJpbmdXaXRoRGF0YSk7CnVzZSBLZXJuZWw6OlN5c3RlbTo6V2ViVXNlckFnZW50OwoKIyBoZWxwZXIgb2JqZWN0Cm15ICRIZWxwZXJPYmplY3QgPSBLZXJuZWw6OlN5c3RlbTo6VW5pdFRlc3Q6OkhlbHBlci0+bmV3KAogICAgJXskU2VsZn0sCiAgICBVbml0VGVzdE9iamVjdCAgICAgICAgICAgICA9PiAkU2VsZiwKICAgIFJlc3RvcmVTeXN0ZW1Db25maWd1cmF0aW9uID0+IDEsCik7CgojIGNyZWF0ZSBvdGhlciBvYmplY3RzCm15ICRDb25maWdPYmplY3QgICAgICAgPSBLZXJuZWw6OkNvbmZpZy0+bmV3KCk7Cm15ICRKU09OT2JqZWN0ICAgICAgICAgPSBLZXJuZWw6OlN5c3RlbTo6SlNPTi0+bmV3KCAleyRTZWxmfSApOwpteSAkV2ViVXNlckFnZW50T2JqZWN0ID0gS2VybmVsOjpTeXN0ZW06OldlYlVzZXJBZ2VudC0+bmV3KCAleyRTZWxmfSApOwoKIyBnZXQgcmVtb3RlIGhvc3Qgd2l0aCBzb21lIHByZWNhdXRpb25zIGZvciBjZXJ0YWluIHVuaXQgdGVzdCBzeXN0ZW1zCm15ICRIb3N0OwpteSAkRlFETiA9ICRTZWxmLT57Q29uZmlnT2JqZWN0fS0+R2V0KCdGUUROJyk7CgojIHRyeSB0byByZXNvbHZlIGZxZG4gaG9zdAppZiAoICRGUUROIG5lICd5b3VyaG9zdC5leGFtcGxlLmNvbScgJiYgZ2V0aG9zdGJ5bmFtZSgkRlFETikgKSB7CiAgICAkSG9zdCA9ICRGUUROOwp9CgojIHRyeSB0byByZXNvbHZlIGxvY2FsaG9zdCBpbnN0ZWFkCmlmICggISRIb3N0ICYmIGdldGhvc3RieW5hbWUoJ2xvY2FsaG9zdCcpICkgewogICAgJEhvc3QgPSAnbG9jYWxob3N0JzsKfQoKIyB1c2UgaGFyZGNvZGVkIGxvY2FsaG9zdCBpcCBhZGRyZXNzCmlmICggISRIb3N0ICkgewogICAgJEhvc3QgPSAnMTI3LjAuMC4xJzsKfQoKIyBwcmVwYXJlIHdlYnNlcnZpY2UgY29uZmlnCm15ICRVUkwgPQogICAgJFNlbGYtPntDb25maWdPYmplY3R9LT5HZXQoJ0h0dHBUeXBlJykKICAgIC4gJzovLycKICAgIC4gJEhvc3QKICAgIC4gJy8nCiAgICAuICRTZWxmLT57Q29uZmlnT2JqZWN0fS0+R2V0KCdTY3JpcHRBbGlhcycpCiAgICAuICdqc29uLnBsJzsKCm15ICRDYWxsSlNPTkNHSSA9IHN1YiB7CiAgICBteSAlUGFyYW0gPSBAXzsKCiAgICBteSAlSlNPTlBhcmFtczsKICAgIGlmICggSXNIYXNoUmVmV2l0aERhdGEoICRQYXJhbXtKU09OUGFyYW1zfSApICkgewogICAgICAgICVKU09OUGFyYW1zID0gJXsgJFBhcmFte0pTT05QYXJhbXN9IH07CiAgICB9CgogICAgIyBjb3B5IEpTT04gQ0dJIGhhbmRsZXIKICAgIG15ICRKU09OVXJsID0gJFVSTCAuICc/JzsKCiAgICBmb3IgbXkgJEl0ZW0gKCBzb3J0IGtleXMgJUpTT05QYXJhbXMgKSB7CiAgICAgICAgJEpTT05VcmwgLj0gIiRJdGVtPSRKU09OUGFyYW1zeyRJdGVtfTsiOwogICAgfQogICAgbXkgJVJlc3BvbnNlID0gJFdlYlVzZXJBZ2VudE9iamVjdC0+UmVxdWVzdCgKICAgICAgICBVUkwgPT4gJEpTT05VcmwsCiAgICApOwoKICAgICRTZWxmLT5JcygKICAgICAgICAkUmVzcG9uc2V7U3RhdHVzfSwKICAgICAgICAnMjAwIE9LJywKICAgICAgICAiSlNPTiBDR0kgLSBUZXN0ICRQYXJhbXtUZXN0TmFtZX0gLSByZXNwb25zZSBpcyAyMDAgT0siLAogICAgKTsKCiAgICByZXR1cm4gJFJlc3BvbnNle0NvbnRlbnR9Owp9OwoKIyBjcmVhdGUgdGVzdCB1c2VyCm15ICRVc2VyID0gJEhlbHBlck9iamVjdC0+VGVzdFVzZXJDcmVhdGUoCiAgICBHcm91cHMgPT4gWyd1c2VycyddLAopOwpteSAkUGFzc3dvcmQgPSAkVXNlcjsKCm15ICRSYW5kb21JRCA9ICRIZWxwZXJPYmplY3QtPkdldFJhbmRvbUlEKCk7CgpteSBAVGVzdHMgPSAoCiAgICB7CiAgICAgICAgTmFtZSAgICAgICA9PiAnRW1wdHkgcGFyYW1zJywKICAgICAgICBKU09OUGFyYW1zID0+IHt9LAogICAgICAgIFN1Y2Nlc3MgICAgPT4gMCwKICAgIH0sCiAgICB7CiAgICAgICAgTmFtZSAgICAgICA9PiAnRW1wdHkgdXNlcicsCiAgICAgICAgSlNPTlBhcmFtcyA9PiB7CiAgICAgICAgICAgIFVzZXIgICAgID0+ICcnLAogICAgICAgICAgICBQYXNzd29yZCA9PiAkUGFzc3dvcmQsCiAgICAgICAgICAgIE9iamVjdCAgID0+ICdDdXN0b21PYmplY3QnLAogICAgICAgICAgICBNZXRob2QgICA9PiAnVmVyc2lvbkdldCcsCiAgICAgICAgfSwKICAgICAgICBTdWNjZXNzID0+IDAsCiAgICB9LAogICAgewogICAgICAgIE5hbWUgICAgICAgPT4gJ0VtcHR5IHBhc3N3b3JkJywKICAgICAgICBKU09OUGFyYW1zID0+IHsKICAgICAgICAgICAgVXNlciAgICAgPT4gJFVzZXIsCiAgICAgICAgICAgIFBhc3N3b3JkID0+ICcnLAogICAgICAgICAgICBPYmplY3QgICA9PiAnQ3VzdG9tT2JqZWN0JywKICAgICAgICAgICAgTWV0aG9kICAgPT4gJ1ZlcnNpb25HZXQnLAogICAgICAgIH0sCiAgICAgICAgU3VjY2VzcyA9PiAwLAogICAgfSwKICAgIHsKICAgICAgICBOYW1lICAgICAgID0+ICdNaXNzaW5nIHBhc3N3b3JkJywKICAgICAgICBKU09OUGFyYW1zID0+IHsKICAgICAgICAgICAgVXNlciAgID0+ICRVc2VyLAogICAgICAgICAgICBPYmplY3QgPT4gJ0N1c3RvbU9iamVjdCcsCiAgICAgICAgICAgIE1ldGhvZCA9PiAnVmVyc2lvbkdldCcsCiAgICAgICAgfSwKICAgICAgICBTdWNjZXNzID0+IDAsCiAgICB9LAogICAgewogICAgICAgIE5hbWUgICAgICAgPT4gJ01pc3NpbmcgdXNlcicsCiAgICAgICAgSlNPTlBhcmFtcyA9PiB7CiAgICAgICAgICAgIFBhc3N3b3JkID0+ICRQYXNzd29yZCwKICAgICAgICAgICAgT2JqZWN0ICAgPT4gJ0N1c3RvbU9iamVjdCcsCiAgICAgICAgICAgIE1ldGhvZCAgID0+ICdWZXJzaW9uR2V0JywKICAgICAgICB9LAogICAgICAgIFN1Y2Nlc3MgPT4gMCwKICAgIH0sCiAgICB7CiAgICAgICAgTmFtZSAgICAgICA9PiAnV3JvbmcgdXNlcicsCiAgICAgICAgSlNPTlBhcmFtcyA9PiB7CiAgICAgICAgICAgIFVzZXIgICAgID0+ICdOb3RFeGlzdGluZycgLiAkUmFuZG9tSUQsCiAgICAgICAgICAgIFBhc3N3b3JkID0+ICRQYXNzd29yZCwKICAgICAgICAgICAgT2JqZWN0ICAgPT4gJ0N1c3RvbU9iamVjdCcsCiAgICAgICAgICAgIE1ldGhvZCAgID0+ICdWZXJzaW9uR2V0JywKICAgICAgICB9LAogICAgICAgIFN1Y2Nlc3MgPT4gMCwKICAgIH0sCiAgICB7CiAgICAgICAgTmFtZSAgICAgICA9PiAnV3JvbmcgcGFzc3dvcmQnLAogICAgICAgIEpTT05QYXJhbXMgPT4gewogICAgICAgICAgICBVc2VyICAgICA9PiAkVXNlciwKICAgICAgICAgICAgUGFzc3dvcmQgPT4gJ05vdEV4aXN0aW5nJyAuICRSYW5kb21JRCwKICAgICAgICAgICAgT2JqZWN0ICAgPT4gJ0N1c3RvbU9iamVjdCcsCiAgICAgICAgICAgIE1ldGhvZCAgID0+ICdWZXJzaW9uR2V0JywKICAgICAgICB9LAogICAgICAgIFN1Y2Nlc3MgPT4gMCwKICAgIH0sCiAgICB7CiAgICAgICAgTmFtZSAgICAgICA9PiAnTWlzc2luZyBvYmplY3QnLAogICAgICAgIEpTT05QYXJhbXMgPT4gewogICAgICAgICAgICBVc2VyICAgICA9PiAkVXNlciwKICAgICAgICAgICAgUGFzc3dvcmQgPT4gJFBhc3N3b3JkLAogICAgICAgICAgICBNZXRob2QgICA9PiAnVmVyc2lvbkdldCcsCiAgICAgICAgfSwKICAgICAgICBTdWNjZXNzID0+IDAsCiAgICB9LAogICAgewogICAgICAgIE5hbWUgICAgICAgPT4gJ01pc3NpbmcgbWV0aG9kJywKICAgICAgICBKU09OUGFyYW1zID0+IHsKICAgICAgICAgICAgVXNlciAgICAgPT4gJFVzZXIsCiAgICAgICAgICAgIFBhc3N3b3JkID0+ICRQYXNzd29yZCwKICAgICAgICAgICAgT2JqZWN0ICAgPT4gJ0N1c3RvbU9iamVjdCcsCiAgICAgICAgfSwKICAgICAgICBTdWNjZXNzID0+IDAsCiAgICB9LAogICAgewogICAgICAgIE5hbWUgICAgICAgPT4gJ1dyb25nIE9iamVjdCcsCiAgICAgICAgSlNPTlBhcmFtcyA9PiB7CiAgICAgICAgICAgIFVzZXIgICAgID0+ICRVc2VyLAogICAgICAgICAgICBQYXNzd29yZCA9PiAkUGFzc3dvcmQsCiAgICAgICAgICAgIE9iamVjdCAgID0+ICdNeU9iamVjdCcsCiAgICAgICAgICAgIE1ldGhvZCAgID0+ICdUaWNrZXRHZXQnLAogICAgICAgIH0sCiAgICAgICAgU3VjY2VzcyA9PiAwLAogICAgfSwKICAgIHsKICAgICAgICBOYW1lICAgICAgID0+ICdCbGFja2xpc3QgT2JqZWN0JywKICAgICAgICBKU09OUGFyYW1zID0+IHsKICAgICAgICAgICAgVXNlciAgICAgPT4gJFVzZXIsCiAgICAgICAgICAgIFBhc3N3b3JkID0+ICRQYXNzd29yZCwKICAgICAgICAgICAgT2JqZWN0ICAgPT4gJ1NlcnZpY2VPYmplY3QnLAogICAgICAgICAgICBNZXRob2QgICA9PiAnU2VydmljZUdldCcsCiAgICAgICAgfSwKICAgICAgICBTdWNjZXNzID0+IDAsCiAgICB9LAogICAgewogICAgICAgIE5hbWUgICAgICAgPT4gJ1doaXRlbGlzdCBPYmplY3QsIEJsYWNrbGlzdCBNZXRob2QnLAogICAgICAgIEpTT05QYXJhbXMgPT4gewogICAgICAgICAgICBVc2VyICAgICA9PiAkVXNlciwKICAgICAgICAgICAgUGFzc3dvcmQgPT4gJFBhc3N3b3JkLAogICAgICAgICAgICBPYmplY3QgICA9PiAnVGlja2V0T2JqZWN0JywKICAgICAgICAgICAgTWV0aG9kICAgPT4gJ1RpY2tldEdldCcsCiAgICAgICAgfSwKICAgICAgICBTdWNjZXNzID0+IDAsCiAgICB9LAogICAgewogICAgICAgIE5hbWUgICAgICAgPT4gJ1dyb25nIE1ldGhvZCBCbGFja2xpc3RlZCBEQk9iamVjdCcsCiAgICAgICAgSlNPTlBhcmFtcyA9PiB7CiAgICAgICAgICAgIFVzZXIgICAgID0+ICRVc2VyLAogICAgICAgICAgICBQYXNzd29yZCA9PiAkUGFzc3dvcmQsCiAgICAgICAgICAgIE9iamVjdCAgID0+ICdEQk9iamVjdCcsCiAgICAgICAgICAgIE1ldGhvZCAgID0+ICdOb3RFeGlzdGVudEdldCcsCiAgICAgICAgfSwKICAgICAgICBTdWNjZXNzID0+IDAsCiAgICB9LAogICAgewogICAgICAgIE5hbWUgICAgICAgPT4gJ0JsYWNrbGlzdGVkIERCT2JqZWN0JywKICAgICAgICBKU09OUGFyYW1zID0+IHsKICAgICAgICAgICAgVXNlciAgICAgPT4gJFVzZXIsCiAgICAgICAgICAgIFBhc3N3b3JkID0+ICRQYXNzd29yZCwKICAgICAgICAgICAgT2JqZWN0ICAgPT4gJ0RCT2JqZWN0JywKICAgICAgICAgICAgTWV0aG9kICAgPT4gJ0RvJywKICAgICAgICB9LAogICAgICAgIFN1Y2Nlc3MgPT4gMCwKICAgIH0sCiAgICB7CiAgICAgICAgTmFtZSAgICAgICA9PiAnQmxhY2tsaXN0ZWQgU3lzQ29uZmlnT2JqZWN0JywKICAgICAgICBKU09OUGFyYW1zID0+IHsKICAgICAgICAgICAgVXNlciAgICAgPT4gJFVzZXIsCiAgICAgICAgICAgIFBhc3N3b3JkID0+ICRQYXNzd29yZCwKICAgICAgICAgICAgT2JqZWN0ICAgPT4gJ1N5c0NvbmZpZ09iamVjdCcsCiAgICAgICAgICAgIE1ldGhvZCAgID0+ICdHZXQnLAogICAgICAgIH0sCiAgICAgICAgU3VjY2VzcyA9PiAwLAogICAgfSwKICAgIHsKICAgICAgICBOYW1lICAgICAgID0+ICdCbGFja2xpc3RlZCBMb2dPYmplY3QnLAogICAgICAgIEpTT05QYXJhbXMgPT4gewogICAgICAgICAgICBVc2VyICAgICA9PiAkVXNlciwKICAgICAgICAgICAgUGFzc3dvcmQgPT4gJFBhc3N3b3JkLAogICAgICAgICAgICBPYmplY3QgICA9PiAnTG9nT2JqZWN0JywKICAgICAgICAgICAgTWV0aG9kICAgPT4gJ0xvZycsCiAgICAgICAgfSwKICAgICAgICBTdWNjZXNzID0+IDAsCiAgICB9LAogICAgewogICAgICAgIE5hbWUgICAgICAgPT4gJ1dyb25nIE1ldGhvZCBDdXN0b21PYmplY3QnLAogICAgICAgIEpTT05QYXJhbXMgPT4gewogICAgICAgICAgICBVc2VyICAgICA9PiAkVXNlciwKICAgICAgICAgICAgUGFzc3dvcmQgPT4gJFBhc3N3b3JkLAogICAgICAgICAgICBPYmplY3QgICA9PiAnQ3VzdG9tT2JqZWN0JywKICAgICAgICAgICAgTWV0aG9kICAgPT4gJ05vdEV4aXN0ZW50R2V0JywKICAgICAgICB9LAogICAgICAgIFN1Y2Nlc3MgPT4gMCwKICAgIH0sCiAgICB7CiAgICAgICAgTmFtZSAgICAgICA9PiAnTWlzc2luZyBQYXJhbWV0ZXJzIEN1c3RvbU9iamVjdCcsCiAgICAgICAgSlNPTlBhcmFtcyA9PiB7CiAgICAgICAgICAgIFVzZXIgICAgID0+ICRVc2VyLAogICAgICAgICAgICBQYXNzd29yZCA9PiAkUGFzc3dvcmQsCiAgICAgICAgICAgIE9iamVjdCAgID0+ICdDdXN0b21PYmplY3QnLAogICAgICAgICAgICBNZXRob2QgICA9PiAnQ3VzdG9tZXJJREdldCcsCiAgICAgICAgfSwKICAgICAgICBTdWNjZXNzID0+IDAsCiAgICB9LAogICAgewogICAgICAgIE5hbWUgICAgICAgPT4gJ0NvcnJlY3QgKFdpdGhvdXQgUGFyYW1ldGVycykgQ3VzdG9tT2JqZWN0JywKICAgICAgICBKU09OUGFyYW1zID0+IHsKICAgICAgICAgICAgVXNlciAgICAgPT4gJFVzZXIsCiAgICAgICAgICAgIFBhc3N3b3JkID0+ICRQYXNzd29yZCwKICAgICAgICAgICAgT2JqZWN0ICAgPT4gJ0N1c3RvbU9iamVjdCcsCiAgICAgICAgICAgIE1ldGhvZCAgID0+ICdWZXJzaW9uR2V0JywKICAgICAgICB9LAogICAgICAgIFN1Y2Nlc3MgPT4gMSwKICAgIH0sCgopOwoKZm9yIG15ICRUZXN0IChAVGVzdHMpIHsKICAgIG15ICRKU09OUmVzcG9uc2UgPSAkQ2FsbEpTT05DR0ktPigKICAgICAgICBUZXN0TmFtZSAgID0+ICRUZXN0LT57TmFtZX0sCiAgICAgICAgSlNPTlBhcmFtcyA9PiAkVGVzdC0+e0pTT05QYXJhbXN9LAogICAgKTsKCiAgICBteSAkUmVzcG9uc2UgPSAkSlNPTk9iamVjdC0+RGVjb2RlKCBEYXRhID0+ICR7JEpTT05SZXNwb25zZX0gKTsKCiAgICAkU2VsZi0+SXMoCiAgICAgICAgcmVmICRSZXNwb25zZSwKICAgICAgICAnSEFTSCcsCiAgICAgICAgIkpTT04gQ0dJIC0gVGVzdCAkVGVzdC0+e05hbWV9IC0gZGVjb2RlZCByZXNwb25zZSBpcyBhIEhhc2ggUmVmZXJlbmNlIiwKICAgICk7CgogICAgaWYgKCAkVGVzdC0+e1N1Y2Nlc3N9ICkgewoKICAgIH0KICAgIGVsc2UgewogICAgICAgICRTZWxmLT5JcygKICAgICAgICAgICAgJFJlc3BvbnNlLT57UmVzdWx0fSwKICAgICAgICAgICAgJ2ZhaWxlZCcsCiAgICAgICAgICAgICJKU09OIENHSSAtIFRlc3QgJFRlc3QtPntOYW1lfSAtIGRlY29kZWQgcmVzcG9uc2UgcmVzdWx0IGlzIGZhbHNlIiwKICAgICAgICApOwogICAgICAgICRTZWxmLT5Jc05vdCgKICAgICAgICAgICAgJFJlc3BvbnNlLT57TWVzc2FnZX0sCiAgICAgICAgICAgICcnLAogICAgICAgICAgICAiSlNPTiBDR0kgLSBUZXN0ICRUZXN0LT57TmFtZX0gLSBkZWNvZGVkIHJlc3BvbnNlIG1lc3NhZ2UgaXMgbm90IGVtcHR5IiwKICAgICAgICApOwogICAgfQp9CjE7Cg==
IyAtLQojIGlQaG9uZUhhbmRsZS5wbSAtIGNvZGUgdG8gZXhlY3V0ZSBkdXJpbmcgcGFja2FnZSBpbnN0YWxsYXRpb24KIyBDb3B5cmlnaHQgKEMpIDIwMDEtMjAxNSBPVFJTIEFHLCBodHRwOi8vb3Rycy5jb20vCiMgLS0KIyBUaGlzIHNvZnR3YXJlIGNvbWVzIHdpdGggQUJTT0xVVEVMWSBOTyBXQVJSQU5UWS4gRm9yIGRldGFpbHMsIHNlZQojIHRoZSBlbmNsb3NlZCBmaWxlIENPUFlJTkcgZm9yIGxpY2Vuc2UgaW5mb3JtYXRpb24gKEFHUEwpLiBJZiB5b3UKIyBkaWQgbm90IHJlY2VpdmUgdGhpcyBmaWxlLCBzZWUgaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2FncGwudHh0LgojIC0tCgpwYWNrYWdlIHZhcjo6cGFja2FnZXNldHVwOjppUGhvbmVIYW5kbGU7Cgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7Cgp1c2UgS2VybmVsOjpDb25maWc7CnVzZSBLZXJuZWw6OlN5c3RlbTo6U3lzQ29uZmlnOwp1c2UgS2VybmVsOjpTeXN0ZW06OlBhY2thZ2U7CnVzZSBLZXJuZWw6OlN5c3RlbTo6VmFyaWFibGVDaGVjayBxdyg6YWxsKTsKCnVzZSB2YXJzIHF3KEBJU0EgJFZFUlNJT04pOwoKPWhlYWQxIE5BTUUKCmlQaG9uZUhhbmRsZS5wbSAtIGNvZGUgdG8gZXhjZWN1dGUgZHVyaW5nIHBhY2thZ2UgaW5zdGFsbGF0aW9uCgo9aGVhZDEgU1lOT1BTSVMKCkFsbCBmdW5jdGlvbnMKCj1oZWFkMSBQVUJMSUMgSU5URVJGQUNFCgo9b3ZlciA0Cgo9Y3V0Cgo9aXRlbSBuZXcoKQoKY3JlYXRlIGFuIG9iamVjdAoKICAgIHVzZSBLZXJuZWw6OkNvbmZpZzsKICAgIHVzZSBLZXJuZWw6OlN5c3RlbTo6TG9nOwogICAgdXNlIEtlcm5lbDo6U3lzdGVtOjpNYWluOwogICAgdXNlIEtlcm5lbDo6U3lzdGVtOjpUaW1lOwogICAgdXNlIEtlcm5lbDo6U3lzdGVtOjpEQjsKICAgIHVzZSBLZXJuZWw6OlN5c3RlbTo6WE1MOwogICAgdXNlIHZhcjo6cGFja2FnZXNldHVwOjppUGhvbmU7CgogICAgbXkgJENvbmZpZ09iamVjdCA9IEtlcm5lbDo6Q29uZmlnLT5uZXcoKTsKICAgIG15ICRMb2dPYmplY3QgICAgPSBLZXJuZWw6OlN5c3RlbTo6TG9nLT5uZXcoCiAgICAgICAgQ29uZmlnT2JqZWN0ID0+ICRDb25maWdPYmplY3QsCiAgICApOwogICAgbXkgJE1haW5PYmplY3QgPSBLZXJuZWw6OlN5c3RlbTo6TWFpbi0+bmV3KAogICAgICAgIENvbmZpZ09iamVjdCA9PiAkQ29uZmlnT2JqZWN0LAogICAgICAgIExvZ09iamVjdCAgICA9PiAkTG9nT2JqZWN0LAogICAgKTsKICAgIG15ICRUaW1lT2JqZWN0ID0gS2VybmVsOjpTeXN0ZW06OlRpbWUtPm5ldygKICAgICAgICBDb25maWdPYmplY3QgPT4gJENvbmZpZ09iamVjdCwKICAgICAgICBMb2dPYmplY3QgICAgPT4gJExvZ09iamVjdCwKICAgICk7CiAgICBteSAkREJPYmplY3QgPSBLZXJuZWw6OlN5c3RlbTo6REItPm5ldygKICAgICAgICBDb25maWdPYmplY3QgPT4gJENvbmZpZ09iamVjdCwKICAgICAgICBMb2dPYmplY3QgICAgPT4gJExvZ09iamVjdCwKICAgICAgICBNYWluT2JqZWN0ICAgPT4gJE1haW5PYmplY3QsCiAgICApOwogICAgbXkgJFhNTE9iamVjdCA9IEtlcm5lbDo6U3lzdGVtOjpYTUwtPm5ldygKICAgICAgICBDb25maWdPYmplY3QgPT4gJENvbmZpZ09iamVjdCwKICAgICAgICBMb2dPYmplY3QgICAgPT4gJExvZ09iamVjdCwKICAgICAgICBEQk9iamVjdCAgICAgPT4gJERCT2JqZWN0LAogICAgICAgIE1haW5PYmplY3QgICA9PiAkTWFpbk9iamVjdCwKICAgICk7CiAgICBteSAkQ29kZU9iamVjdCA9IHZhcjo6cGFja2FnZXNldHVwOjppUGhvbmUtPm5ldygKICAgICAgICBDb25maWdPYmplY3QgPT4gJENvbmZpZ09iamVjdCwKICAgICAgICBMb2dPYmplY3QgICAgPT4gJExvZ09iamVjdCwKICAgICAgICBNYWluT2JqZWN0ICAgPT4gJE1haW5PYmplY3QsCiAgICAgICAgVGltZU9iamVjdCAgID0+ICRUaW1lT2JqZWN0LAogICAgICAgIERCT2JqZWN0ICAgICA9PiAkREJPYmplY3QsCiAgICAgICAgWE1MT2JqZWN0ICAgID0+ICRYTUxPYmplY3QsCiAgICApOwoKPWN1dAoKc3ViIG5ldyB7CiAgICBteSAoICRUeXBlLCAlUGFyYW0gKSA9IEBfOwoKICAgICMgYWxsb2NhdGUgbmV3IGhhc2ggZm9yIG9iamVjdAogICAgbXkgJFNlbGYgPSB7fTsKICAgIGJsZXNzKCAkU2VsZiwgJFR5cGUgKTsKCiAgICAjIGNoZWNrIG5lZWRlZCBvYmplY3RzCiAgICBmb3IgbXkgJE9iamVjdCAoCiAgICAgICAgcXcoQ29uZmlnT2JqZWN0IExvZ09iamVjdCBNYWluT2JqZWN0IFRpbWVPYmplY3QgREJPYmplY3QgWE1MT2JqZWN0IEVuY29kZU9iamVjdCkKICAgICAgICApCiAgICB7CiAgICAgICAgJFNlbGYtPnskT2JqZWN0fSA9ICRQYXJhbXskT2JqZWN0fSB8fCBkaWUgIkdvdCBubyAkT2JqZWN0ISI7CiAgICB9CgogICAgIyBjcmVhdGUgbmVlZGVkIHN5c2NvbmZpZyBvYmplY3QKICAgICRTZWxmLT57U3lzQ29uZmlnT2JqZWN0fSA9IEtlcm5lbDo6U3lzdGVtOjpTeXNDb25maWctPm5ldyggJXskU2VsZn0gKTsKCiAgICAjIHJlYnVpbGQgWlpaKiBmaWxlcwogICAgJFNlbGYtPntTeXNDb25maWdPYmplY3R9LT5Xcml0ZURlZmF1bHQoKTsKCiAgICAjIGRlZmluZSB0aGUgWlpaIGZpbGVzCiAgICBteSBAWlpaRmlsZXMgPSAoCiAgICAgICAgJ1paWkFBdXRvLnBtJywKICAgICAgICAnWlpaQXV0by5wbScsCiAgICApOwoKICAgICMgcmVsb2FkIHRoZSBaWlogZmlsZXMgKG1vZF9wZXJsIHdvcmthcm91bmQpCiAgICBmb3IgbXkgJFpaWkZpbGUgKEBaWlpGaWxlcykgewoKICAgICAgICBQUkVGSVg6CiAgICAgICAgZm9yIG15ICRQcmVmaXggKEBJTkMpIHsKICAgICAgICAgICAgbXkgJEZpbGUgPSAkUHJlZml4IC4gJy9LZXJuZWwvQ29uZmlnL0ZpbGVzLycgLiAkWlpaRmlsZTsKICAgICAgICAgICAgbmV4dCBQUkVGSVggaWYgIS1mICRGaWxlOwogICAgICAgICAgICBkbyAkRmlsZTsKICAgICAgICAgICAgbGFzdCBQUkVGSVg7CiAgICAgICAgfQogICAgfQoKICAgICMgY3JlYXRlIG5lZWRlZCBvYmplY3RzCiAgICAkU2VsZi0+e0NvbmZpZ09iamVjdH0gID0gS2VybmVsOjpDb25maWctPm5ldygpOwogICAgJFNlbGYtPntQYWNrYWdlT2JqZWN0fSA9IEtlcm5lbDo6U3lzdGVtOjpQYWNrYWdlLT5uZXcoJVBhcmFtKTsKCiAgICByZXR1cm4gJFNlbGY7Cn0KCj1pdGVtIENvZGVJbnN0YWxsKCkKCnJ1biB0aGUgY29kZSBpbnN0YWxsIHBhcnQKCiAgICBteSAkUmVzdWx0ID0gJENvZGVPYmplY3QtPkNvZGVJbnN0YWxsKCk7Cgo9Y3V0CgpzdWIgQ29kZUluc3RhbGwgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICAkU2VsZi0+X1VwZGF0ZVJlbGVhc2VGaWxlKCk7CgogICAgcmV0dXJuIDE7Cn0KCj1pdGVtIENvZGVSZWluc3RhbGwoKQoKcnVuIHRoZSBjb2RlIHJlaW5zdGFsbCBwYXJ0CgogICAgbXkgJFJlc3VsdCA9ICRDb2RlT2JqZWN0LT5Db2RlUmVpbnN0YWxsKCk7Cgo9Y3V0CgpzdWIgQ29kZVJlaW5zdGFsbCB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgICRTZWxmLT5fVXBkYXRlUmVsZWFzZUZpbGUoKTsKICAgICRTZWxmLT5fTWlncmF0ZUNvbmZpZ3VyYXRpb25zKCk7CgogICAgcmV0dXJuIDE7Cn0KCj1pdGVtIENvZGVVcGdyYWRlKCkKCnJ1biB0aGUgY29kZSB1cGdyYWRlIHBhcnQKCiAgICBteSAkUmVzdWx0ID0gJENvZGVPYmplY3QtPkNvZGVVcGdyYWRlKCk7Cgo9Y3V0CgpzdWIgQ29kZVVwZ3JhZGUgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICAkU2VsZi0+X1VwZGF0ZVJlbGVhc2VGaWxlKCk7CiAgICAkU2VsZi0+X01pZ3JhdGVDb25maWd1cmF0aW9ucygpOwoKICAgIHJldHVybiAxOwp9Cgo9aXRlbSBDb2RlVW5pbnN0YWxsKCkKCnJ1biB0aGUgY29kZSB1bmluc3RhbGwgcGFydAoKICAgIG15ICRSZXN1bHQgPSAkQ29kZU9iamVjdC0+Q29kZVVuaW5zdGFsbCgpOwoKPWN1dAoKc3ViIENvZGVVbmluc3RhbGwgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICAkU2VsZi0+X1JlbW92ZVJlbGVhc2VGaWxlKCk7CgogICAgcmV0dXJuIDE7Cn0KCj1pdGVtIF9VcGRhdGVSZWxlYXNlRmlsZSgpCgpjcmVhdGVzIG9yIHVwZGF0ZXMgUkVMRUFTRS5pUGhvbmVIYW5kbGUgZmlsZQoKICAgIG15ICRSZXN1bHQgPSAkQ29kZU9iamVjdC0+X1VwZGF0ZVJlbGVhc2VGaWxlKCk7Cgo9Y3V0CgpzdWIgX1VwZGF0ZVJlbGVhc2VGaWxlIHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgbXkgJFBhY2thZ2VWZXJzaW9uOwoKICAgICMgZ2V0IHRoZSBpbnN0YWxsZWQgdmVyc2lvbiBvZiBpUGhvbmVIYW5kbGUgcGFja2FnZQogICAgUEFDS0FHRToKICAgIGZvciBteSAkUGFja2FnZSAoICRTZWxmLT57UGFja2FnZU9iamVjdH0tPlJlcG9zaXRvcnlMaXN0KCkgKSB7CiAgICAgICAgaWYgKCAkUGFja2FnZS0+e05hbWV9LT57Q29udGVudH0gZXEgJ2lQaG9uZUhhbmRsZScgKSB7CiAgICAgICAgICAgICRQYWNrYWdlVmVyc2lvbiA9ICRQYWNrYWdlLT57VmVyc2lvbn0tPntDb250ZW50fTsKICAgICAgICAgICAgbGFzdCBQQUNLQUdFOwogICAgICAgIH0KICAgIH0KCiAgICAjIGlmIG5vIGlQaG9uZUhhbmRsZSBwYWNrYWdlIGZvdW5kIGFuZCB0aGUgY29kZSBpbnN0YWxsIGlzIGV4ZWN1dGVkIHRoaXMgbXVzdCBiZSBhCiAgICAjIGRldmVsb3BtZW50IHNjZW5hcmlvCiAgICBpZiAoICEkUGFja2FnZVZlcnNpb24gKSB7CiAgICAgICAgJFBhY2thZ2VWZXJzaW9uID0gJ0NWUyc7CiAgICB9CgogICAgIyBnZXQgaG9tZSBwYXRoCiAgICBteSAkSG9tZSA9ICRTZWxmLT57Q29uZmlnT2JqZWN0fS0+R2V0KCdIb21lJyk7CgogICAgIyBjcmVhdGUgb3Igb3ZlcndyaXRlIFJFTEVBU0UuaVBob25lSGFuZGxlIGZpbGUKICAgIG15ICRDb250ZW50ICAgICAgPSAiUFJPRFVDVCA9IGlQaG9uZUhhbmRsZVxuVkVSU0lPTiA9ICRQYWNrYWdlVmVyc2lvbiI7CiAgICBteSAkRmlsZUxvY2F0aW9uID0gJFNlbGYtPntNYWluT2JqZWN0fS0+RmlsZVdyaXRlKAogICAgICAgIExvY2F0aW9uID0+ICIkSG9tZS92YXIvUkVMRUFTRS5pUGhvbmVIYW5kbGUiLAogICAgICAgIENvbnRlbnQgID0+IFwkQ29udGVudCwKICAgICk7CgogICAgaWYgKCAhJEZpbGVMb2NhdGlvbiApIHsKICAgICAgICAkU2VsZi0+e0xvZ09iamVjdH0tPkxvZygKICAgICAgICAgICAgUHJpb3JpdHkgPT4gJ2Vycm9yJywKICAgICAgICAgICAgTWVzc2FnZSAgPT4gIkVSUk9SOiBDYW4ndCB3cml0ZSAkSG9tZS92YXIvUkVMRUFTRS5pUGhvbmVIYW5kbGUhLlxuIiwKICAgICAgICApOwogICAgICAgIHJldHVybiAtMTsKICAgIH0KCiAgICAjIGNoZWNrIFJFTEVBU0UgZmlsZQogICAgaWYgKCAhLWUgIiRIb21lL3Zhci9SRUxFQVNFLmlQaG9uZUhhbmRsZSIgKSB7CiAgICAgICAgJFNlbGYtPntMb2dPYmplY3R9LT5Mb2coCiAgICAgICAgICAgIFByaW9yaXR5ID0+ICdlcnJvcicsCiAgICAgICAgICAgIE1lc3NhZ2UgID0+ICJGaWxlICRIb21lL3Zhci9SRUxFQVNFLmlQaG9uZUhhbmRsZSB3YXMgbm90IGNyZWF0ZWQhLlxuIiwKICAgICAgICApOwogICAgfQoKICAgIHJldHVybiAxOwp9Cgo9aXRlbSBfUmVtb3ZlUmVsZWFzZUZpbGUoKQoKcmVtb3ZlcyBSRUxFQVNFLmlQaG9uZUhhbmRsZSBmaWxlIGZyb20gdGhlIGZpbGUgc3lzdGVtCgogICAgbXkgJFJlc3VsdCA9ICRDb2RlT2JqZWN0LT5fUmVtb3ZlUmVsZWFzZUZpbGUoKTsKCj1jdXQKCnN1YiBfUmVtb3ZlUmVsZWFzZUZpbGUgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICAjIGdldCBob21lIHBhdGgKICAgIG15ICRIb21lID0gJFNlbGYtPntDb25maWdPYmplY3R9LT5HZXQoJ0hvbWUnKTsKCiAgICAjIGRlbGV0ZSBSRUxFQVNFIGZpbGUKICAgIGlmICggLWUgIiRIb21lL3Zhci9SRUxFQVNFLmlQaG9uZUhhbmRsZSIgKSB7CiAgICAgICAgaWYgKCAhdW5saW5rICIkSG9tZS92YXIvUkVMRUFTRS5pUGhvbmVIYW5kbGUiICkgewogICAgICAgICAgICAkU2VsZi0+e0xvZ09iamVjdH0tPkxvZygKICAgICAgICAgICAgICAgIFByaW9yaXR5ID0+ICdlcnJvcicsCiAgICAgICAgICAgICAgICBNZXNzYWdlICA9PiAiRmlsZSAkSG9tZS92YXIvUkVMRUFTRS5pUGhvbmVIYW5kbGUgY291bGQgbm90IGJlIGRlbGV0ZWQhLlxuIiwKICAgICAgICAgICAgKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIC0xOwogICAgfQogICAgZWxzZSB7CiAgICAgICAgJFNlbGYtPntMb2dPYmplY3R9LT5Mb2coCiAgICAgICAgICAgIFByaW9yaXR5ID0+ICdub3RpY2UnLAogICAgICAgICAgICBNZXNzYWdlICA9PiAiRmlsZSAkSG9tZS92YXIvUkVMRUFTRS5pUGhvbmVIYW5kbGUgd2FzIGFscmVhZHkgZGVsZXRlZCEuXG4iLAogICAgICAgICk7CiAgICB9CiAgICByZXR1cm4gMTsKfQoKPWl0ZW0gX01pZ3JhdGVDb25maWd1cmF0aW9ucygpCgptaWdyYXRlcyBvbGQgVGlja2V0RnJlZVRleHQsIFRpY2tldEZyZWVUaW1lIGFuZCBBcnRpY2xlRnJlZVRleHQgY29uZmlndXJhdGlvbnMgdG8gbmV3IER5bmFtaWMKRmllbGRzIENvbmZpZ3VyYXRpb25zCgogICAgbXkgJFJlc3VsdCA9ICRDb2RlT2JqZWN0LT5fTWlncmF0ZUNvbmZpZ3VyYXRpb25zKCk7Cgo9Y3V0CgpzdWIgX01pZ3JhdGVDb25maWd1cmF0aW9ucyB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgIG15IEBTY3JlZW5zID0gKAogICAgICAgICdpUGhvbmU6OkZyb250ZW5kOjpBZ2VudFRpY2tldFBob25lJywKICAgICAgICAnaVBob25lOjpGcm9udGVuZDo6QWdlbnRUaWNrZXROb3RlJywKICAgICAgICAnaVBob25lOjpGcm9udGVuZDo6QWdlbnRUaWNrZXRDbG9zZScsCiAgICAgICAgJ2lQaG9uZTo6RnJvbnRlbmQ6OkFnZW50VGlja2V0Q29tcG9zZScsCiAgICAgICAgJ2lQaG9uZTo6RnJvbnRlbmQ6OkFnZW50VGlja2V0TW92ZScsCiAgICApOwoKICAgIG15IEBGcmVlRmllbGRUeXBlcyA9ICgKICAgICAgICAnVGlja2V0RnJlZVRleHQnLAogICAgICAgICdUaWNrZXRGcmVlVGltZScsCiAgICAgICAgJ0FydGljbGVGcmVlVGV4dCcsCiAgICApOwoKICAgIFNDUkVFTjoKICAgIGZvciBteSAkU2NyZWVuIChAU2NyZWVucykgewoKICAgICAgICBteSAkU2NyZWVuQ29uZmlnID0gJFNlbGYtPntDb25maWdPYmplY3R9LT5HZXQoJFNjcmVlbik7CgogICAgICAgICMgc2tpcCBzY3JlZW4gaWYgRHluYW1pYyBGaWVsZHMgYXJlIGFscmVhZHkgZGVmaW5lZAogICAgICAgIG5leHQgU0NSRUVOIGlmIElzSGFzaFJlZldpdGhEYXRhKCAkU2NyZWVuQ29uZmlnLT57RHluYW1pY0ZpZWxkfSApOwoKICAgICAgICBteSAlRmllbGRzVG9BZGQ7CgogICAgICAgICMgZ2F0aGVyIGFsbCBmcmVlIGZpZWxkcyBmb3IgdGhpcyBzY3JlZW4KICAgICAgICBmb3IgbXkgJEZyZWVGaWVsZFR5cGUgKEBGcmVlRmllbGRUeXBlcykgewoKICAgICAgICAgICAgIyBjaGVjayBpZiBGcmVlRmllbGRUeXBlIGNvbmZpZ3VyYXRpb24gaXMgc2V0IGFuZCBnZXQgdGhlIGNvbmZpZ3VyZWQgZmllbGRzCiAgICAgICAgICAgIGlmICggSXNIYXNoUmVmV2l0aERhdGEoICRTY3JlZW5Db25maWctPnskRnJlZUZpZWxkVHlwZX0gKSApIHsKCiAgICAgICAgICAgICAgICBGUkVFRklFTEQ6CiAgICAgICAgICAgICAgICBmb3IgbXkgJEZyZWVGaWVsZCAoIHNvcnQga2V5cyAleyAkU2NyZWVuQ29uZmlnLT57JEZyZWVGaWVsZFR5cGV9IH0gKSB7CgogICAgICAgICAgICAgICAgICAgICMgc2tpcCB0aGUgRnJlZUZpZWxkcyB0aGF0IGFyZSBzZXQgdG8gMAogICAgICAgICAgICAgICAgICAgIG5leHQgRlJFRUZJRUxEIGlmICEkU2NyZWVuQ29uZmlnLT57JEZyZWVGaWVsZFR5cGV9LT57JEZyZWVGaWVsZH07CgogICAgICAgICAgICAgICAgICAgICMgYWRkIGZpZWxkIHNldHRpbmcgKDEgb3IgMikgdG8gdGhlIEZpZWxkc1RvQWRkIGhhc2gKICAgICAgICAgICAgICAgICAgICAkRmllbGRzVG9BZGR7ICRGcmVlRmllbGRUeXBlIC4gJEZyZWVGaWVsZCB9ID0gJFNjcmVlbkNvbmZpZy0+eyRGcmVlRmllbGRUeXBlfS0+eyRGcmVlRmllbGR9OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAjIHVwZGF0ZSBEeW5hbWljRmllbGQgY29uZmlndXJhdGlvbiBmb3IgdGhlIHNjcmVlbiBhbmQgYWRkIHRoZSBjb25maWd1cmVkIEZyZWVGaWVsZHMKICAgICAgICBpZiAoIElzSGFzaFJlZldpdGhEYXRhKCBcJUZpZWxkc1RvQWRkICkgKSB7CiAgICAgICAgICAgIG15ICRTdWNjZXNzID0gJFNlbGYtPntTeXNDb25maWdPYmplY3R9LT5Db25maWdJdGVtVXBkYXRlKAogICAgICAgICAgICAgICAgVmFsaWQgPT4gMSwKICAgICAgICAgICAgICAgIEtleSAgID0+ICRTY3JlZW4gLiAnIyMjRHluYW1pY0ZpZWxkJywKICAgICAgICAgICAgICAgIFZhbHVlID0+IFwlRmllbGRzVG9BZGQsCiAgICAgICAgICAgICk7CgogICAgICAgICAgICBpZiAoICEkU3VjY2VzcyApIHsKICAgICAgICAgICAgICAgICRTZWxmLT57TG9nT2JqZWN0fS0+TG9nKAogICAgICAgICAgICAgICAgICAgIFByaW9yaXR5ID0+ICdlcnJvcicsCiAgICAgICAgICAgICAgICAgICAgTWVzc2FnZSAgPT4gIkNhbid0IHVwZGF0ZSBEeW5hbWljRmllbGQgY29uZmlndXJhdGlvbiBmb3IgJFNjcmVlbiEuXG4iLAogICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgICAgIHJldHVybiAtMTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KICAgIHJldHVybiAxCn0KCjE7Cgo9YmFjawoKPWhlYWQxIFRFUk1TIEFORCBDT05ESVRJT05TCgpUaGlzIHNvZnR3YXJlIGlzIHBhcnQgb2YgdGhlIE9UUlMgcHJvamVjdCAoTDxodHRwOi8vb3Rycy5vcmcvPikuCgpUaGlzIHNvZnR3YXJlIGNvbWVzIHdpdGggQUJTT0xVVEVMWSBOTyBXQVJSQU5UWS4gRm9yIGRldGFpbHMsIHNlZQp0aGUgZW5jbG9zZWQgZmlsZSBDT1BZSU5HIGZvciBsaWNlbnNlIGluZm9ybWF0aW9uIChBR1BMKS4gSWYgeW91CmRpZCBub3QgcmVjZWl2ZSB0aGlzIGZpbGUsIHNlZSBMPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9hZ3BsLnR4dD4uCgo9Y3V0Cgo9aGVhZDEgVkVSU0lPTgoKJElkOiBpUGhvbmUucG0sdiAxLjczIDIwMTMtMDEtMDQgMDA6MjE6NTIgY3IgRXhwICQKCj1jdXQK
IyAtLQojIEtlcm5lbC9TeXN0ZW0vaVBob25lLnBtIC0gYWxsIGlQaG9uZSBoYW5kbGUgZnVuY3Rpb25zCiMgQ29weXJpZ2h0IChDKSAyMDAxLTIwMTUgT1RSUyBBRywgaHR0cDovL290cnMuY29tLwojIC0tCiMgVGhpcyBzb2Z0d2FyZSBjb21lcyB3aXRoIEFCU09MVVRFTFkgTk8gV0FSUkFOVFkuIEZvciBkZXRhaWxzLCBzZWUKIyB0aGUgZW5jbG9zZWQgZmlsZSBDT1BZSU5HIGZvciBsaWNlbnNlIGluZm9ybWF0aW9uIChBR1BMKS4gSWYgeW91CiMgZGlkIG5vdCByZWNlaXZlIHRoaXMgZmlsZSwgc2VlIGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9hZ3BsLnR4dC4KIyAtLQoKcGFja2FnZSBLZXJuZWw6OlN5c3RlbTo6aVBob25lOwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwoKdXNlIEtlcm5lbDo6TGFuZ3VhZ2U7CnVzZSBLZXJuZWw6OlN5c3RlbTo6Q2hlY2tJdGVtOwp1c2UgS2VybmVsOjpTeXN0ZW06OlByaW9yaXR5Owp1c2UgS2VybmVsOjpTeXN0ZW06OlN5c3RlbUFkZHJlc3M7CnVzZSBLZXJuZWw6OlN5c3RlbTo6RHluYW1pY0ZpZWxkOwp1c2UgS2VybmVsOjpTeXN0ZW06OkR5bmFtaWNGaWVsZDo6QmFja2VuZDsKdXNlIEtlcm5lbDo6U3lzdGVtOjpEeW5hbWljRmllbGQ6OmlQaG9uZTo6aVBob25lQmFja2VuZDsKdXNlIEtlcm5lbDo6U3lzdGVtOjpWYXJpYWJsZUNoZWNrIHF3KDphbGwpOwoKdXNlIHZhcnMgcXcoQElTQSAkVkVSU0lPTik7Cgo9aGVhZDEgTkFNRQoKS2VybmVsOjpTeXN0ZW06OmlQaG9uZSAtIGlQaG9uZSBsaWIKCj1oZWFkMSBTWU5PUFNJUwoKQWxsIGlQaG9uZSBmdW5jdGlvbnMuCgo9aGVhZDEgUFVCTElDIElOVEVSRkFDRQoKPW92ZXIgNAoKPWN1dAoKPWl0ZW0gbmV3KCkKCmNyZWF0ZSBhbiBvYmplY3QKCiAgICB1c2UgS2VybmVsOjpDb25maWc7CiAgICB1c2UgS2VybmVsOjpTeXN0ZW06OkVuY29kZTsKICAgIHVzZSBLZXJuZWw6OlN5c3RlbTo6TG9nOwogICAgdXNlIEtlcm5lbDo6U3lzdGVtOjpUaW1lOwogICAgdXNlIEtlcm5lbDo6U3lzdGVtOjpNYWluOwogICAgdXNlIEtlcm5lbDo6U3lzdGVtOjpEQjsKICAgIHVzZSBLZXJuZWw6OlN5c3RlbTo6VXNlcjsKICAgIHVzZSBLZXJuZWw6OlN5c3RlbTo6R3JvdXA7CiAgICB1c2UgS2VybmVsOjpTeXN0ZW06OlF1ZXVlOwogICAgdXNlIEtlcm5lbDo6U3lzdGVtOjpTZXJ2aWNlOwogICAgdXNlIEtlcm5lbDo6U3lzdGVtOjpUeXBlOwogICAgdXNlIEtlcm5lbDo6U3lzdGVtOjpTdGF0ZTsKICAgIHVzZSBLZXJuZWw6OlN5c3RlbTo6TG9jazsKICAgIHVzZSBLZXJuZWw6OlN5c3RlbTo6U0xBOwogICAgdXNlIEtlcm5lbDo6U3lzdGVtOjpDdXN0b21lclVzZXI7CiAgICB1c2UgS2VybmVsOjpTeXN0ZW06OlRpY2tldDsKICAgIHVzZSBLZXJuZWw6OlN5c3RlbTo6TGlua09iamVjdDsKICAgIHVzZSBLZXJuZWw6OlN5c3RlbTo6aVBob25lOwoKICAgIG15ICRDb25maWdPYmplY3QgPSBLZXJuZWw6OkNvbmZpZy0+bmV3KCk7CiAgICBteSAkRW5jb2RlT2JqZWN0ID0gS2VybmVsOjpTeXN0ZW06OkVuY29kZS0+bmV3KAogICAgICAgIENvbmZpZ09iamVjdCA9PiAkQ29uZmlnT2JqZWN0LAogICAgKTsKICAgIG15ICRMb2dPYmplY3QgPSBLZXJuZWw6OlN5c3RlbTo6TG9nLT5uZXcoCiAgICAgICAgQ29uZmlnT2JqZWN0ID0+ICRDb25maWdPYmplY3QsCiAgICAgICAgRW5jb2RlT2JqZWN0ID0+ICRFbmNvZGVPYmplY3QsCiAgICApOwogICAgbXkgJFRpbWVPYmplY3QgPSBLZXJuZWw6OlN5c3RlbTo6VGltZS0+bmV3KAogICAgICAgIENvbmZpZ09iamVjdCA9PiAkQ29uZmlnT2JqZWN0LAogICAgICAgIExvZ09iamVjdCAgICA9PiAkTG9nT2JqZWN0LAogICAgKTsKICAgIG15ICRNYWluT2JqZWN0ID0gS2VybmVsOjpTeXN0ZW06Ok1haW4tPm5ldygKICAgICAgICBDb25maWdPYmplY3QgPT4gJENvbmZpZ09iamVjdCwKICAgICAgICBFbmNvZGVPYmplY3QgPT4gJEVuY29kZU9iamVjdCwKICAgICAgICBMb2dPYmplY3QgICAgPT4gJExvZ09iamVjdCwKICAgICk7CiAgICBteSAkREJPYmplY3QgPSBLZXJuZWw6OlN5c3RlbTo6REItPm5ldygKICAgICAgICBDb25maWdPYmplY3QgPT4gJENvbmZpZ09iamVjdCwKICAgICAgICBFbmNvZGVPYmplY3QgPT4gJEVuY29kZU9iamVjdCwKICAgICAgICBMb2dPYmplY3QgICAgPT4gJExvZ09iamVjdCwKICAgICAgICBNYWluT2JqZWN0ICAgPT4gJE1haW5PYmplY3QsCiAgICApOwogICAgbXkgJFVzZXJPYmplY3QgPSBLZXJuZWw6OlN5c3RlbTo6VXNlci0+bmV3KAogICAgICAgIENvbmZpZ09iamVjdCA9PiAkQ29uZmlnT2JqZWN0LAogICAgICAgIExvZ09iamVjdCAgICA9PiAkTG9nT2JqZWN0LAogICAgICAgIE1haW5PYmplY3QgICA9PiAkTWFpbk9iamVjdCwKICAgICAgICBUaW1lT2JqZWN0ICAgPT4gJFRpbWVPYmplY3QsCiAgICAgICAgREJPYmplY3QgICAgID0+ICREQk9iamVjdCwKICAgICAgICBFbmNvZGVPYmplY3QgPT4gJEVuY29kZU9iamVjdCwKICAgICk7CiAgICBteSAkR3JvdXBPYmplY3QgPSBLZXJuZWw6OlN5c3RlbTo6R3JvdXAtPm5ldygKICAgICAgICBDb25maWdPYmplY3QgPT4gJENvbmZpZ09iamVjdCwKICAgICAgICBMb2dPYmplY3QgICAgPT4gJExvZ09iamVjdCwKICAgICAgICBEQk9iamVjdCAgICAgPT4gJERCT2JqZWN0LAogICAgICAgIE1haW5PYmplY3QgICA9PiAkTWFpbk9iamVjdCwKICAgICAgICBFbmNvZGVPYmplY3QgPT4gJEVuY29kZU9iamVjdCwKICAgICk7CiAgICBteSAkUXVldWVPYmplY3QgPSBLZXJuZWw6OlN5c3RlbTo6UXVldWUtPm5ldygKICAgICAgICBDb25maWdPYmplY3QgICAgICAgID0+ICRDb25maWdPYmplY3QsCiAgICAgICAgTG9nT2JqZWN0ICAgICAgICAgICA9PiAkTG9nT2JqZWN0LAogICAgICAgIERCT2JqZWN0ICAgICAgICAgICAgPT4gJERCT2JqZWN0LAogICAgICAgIE1haW5PYmplY3QgICAgICAgICAgPT4gJE1haW5PYmplY3QsCiAgICAgICAgRW5jb2RlT2JqZWN0ICAgICAgICA9PiAkRW5jb2RlT2JqZWN0LAogICAgICAgIEdyb3VwT2JqZWN0ICAgICAgICAgPT4gJEdyb3VwT2JqZWN0LCAjIGlmIGdpdmVuCiAgICAgICAgQ3VzdG9tZXJHcm91cE9iamVjdCA9PiAkQ3VzdG9tZXJHcm91cE9iamVjdCwgIyBpZiBnaXZlbgogICAgKTsKICAgIG15ICRTZXJ2aWNlT2JqZWN0ID0gS2VybmVsOjpTeXN0ZW06OlNlcnZpY2UtPm5ldygKICAgICAgICBDb25maWdPYmplY3QgPT4gJENvbmZpZ09iamVjdCwKICAgICAgICBFbmNvZGVPYmplY3QgPT4gJEVuY29kZU9iamVjdCwKICAgICAgICBMb2dPYmplY3QgICAgPT4gJExvZ09iamVjdCwKICAgICAgICBEQk9iamVjdCAgICAgPT4gJERCT2JqZWN0LAogICAgICAgIE1haW5PYmplY3QgICA9PiAkTWFpbk9iamVjdCwKICAgICk7CiAgICBteSAkVHlwZU9iamVjdCA9IEtlcm5lbDo6U3lzdGVtOjpUeXBlLT5uZXcoCiAgICAgICAgQ29uZmlnT2JqZWN0ID0+ICRDb25maWdPYmplY3QsCiAgICAgICAgTG9nT2JqZWN0ICAgID0+ICRMb2dPYmplY3QsCiAgICAgICAgREJPYmplY3QgICAgID0+ICREQk9iamVjdCwKICAgICAgICBNYWluT2JqZWN0ICAgPT4gJE1haW5PYmplY3QsCiAgICAgICAgRW5jb2RlT2JqZWN0ID0+ICRFbmNvZGVPYmplY3QsCiAgICApOwogICAgbXkgJFN0YXRlT2JqZWN0ID0gS2VybmVsOjpTeXN0ZW06OlN0YXRlLT5uZXcoCiAgICAgICAgQ29uZmlnT2JqZWN0ID0+ICRDb25maWdPYmplY3QsCiAgICAgICAgTG9nT2JqZWN0ICAgID0+ICRMb2dPYmplY3QsCiAgICAgICAgREJPYmplY3QgICAgID0+ICREQk9iamVjdCwKICAgICAgICBNYWluT2JqZWN0ICAgPT4gJE1haW5PYmplY3QsCiAgICAgICAgRW5jb2RlT2JqZWN0ID0+ICRFbmNvZGVPYmplY3QsCiAgICApOwogICAgbXkgJExvY2tPYmplY3QgPSBLZXJuZWw6OlN5c3RlbTo6TG9jay0+bmV3KAogICAgICAgIENvbmZpZ09iamVjdCA9PiAkQ29uZmlnT2JqZWN0LAogICAgICAgIExvZ09iamVjdCAgICA9PiAkTG9nT2JqZWN0LAogICAgICAgIERCT2JqZWN0ICAgICA9PiAkREJPYmplY3QsCiAgICAgICAgTWFpbk9iamVjdCAgID0+ICRNYWluT2JqZWN0LAogICAgICAgIEVuY29kZU9iamVjdCA9PiAkRW5jb2RlT2JqZWN0LAogICAgKTsKICAgIG15ICRTTEFPYmplY3QgPSBLZXJuZWw6OlN5c3RlbTo6U0xBLT5uZXcoCiAgICAgICAgQ29uZmlnT2JqZWN0ID0+ICRDb25maWdPYmplY3QsCiAgICAgICAgRW5jb2RlT2JqZWN0ID0+ICRFbmNvZGVPYmplY3QsCiAgICAgICAgTG9nT2JqZWN0ICAgID0+ICRMb2dPYmplY3QsCiAgICAgICAgREJPYmplY3QgICAgID0+ICREQk9iamVjdCwKICAgICAgICBNYWluT2JqZWN0ICAgPT4gJE1haW5PYmplY3QsCiAgICApOwogICAgbXkgJEN1c3RvbWVyVXNlck9iamVjdCA9IEtlcm5lbDo6U3lzdGVtOjpDdXN0b21lclVzZXItPm5ldygKICAgICAgICBDb25maWdPYmplY3QgPT4gJENvbmZpZ09iamVjdCwKICAgICAgICBMb2dPYmplY3QgICAgPT4gJExvZ09iamVjdCwKICAgICAgICBEQk9iamVjdCAgICAgPT4gJERCT2JqZWN0LAogICAgICAgIE1haW5PYmplY3QgICA9PiAkTWFpbk9iamVjdCwKICAgICAgICBFbmNvZGVPYmplY3QgPT4gJEVuY29kZU9iamVjdCwKICAgICk7CiAgICBteSAkVGlja2V0T2JqZWN0ID0gS2VybmVsOjpTeXN0ZW06OlRpY2tldC0+bmV3KAogICAgICAgIENvbmZpZ09iamVjdCAgICAgICA9PiAkQ29uZmlnT2JqZWN0LAogICAgICAgIExvZ09iamVjdCAgICAgICAgICA9PiAkTG9nT2JqZWN0LAogICAgICAgIERCT2JqZWN0ICAgICAgICAgICA9PiAkREJPYmplY3QsCiAgICAgICAgTWFpbk9iamVjdCAgICAgICAgID0+ICRNYWluT2JqZWN0LAogICAgICAgIFRpbWVPYmplY3QgICAgICAgICA9PiAkVGltZU9iamVjdCwKICAgICAgICBFbmNvZGVPYmplY3QgICAgICAgPT4gJEVuY29kZU9iamVjdCwKICAgICAgICBHcm91cE9iamVjdCAgICAgICAgPT4gJEdyb3VwT2JqZWN0LCAgICAgICAgIyBpZiBnaXZlbgogICAgICAgIEN1c3RvbWVyVXNlck9iamVjdCA9PiAkQ3VzdG9tZXJVc2VyT2JqZWN0LCAjIGlmIGdpdmVuCiAgICAgICAgUXVldWVPYmplY3QgICAgICAgID0+ICRRdWV1ZU9iamVjdCwgICAgICAgICMgaWYgZ2l2ZW4KICAgICk7CiAgICBteSAkTGlua09iamVjdCA9IEtlcm5lbDo6U3lzdGVtOjpMaW5rT2JqZWN0LT5uZXcoCiAgICAgICAgQ29uZmlnT2JqZWN0ID0+ICRDb25maWdPYmplY3QsCiAgICAgICAgTG9nT2JqZWN0ICAgID0+ICRMb2dPYmplY3QsCiAgICAgICAgREJPYmplY3QgICAgID0+ICREQk9iamVjdCwKICAgICAgICBUaW1lT2JqZWN0ICAgPT4gJFRpbWVPYmplY3QsCiAgICAgICAgTWFpbk9iamVjdCAgID0+ICRNYWluT2JqZWN0LAogICAgICAgIEVuY29kZU9iamVjdCA9PiAkRW5jb2RlT2JqZWN0LAogICAgKTsKICAgIG15ICRpUGhvbmVPYmplY3QgPSBLZXJuZWw6OlN5c3RlbTo6aVBob25lLT5uZXcoCiAgICAgICAgQ29uZmlnT2JqZWN0ICAgICAgID0+ICRDb25maWdPYmplY3QsCiAgICAgICAgTG9nT2JqZWN0ICAgICAgICAgID0+ICRMb2dPYmplY3QsCiAgICAgICAgREJPYmplY3QgICAgICAgICAgID0+ICREQk9iamVjdCwKICAgICAgICBNYWluT2JqZWN0ICAgICAgICAgPT4gJE1haW5PYmplY3QsCiAgICAgICAgVGltZU9iamVjdCAgICAgICAgID0+ICRUaW1lT2JqZWN0LAogICAgICAgIEVuY29kZU9iamVjdCAgICAgICA9PiAkRW5jb2RlT2JqZWN0LAogICAgICAgIEdyb3VwT2JqZWN0ICAgICAgICA9PiAkR3JvdXBPYmplY3QsCiAgICAgICAgQ3VzdG9tZXJVc2VyT2JqZWN0ID0+ICRDdXN0b21lclVzZXJPYmplY3QsCiAgICAgICAgUXVldWVPYmplY3QgICAgICAgID0+ICRRdWV1ZU9iamVjdCwKICAgICAgICBVc2VyT2JqZWN0ICAgICAgICAgPT4gJFVzZXJPYmplY3QsCiAgICAgICAgUXVldWVPYmplY3QgICAgICAgID0+ICRRdWV1ZU9iamVjdCwKICAgICAgICBTZXJ2aWNlT2JqZWN0ICAgICAgPT4gJFNlcnZpY2VPYmplY3QsCiAgICAgICAgVHlwZU9iamVjdCAgICAgICAgID0+ICRUeXBlT2JqZWN0LAogICAgICAgIFN0YXRlT2JqZWN0ICAgICAgICA9PiAkU3RhdGVPYmplY3QsCiAgICAgICAgTG9ja09iamVjdCAgICAgICAgID0+ICRMb2NrT2JqZWN0LAogICAgICAgIFNMQU9iamVjdCAgICAgICAgICA9PiAkU0xBT2JqZWN0LAogICAgICAgIFRpY2tldE9iamVjdCAgICAgICA9PiAkVGlja2V0T2JqZWN0LAogICAgICAgIExpbmtPYmplY3QgICAgICAgICA9PiAkTGlua09iamVjdCwKICAgICk7Cgo9Y3V0CgpzdWIgbmV3IHsKICAgIG15ICggJFR5cGUsICVQYXJhbSApID0gQF87CgogICAgIyBhbGxvY2F0ZSBuZXcgaGFzaCBmb3Igb2JqZWN0CiAgICBteSAkU2VsZiA9IHslUGFyYW19OwogICAgYmxlc3MoICRTZWxmLCAkVHlwZSApOwoKICAgICMgY2hlY2sgbmVlZGVkIG9iamVjdHMKICAgIGZvciAoCiAgICAgICAgcXcoQ29uZmlnT2JqZWN0IFVzZXJPYmplY3QgR3JvdXBPYmplY3QgUXVldWVPYmplY3QgU2VydmljZU9iamVjdCBUeXBlT2JqZWN0CiAgICAgICAgU3RhdGVPYmplY3QgTG9ja09iamVjdCBTTEFPYmplY3QgQ3VzdG9tZXJVc2VyT2JqZWN0IFRpY2tldE9iamVjdCBMaW5rT2JqZWN0ICkKICAgICAgICApCiAgICB7CiAgICAgICAgJFNlbGYtPnskX30gPSAkUGFyYW17JF99IHx8IGRpZSAiR290IG5vICRfISBvYmplY3QiOwogICAgfQoKICAgICRTZWxmLT57Q2hlY2tJdGVtT2JqZWN0fSAgICAgPSBLZXJuZWw6OlN5c3RlbTo6Q2hlY2tJdGVtLT5uZXcoJVBhcmFtKTsKICAgICRTZWxmLT57UHJpb3JpdHlPYmplY3R9ICAgICAgPSBLZXJuZWw6OlN5c3RlbTo6UHJpb3JpdHktPm5ldyglUGFyYW0pOwogICAgJFNlbGYtPntTeXN0ZW1BZGRyZXNzfSAgICAgICA9IEtlcm5lbDo6U3lzdGVtOjpTeXN0ZW1BZGRyZXNzLT5uZXcoJVBhcmFtKTsKICAgICRTZWxmLT57RHluYW1pY0ZpZWxkT2JqZWN0fSAgPSBLZXJuZWw6OlN5c3RlbTo6RHluYW1pY0ZpZWxkLT5uZXcoJVBhcmFtKTsKICAgICRTZWxmLT57QmFja2VuZE9iamVjdH0gICAgICAgPSBLZXJuZWw6OlN5c3RlbTo6RHluYW1pY0ZpZWxkOjpCYWNrZW5kLT5uZXcoJVBhcmFtKTsKICAgICRTZWxmLT57aVBob25lQmFja2VuZE9iamVjdH0gPSBLZXJuZWw6OlN5c3RlbTo6RHluYW1pY0ZpZWxkOjppUGhvbmU6OmlQaG9uZUJhY2tlbmQtPm5ldyglUGFyYW0pOwoKICAgIHJldHVybiAkU2VsZjsKfQoKPWl0ZW0gU2NyZWVuQ29uZmlnKCkKR2V0IGZpZWxkcyBkZWZpbnRpb24gZm9yIGVhY2ggc2NyZWVuIChQaG9uZSwgTm90ZSwgQ2xvc2UsIENvbXBvc2Ugb3IgTW92ZSkKClBob25lICAgKE5ldyBwaG9uZSB0aWNrZXQpCk5vdGUgICAgKEFkZCBhIG5vdGUgdG8gYSBUaWNrZXQpCkNsb3NlICAgKENsb3NlIGEgdGNrZXQpCkNvbXBvc2UgKFJlcGx5IG9yIHJlc3BvbnNlIGEgdGlja2V0KQpNb3ZlICAgIChDaGFuZ2UgdGlja2V0IHF1ZXVlKQoKTm90ZSwgQ2xvc2UsIENvbXBvc2UgYW5kIE1vdmUsIHJlcXVpcmVzIFRpY2tldElEIGFyZ3VtZW50CgpUaGUgZmllbGRzIHRoYXQgYXJlIHJldHVybmVkIGRlcGVuZCBvbiB0aGUgU2NyZWVuIEFyZ3VtZW50IGFuZCBvbiB0aGUgU2V0dGluZ3MgaW4gc3lzY29uZmlnIGZvciB0aGUgaVBob25lCmFzIHdlbGwgYXMgb24gZ2VuZXJhbCBzZXR0aW5ncy4KCiAgICBteSBAUmVzdWx0ID0gJGlQaG9uZU9iamVjdC0+U2NyZWVuQ29uZmlnKAogICAgICAgIFNjcmVlbiA9PiAiUGhvbmUiLAogICAgICAgIFVzZXJJRCA9PiAxLAogICAgKTsKCiAgICBteSBAUmVzdWx0ID0gJGlQaG9uZU9iamVjdC0+U2NyZWVuQ29uZmlnKAogICAgICAgIFNjcmVlbiAgID0+ICJOb3RlIiwKICAgICAgICBUaWNrZXRJRCA9PiAyMjQsCiAgICAgICAgVXNlcklEICAgPT4gMSwKICAgICk7CgogICAgIyBhIHJlc3VsdCBjb3VsZCBiZQoKICAgIEBSZXN1bHQgPSAoCiAgICAgICAgQWN0aW9ucyA9PiB7CiAgICAgICAgICAgIFBhcmFtZXRlcnMgPT4gewogICAgICAgICAgICAgICAgQWN0aW9uID0+ICJQaG9uZSIsCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIE1ldGhvZCA9PiAiU2NyZWVuQWN0aW9ucyIsCiAgICAgICAgICAgIE9iamVjdCA9PiAiQ3VzdG9tT2JqZWN0IiwKICAgICAgICAgICAgVGl0bGUgPT4gIk5ldyBQaG9uZSBUaWNrZXQiCiAgICAgICB9LAogICAgICAgIEVsZW1lbnRzID0+ICgKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgTmFtZSAgICAgICA9PiAiVHlwZUlEIiwKICAgICAgICAgICAgICAgIFRpdGxlICAgICAgPT4gIlR5cGUiLAogICAgICAgICAgICAgICAgRGF0YXR5cGUgICA9PiAiVGV4dCIsCiAgICAgICAgICAgICAgICBWaWV3dHlwZSAgID0+ICJQaWNrZXIiLAogICAgICAgICAgICAgICAgT3B0aW9ucyAgICA9PiB7CiAgICAgICAgICAgICAgICAgICAgMT0+ICJkZWZhdWx0IiwKICAgICAgICAgICAgICAgICAgICAyPT4gIlJmQyIsCiAgICAgICAgICAgICAgICAgICAgMz0+ICJJbmNpZGVudCIsCiAgICAgICAgICAgICAgICAgICAgND0+ICJJbmNpZGVudDo6U2VydmljZVJlcXVlc3QiLAogICAgICAgICAgICAgICAgICAgIDU9PiAiSW5jaWRlbnQ6OkRpc2FzdGVyIgogICAgICAgICAgICAgICAgICAgIDY9PiAiUHJvYmxlbSIsCiAgICAgICAgICAgICAgICAgICAgNz0+ICJQcm9ibGVtOjpLbm93bkVycm9yIiwKICAgICAgICAgICAgICAgICAgICA4PT4gIlByb2JsZW06OlBlbmRpbmdSZkMiLAogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIERlZmF1bHQgICA9PiIiLAogICAgICAgICAgICAgICAgTWFuZGF0b3J5ID0+IDEsCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIE5hbWUgICAgICAgICAgID0+ICJDdXN0b21lclVzZXJMb2dpbiIsCiAgICAgICAgICAgICAgICBUaXRsZSAgICAgICAgICA9PiAiRnJvbSBjdXN0b21lciIsCiAgICAgICAgICAgICAgICBEYXRhdHlwZSAgICAgICA9PiAiVGV4dCIsCiAgICAgICAgICAgICAgICBWaWV3dHlwZSAgICAgICA9PiJBdXRvQ29tcGxldGlvbiIsCiAgICAgICAgICAgICAgICBEeW5hbWljT3B0aW9ucyA9PiB7CiAgICAgICAgICAgICAgICAgICAgT2JqZWN0ICAgICA9PiAiQ3VzdG9tT2JqZWN0IiwKICAgICAgICAgICAgICAgICAgICBNZXRob2QgICAgID0+IkN1c3RvbWVyU2VhcmNoIiwKICAgICAgICAgICAgICAgICAgICBQYXJhbWV0ZXJzID0+CiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNlYXJjaCA9PiAiQ3VzdG9tZXJVc2VyTG9naW4iLAogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIERlZmF1bHQgICAgICAgID0+ICIiLAogICAgICAgICAgICAgICAgTWFuZGF0b3J5ICAgICAgPT4gMSwKICAgICAgICAgICAgfSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgTmFtZSAgICAgID0+ICJRdWV1ZUlEIiwKICAgICAgICAgICAgICAgIFRpdGxlICAgICA9PiAiVG8gcXVldWUiLAogICAgICAgICAgICAgICAgRGF0YXR5cGUgID0+ICJUZXh0IiwKICAgICAgICAgICAgICAgIFZpZXd0eXBlICA9PiAiUGlja2VyIiwKICAgICAgICAgICAgICAgIE9wdGlvbnMgICA9PnsKICAgICAgICAgICAgICAgICAgICAgID0+ICItIiwKICAgICAgICAgICAgICAgICAgICAxID0+ICJQb3N0bWFzdGVyIiwKICAgICAgICAgICAgICAgICAgICAyID0+ICJSYXciLAogICAgICAgICAgICAgICAgICAgIDMgPT4gIkp1bmsiLAogICAgICAgICAgICAgICAgICAgIDQgPT4gIk1pc2MiLAogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIERlZmF1bHQgICA9PiAiIiwKICAgICAgICAgICAgICAgIE1hbmRhdG9yeSA9PiAxLAogICAgICAgICAgICB9LAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBOYW1lICAgICAgICAgICA9PiAiU2VydmljZUlEIiwKICAgICAgICAgICAgICAgIFRpdGxlICAgICAgICAgID0+ICJTZXJ2aWNlIiwKICAgICAgICAgICAgICAgIERhdGF0eXBlICAgICAgID0+ICJUZXh0IiwKICAgICAgICAgICAgICAgIFZpZXd0eXBlICAgICAgID0+IlBpY2tlciIsCiAgICAgICAgICAgICAgICBEeW5hbWljT3B0aW9ucyA9PiB7CiAgICAgICAgICAgICAgICAgICAgT2JqZWN0ICAgICA9PiAiQ3VzdG9tT2JqZWN0IgogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAgICAgPT4gIlNlcnZpY2VzR2V0IiwKICAgICAgICAgICAgICAgICAgICBQYXJhbWV0ZXJzID0+IHsKICAgICAgICAgICAgICAgICAgICAgICAgQ3VzdG9tZXJVc2VySUQgPT4gIkN1c3RvbWVyVXNlckxvZ2luIiwKICAgICAgICAgICAgICAgICAgICAgICAgUXVldWVJRCAgICAgICAgPT4gIlF1ZXVlSUQiLAogICAgICAgICAgICAgICAgICAgICAgICBUaWNrZXRJRCAgICAgICA9PiAiVGlja2V0SUQiLAogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgTWFuZGF0b3J5ICAgICAgPT4gMCwKICAgICAgICAgICAgICAgIERlZmF1bHQgICAgICAgID0+ICIiLAogICAgICAgICAgICB9LAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBOYW1lICAgICAgICAgICA9PiAiU0xBSUQiLAogICAgICAgICAgICAgICAgVGl0bGUgICAgICAgICAgPT4gIlNMQSIsCiAgICAgICAgICAgICAgICBEYXRhdHlwZSAgICAgICA9PiAiVGV4dCIsCiAgICAgICAgICAgICAgICBWaWV3dHlwZSAgICAgICA9PiAiUGlja2VyIiwKICAgICAgICAgICAgICAgIER5bmFtaWNPcHRpb25zID0+IHsKICAgICAgICAgICAgICAgICAgICBPYmplY3QgICAgID0+ICJDdXN0b21PYmplY3QiLAogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAgICAgPT4gIlNMQXNHZXQiLAogICAgICAgICAgICAgICAgICAgIFBhcmFtZXRlcnMgPT4gewogICAgICAgICAgICAgICAgICAgICAgICBDdXN0b21lclVzZXJJRCA9PiAiQ3VzdG9tZXJVc2VyTG9naW4iLAogICAgICAgICAgICAgICAgICAgICAgICBRdWV1ZUlEICAgICAgICA9PiAiUXVldWVJRCIsCiAgICAgICAgICAgICAgICAgICAgICAgIFNlcnZpY2VJRCAgICAgID0+ICJTZXJ2aWNlSUQiLAogICAgICAgICAgICAgICAgICAgICAgICBUaWNrZXRJRCAgICAgICA9PiAiVGlja2V0SUQiLgogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgRGVmYXVsdCAgICAgICAgPT4gIiIsCiAgICAgICAgICAgICAgICBNYW5kYXRvcnkgICAgICA9PiAwLAogICAgICAgICAgICB9LAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBOYW1lICAgICAgICAgICA9PiAiT3duZXJJRCIsCiAgICAgICAgICAgICAgICBUaXRsZSAgICAgICAgICA9PiAiT3duZXIiLAogICAgICAgICAgICAgICAgRGF0YXR5cGUgICAgICAgPT4gIlRleHQiLAogICAgICAgICAgICAgICAgVmlld3R5cGUgICAgICAgPT4iUGlja2VyIiwKICAgICAgICAgICAgICAgIER5bmFtaWNPcHRpb25zID0+IHsKICAgICAgICAgICAgICAgICAgICBQYXJhbWV0ZXJzID0+IHsKICAgICAgICAgICAgICAgICAgICAgICAgUXVldWVJRCAgPT4gIlF1ZXVlSUQiLAogICAgICAgICAgICAgICAgICAgICAgICBBbGxVc2VycyA9PiAxLAogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kICAgICA9PiAiVXNlcnNHZXQiLAogICAgICAgICAgICAgICAgICAgIE9iamVjdCAgICAgPT4gIkN1c3RvbU9iamVjdCIsCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgRGVmYXVsdCAgICAgICAgPT4gIiIsCiAgICAgICAgICAgICAgICBNYW5kYXRvcnkgICAgICA9PiAwLAogICAgICAgICAgICB9LAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBOYW1lICAgICAgICAgICA9PiAiUmVzcG9uc2libGVJRCIsCiAgICAgICAgICAgICAgICBUaXRsZSAgICAgICAgICA9PiAiUmVzcG9uc2libGUiLAogICAgICAgICAgICAgICAgRGF0YXR5cGUgICAgICAgPT4gIlRleHQiLAogICAgICAgICAgICAgICAgVmlld3R5cGUgICAgICAgPT4gIlBpY2tlciIsCiAgICAgICAgICAgICAgICBEeW5hbWljT3B0aW9ucyA9PiB7CiAgICAgICAgICAgICAgICAgICAgT2JqZWN0ICAgICA9PiAiQ3VzdG9tT2JqZWN0IiwKICAgICAgICAgICAgICAgICAgICBNZXRob2QgICAgID0+ICJVc2Vyc0dldCIsCiAgICAgICAgICAgICAgICAgICAgUGFyYW1ldGVycyA9PiB7CiAgICAgICAgICAgICAgICAgICAgICAgIFF1ZXVlSUQgID0+ICJRdWV1ZUlEIiwKICAgICAgICAgICAgICAgICAgICAgICAgQWxsVXNlcnMgPT4gMQogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgRGVmYXVsdCAgICAgICAgPT4gIiIsCiAgICAgICAgICAgICAgICBNYW5kYXRvcnkgICAgICA9PiAwLAogICAgICAgICAgICB9LAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBOYW1lICAgICAgPT4gIlN1YmplY3QiLAogICAgICAgICAgICAgICAgVGl0bGUgICAgID0+ICJTdWJqZWN0IiwKICAgICAgICAgICAgICAgIERhdGF0eXBlICA9PiAiVGV4dCIsCiAgICAgICAgICAgICAgICBWaWV3dHlwZSAgPT4gIklucHV0IiwKICAgICAgICAgICAgICAgIE1heCAgICAgICA9PiAyNTAsCiAgICAgICAgICAgICAgICBNaW4gICAgICAgPT4gMSwKICAgICAgICAgICAgICAgIERlZmF1bHQgICA9PiAiIiwKICAgICAgICAgICAgICAgIE1hbmRhdG9yeSA9PiAxLAogICAgICAgICAgICB9LAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBOYW1lICAgICAgPT4gIkJvZHkiLAogICAgICAgICAgICAgICAgVGl0bGUgICAgID0+ICJUZXh0IiwKICAgICAgICAgICAgICAgIERhdGF0eXBlICA9PiAiVGV4dCIsCiAgICAgICAgICAgICAgICBWaWV3dHlwZSAgPT4gIlRleHRBcmVhIiwKICAgICAgICAgICAgICAgIE1heCAgICAgICA9PiAyMDAwMCwKICAgICAgICAgICAgICAgIE1pbiAgICAgICA9PiAxLAogICAgICAgICAgICAgICAgRGVmYXVsdCAgID0+ICIiLAogICAgICAgICAgICAgICAgTWFuZGF0b3J5ID0+IDEsCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIE5hbWUgICAgICA9PiAiQ3VzdG9tZXJJRCIsCiAgICAgICAgICAgICAgICBUaXRsZSAgICAgPT4gIkN1c3RvbWVySUQiLAogICAgICAgICAgICAgICAgRGF0YXR5cGUgID0+ICJUZXh0IiwKICAgICAgICAgICAgICAgIFZpZXd0eXBlICA9PiAiSW5wdXQiLAogICAgICAgICAgICAgICAgTWF4ICAgICAgID0+IDE1MCwKICAgICAgICAgICAgICAgIE1pbiAgICAgICA9PiAxLAogICAgICAgICAgICAgICAgRGVmYXVsdCAgID0+ICIiLAogICAgICAgICAgICAgICAgTWFuZGF0b3J5ID0+IDAsCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIE5hbWUgICAgICAgICAgID0+ICJTdGF0ZUlEIiwKICAgICAgICAgICAgICAgIFRpdGxlICAgICAgICAgID0+ICJOZXh0IFRpY2tldCBTdGF0ZSIsCiAgICAgICAgICAgICAgICBEYXRhdHlwZSAgICAgICA9PiAiVGV4dCIsCiAgICAgICAgICAgICAgICBWaWV3dHlwZSAgICAgICA9PiAiUGlja2VyIiwKICAgICAgICAgICAgICAgIER5bmFtaWNPcHRpb25zID0+IHsKICAgICAgICAgICAgICAgICAgICBNZXRob2QgICAgID0+ICJOZXh0U3RhdGVzR2V0IiwKICAgICAgICAgICAgICAgICAgICBPYmplY3QgICAgID0+ICJDdXN0b21PYmplY3QiLAogICAgICAgICAgICAgICAgICAgIFBhcmFtZXRlcnMgPT4gewogICAgICAgICAgICAgICAgICAgICAgICBRdWV1ZUlEID0+ICJRdWV1ZUlEIiwKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIERlZmF1bHQgICAgICAgID0+ICI0IiwKICAgICAgICAgICAgICAgIERlZmF1bHRPcHRpb24gID0+ICJvcGVuIiwKICAgICAgICAgICAgICAgIE1hbmRhdG9yeSAgICAgID0+IDEsCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIE5hbWUgICAgICA9PiAiUGVuZGluZ0RhdGUiLAogICAgICAgICAgICAgICAgVGl0bGUgICAgID0+ICJQZW5kaW5nIERhdGUgKGZvciBwZW5kaW5nKiBzdGF0ZXMpIgogICAgICAgICAgICAgICAgRGF0YXR5cGUgID0+ICJEYXRlVGltZSIsCiAgICAgICAgICAgICAgICBWaWV3dHlwZSAgPT4gIlBpY2tlciIsCiAgICAgICAgICAgICAgICBEZWZhdWx0ICAgPT4gIiIsCiAgICAgICAgICAgICAgICBNYW5kYXRvcnkgPT4gMCwKICAgICAgICAgICAgfSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgTmFtZSAgICAgICAgICAgPT4gIlByaW9yaXR5SUQiLAogICAgICAgICAgICAgICAgVGl0bGUgICAgICAgICAgPT4gIlByaW9yaXR5IgogICAgICAgICAgICAgICAgRGF0YXR5cGUgICAgICAgPT4gIlRleHQiLAogICAgICAgICAgICAgICAgVmlld3R5cGUgICAgICAgPT4gIlBpY2tlciIsCiAgICAgICAgICAgICAgICBEeW5hbWljT3B0aW9ucyA9PiB7CiAgICAgICAgICAgICAgICAgICAgT2JqZWN0ICAgICA9PiAiQ3VzdG9tT2JqZWN0IgogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAgICAgPT4gIlByaW9yaXRpZXNHZXQiLAogICAgICAgICAgICAgICAgICAgIFBhcmFtZXRlcnMgPT4gIiIsCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgRGVmYXVsdE9wdGlvbiAgPT4gIjMgbm9ybWFsIiwKICAgICAgICAgICAgICAgIERlZmF1bHQgICAgICAgID0+ICIzIiwKICAgICAgICAgICAgICAgIE1hbmRhdG9yeSAgICAgID0+IDEsCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIE5hbWUgICAgICAgID0+ICJEeW5hbWljRmllbGRfTmFtZVgiLAogICAgICAgICAgICAgICAgVGl0bGUgICAgICAgPT4gIlByb2R1Y3QiLAogICAgICAgICAgICAgICAgRGF0YXR5cGUgICAgPT4gIlRleHQiLAogICAgICAgICAgICAgICAgVmlld3R5cGUgICAgPT4gIlBpY2tlciIsCiAgICAgICAgICAgICAgICBPcHRpb25zICAgICA9PiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gIi0iLAogICAgICAgICAgICAgICAgICAgIFBob25lICAgID0+ICJQaG9uZSIsCiAgICAgICAgICAgICAgICAgICAgTm90ZWJvb2sgPT4gIk5vdGVib29rIiwKICAgICAgICAgICAgICAgICAgICBQQyAgICAgICA9PiAiUEMiLAogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIERlZmF1bHQgICAgID0+ICJOb3RlYm9vayIsCiAgICAgICAgICAgICAgICBNYW5kYXRvcnkgICA9PiAwLAogICAgICAgICAgICB9LAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBOYW1lID0+ICJUaW1lVW5pdHMiLAogICAgICAgICAgICAgICAgVGl0bGUgPT4gIlRpbWUgdW5pdHMgKHdvcmsgdW5pdHMpIiwKICAgICAgICAgICAgICAgIERhdGF0eXBlID0+ICJOdW1lcmljIiwKICAgICAgICAgICAgICAgIFZpZXd0eXBlID0+ICJJbnB1dCIsCiAgICAgICAgICAgICAgICBNYXggPT4gMTAsCiAgICAgICAgICAgICAgICBNaW4gPT4gMSwKICAgICAgICAgICAgICAgIERlZmF1bHQgPT4gIiIsCiAgICAgICAgICAgICAgICBNYW5kYXRvcnkgPT4gMCwKICAgICAgICAgICAgfSwKICAgICAgICApLAogICAgKTsKCj1jdXQKCnN1YiBTY3JlZW5Db25maWcgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICAkU2VsZi0+e0xhbmd1YWdlT2JqZWN0fSA9IEtlcm5lbDo6TGFuZ3VhZ2UtPm5ldyggJXskU2VsZn0sIFVzZXJMYW5ndWFnZSA9PiAkUGFyYW17TGFuZ3VhZ2V9ICk7CgogICAgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIwogICAgIyBOZXcgUGhvbmUgVGlja2V0IFNjcmVlbgogICAgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIwoKICAgIGlmICggJFBhcmFte1NjcmVlbn0gZXEgJ1Bob25lJyApIHsKCiAgICAgICAgIyBnZXQgc2NyZWVuIGNvbmZpZ3VyYXRpb24gb3B0aW9ucyBmb3IgaXBob25lIGZyb20gc3lzY29uZmlnCiAgICAgICAgJFNlbGYtPntDb25maWd9ID0gJFNlbGYtPntDb25maWdPYmplY3R9LT5HZXQoJ2lQaG9uZTo6RnJvbnRlbmQ6OkFnZW50VGlja2V0UGhvbmUnKTsKICAgICAgICBteSAlQ29uZmlnID0gKAogICAgICAgICAgICBUaXRsZSAgICA9PiAkU2VsZi0+e0xhbmd1YWdlT2JqZWN0fS0+R2V0KCdOZXcgUGhvbmUgVGlja2V0JyksCiAgICAgICAgICAgIEVsZW1lbnRzID0+ICRTZWxmLT5fR2V0U2NyZWVuRWxlbWVudHMoJVBhcmFtKSwKICAgICAgICAgICAgQWN0aW9ucyAgPT4gewogICAgICAgICAgICAgICAgT2JqZWN0ICAgICA9PiAnQ3VzdG9tT2JqZWN0JywKICAgICAgICAgICAgICAgIE1ldGhvZCAgICAgPT4gJ1NjcmVlbkFjdGlvbnMnLAogICAgICAgICAgICAgICAgUGFyYW1ldGVycyA9PiB7CiAgICAgICAgICAgICAgICAgICAgQWN0aW9uID0+ICdQaG9uZScsCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICB9LAogICAgICAgICk7CiAgICAgICAgcmV0dXJuIFwlQ29uZmlnOwogICAgfQoKICAgICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMKICAgICMgQWRkIE5vdGUgU2NyZWVuCiAgICAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjCiAgICBpZiAoICRQYXJhbXtTY3JlZW59IGVxICdOb3RlJyApIHsKCiAgICAgICAgIyBnZXQgc2NyZWVuIGNvbmZpZ3VyYXRpb24gb3B0aW9ucyBmb3IgaXBob25lIGZyb20gc3lzY29uZmlnCiAgICAgICAgJFNlbGYtPntDb25maWd9ID0gJFNlbGYtPntDb25maWdPYmplY3R9LT5HZXQoJ2lQaG9uZTo6RnJvbnRlbmQ6OkFnZW50VGlja2V0Tm90ZScpOwoKICAgICAgICBteSAlQ29uZmlnID0gKAogICAgICAgICAgICBUaXRsZSAgICA9PiAkU2VsZi0+e0xhbmd1YWdlT2JqZWN0fS0+R2V0KCdBZGQgTm90ZScpLAogICAgICAgICAgICBFbGVtZW50cyA9PiAkU2VsZi0+X0dldFNjcmVlbkVsZW1lbnRzKCVQYXJhbSksCiAgICAgICAgICAgIEFjdGlvbnMgID0+IHsKICAgICAgICAgICAgICAgIE9iamVjdCAgICAgPT4gJ0N1c3RvbU9iamVjdCcsCiAgICAgICAgICAgICAgICBNZXRob2QgICAgID0+ICdTY3JlZW5BY3Rpb25zJywKICAgICAgICAgICAgICAgIFBhcmFtZXRlcnMgPT4gewogICAgICAgICAgICAgICAgICAgIEFjdGlvbiAgID0+ICdOb3RlJywKICAgICAgICAgICAgICAgICAgICBUaWNrZXRJRCA9PiAkUGFyYW17VGlja2V0SUR9LAogICAgICAgICAgICAgICAgICAgIFRpdGxlICAgID0+ICdhIHRpdGxlJywKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgIH0sCiAgICAgICAgKTsKICAgICAgICByZXR1cm4gXCVDb25maWc7CiAgICB9CgogICAgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIwogICAgIyBDbG9zZSBUaWNrZXQgU2NyZWVuCiAgICAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjCgogICAgaWYgKCAkUGFyYW17U2NyZWVufSBlcSAnQ2xvc2UnICkgewoKICAgICAgICAjIGdldCBzY3JlZW4gY29uZmlndXJhdGlvbiBvcHRpb25zIGZvciBpcGhvbmUgZnJvbSBzeXNjb25maWcKICAgICAgICAkU2VsZi0+e0NvbmZpZ30gPSAkU2VsZi0+e0NvbmZpZ09iamVjdH0tPkdldCgnaVBob25lOjpGcm9udGVuZDo6QWdlbnRUaWNrZXRDbG9zZScpOwoKICAgICAgICBteSAlQ29uZmlnID0gKAogICAgICAgICAgICBUaXRsZSAgICA9PiAkU2VsZi0+e0xhbmd1YWdlT2JqZWN0fS0+R2V0KCdDbG9zZScpLAogICAgICAgICAgICBFbGVtZW50cyA9PiAkU2VsZi0+X0dldFNjcmVlbkVsZW1lbnRzKCVQYXJhbSksCiAgICAgICAgICAgIEFjdGlvbnMgID0+IHsKICAgICAgICAgICAgICAgIE9iamVjdCAgICAgPT4gJ0N1c3RvbU9iamVjdCcsCiAgICAgICAgICAgICAgICBNZXRob2QgICAgID0+ICdTY3JlZW5BY3Rpb25zJywKICAgICAgICAgICAgICAgIFBhcmFtZXRlcnMgPT4gewogICAgICAgICAgICAgICAgICAgIEFjdGlvbiAgID0+ICdDbG9zZScsCiAgICAgICAgICAgICAgICAgICAgVGlja2V0SUQgPT4gJFBhcmFte1RpY2tldElEfSwKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgIH0sCiAgICAgICAgKTsKICAgICAgICByZXR1cm4gXCVDb25maWc7CiAgICB9CgogICAgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIwogICAgIyBDb21wb3NlIFNjcmVlbgogICAgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIwoKICAgIGlmICggJFBhcmFte1NjcmVlbn0gZXEgJ0NvbXBvc2UnICkgewoKICAgICAgICAjIGdldCBzY3JlZW4gY29uZmlndXJhdGlvbiBvcHRpb25zIGZvciBpcGhvbmUgZnJvbSBzeXNjb25maWcKICAgICAgICAkU2VsZi0+e0NvbmZpZ30gPSAkU2VsZi0+e0NvbmZpZ09iamVjdH0tPkdldCgnaVBob25lOjpGcm9udGVuZDo6QWdlbnRUaWNrZXRDb21wb3NlJyk7CgogICAgICAgIG15ICVDb25maWcgPSAoCiAgICAgICAgICAgIFRpdGxlICAgID0+ICRTZWxmLT57TGFuZ3VhZ2VPYmplY3R9LT5HZXQoJ0NvbXBvc2UnKSwKICAgICAgICAgICAgRWxlbWVudHMgPT4gJFNlbGYtPl9HZXRTY3JlZW5FbGVtZW50cyglUGFyYW0pIHx8ICcnLAogICAgICAgICAgICBBY3Rpb25zICA9PiB7CiAgICAgICAgICAgICAgICBPYmplY3QgICAgID0+ICdDdXN0b21PYmplY3QnLAogICAgICAgICAgICAgICAgTWV0aG9kICAgICA9PiAnU2NyZWVuQWN0aW9ucycsCiAgICAgICAgICAgICAgICBQYXJhbWV0ZXJzID0+IHsKICAgICAgICAgICAgICAgICAgICBBY3Rpb24gICAgICAgICA9PiAnQ29tcG9zZScsCiAgICAgICAgICAgICAgICAgICAgVGlja2V0SUQgICAgICAgPT4gJFBhcmFte1RpY2tldElEfSwKICAgICAgICAgICAgICAgICAgICBSZXBseUFydGljbGVJRCA9PiAkUGFyYW17QXJ0aWNsZUlEfSwKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgIH0sCiAgICAgICAgKTsKICAgICAgICBpZiAoICEkQ29uZmlne0VsZW1lbnRzfSApIHsKICAgICAgICAgICAgcmV0dXJuIC0xOwogICAgICAgIH0KICAgICAgICByZXR1cm4gXCVDb25maWc7CiAgICB9CgogICAgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIwogICAgIyBNb3ZlIFNjcmVlbgogICAgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIwogICAgaWYgKCAkUGFyYW17U2NyZWVufSBlcSAnTW92ZScgKSB7CgogICAgICAgICMgZ2V0IHNjcmVlbiBjb25maWd1cmF0aW9uIG9wdGlvbnMgZm9yIGlwaG9uZSBmcm9tIHN5c2NvbmZpZwogICAgICAgICRTZWxmLT57Q29uZmlnfSA9ICRTZWxmLT57Q29uZmlnT2JqZWN0fS0+R2V0KCdpUGhvbmU6OkZyb250ZW5kOjpBZ2VudFRpY2tldE1vdmUnKTsKCiAgICAgICAgbXkgJUNvbmZpZyA9ICgKICAgICAgICAgICAgVGl0bGUgICAgPT4gJFNlbGYtPntMYW5ndWFnZU9iamVjdH0tPkdldCgnTW92ZScpLAogICAgICAgICAgICBFbGVtZW50cyA9PiAkU2VsZi0+X0dldFNjcmVlbkVsZW1lbnRzKCVQYXJhbSksCiAgICAgICAgICAgIEFjdGlvbnMgID0+IHsKICAgICAgICAgICAgICAgIE9iamVjdCAgICAgPT4gJ0N1c3RvbU9iamVjdCcsCiAgICAgICAgICAgICAgICBNZXRob2QgICAgID0+ICdTY3JlZW5BY3Rpb25zJywKICAgICAgICAgICAgICAgIFBhcmFtZXRlcnMgPT4gewogICAgICAgICAgICAgICAgICAgIEFjdGlvbiAgID0+ICdNb3ZlJywKICAgICAgICAgICAgICAgICAgICBUaWNrZXRJRCA9PiAkUGFyYW17VGlja2V0SUR9LAogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgfSwKICAgICAgICApOwogICAgICAgIHJldHVybiBcJUNvbmZpZzsKICAgIH0KCiAgICByZXR1cm4gLTE7Cn0KCj1pdGVtIEJhZGdlcygpCgpHZXQgQmFkZ2VzIHRpY2tldCBjb3VudHMgZm9yIFdhdGNoZWQsIExvY2tlZCBhbmQgUmVwb3NpYmxlIGZvciB0aWNrZXRzCgogICAgbXkgQFJlc3VsdCA9ICRpUGhvbmVPYmplY3QtPkJhZGdlcygKICAgICAgICBVc2VySUQgICAgICAgICAgPT4gMSwKICAgICk7CgogICAgIyBhIHJlc3VsdCBjb3VsZCBiZQoKICAgIEBSZXN1bHQgPSAoCiAgICAgICAgTG9ja2VkID0+IHsKICAgICAgICAgICAgQWxsID0+IDEsCiAgICAgICAgICAgIE5ldyA9PiAxLAogICAgICAgIH0sCgogICAgICAgIFdhdGNoZWQgPT4geyAgICAgICAjIE9wdGlvbmFsIGlmIGZlYXR1cmUgaXMgZW5hYmxlZAogICAgICAgICAgICBBbGwgPT4gMiwKICAgICAgICAgICAgTmV3ID0+IDAsCiAgICAgICAgfSwKCiAgICAgICAgUmVzcG9uc2libGUgPT4geyAgICMgT3B0aW9uYWwgaWYgZmVhdHVyZSBpcyBlbmFibGVkCiAgICAgICAgICAgIEFsbCA9PiAxLAogICAgICAgICAgICBOZXcgPT4gMSwKICAgICAgICB9LAogICAgKTsKCj1jdXQKCnN1YiBCYWRnZXMgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICBteSBARGF0YTsKCiAgICAjIGxvY2tlZAogICAgaWYgKDEpIHsKICAgICAgICBteSAkQ291bnQgPSAkU2VsZi0+e1RpY2tldE9iamVjdH0tPlRpY2tldFNlYXJjaCgKICAgICAgICAgICAgUmVzdWx0ICAgICA9PiAnQ09VTlQnLAogICAgICAgICAgICBMb2NrcyAgICAgID0+IFsnbG9jayddLAogICAgICAgICAgICBPd25lcklEcyAgID0+IFsgJFBhcmFte1VzZXJJRH0gXSwKICAgICAgICAgICAgVXNlcklEICAgICA9PiAxLAogICAgICAgICAgICBQZXJtaXNzaW9uID0+ICdybycsCiAgICAgICAgKTsKICAgICAgICBteSAkQ291bnROZXcgPSAkU2VsZi0+e1RpY2tldE9iamVjdH0tPlRpY2tldFNlYXJjaCgKICAgICAgICAgICAgUmVzdWx0ICAgICA9PiAnQ09VTlQnLAogICAgICAgICAgICBMb2NrcyAgICAgID0+IFsnbG9jayddLAogICAgICAgICAgICBPd25lcklEcyAgID0+IFsgJFBhcmFte1VzZXJJRH0gXSwKICAgICAgICAgICAgVGlja2V0RmxhZyA9PiB7CiAgICAgICAgICAgICAgICBTZWVuID0+IDEsCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIFRpY2tldEZsYWdVc2VySUQgPT4gJFBhcmFte1VzZXJJRH0sCiAgICAgICAgICAgIFVzZXJJRCAgICAgICAgICAgPT4gMSwKICAgICAgICAgICAgUGVybWlzc2lvbiAgICAgICA9PiAncm8nLAogICAgICAgICk7CiAgICAgICAgJENvdW50TmV3ID0gJENvdW50IC0gJENvdW50TmV3OwogICAgICAgIHB1c2ggQERhdGEsIHsKICAgICAgICAgICAgTG9ja2VkID0+IHsKICAgICAgICAgICAgICAgIEFsbCA9PiAkQ291bnQsCiAgICAgICAgICAgICAgICBOZXcgPT4gJENvdW50TmV3LAogICAgICAgICAgICAgICAgfQogICAgICAgIH07CiAgICB9CgogICAgIyByZXNwb25zaWJsZQogICAgaWYgKCAkU2VsZi0+e0NvbmZpZ09iamVjdH0tPkdldCgnVGlja2V0OjpSZXNwb25zaWJsZScpICkgewogICAgICAgIG15ICRDb3VudCA9ICRTZWxmLT57VGlja2V0T2JqZWN0fS0+VGlja2V0U2VhcmNoKAogICAgICAgICAgICBSZXN1bHQgICAgICAgICA9PiAnQ09VTlQnLAogICAgICAgICAgICBTdGF0ZVR5cGUgICAgICA9PiAnT3BlbicsCiAgICAgICAgICAgIFJlc3BvbnNpYmxlSURzID0+IFsgJFBhcmFte1VzZXJJRH0gXSwKICAgICAgICAgICAgVXNlcklEICAgICAgICAgPT4gMSwKICAgICAgICAgICAgUGVybWlzc2lvbiAgICAgPT4gJ3JvJywKICAgICAgICApOwogICAgICAgIG15ICRDb3VudE5ldyA9ICRTZWxmLT57VGlja2V0T2JqZWN0fS0+VGlja2V0U2VhcmNoKAogICAgICAgICAgICBSZXN1bHQgICAgICAgICA9PiAnQ09VTlQnLAogICAgICAgICAgICBTdGF0ZVR5cGUgICAgICA9PiAnT3BlbicsCiAgICAgICAgICAgIFJlc3BvbnNpYmxlSURzID0+IFsgJFBhcmFte1VzZXJJRH0gXSwKICAgICAgICAgICAgVGlja2V0RmxhZyAgICAgPT4gewogICAgICAgICAgICAgICAgU2VlbiA9PiAxLAogICAgICAgICAgICB9LAogICAgICAgICAgICBUaWNrZXRGbGFnVXNlcklEID0+ICRQYXJhbXtVc2VySUR9LAogICAgICAgICAgICBVc2VySUQgICAgICAgICAgID0+IDEsCiAgICAgICAgICAgIFBlcm1pc3Npb24gICAgICAgPT4gJ3JvJywKICAgICAgICApOwogICAgICAgICRDb3VudE5ldyA9ICRDb3VudCAtICRDb3VudE5ldzsKCiAgICAgICAgcHVzaCBARGF0YSwgewogICAgICAgICAgICBSZXNwb25zaWJsZSA9PiB7CiAgICAgICAgICAgICAgICBBbGwgPT4gJENvdW50LAogICAgICAgICAgICAgICAgTmV3ID0+ICRDb3VudE5ldywKICAgICAgICAgICAgICAgIH0KICAgICAgICB9OwogICAgfQoKICAgICMgd2F0Y2hlZAogICAgaWYgKCAkU2VsZi0+e0NvbmZpZ09iamVjdH0tPkdldCgnVGlja2V0OjpXYXRjaGVyJykgKSB7CgogICAgICAgICMgY2hlY2sgYWNjZXNzCiAgICAgICAgbXkgJEFjY2Vzc09rID0gMTsKICAgICAgICBteSBAR3JvdXBzOwogICAgICAgIGlmICggJFNlbGYtPntDb25maWdPYmplY3R9LT5HZXQoJ1RpY2tldDo6V2F0Y2hlckdyb3VwJykgKSB7CiAgICAgICAgICAgIEBHcm91cHMgPSBAeyAkU2VsZi0+e0NvbmZpZ09iamVjdH0tPkdldCgnVGlja2V0OjpXYXRjaGVyR3JvdXAnKSB9OwogICAgICAgIH0KICAgICAgICBpZiAoQEdyb3VwcykgewogICAgICAgICAgICBteSAkQWNjZXNzID0gMDsKICAgICAgICAgICAgZm9yIG15ICRHcm91cCAoQEdyb3VwcykgewogICAgICAgICAgICAgICAgbmV4dCBpZiAhJFBhcmFteyJVc2VySXNHcm91cFskR3JvdXBdIn07CiAgICAgICAgICAgICAgICBpZiAoICRQYXJhbXsiVXNlcklzR3JvdXBbJEdyb3VwXSJ9IGVxICdZZXMnICkgewogICAgICAgICAgICAgICAgICAgICRBY2Nlc3MgPSAxOwogICAgICAgICAgICAgICAgICAgIGxhc3Q7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgICMgcmV0dXJuIG9uIG5vIGFjY2VzcwogICAgICAgICAgICBpZiAoICEkQWNjZXNzICkgewogICAgICAgICAgICAgICAgJEFjY2Vzc09rID0gMDsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgaWYgKCRBY2Nlc3NPaykgewoKICAgICAgICAgICAgIyBmaW5kIHdhdGNoZWQgdGlja2V0cwogICAgICAgICAgICBteSAkQ291bnQgPSAkU2VsZi0+e1RpY2tldE9iamVjdH0tPlRpY2tldFNlYXJjaCgKICAgICAgICAgICAgICAgIFJlc3VsdCAgICAgICA9PiAnQ09VTlQnLAogICAgICAgICAgICAgICAgV2F0Y2hVc2VySURzID0+IFsgJFBhcmFte1VzZXJJRH0gXSwKICAgICAgICAgICAgICAgIFVzZXJJRCAgICAgICA9PiAxLAogICAgICAgICAgICAgICAgUGVybWlzc2lvbiAgID0+ICdybycsCiAgICAgICAgICAgICk7CiAgICAgICAgICAgIG15ICRDb3VudE5ldyA9ICRTZWxmLT57VGlja2V0T2JqZWN0fS0+VGlja2V0U2VhcmNoKAogICAgICAgICAgICAgICAgUmVzdWx0ICAgICAgID0+ICdDT1VOVCcsCiAgICAgICAgICAgICAgICBXYXRjaFVzZXJJRHMgPT4gWyAkUGFyYW17VXNlcklEfSBdLAogICAgICAgICAgICAgICAgVGlja2V0RmxhZyAgID0+IHsKICAgICAgICAgICAgICAgICAgICBTZWVuID0+IDEsCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgVGlja2V0RmxhZ1VzZXJJRCA9PiAkUGFyYW17VXNlcklEfSwKICAgICAgICAgICAgICAgIFVzZXJJRCAgICAgICAgICAgPT4gMSwKICAgICAgICAgICAgICAgIFBlcm1pc3Npb24gICAgICAgPT4gJ3JvJywKICAgICAgICAgICAgKTsKICAgICAgICAgICAgJENvdW50TmV3ID0gJENvdW50IC0gJENvdW50TmV3OwoKICAgICAgICAgICAgcHVzaCBARGF0YSwgewogICAgICAgICAgICAgICAgV2F0Y2hlZCA9PiB7CiAgICAgICAgICAgICAgICAgICAgQWxsID0+ICRDb3VudCwKICAgICAgICAgICAgICAgICAgICBOZXcgPT4gJENvdW50TmV3LAogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfTsKICAgICAgICB9CiAgICB9CgogICAgcmV0dXJuIEBEYXRhOwp9Cgo9aXRlbSBFc2NhbGF0aW9uVmlldygpCgpHZXQgdGhlIG51bWJlciBvZiB0aWNrZXRzIG9uIGVzdGFsYXRpb24gc3RhdHVzIGJ5IHN0YXRlIHR5cGUgb3IgbGFzdCBjdXN0b21lciBhcnRpY2xlIGluZm9ybWF0aW9uIGZyb20KZWFjaCB0aWNrZXQgaW4gZXNjYWxhdGlvbiBzdGF0dXMgd2l0aGluIGEgZmlsdGVyLCBpZiB0aGUgIkZpbHRlciIgYXJndW1lbnQgaXMgc3BlY2lmaWVkLgoKICAgIG15IEBSZXN1bHQgPSAkaVBob25lT2JqZWN0LT5Fc2NhbGF0aW9uVmlldygKICAgICAgICBVc2VySUQgID0+IDEsCgogICAgICAgICMgT3JkZXJCeSBhbmQgU29ydEJ5IChvcHRpb25hbCkKICAgICAgICBPcmRlckJ5ID0+ICdEb3duJywgICMgRG93bnxVcAogICAgICAgIFNvcnRCeSAgPT4gJ0FnZScsICAgIyBPd25lcnxSZXNwb25zaWJsZXxDdXN0b21lcklEfFN0YXRlfFRpY2tldE51bWJlcnxRdWV1ZXxQcmlvcml0eXxBZ2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgVHlwZXxMb2NrfFRpdGxlfFNlcnZpY2V8U0xBfFBlbmRpbmdUaW1lfEVzY2FsYXRpb25UaW1lCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIEVzY2FsYXRpb25VcGRhdGVUaW1lfEVzY2FsYXRpb25SZXNwb25zZVRpbWV8RXNjYWxhdGlvblNvbHV0aW9uVGltZQogICAgKTsKCiAgICAjIGEgcmVzdWx0IGNvdWxkIGJlCgogICAgQFJlc3VsdCA9ICgKICAgICAgICB7CiAgICAgICAgICAgIFN0YXRlVHlwZSAgICAgICAgICAgICAgICAgICAgICA9PiAiVG9kYXkiLAogICAgICAgICAgICBOdW1iZXJPZlRpY2tldHMgICAgICAgICAgICAgICAgPT4gMiwKICAgICAgICAgICAgTnVtYmVyT2ZUaWNrZXRzV2l0aE5ld01lc3NhZ2VzID0+IDAsCiAgICAgICAgfSwKICAgICAgICB7CiAgICAgICAgICAgIFN0YXRlVHlwZSAgICAgICAgICAgICAgICAgICAgICA9PiAiVG9tb3Jyb3ciLAogICAgICAgICAgICBOdW1iZXJPZlRpY2tldHMgICAgICAgICAgICAgICAgPT4gMiwKICAgICAgICAgICAgTnVtYmVyT2ZUaWNrZXRzV2l0aE5ld01lc3NhZ2VzID0+IDAsCiAgICAgICAgfSwKICAgICAgICB7CiAgICAgICAgICAgIFN0YXRlVHlwZSAgICAgICAgICAgICAgICAgICAgICA9PiAiTmV4dFdlZWsiLAogICAgICAgICAgICBOdW1iZXJPZlRpY2tldHMgICAgICAgICAgICAgICAgPT4gMiwKICAgICAgICAgICAgTnVtYmVyT2ZUaWNrZXRzV2l0aE5ld01lc3NhZ2VzID0+IDAKICAgICAgICB9LAogICAgKTsKCiAgICBteSBAUmVzdWx0ID0gJGlQaG9uZU9iamVjdC0+RXNjYWxhdGlvblZpZXcoCiAgICAgICAgVXNlcklEICA9PiAxLAogICAgICAgIEZpbHRlciAgPT4gIlRvZGF5IiwKCiAgICAgICAgI0xpbWl0IChvcHRpb25hbCkgc2V0IHRvIDEwMCBieSBkZWZhdWx0LCBpZiBub3Qgc3BlY2lmaWVkCiAgICAgICAgTGltaXQgICA9PiA1MCwKCiAgICAgICAgIyBPcmRlckJ5IGFuZCBTb3J0QnkgKG9wdGlvbmFsKQogICAgICAgIE9yZGVyQnkgPT4gJ0Rvd24nLCAgIyBEb3dufFVwCiAgICAgICAgU29ydEJ5ICA9PiAnQWdlJywgICAjIE93bmVyfFJlc3BvbnNpYmxlfEN1c3RvbWVySUR8U3RhdGV8VGlja2V0TnVtYmVyfFF1ZXVlfFByaW9yaXR5fEFnZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBUeXBlfExvY2t8VGl0bGV8U2VydmljZXxTTEF8UGVuZGluZ1RpbWV8RXNjYWxhdGlvblRpbWUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgRXNjYWxhdGlvblVwZGF0ZVRpbWV8RXNjYWxhdGlvblJlc3BvbnNlVGltZXxFc2NhbGF0aW9uU29sdXRpb25UaW1lCiAgICApOwoKICAgICNhIHJlc3VsdCBjb3VsZCBiZQoKICAgIEBSZXN1bHQgPSAoCiAgICAgICAgewogICAgICAgICAgICBBZ2UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9PiAxNTk2LAogICAgICAgICAgICBBcnRpY2xlSUQgICAgICAgICAgICAgICAgICAgICAgICA9PiA5MjMsCiAgICAgICAgICAgIEFydGljbGVUeXBlICAgICAgICAgICAgICAgICAgICAgID0+ICJwaG9uZSIsCiAgICAgICAgICAgIEJvZHkgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0+ICJUZXN0aW5nIGZvciBlc2NhbGF0aW9uIiwKICAgICAgICAgICAgQ2hhcnNldCAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gInV0Zi04IiwKICAgICAgICAgICAgQ29udGVudENoYXJzZXQgICAgICAgICAgICAgICAgICAgPT4gInV0Zi04IiwKICAgICAgICAgICAgQ29udGVudFR5cGUgICAgICAgICAgICAgICAgICAgICAgPT4gInRleHQvcGxhaW47IiwKICAgICAgICAgICAgY2hhcnNldCAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gInV0Zi04IiwKICAgICAgICAgICAgQ3JlYXRlZCAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gIjIwMTAtMDYtMjMgMTE6NDY6MTUiLAogICAgICAgICAgICBDcmVhdGVkQnkgICAgICAgICAgICAgICAgICAgICAgICA9PiAxLAogICAgICAgICAgICBGaXJzdFJlc3BvbnNlVGltZSAgICAgICAgICAgICAgICA9PiAtMTI5NiwKICAgICAgICAgICAgRmlyc3RSZXNwb25zZVRpbWVEZXN0aW5hdGlvbkRhdGUgPT4gIjIwMTAtMDYtMjMgMTE6NTE6MTQiLAogICAgICAgICAgICBGaXJzdFJlc3BvbnNlVGltZURlc3RpbmF0aW9uVGltZSA9PiAxMjc3MzExODc0LAogICAgICAgICAgICBGaXJzdFJlc3BvbnNlVGltZUVzY2FsYXRpb24gICAgICA9PiAxLAogICAgICAgICAgICBGaXJzdFJlc3BvbnNlVGltZVdvcmtpbmdUaW1lICAgICA9PiAtMTI2MCwKICAgICAgICAgICAgRnJvbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gImN1c3RvbWVyQG90cnMub3JnIiwKICAgICAgICAgICAgSW5jb21pbmdUaW1lICAgICAgICAgICAgICAgICAgICAgPT4gMTI3NzMxMTU3NSwKICAgICAgICAgICAgTG9jayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gInVubG9jayIsCiAgICAgICAgICAgIE1pbWVUeXBlICAgICAgICAgICAgICAgICAgICAgICAgID0+ICJ0ZXh0L3BsYWluIiwKICAgICAgICAgICAgT3duZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gIkFnZW50MSIsCiAgICAgICAgICAgIFByaW9yaXR5ICAgICAgICAgICAgICAgICAgICAgICAgID0+ICIzIG5vcm1hbCIsCiAgICAgICAgICAgIFByaW9yaXR5Q29sb3IgICAgICAgICAgICAgICAgICAgID0+ICIjY2RjZGNkIiwKICAgICAgICAgICAgUXVldWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gIkp1bmsiLAogICAgICAgICAgICBSZXNwb25zaWJsZSAgICAgICAgICAgICAgICAgICAgICA9PiAiQWdlbnQxIiwKICAgICAgICAgICAgU2VuZGVyVHlwZSAgICAgICAgICAgICAgICAgICAgICAgPT4gImN1c3RvbWVyIiwKICAgICAgICAgICAgU29sdXRpb25UaW1lICAgICAgICAgICAgICAgICAgICAgPT4gLTEyOTYsCiAgICAgICAgICAgIFNvbHV0aW9uVGltZURlc3RpbmF0aW9uRGF0ZSAgICAgID0+ICIyMDEwLTA2LTIzIDExOjUxOjE0IiwKICAgICAgICAgICAgU29sdXRpb25UaW1lRGVzdGluYXRpb25UaW1lICAgICAgPT4gMTI3NzMxMTg3NCwKICAgICAgICAgICAgU29sdXRpb25UaW1lRXNjYWxhdGlvbiAgICAgICAgICAgPT4gMSwKICAgICAgICAgICAgU29sdXRpb25UaW1lV29ya2luZ1RpbWUgICAgICAgICAgPT4gLTEyNjAsCiAgICAgICAgICAgIFN0YXRlICAgICAgICAgICAgICAgICAgICAgICAgICAgID0+ICJvcGVuIiwKICAgICAgICAgICAgU3ViamVjdCAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gIkVzY2FsYXRpb24gVGVzdCIsCiAgICAgICAgICAgIFRpY2tldElEICAgICAgICAgICAgICAgICAgICAgICAgID0+IDE3NiwKICAgICAgICAgICAgVGlja2V0TnVtYmVyICAgICAgICAgICAgICAgICAgICAgPT4gMjAxMDA2MjMxMDAwMDAxNSwKICAgICAgICAgICAgVGl0bGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gIkVzY2FsYXRpb24gVGVzdCIsCiAgICAgICAgICAgIFRvICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0+ICJKdW5rIiwKICAgICAgICAgICAgVHlwZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gIkluY2lkZW50IiwKICAgICAgICAgICAgVW50aWxUaW1lICAgICAgICAgICAgICAgICAgICAgICAgPT4gMCwKICAgICAgICAgICAgVXBkYXRlVGltZSAgICAgICAgICAgICAgICAgICAgICAgPT4gLTEyOTUsCiAgICAgICAgICAgIFVwZGF0ZVRpbWVEZXN0aW5hdGlvbkRhdGUgICAgICAgID0+ICIyMDEwLTA2LTIzIDExOjUxOjE1IiwKICAgICAgICAgICAgVXBkYXRlVGltZURlc3RpbmF0aW9uVGltZSAgICAgICAgPT4gMTI3NzMxMTg3NSwKICAgICAgICAgICAgVXBkYXRlVGltZUVzY2FsYXRpb24gICAgICAgICAgICAgPT4gMSwKICAgICAgICAgICAgVXBkYXRlVGltZVdvcmtpbmdUaW1lICAgICAgICAgICAgPT4gLTEyNjAsCiAgICAgICAgICAgIFNlZW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgID0+IDEsCiAgICAgICAgfSwKICAgICk7Cgo9Y3V0CgpzdWIgRXNjYWxhdGlvblZpZXcgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICBteSAoICRTZWMsICRNaW4sICRIb3VyLCAkRGF5LCAkTW9udGgsICRZZWFyICkgPSAkU2VsZi0+e1RpbWVPYmplY3R9LT5TeXN0ZW1UaW1lMkRhdGUoCiAgICAgICAgU3lzdGVtVGltZSA9PiAkU2VsZi0+e1RpbWVPYmplY3R9LT5TeXN0ZW1UaW1lKCkgKyA2MCAqIDYwICogMjQgKiA3LAogICAgKTsKICAgIG15ICRUaW1lU3RhbXBOZXh0V2VlayA9ICIkWWVhci0kTW9udGgtJERheSAyMzo1OTo1OSI7CgogICAgKCAkU2VjLCAkTWluLCAkSG91ciwgJERheSwgJE1vbnRoLCAkWWVhciApID0gJFNlbGYtPntUaW1lT2JqZWN0fS0+U3lzdGVtVGltZTJEYXRlKAogICAgICAgIFN5c3RlbVRpbWUgPT4gJFNlbGYtPntUaW1lT2JqZWN0fS0+U3lzdGVtVGltZSgpICsgNjAgKiA2MCAqIDI0LAogICAgKTsKICAgIG15ICRUaW1lU3RhbXBUb21vcnJvdyA9ICIkWWVhci0kTW9udGgtJERheSAyMzo1OTo1OSI7CgogICAgKCAkU2VjLCAkTWluLCAkSG91ciwgJERheSwgJE1vbnRoLCAkWWVhciApID0gJFNlbGYtPntUaW1lT2JqZWN0fS0+U3lzdGVtVGltZTJEYXRlKAogICAgICAgIFN5c3RlbVRpbWUgPT4gJFNlbGYtPntUaW1lT2JqZWN0fS0+U3lzdGVtVGltZSgpLAogICAgKTsKICAgIG15ICRUaW1lU3RhbXBUb2RheSA9ICIkWWVhci0kTW9udGgtJERheSAyMzo1OTo1OSI7CgogICAgIyBkZWZpbmUgZmlsdGVyCiAgICBteSAlRmlsdGVycyA9ICgKICAgICAgICBUb2RheSA9PiB7CiAgICAgICAgICAgIE5hbWUgICA9PiAnVG9kYXknLAogICAgICAgICAgICBQcmlvICAgPT4gMTAwMCwKICAgICAgICAgICAgU2VhcmNoID0+IHsKICAgICAgICAgICAgICAgIFRpY2tldEVzY2FsYXRpb25UaW1lT2xkZXJEYXRlID0+ICRUaW1lU3RhbXBUb2RheSwKICAgICAgICAgICAgICAgIE9yZGVyQnkgICAgICAgICAgICAgICAgICAgICAgID0+ICRQYXJhbXtPcmRlckJ5fSwKICAgICAgICAgICAgICAgIFNvcnRCeSAgICAgICAgICAgICAgICAgICAgICAgID0+ICRQYXJhbXtTb3J0Qnl9LAogICAgICAgICAgICAgICAgVXNlcklEICAgICAgICAgICAgICAgICAgICAgICAgPT4gJFBhcmFte1VzZXJJRH0sCiAgICAgICAgICAgICAgICBQZXJtaXNzaW9uICAgICAgICAgICAgICAgICAgICA9PiAncm8nLAogICAgICAgICAgICB9LAogICAgICAgIH0sCiAgICAgICAgVG9tb3Jyb3cgPT4gewogICAgICAgICAgICBOYW1lICAgPT4gJ1RvbW9ycm93JywKICAgICAgICAgICAgUHJpbyAgID0+IDIwMDAsCiAgICAgICAgICAgIFNlYXJjaCA9PiB7CiAgICAgICAgICAgICAgICBUaWNrZXRFc2NhbGF0aW9uVGltZU9sZGVyRGF0ZSA9PiAkVGltZVN0YW1wVG9tb3Jyb3csCiAgICAgICAgICAgICAgICBPcmRlckJ5ICAgICAgICAgICAgICAgICAgICAgICA9PiAkUGFyYW17T3JkZXJCeX0sCiAgICAgICAgICAgICAgICBTb3J0QnkgICAgICAgICAgICAgICAgICAgICAgICA9PiAkUGFyYW17U29ydEJ5fSwKICAgICAgICAgICAgICAgIFVzZXJJRCAgICAgICAgICAgICAgICAgICAgICAgID0+ICRQYXJhbXtVc2VySUR9LAogICAgICAgICAgICAgICAgUGVybWlzc2lvbiAgICAgICAgICAgICAgICAgICAgPT4gJ3JvJywKICAgICAgICAgICAgfSwKICAgICAgICB9LAogICAgICAgIE5leHRXZWVrID0+IHsKICAgICAgICAgICAgTmFtZSAgID0+ICdOZXh0IFdlZWsnLAogICAgICAgICAgICBQcmlvICAgPT4gMzAwMCwKICAgICAgICAgICAgU2VhcmNoID0+IHsKICAgICAgICAgICAgICAgIFRpY2tldEVzY2FsYXRpb25UaW1lT2xkZXJEYXRlID0+ICRUaW1lU3RhbXBOZXh0V2VlaywKICAgICAgICAgICAgICAgIE9yZGVyQnkgICAgICAgICAgICAgICAgICAgICAgID0+ICRQYXJhbXtPcmRlckJ5fSwKICAgICAgICAgICAgICAgIFNvcnRCeSAgICAgICAgICAgICAgICAgICAgICAgID0+ICRQYXJhbXtTb3J0Qnl9LAogICAgICAgICAgICAgICAgVXNlcklEICAgICAgICAgICAgICAgICAgICAgICAgPT4gJFBhcmFte1VzZXJJRH0sCiAgICAgICAgICAgICAgICBQZXJtaXNzaW9uICAgICAgICAgICAgICAgICAgICA9PiAncm8nLAogICAgICAgICAgICB9LAogICAgICAgIH0sCiAgICApOwoKICAgICMgZG8gc2hvd24gdGlja2V0cyBsb29rdXAKICAgIG15ICRMaW1pdCA9ICRQYXJhbXtMaW1pdH0gfHwgMTAwOwogICAgaWYgKCAkUGFyYW17RmlsdGVyfSApIHsKICAgICAgICBteSBAVmlld2FibGVUaWNrZXRzID0gJFNlbGYtPntUaWNrZXRPYmplY3R9LT5UaWNrZXRTZWFyY2goCiAgICAgICAgICAgICV7ICRGaWx0ZXJzeyAkUGFyYW17RmlsdGVyfSB9LT57U2VhcmNofSB9LAogICAgICAgICAgICBMaW1pdCAgPT4gJExpbWl0LAogICAgICAgICAgICBSZXN1bHQgPT4gJ0FSUkFZJywKICAgICAgICApOwogICAgICAgIG15IEBMaXN0OwogICAgICAgIGZvciBteSAkVGlja2V0SUQgKEBWaWV3YWJsZVRpY2tldHMpIHsKICAgICAgICAgICAgbmV4dCBpZiAhJFRpY2tldElEOwogICAgICAgICAgICBteSAlQXJ0aWNsZSA9ICRTZWxmLT5UaWNrZXRMaXN0KAogICAgICAgICAgICAgICAgVGlja2V0SUQgPT4gJFRpY2tldElELAogICAgICAgICAgICAgICAgVXNlcklEICAgPT4gJFBhcmFte1VzZXJJRH0KICAgICAgICAgICAgKTsKICAgICAgICAgICAgbmV4dCBpZiAhJUFydGljbGU7CiAgICAgICAgICAgIHB1c2ggQExpc3QsIFwlQXJ0aWNsZTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIEBMaXN0OwogICAgfQoKICAgICMgZG8gbmF2IGJhciBsb29rdXAKICAgIG15IEBTdGF0ZXM7CiAgICBmb3IgbXkgJEZpbHRlciAoIHNvcnQga2V5cyAlRmlsdGVycyApIHsKICAgICAgICBteSAkQ291bnQgPSAkU2VsZi0+e1RpY2tldE9iamVjdH0tPlRpY2tldFNlYXJjaCgKICAgICAgICAgICAgJXsgJEZpbHRlcnN7JEZpbHRlcn0tPntTZWFyY2h9IH0sCiAgICAgICAgICAgIFJlc3VsdCA9PiAnQ09VTlQnLAogICAgICAgICk7CiAgICAgICAgbXkgJENvdW50TmV3ID0gJFNlbGYtPntUaWNrZXRPYmplY3R9LT5UaWNrZXRTZWFyY2goCiAgICAgICAgICAgICV7ICRGaWx0ZXJzeyRGaWx0ZXJ9LT57U2VhcmNofSB9LAogICAgICAgICAgICBSZXN1bHQgICAgID0+ICdDT1VOVCcsCiAgICAgICAgICAgIFRpY2tldEZsYWcgPT4gewogICAgICAgICAgICAgICAgU2VlbiA9PiAxLAogICAgICAgICAgICB9LAogICAgICAgICAgICBUaWNrZXRGbGFnVXNlcklEID0+ICRQYXJhbXtVc2VySUR9LAogICAgICAgICk7CiAgICAgICAgJENvdW50TmV3ID0gJENvdW50IC0gJENvdW50TmV3OwoKICAgICAgICBwdXNoIEBTdGF0ZXMsIHsKICAgICAgICAgICAgU3RhdGVUeXBlICAgICAgICAgICAgICAgICAgICAgID0+ICRGaWx0ZXIsCiAgICAgICAgICAgIEZpbHRlck5hbWUgICAgICAgICAgICAgICAgICAgICA9PiAkRmlsdGVyc3skRmlsdGVyfS0+e05hbWV9LAogICAgICAgICAgICBOdW1iZXJPZlRpY2tldHMgICAgICAgICAgICAgICAgPT4gJENvdW50LAogICAgICAgICAgICBOdW1iZXJPZlRpY2tldHNXaXRoTmV3TWVzc2FnZXMgPT4gJENvdW50TmV3LAogICAgICAgIH07CiAgICB9CiAgICByZXR1cm4gQFN0YXRlczsKfQoKPWl0ZW0gU3RhdHVzVmlldygpCgpHZXQgdGhlIG51bWJlciBvZiB0aWNrZXRzIGJ5IHN0YXR1cyAob3BlbiBvciBjbG9zZWQpIG9yIGxhc3QgY3VzdG9tZXIgYXJ0aWNsZSBpbmZvcm1hdGlvbiBmcm9tIGVhY2gKdGlja2V0IGluIGVhY2ggc3RhdHVzIHdpdGhpbiBhbiBzcGVjaWZpZWQgZmlsdGVyLCBpZiB0aGUgIkZpbHRlciIgYXJndW1lbnQgaXMgc3BlY2lmaWVkLgoKICAgIG15IEBSZXN1bHQgPSAkaVBob25lT2JqZWN0LT5TdGF0dXNWaWV3KAogICAgICAgIFVzZXJJRCAgPT4gMSwKCiAgICAgICAgIyBPcmRlckJ5IGFuZCBTb3J0QnkgKG9wdGlvbmFsKQogICAgICAgIE9yZGVyQnkgPT4gJ0Rvd24nLCAgIyBEb3dufFVwCiAgICAgICAgU29ydEJ5ICA9PiAnQWdlJywgICAjIE93bmVyfFJlc3BvbnNpYmxlfEN1c3RvbWVySUR8U3RhdGV8VGlja2V0TnVtYmVyfFF1ZXVlfFByaW9yaXR5fEFnZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBUeXBlfExvY2t8VGl0bGV8U2VydmljZXxTTEF8UGVuZGluZ1RpbWV8RXNjYWxhdGlvblRpbWUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgRXNjYWxhdGlvblVwZGF0ZVRpbWV8RXNjYWxhdGlvblJlc3BvbnNlVGltZXxFc2NhbGF0aW9uU29sdXRpb25UaW1lCiAgICApOwoKICAgICNhIHJlc3VsdCBjb3VsZCBiZQoKICAgIEBSZXN1bHQgPSAoCiAgICAgICAgewogICAgICAgICAgICBTdGF0ZVR5cGUgICAgICAgICAgICAgICAgICAgICAgPT4gIk9wZW4iLAogICAgICAgICAgICBOdW1iZXJPZlRpY2tldHMgICAgICAgICAgICAgICAgPT4gMiwKICAgICAgICAgICAgTnVtYmVyT2ZUaWNrZXRzV2l0aE5ld01lc3NhZ2VzID0+IDAsCiAgICAgICAgfSwKICAgICAgICB7CiAgICAgICAgICAgIFN0YXRlVHlwZSAgICAgICAgICAgICAgICAgICAgICA9PiAiQ2xvc2VkIiwKICAgICAgICAgICAgTnVtYmVyT2ZUaWNrZXRzICAgICAgICAgICAgICAgID0+IDEsCiAgICAgICAgICAgIE51bWJlck9mVGlja2V0c1dpdGhOZXdNZXNzYWdlcyA9PiAwLAogICAgICAgIH0sCiAgICApOwoKICAgIG15IEBSZXN1bHQgPSAkaVBob25lT2JqZWN0LT5TdGF0dXNWaWV3KAogICAgICAgIFVzZXJJRCAgPT4gMSwKICAgICAgICBGaWx0ZXIgID0+ICJPcGVuIiwKCiAgICAgICAgI0xpbWl0IChvcHRpb25hbCkgc2V0IHRvIDEwMCBieSBkZWZhdWx0LCBpZiBub3Qgc3BjaWZpZWQKICAgICAgICBMaW1pdCAgID0+IDUwLAoKICAgICAgICAjIE9yZGVyQnkgYW5kIFNvcnRCeSAob3B0aW9uYWwpCiAgICAgICAgT3JkZXJCeSA9PiAnRG93bicsICAjIERvd258VXAKICAgICAgICBTb3J0QnkgID0+ICdBZ2UnLCAgICMgT3duZXJ8UmVzcG9uc2libGV8Q3VzdG9tZXJJRHxTdGF0ZXxUaWNrZXROdW1iZXJ8UXVldWV8UHJpb3JpdHl8QWdlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIFR5cGV8TG9ja3xUaXRsZXxTZXJ2aWNlfFNMQXxQZW5kaW5nVGltZXxFc2NhbGF0aW9uVGltZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBFc2NhbGF0aW9uVXBkYXRlVGltZXxFc2NhbGF0aW9uUmVzcG9uc2VUaW1lfEVzY2FsYXRpb25Tb2x1dGlvblRpbWUKICAgICk7CgogICAgI2EgcmVzdWx0IGNvdWxkIGJlCgogICAgQFJlc3VsdCA9ICgKICAgICAgICB7CiAgICAgICAgICAgICBBZ2UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9PiAxNTk2LAogICAgICAgICAgICBBcnRpY2xlSUQgICAgICAgICAgICAgICAgICAgICAgICA9PiA5MjMsCiAgICAgICAgICAgIEFydGljbGVUeXBlICAgICAgICAgICAgICAgICAgICAgID0+ICJwaG9uZSIsCiAgICAgICAgICAgIEJvZHkgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0+ICJUaGlzIGlzIGFuIG9wZW4gdGlja2V0IiwKICAgICAgICAgICAgQ2hhcnNldCAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gInV0Zi04IiwKICAgICAgICAgICAgQ29udGVudENoYXJzZXQgICAgICAgICAgICAgICAgICAgPT4gInV0Zi04IiwKICAgICAgICAgICAgQ29udGVudFR5cGUgICAgICAgICAgICAgICAgICAgICAgPT4gInRleHQvcGxhaW47IiwKICAgICAgICAgICAgY2hhcnNldCAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gInV0Zi04IiwKICAgICAgICAgICAgQ3JlYXRlZCAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gIjIwMTAtMDYtMjMgMTE6NDY6MTUiLAogICAgICAgICAgICBDcmVhdGVkQnkgICAgICAgICAgICAgICAgICAgICAgICA9PiAxLAogICAgICAgICAgICBGaXJzdFJlc3BvbnNlVGltZSAgICAgICAgICAgICAgICA9PiAtMTI5NiwKICAgICAgICAgICAgRmlyc3RSZXNwb25zZVRpbWVEZXN0aW5hdGlvbkRhdGUgPT4gIjIwMTAtMDYtMjMgMTE6NTE6MTQiLAogICAgICAgICAgICBGaXJzdFJlc3BvbnNlVGltZURlc3RpbmF0aW9uVGltZSA9PiAxMjc3MzExODc0LAogICAgICAgICAgICBGaXJzdFJlc3BvbnNlVGltZUVzY2FsYXRpb24gICAgICA9PiAxLAogICAgICAgICAgICBGaXJzdFJlc3BvbnNlVGltZVdvcmtpbmdUaW1lICAgICA9PiAtMTI2MCwKICAgICAgICAgICAgRnJvbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gImN1c3RvbWVyQG90cnMub3JnIiwKICAgICAgICAgICAgSW5jb21pbmdUaW1lICAgICAgICAgICAgICAgICAgICAgPT4gMTI3NzMxMTU3NSwKICAgICAgICAgICAgTG9jayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gInVubG9jayIsCiAgICAgICAgICAgIE1pbWVUeXBlICAgICAgICAgICAgICAgICAgICAgICAgID0+ICJ0ZXh0L3BsYWluIiwKICAgICAgICAgICAgT3duZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gIkFnZW50MSIsCiAgICAgICAgICAgIFByaW9yaXR5ICAgICAgICAgICAgICAgICAgICAgICAgID0+ICIzIG5vcm1hbCIsCiAgICAgICAgICAgIFByaW9yaXR5Q29sb3IgICAgICAgICAgICAgICAgICAgID0+ICIjY2RjZGNkIiwKICAgICAgICAgICAgUXVldWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gIkp1bmsiLAogICAgICAgICAgICBSZXNwb25zaWJsZSAgICAgICAgICAgICAgICAgICAgICA9PiAiQWdlbnQxIiwKICAgICAgICAgICAgU2VuZGVyVHlwZSAgICAgICAgICAgICAgICAgICAgICAgPT4gImN1c3RvbWVyIiwKICAgICAgICAgICAgU29sdXRpb25UaW1lICAgICAgICAgICAgICAgICAgICAgPT4gLTEyOTYsCiAgICAgICAgICAgIFNvbHV0aW9uVGltZURlc3RpbmF0aW9uRGF0ZSAgICAgID0+ICIyMDEwLTA2LTIzIDExOjUxOjE0IiwKICAgICAgICAgICAgU29sdXRpb25UaW1lRGVzdGluYXRpb25UaW1lICAgICAgPT4gMTI3NzMxMTg3NCwKICAgICAgICAgICAgU29sdXRpb25UaW1lRXNjYWxhdGlvbiAgICAgICAgICAgPT4gMSwKICAgICAgICAgICAgU29sdXRpb25UaW1lV29ya2luZ1RpbWUgICAgICAgICAgPT4gLTEyNjAsCiAgICAgICAgICAgIFN0YXRlICAgICAgICAgICAgICAgICAgICAgICAgICAgID0+ICJvcGVuIiwKICAgICAgICAgICAgU3ViamVjdCAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gIk9wZW4gVGlja2V0IFRlc3QiLAogICAgICAgICAgICBUaWNrZXRJRCAgICAgICAgICAgICAgICAgICAgICAgICA9PiAxNzYsCiAgICAgICAgICAgIFRpY2tldE51bWJlciAgICAgICAgICAgICAgICAgICAgID0+IDIwMTAwNjIzMTAwMDAwMTUsCiAgICAgICAgICAgIFRpdGxlICAgICAgICAgICAgICAgICAgICAgICAgICAgID0+ICJPcGVuIFRpY2tldCBUZXN0IiwKICAgICAgICAgICAgVG8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gIkp1bmsiLAogICAgICAgICAgICBUeXBlICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9PiAiSW5jaWRlbnQiLAogICAgICAgICAgICBVbnRpbFRpbWUgICAgICAgICAgICAgICAgICAgICAgICA9PiAwLAogICAgICAgICAgICBVcGRhdGVUaW1lICAgICAgICAgICAgICAgICAgICAgICA9PiAtMTI5NSwKICAgICAgICAgICAgVXBkYXRlVGltZURlc3RpbmF0aW9uRGF0ZSAgICAgICAgPT4gIjIwMTAtMDYtMjMgMTE6NTE6MTUiLAogICAgICAgICAgICBVcGRhdGVUaW1lRGVzdGluYXRpb25UaW1lICAgICAgICA9PiAxMjc3MzExODc1LAogICAgICAgICAgICBVcGRhdGVUaW1lRXNjYWxhdGlvbiAgICAgICAgICAgICA9PiAxLAogICAgICAgICAgICBVcGRhdGVUaW1lV29ya2luZ1RpbWUgICAgICAgICAgICA9PiAtMTI2MCwKICAgICAgICAgICAgU2VlbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gMSwKICAgICAgICB9LAogICAgKTsKCj1jdXQKCnN1YiBTdGF0dXNWaWV3IHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgIyBkZWZpbmUgZmlsdGVyCiAgICBteSAlRmlsdGVycyA9ICgKICAgICAgICBPcGVuID0+IHsKICAgICAgICAgICAgTmFtZSAgID0+ICdPcGVuJywKICAgICAgICAgICAgUHJpbyAgID0+IDEwMDAsCiAgICAgICAgICAgIFNlYXJjaCA9PiB7CiAgICAgICAgICAgICAgICBTdGF0ZVR5cGUgID0+ICdPcGVuJywKICAgICAgICAgICAgICAgIE9yZGVyQnkgICAgPT4gJFBhcmFte09yZGVyQnl9LAogICAgICAgICAgICAgICAgU29ydEJ5ICAgICA9PiAkUGFyYW17U29ydEJ5fSwKICAgICAgICAgICAgICAgIFVzZXJJRCAgICAgPT4gJFBhcmFte1VzZXJJRH0sCiAgICAgICAgICAgICAgICBQZXJtaXNzaW9uID0+ICdybycsCiAgICAgICAgICAgIH0sCiAgICAgICAgfSwKICAgICAgICBDbG9zZWQgPT4gewogICAgICAgICAgICBOYW1lICAgPT4gJ0Nsb3NlZCcsCiAgICAgICAgICAgIFByaW8gICA9PiAxMDAxLAogICAgICAgICAgICBTZWFyY2ggPT4gewogICAgICAgICAgICAgICAgU3RhdGVUeXBlICA9PiAnQ2xvc2VkJywKICAgICAgICAgICAgICAgIE9yZGVyQnkgICAgPT4gJFBhcmFte09yZGVyQnl9LAogICAgICAgICAgICAgICAgU29ydEJ5ICAgICA9PiAkUGFyYW17U29ydEJ5fSwKICAgICAgICAgICAgICAgIFVzZXJJRCAgICAgPT4gJFBhcmFte1VzZXJJRH0sCiAgICAgICAgICAgICAgICBQZXJtaXNzaW9uID0+ICdybycsCiAgICAgICAgICAgIH0sCiAgICAgICAgfSwKICAgICk7CgogICAgIyBkbyBzaG93biB0aWNrZXRzIGxvb2t1cAogICAgbXkgJExpbWl0ID0gJFBhcmFte0xpbWl0fSB8fCAxMDA7CiAgICBpZiAoICRQYXJhbXtGaWx0ZXJ9ICkgewogICAgICAgIG15IEBWaWV3YWJsZVRpY2tldHMgPSAkU2VsZi0+e1RpY2tldE9iamVjdH0tPlRpY2tldFNlYXJjaCgKICAgICAgICAgICAgJXsgJEZpbHRlcnN7ICRQYXJhbXtGaWx0ZXJ9IH0tPntTZWFyY2h9IH0sCiAgICAgICAgICAgIExpbWl0ICA9PiAkTGltaXQsCiAgICAgICAgICAgIFJlc3VsdCA9PiAnQVJSQVknLAogICAgICAgICk7CiAgICAgICAgbXkgQExpc3Q7CiAgICAgICAgZm9yIG15ICRUaWNrZXRJRCAoQFZpZXdhYmxlVGlja2V0cykgewogICAgICAgICAgICBuZXh0IGlmICEkVGlja2V0SUQ7CiAgICAgICAgICAgIG15ICVBcnRpY2xlID0gJFNlbGYtPlRpY2tldExpc3QoCiAgICAgICAgICAgICAgICBUaWNrZXRJRCA9PiAkVGlja2V0SUQsCiAgICAgICAgICAgICAgICBVc2VySUQgICA9PiAkUGFyYW17VXNlcklEfQogICAgICAgICAgICApOwogICAgICAgICAgICBuZXh0IGlmICElQXJ0aWNsZTsKICAgICAgICAgICAgcHVzaCBATGlzdCwgXCVBcnRpY2xlOwogICAgICAgIH0KICAgICAgICByZXR1cm4gQExpc3Q7CiAgICB9CgogICAgIyBkbyBuYXYgYmFyIGxvb2t1cAogICAgbXkgQFN0YXRlczsKICAgIGZvciBteSAkRmlsdGVyICggc29ydCBrZXlzICVGaWx0ZXJzICkgewogICAgICAgIG15ICRDb3VudCA9ICRTZWxmLT57VGlja2V0T2JqZWN0fS0+VGlja2V0U2VhcmNoKAogICAgICAgICAgICAleyAkRmlsdGVyc3skRmlsdGVyfS0+e1NlYXJjaH0gfSwKICAgICAgICAgICAgUmVzdWx0ID0+ICdDT1VOVCcsCiAgICAgICAgKTsKICAgICAgICBteSAkQ291bnROZXcgPSAkU2VsZi0+e1RpY2tldE9iamVjdH0tPlRpY2tldFNlYXJjaCgKICAgICAgICAgICAgJXsgJEZpbHRlcnN7JEZpbHRlcn0tPntTZWFyY2h9IH0sCiAgICAgICAgICAgIFJlc3VsdCAgICAgPT4gJ0NPVU5UJywKICAgICAgICAgICAgVGlja2V0RmxhZyA9PiB7CiAgICAgICAgICAgICAgICBTZWVuID0+IDEsCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIFRpY2tldEZsYWdVc2VySUQgPT4gJFBhcmFte1VzZXJJRH0sCiAgICAgICAgKTsKICAgICAgICAkQ291bnROZXcgPSAkQ291bnQgLSAkQ291bnROZXc7CgogICAgICAgIHB1c2ggQFN0YXRlcywgewogICAgICAgICAgICBTdGF0ZVR5cGUgICAgICAgICAgICAgICAgICAgICAgPT4gJEZpbHRlciwKICAgICAgICAgICAgRmlsdGVyTmFtZSAgICAgICAgICAgICAgICAgICAgID0+ICRGaWx0ZXJzeyRGaWx0ZXJ9LT57TmFtZX0sCiAgICAgICAgICAgIE51bWJlck9mVGlja2V0cyAgICAgICAgICAgICAgICA9PiAkQ291bnQsCiAgICAgICAgICAgIE51bWJlck9mVGlja2V0c1dpdGhOZXdNZXNzYWdlcyA9PiAkQ291bnROZXcsCiAgICAgICAgfTsKICAgIH0KICAgIHJldHVybiBAU3RhdGVzOwp9Cgo9aXRlbSBMb2NrZWRWaWV3KCkKCkdldCB0aGUgbnVtYmVyIG9mIGxvY2tlZCB0aWNrZXRzIGJ5IHN0YXR1cyB0eXBlIChhbGwsIG5ldywgcmVtaW5kZXIsIHJlbWluZGVyIHJlYWNoZWQgKSBvciBsYXN0CmN1c3RvbWVyIGFydGljbGUgaW5mb3JtYXRpb24gZnJvbSBlYWNoIGxvY2tlZCB0aWNrZXQgaW4gZWFjaCBzdGF0dXMgd2l0aGluIGFuIHNwZWNpZmllZCBmaWx0ZXIsIGlmCnRoZSAiRmlsdGVyIiBhcmd1bWVudCBpcyBzcGVjaWZpZWQuCgogICAgbXkgQFJlc3VsdCA9ICRpUGhvbmVPYmplY3QtPkxvY2tlZFZpZXcoCiAgICAgICAgVXNlcklEICA9PiAxLAoKICAgICAgICAjIE9yZGVyQnkgYW5kIFNvcnRCeSAob3B0aW9uYWwpCiAgICAgICAgT3JkZXJCeSA9PiAnRG93bicsICAjIERvd258VXAKICAgICAgICBTb3J0QnkgID0+ICdBZ2UnLCAgICMgT3duZXJ8UmVzcG9uc2libGV8Q3VzdG9tZXJJRHxTdGF0ZXxUaWNrZXROdW1iZXJ8UXVldWV8UHJpb3JpdHl8QWdlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIFR5cGV8TG9ja3xUaXRsZXxTZXJ2aWNlfFNMQXxQZW5kaW5nVGltZXxFc2NhbGF0aW9uVGltZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBFc2NhbGF0aW9uVXBkYXRlVGltZXxFc2NhbGF0aW9uUmVzcG9uc2VUaW1lfEVzY2FsYXRpb25Tb2x1dGlvblRpbWUKICAgICk7CgogICAgI2EgcmVzdWx0IGNvdWxkIGJlCgogICAgQFJlc3VsdCA9ICgKICAgICAgICB7CiAgICAgICAgICAgIFN0YXRlVHlwZSAgICAgICAgICAgICAgICAgICAgICA9PiAiQWxsIiwKICAgICAgICAgICAgTnVtYmVyT2ZUaWNrZXRzICAgICAgICAgICAgICAgID0+IDIsCiAgICAgICAgICAgIE51bWJlck9mVGlja2V0c1dpdGhOZXdNZXNzYWdlcyA9PiAwLAogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgICBTdGF0ZVR5cGUgICAgICAgICAgICAgICAgICAgICAgPT4gIk5ldywKICAgICAgICAgICAgTnVtYmVyT2ZUaWNrZXRzICAgICAgICAgICAgICAgID0+IDEsCiAgICAgICAgICAgIE51bWJlck9mVGlja2V0c1dpdGhOZXdNZXNzYWdlcyA9PiAwLAogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgICBTdGF0ZVR5cGUgICAgICAgICAgICAgICAgICAgICAgPT4gIlJlbWluZGVyLAogICAgICAgICAgICBOdW1iZXJPZlRpY2tldHMgICAgICAgICAgICAgICAgPT4gMCwKICAgICAgICAgICAgTnVtYmVyT2ZUaWNrZXRzV2l0aE5ld01lc3NhZ2VzID0+IDAsCiAgICAgICAgfSwKICAgICAgICB7CiAgICAgICAgICAgIFN0YXRlVHlwZSAgICAgICAgICAgICAgICAgICAgICA9PiAiUmVtaW5kZXJSZWFjaGVkLAogICAgICAgICAgICBOdW1iZXJPZlRpY2tldHMgICAgICAgICAgICAgICAgPT4gMSwKICAgICAgICAgICAgTnVtYmVyT2ZUaWNrZXRzV2l0aE5ld01lc3NhZ2VzID0+IDAsCiAgICAgICAgfSwKICAgICk7CgogICAgbXkgQFJlc3VsdCA9ICRpUGhvbmVPYmplY3QtPkxvY2tlZFZpZXcoCiAgICAgICAgVXNlcklEICA9PiAxLAogICAgICAgIEZpbHRlciAgPT4gIk5ldyIsCgogICAgICAgICNMaW1pdCAob3B0aW9uYWwpIHNldCB0byAxMDAgYnkgZGVmYXVsdCwgaWYgbm90IHNwY2lmaWVkCiAgICAgICAgTGltaXQgICA9PiA1MCwKCiAgICAgICAgIyBPcmRlckJ5IGFuZCBTb3J0QnkgKG9wdGlvbmFsKQogICAgICAgIE9yZGVyQnkgPT4gJ0Rvd24nLCAgIyBEb3dufFVwCiAgICAgICAgU29ydEJ5ICA9PiAnQWdlJywgICAjIE93bmVyfFJlc3BvbnNpYmxlfEN1c3RvbWVySUR8U3RhdGV8VGlja2V0TnVtYmVyfFF1ZXVlfFByaW9yaXR5fEFnZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBUeXBlfExvY2t8VGl0bGV8U2VydmljZXxTTEF8UGVuZGluZ1RpbWV8RXNjYWxhdGlvblRpbWUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgRXNjYWxhdGlvblVwZGF0ZVRpbWV8RXNjYWxhdGlvblJlc3BvbnNlVGltZXxFc2NhbGF0aW9uU29sdXRpb25UaW1lCiAgICApOwoKICAgICNhIHJlc3VsdCBjb3VsZCBiZQoKICAgIEBSZXN1bHQgPSAoCiAgICAgICAgewogICAgICAgICAgICBBZ2UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9PiAxNTk2LAogICAgICAgICAgICBBcnRpY2xlSUQgICAgICAgICAgICAgICAgICAgICAgICA9PiA5MjMsCiAgICAgICAgICAgIEFydGljbGVUeXBlICAgICAgICAgICAgICAgICAgICAgID0+ICJwaG9uZSIsCiAgICAgICAgICAgIEJvZHkgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0+ICJUaGlzIGlzIGFuIG9wZW4gdGlja2V0IiwKICAgICAgICAgICAgQ2hhcnNldCAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gInV0Zi04IiwKICAgICAgICAgICAgQ29udGVudENoYXJzZXQgICAgICAgICAgICAgICAgICAgPT4gInV0Zi04IiwKICAgICAgICAgICAgQ29udGVudFR5cGUgICAgICAgICAgICAgICAgICAgICAgPT4gInRleHQvcGxhaW47IiwKICAgICAgICAgICAgY2hhcnNldCAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gInV0Zi04IiwKICAgICAgICAgICAgQ3JlYXRlZCAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gIjIwMTAtMDYtMjMgMTE6NDY6MTUiLAogICAgICAgICAgICBDcmVhdGVkQnkgICAgICAgICAgICAgICAgICAgICAgICA9PiAxLAogICAgICAgICAgICBGaXJzdFJlc3BvbnNlVGltZSAgICAgICAgICAgICAgICA9PiAtMTI5NiwKICAgICAgICAgICAgRmlyc3RSZXNwb25zZVRpbWVEZXN0aW5hdGlvbkRhdGUgPT4gIjIwMTAtMDYtMjMgMTE6NTE6MTQiLAogICAgICAgICAgICBGaXJzdFJlc3BvbnNlVGltZURlc3RpbmF0aW9uVGltZSA9PiAxMjc3MzExODc0LAogICAgICAgICAgICBGaXJzdFJlc3BvbnNlVGltZUVzY2FsYXRpb24gICAgICA9PiAxLAogICAgICAgICAgICBGaXJzdFJlc3BvbnNlVGltZVdvcmtpbmdUaW1lICAgICA9PiAtMTI2MCwKICAgICAgICAgICAgRnJvbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gImN1c3RvbWVyQG90cnMub3JnIiwKICAgICAgICAgICAgSW5jb21pbmdUaW1lICAgICAgICAgICAgICAgICAgICAgPT4gMTI3NzMxMTU3NSwKICAgICAgICAgICAgTG9jayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gImxvY2siLAogICAgICAgICAgICBNaW1lVHlwZSAgICAgICAgICAgICAgICAgICAgICAgICA9PiAidGV4dC9wbGFpbiIsCiAgICAgICAgICAgIE93bmVyICAgICAgICAgICAgICAgICAgICAgICAgICAgID0+ICJBZ2VudDEiLAogICAgICAgICAgICBQcmlvcml0eSAgICAgICAgICAgICAgICAgICAgICAgICA9PiAiMyBub3JtYWwiLAogICAgICAgICAgICBQcmlvcml0eUNvbG9yICAgICAgICAgICAgICAgICAgICA9PiAiI2NkY2RjZCIsCiAgICAgICAgICAgIFF1ZXVlICAgICAgICAgICAgICAgICAgICAgICAgICAgID0+ICJKdW5rIiwKICAgICAgICAgICAgUmVzcG9uc2libGUgICAgICAgICAgICAgICAgICAgICAgPT4gIkFnZW50MSIsCiAgICAgICAgICAgIFNlbmRlclR5cGUgICAgICAgICAgICAgICAgICAgICAgID0+ICJjdXN0b21lciIsCiAgICAgICAgICAgIFNvbHV0aW9uVGltZSAgICAgICAgICAgICAgICAgICAgID0+IC0xMjk2LAogICAgICAgICAgICBTb2x1dGlvblRpbWVEZXN0aW5hdGlvbkRhdGUgICAgICA9PiAiMjAxMC0wNi0yMyAxMTo1MToxNCIsCiAgICAgICAgICAgIFNvbHV0aW9uVGltZURlc3RpbmF0aW9uVGltZSAgICAgID0+IDEyNzczMTE4NzQsCiAgICAgICAgICAgIFNvbHV0aW9uVGltZUVzY2FsYXRpb24gICAgICAgICAgID0+IDEsCiAgICAgICAgICAgIFNvbHV0aW9uVGltZVdvcmtpbmdUaW1lICAgICAgICAgID0+IC0xMjYwLAogICAgICAgICAgICBTdGF0ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICA9PiAib3BlbiIsCiAgICAgICAgICAgIFN1YmplY3QgICAgICAgICAgICAgICAgICAgICAgICAgID0+ICJPcGVuIFRpY2tldCBUZXN0IiwKICAgICAgICAgICAgVGlja2V0SUQgICAgICAgICAgICAgICAgICAgICAgICAgPT4gMTc2LAogICAgICAgICAgICBUaWNrZXROdW1iZXIgICAgICAgICAgICAgICAgICAgICA9PiAyMDEwMDYyMzEwMDAwMDE1LAogICAgICAgICAgICBUaXRsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICA9PiAiT3BlbiBUaWNrZXQgVGVzdCIsCiAgICAgICAgICAgIFRvICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0+ICJKdW5rIiwKICAgICAgICAgICAgVHlwZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gIkluY2lkZW50IiwKICAgICAgICAgICAgVW50aWxUaW1lICAgICAgICAgICAgICAgICAgICAgICAgPT4gMCwKICAgICAgICAgICAgVXBkYXRlVGltZSAgICAgICAgICAgICAgICAgICAgICAgPT4gLTEyOTUsCiAgICAgICAgICAgIFVwZGF0ZVRpbWVEZXN0aW5hdGlvbkRhdGUgICAgICAgID0+ICIyMDEwLTA2LTIzIDExOjUxOjE1IiwKICAgICAgICAgICAgVXBkYXRlVGltZURlc3RpbmF0aW9uVGltZSAgICAgICAgPT4gMTI3NzMxMTg3NSwKICAgICAgICAgICAgVXBkYXRlVGltZUVzY2FsYXRpb24gICAgICAgICAgICAgPT4gMSwKICAgICAgICAgICAgVXBkYXRlVGltZVdvcmtpbmdUaW1lICAgICAgICAgICAgPT4gLTEyNjAsCiAgICAgICAgICAgIFNlZW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgID0+IDEsICMgb25seSBvbiBvdHJzIDMueCBmcmFtZXdvcmsKICAgICAgICB9LAogICAgKTsKCj1jdXQKCnN1YiBMb2NrZWRWaWV3IHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgIyBkZWZpbmUgZmlsdGVyCiAgICBteSAlRmlsdGVycyA9ICgKICAgICAgICBBbGwgPT4gewogICAgICAgICAgICBOYW1lICAgPT4gJ0FsbCcsCiAgICAgICAgICAgIFByaW8gICA9PiAxMDAwLAogICAgICAgICAgICBTZWFyY2ggPT4gewogICAgICAgICAgICAgICAgTG9ja3MgICAgICA9PiBbJ2xvY2snXSwKICAgICAgICAgICAgICAgIE93bmVySURzICAgPT4gWyAkUGFyYW17VXNlcklEfSBdLAogICAgICAgICAgICAgICAgT3JkZXJCeSAgICA9PiAkUGFyYW17T3JkZXJCeX0sCiAgICAgICAgICAgICAgICBTb3J0QnkgICAgID0+ICRQYXJhbXtTb3J0Qnl9LAogICAgICAgICAgICAgICAgVXNlcklEICAgICA9PiAxLAogICAgICAgICAgICAgICAgUGVybWlzc2lvbiA9PiAncm8nLAogICAgICAgICAgICB9LAogICAgICAgIH0sCiAgICAgICAgTmV3ID0+IHsKICAgICAgICAgICAgTmFtZSAgID0+ICdOZXcgQXJ0aWNsZScsCiAgICAgICAgICAgIFByaW8gICA9PiAxMDAxLAogICAgICAgICAgICBTZWFyY2ggPT4gewogICAgICAgICAgICAgICAgTG9ja3MgICAgICA9PiBbJ2xvY2snXSwKICAgICAgICAgICAgICAgIE93bmVySURzICAgPT4gWyAkUGFyYW17VXNlcklEfSBdLAogICAgICAgICAgICAgICAgVGlja2V0RmxhZyA9PiB7CiAgICAgICAgICAgICAgICAgICAgU2VlbiA9PiAxLAogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIFRpY2tldEZsYWdVc2VySUQgPT4gJFBhcmFte1VzZXJJRH0sCiAgICAgICAgICAgICAgICBPcmRlckJ5ICAgICAgICAgID0+ICRQYXJhbXtPcmRlckJ5fSwKICAgICAgICAgICAgICAgIFNvcnRCeSAgICAgICAgICAgPT4gJFBhcmFte1NvcnRCeX0sCiAgICAgICAgICAgICAgICBVc2VySUQgICAgICAgICAgID0+IDEsCiAgICAgICAgICAgICAgICBQZXJtaXNzaW9uICAgICAgID0+ICdybycsCiAgICAgICAgICAgIH0sCiAgICAgICAgfSwKICAgICAgICBSZW1pbmRlciA9PiB7CiAgICAgICAgICAgIE5hbWUgICA9PiAnUGVuZGluZycsCiAgICAgICAgICAgIFByaW8gICA9PiAxMDAyLAogICAgICAgICAgICBTZWFyY2ggPT4gewogICAgICAgICAgICAgICAgTG9ja3MgICAgICA9PiBbJ2xvY2snXSwKICAgICAgICAgICAgICAgIFN0YXRlVHlwZSAgPT4gWyAncGVuZGluZyByZW1pbmRlcicsICdwZW5kaW5nIGF1dG8nIF0sCiAgICAgICAgICAgICAgICBPd25lcklEcyAgID0+IFsgJFBhcmFte1VzZXJJRH0gXSwKICAgICAgICAgICAgICAgIE9yZGVyQnkgICAgPT4gJFBhcmFte09yZGVyQnl9LAogICAgICAgICAgICAgICAgU29ydEJ5ICAgICA9PiAkUGFyYW17U29ydEJ5fSwKICAgICAgICAgICAgICAgIFVzZXJJRCAgICAgPT4gMSwKICAgICAgICAgICAgICAgIFBlcm1pc3Npb24gPT4gJ3JvJywKICAgICAgICAgICAgfSwKICAgICAgICB9LAogICAgICAgIFJlbWluZGVyUmVhY2hlZCA9PiB7CiAgICAgICAgICAgIE5hbWUgICA9PiAnUmVtaW5kZXIgUmVhY2hlZCcsCiAgICAgICAgICAgIFByaW8gICA9PiAxMDAzLAogICAgICAgICAgICBTZWFyY2ggPT4gewogICAgICAgICAgICAgICAgTG9ja3MgICAgICAgICAgICAgICAgICAgICAgICAgPT4gWydsb2NrJ10sCiAgICAgICAgICAgICAgICBTdGF0ZVR5cGUgICAgICAgICAgICAgICAgICAgICA9PiBbJ3BlbmRpbmcgcmVtaW5kZXInXSwKICAgICAgICAgICAgICAgIFRpY2tldFBlbmRpbmdUaW1lT2xkZXJNaW51dGVzID0+IDEsCiAgICAgICAgICAgICAgICBPd25lcklEcyAgICAgICAgICAgICAgICAgICAgICA9PiBbICRQYXJhbXtVc2VySUR9IF0sCiAgICAgICAgICAgICAgICBPcmRlckJ5ICAgICAgICAgICAgICAgICAgICAgICA9PiAkUGFyYW17T3JkZXJCeX0sCiAgICAgICAgICAgICAgICBTb3J0QnkgICAgICAgICAgICAgICAgICAgICAgICA9PiAkUGFyYW17U29ydEJ5fSwKICAgICAgICAgICAgICAgIFVzZXJJRCAgICAgICAgICAgICAgICAgICAgICAgID0+IDEsCiAgICAgICAgICAgICAgICBQZXJtaXNzaW9uICAgICAgICAgICAgICAgICAgICA9PiAncm8nLAogICAgICAgICAgICB9LAogICAgICAgIH0sCiAgICApOwoKICAgICMgZG8gc2hvd24gdGlja2V0cyBsb29rdXAKICAgIG15ICRMaW1pdCA9ICRQYXJhbXtMaW1pdH0gfHwgMTAwOwogICAgaWYgKCAkUGFyYW17RmlsdGVyfSApIHsKICAgICAgICBteSBAVmlld2FibGVUaWNrZXRzID0gJFNlbGYtPntUaWNrZXRPYmplY3R9LT5UaWNrZXRTZWFyY2goCiAgICAgICAgICAgICV7ICRGaWx0ZXJzeyAkUGFyYW17RmlsdGVyfSB9LT57U2VhcmNofSB9LAogICAgICAgICAgICBMaW1pdCAgPT4gJExpbWl0LAogICAgICAgICAgICBSZXN1bHQgPT4gJ0FSUkFZJywKICAgICAgICApOwogICAgICAgIG15IEBMaXN0OwogICAgICAgIGZvciBteSAkVGlja2V0SUQgKEBWaWV3YWJsZVRpY2tldHMpIHsKICAgICAgICAgICAgbmV4dCBpZiAhJFRpY2tldElEOwogICAgICAgICAgICBteSAlQXJ0aWNsZSA9ICRTZWxmLT5UaWNrZXRMaXN0KAogICAgICAgICAgICAgICAgVGlja2V0SUQgPT4gJFRpY2tldElELAogICAgICAgICAgICAgICAgVXNlcklEICAgPT4gJFBhcmFte1VzZXJJRH0KICAgICAgICAgICAgKTsKICAgICAgICAgICAgbmV4dCBpZiAhJUFydGljbGU7CiAgICAgICAgICAgIHB1c2ggQExpc3QsIFwlQXJ0aWNsZTsKICAgICAgICB9CgogICAgICAgIGlmICggIUBMaXN0ICkgewogICAgICAgICAgICAkU2VsZi0+e0xvZ09iamVjdH0tPkxvZygKICAgICAgICAgICAgICAgIFByaW9yaXR5ID0+ICdlcnJvcicsCiAgICAgICAgICAgICAgICBNZXNzYWdlICA9PiAiVGhlcmUgYXJlIG5vIGxvY2tlZCB0aWNrZXRzIHVuZGVyICRQYXJhbXtGaWx0ZXJ9IGZpbHRlciAiCiAgICAgICAgICAgICAgICAgICAgLiAiY2F0ZWdvcnkiLAogICAgICAgICAgICApOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIEBMaXN0OwogICAgfQoKICAgICMgZG8gbmF2IGJhciBsb29rdXAKICAgIG15IEBTdGF0ZXM7CiAgICBmb3IgbXkgJEZpbHRlciAoIHNvcnQga2V5cyAlRmlsdGVycyApIHsKICAgICAgICBteSAkQ291bnQgPSAkU2VsZi0+e1RpY2tldE9iamVjdH0tPlRpY2tldFNlYXJjaCgKICAgICAgICAgICAgJXsgJEZpbHRlcnN7JEZpbHRlcn0tPntTZWFyY2h9IH0sCiAgICAgICAgICAgIFJlc3VsdCA9PiAnQ09VTlQnLAogICAgICAgICk7CiAgICAgICAgbXkgJENvdW50TmV3ID0gJFNlbGYtPntUaWNrZXRPYmplY3R9LT5UaWNrZXRTZWFyY2goCiAgICAgICAgICAgICV7ICRGaWx0ZXJzeyRGaWx0ZXJ9LT57U2VhcmNofSB9LAogICAgICAgICAgICBSZXN1bHQgICAgID0+ICdDT1VOVCcsCiAgICAgICAgICAgIFRpY2tldEZsYWcgPT4gewogICAgICAgICAgICAgICAgU2VlbiA9PiAxLAogICAgICAgICAgICB9LAogICAgICAgICAgICBUaWNrZXRGbGFnVXNlcklEID0+ICRQYXJhbXtVc2VySUR9LAogICAgICAgICk7CiAgICAgICAgJENvdW50TmV3ID0gJENvdW50IC0gJENvdW50TmV3OwoKICAgICAgICBwdXNoIEBTdGF0ZXMsIHsKICAgICAgICAgICAgU3RhdGVUeXBlICAgICAgICAgICAgICAgICAgICAgID0+ICRGaWx0ZXIsCiAgICAgICAgICAgIEZpbHRlck5hbWUgICAgICAgICAgICAgICAgICAgICA9PiAkRmlsdGVyc3skRmlsdGVyfS0+e05hbWV9LAogICAgICAgICAgICBOdW1iZXJPZlRpY2tldHMgICAgICAgICAgICAgICAgPT4gJENvdW50LAogICAgICAgICAgICBOdW1iZXJPZlRpY2tldHNXaXRoTmV3TWVzc2FnZXMgPT4gJENvdW50TmV3LAogICAgICAgIH07CiAgICB9CiAgICByZXR1cm4gQFN0YXRlczsKfQoKPWl0ZW0gV2F0Y2hlZFZpZXcoKQoKR2V0IHRoZSBudW1iZXIgb2Ygd2F0Y2hlZCB0aWNrZXRzIGJ5IHN0YXR1cyB0eXBlIChhbGwsIG5ldywgcmVtaW5kZXIsIHJlbWluZGVyIHJlYWNoZWQgKSBvciBsYXN0CmN1c3RtZXIgYXJ0aWNsZSBpbmZvcm1hdGlvbiBmcm9tIGVhY2ggd2F0Y2hlZCB0aWNrZXQgaW4gZWFjaCBzdGF0dXMgd2l0aGluIGFuIHNwZWNpZmllZCBmaWx0ZXIsIGlmCnRoZSAiRmlsdGVyIiBhcmd1bWVudCBpcyBzcGVjaWZpZWQuCgogICAgbXkgQFJlc3VsdCA9ICRpUGhvbmVPYmplY3QtPldhdGNoZWRWaWV3KAogICAgICAgIFVzZXJJRCAgPT4gMSwKCiAgICAgICAgIyBPcmRlckJ5IGFuZCBTb3J0QnkgKG9wdGlvbmFsKQogICAgICAgIE9yZGVyQnkgPT4gJ0Rvd24nLCAgIyBEb3dufFVwCiAgICAgICAgU29ydEJ5ICA9PiAnQWdlJywgICAjIE93bmVyfFJlc3BvbnNpYmxlfEN1c3RvbWVySUR8U3RhdGV8VGlja2V0TnVtYmVyfFF1ZXVlfFByaW9yaXR5fEFnZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBUeXBlfExvY2t8VGl0bGV8U2VydmljZXxTTEF8UGVuZGluZ1RpbWV8RXNjYWxhdGlvblRpbWUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgRXNjYWxhdGlvblVwZGF0ZVRpbWV8RXNjYWxhdGlvblJlc3BvbnNlVGltZXxFc2NhbGF0aW9uU29sdXRpb25UaW1lCiAgICApOwoKICAgICNhIHJlc3VsdCBjb3VsZCBiZQoKICAgIEBSZXN1bHQgPSAoCiAgICAgICAgewogICAgICAgICAgICBTdGF0ZVR5cGUgICAgICAgICAgICAgICAgICAgICAgPT4gIkFsbCIsCiAgICAgICAgICAgIE51bWJlck9mVGlja2V0cyAgICAgICAgICAgICAgICA9PiAyLAogICAgICAgICAgICBOdW1iZXJPZlRpY2tldHNXaXRoTmV3TWVzc2FnZXMgPT4gMCwKICAgICAgICB9LAogICAgICAgIHsKICAgICAgICAgICAgU3RhdGVUeXBlICAgICAgICAgICAgICAgICAgICAgID0+ICJOZXcsCiAgICAgICAgICAgIE51bWJlck9mVGlja2V0cyAgICAgICAgICAgICAgICA9PiAxLAogICAgICAgICAgICBOdW1iZXJPZlRpY2tldHNXaXRoTmV3TWVzc2FnZXMgPT4gMCwKICAgICAgICB9LAogICAgICAgIHsKICAgICAgICAgICAgU3RhdGVUeXBlICAgICAgICAgICAgICAgICAgICAgID0+ICJSZW1pbmRlciwKICAgICAgICAgICAgTnVtYmVyT2ZUaWNrZXRzICAgICAgICAgICAgICAgID0+IDAsCiAgICAgICAgICAgIE51bWJlck9mVGlja2V0c1dpdGhOZXdNZXNzYWdlcyA9PiAwLAogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgICBTdGF0ZVR5cGUgICAgICAgICAgICAgICAgICAgICAgPT4gIlJlbWluZGVyUmVhY2hlZCwKICAgICAgICAgICAgTnVtYmVyT2ZUaWNrZXRzICAgICAgICAgICAgICAgID0+IDEsCiAgICAgICAgICAgIE51bWJlck9mVGlja2V0c1dpdGhOZXdNZXNzYWdlcyA9PiAwLAogICAgICAgIH0sCiAgICApOwoKICAgIG15IEBSZXN1bHQgPSAkaVBob25lT2JqZWN0LT5XYXRjaGVkVmlldygKICAgICAgICBVc2VySUQgID0+IDEsCiAgICAgICAgRmlsdGVyICA9PiAiTmV3IiwKCiAgICAgICAgI0xpbWl0IChvcHRpb25hbCkgc2V0IHRvIDEwMCBieSBkZWZhdWx0LCBpZiBub3Qgc3BjaWZpZWQKICAgICAgICBMaW1pdCAgID0+IDUwLAoKICAgICAgICAjIE9yZGVyQnkgYW5kIFNvcnRCeSAob3B0aW9uYWwpCiAgICAgICAgT3JkZXJCeSA9PiAnRG93bicsICAjIERvd258VXAKICAgICAgICBTb3J0QnkgID0+ICdBZ2UnLCAgICMgT3duZXJ8UmVzcG9uc2libGV8Q3VzdG9tZXJJRHxTdGF0ZXxUaWNrZXROdW1iZXJ8UXVldWV8UHJpb3JpdHl8QWdlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIFR5cGV8TG9ja3xUaXRsZXxTZXJ2aWNlfFNMQXxQZW5kaW5nVGltZXxFc2NhbGF0aW9uVGltZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBFc2NhbGF0aW9uVXBkYXRlVGltZXxFc2NhbGF0aW9uUmVzcG9uc2VUaW1lfEVzY2FsYXRpb25Tb2x1dGlvblRpbWUKICAgICk7CgogICAgI2EgcmVzdWx0IGNvdWxkIGJlCgogICAgQFJlc3VsdCA9ICgKICAgICAgICB7CiAgICAgICAgICAgIEFnZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0+IDE1OTYsCiAgICAgICAgICAgIEFydGljbGVJRCAgICAgICAgICAgICAgICAgICAgICAgID0+IDkyMywKICAgICAgICAgICAgQXJ0aWNsZVR5cGUgICAgICAgICAgICAgICAgICAgICAgPT4gInBob25lIiwKICAgICAgICAgICAgQm9keSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gIlRoaXMgaXMgYW4gb3BlbiB0aWNrZXQiLAogICAgICAgICAgICBDaGFyc2V0ICAgICAgICAgICAgICAgICAgICAgICAgICA9PiAidXRmLTgiLAogICAgICAgICAgICBDb250ZW50Q2hhcnNldCAgICAgICAgICAgICAgICAgICA9PiAidXRmLTgiLAogICAgICAgICAgICBDb250ZW50VHlwZSAgICAgICAgICAgICAgICAgICAgICA9PiAidGV4dC9wbGFpbjsiLAogICAgICAgICAgICBjaGFyc2V0ICAgICAgICAgICAgICAgICAgICAgICAgICA9PiAidXRmLTgiLAogICAgICAgICAgICBDcmVhdGVkICAgICAgICAgICAgICAgICAgICAgICAgICA9PiAiMjAxMC0wNi0yMyAxMTo0NjoxNSIsCiAgICAgICAgICAgIENyZWF0ZWRCeSAgICAgICAgICAgICAgICAgICAgICAgID0+IDEsCiAgICAgICAgICAgIEZpcnN0UmVzcG9uc2VUaW1lICAgICAgICAgICAgICAgID0+IC0xMjk2LAogICAgICAgICAgICBGaXJzdFJlc3BvbnNlVGltZURlc3RpbmF0aW9uRGF0ZSA9PiAiMjAxMC0wNi0yMyAxMTo1MToxNCIsCiAgICAgICAgICAgIEZpcnN0UmVzcG9uc2VUaW1lRGVzdGluYXRpb25UaW1lID0+IDEyNzczMTE4NzQsCiAgICAgICAgICAgIEZpcnN0UmVzcG9uc2VUaW1lRXNjYWxhdGlvbiAgICAgID0+IDEsCiAgICAgICAgICAgIEZpcnN0UmVzcG9uc2VUaW1lV29ya2luZ1RpbWUgICAgID0+IC0xMjYwLAogICAgICAgICAgICBGcm9tICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9PiAiY3VzdG9tZXJAb3Rycy5vcmciLAogICAgICAgICAgICBJbmNvbWluZ1RpbWUgICAgICAgICAgICAgICAgICAgICA9PiAxMjc3MzExNTc1LAogICAgICAgICAgICBMb2NrICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9PiAibG9jayIsCiAgICAgICAgICAgIE1pbWVUeXBlICAgICAgICAgICAgICAgICAgICAgICAgID0+ICJ0ZXh0L3BsYWluIiwKICAgICAgICAgICAgT3duZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gIkFnZW50MSIsCiAgICAgICAgICAgIFByaW9yaXR5ICAgICAgICAgICAgICAgICAgICAgICAgID0+ICIzIG5vcm1hbCIsCiAgICAgICAgICAgIFByaW9yaXR5Q29sb3IgICAgICAgICAgICAgICAgICAgID0+ICIjY2RjZGNkIiwKICAgICAgICAgICAgUXVldWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gIkp1bmsiLAogICAgICAgICAgICBSZXNwb25zaWJsZSAgICAgICAgICAgICAgICAgICAgICA9PiAiQWdlbnQxIiwKICAgICAgICAgICAgU2VuZGVyVHlwZSAgICAgICAgICAgICAgICAgICAgICAgPT4gImN1c3RvbWVyIiwKICAgICAgICAgICAgU29sdXRpb25UaW1lICAgICAgICAgICAgICAgICAgICAgPT4gLTEyOTYsCiAgICAgICAgICAgIFNvbHV0aW9uVGltZURlc3RpbmF0aW9uRGF0ZSAgICAgID0+ICIyMDEwLTA2LTIzIDExOjUxOjE0IiwKICAgICAgICAgICAgU29sdXRpb25UaW1lRGVzdGluYXRpb25UaW1lICAgICAgPT4gMTI3NzMxMTg3NCwKICAgICAgICAgICAgU29sdXRpb25UaW1lRXNjYWxhdGlvbiAgICAgICAgICAgPT4gMSwKICAgICAgICAgICAgU29sdXRpb25UaW1lV29ya2luZ1RpbWUgICAgICAgICAgPT4gLTEyNjAsCiAgICAgICAgICAgIFN0YXRlICAgICAgICAgICAgICAgICAgICAgICAgICAgID0+ICJvcGVuIiwKICAgICAgICAgICAgU3ViamVjdCAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gIk9wZW4gVGlja2V0IFRlc3QiLAogICAgICAgICAgICBUaWNrZXRJRCAgICAgICAgICAgICAgICAgICAgICAgICA9PiAxNzYsCiAgICAgICAgICAgIFRpY2tldE51bWJlciAgICAgICAgICAgICAgICAgICAgID0+IDIwMTAwNjIzMTAwMDAwMTUsCiAgICAgICAgICAgIFRpdGxlICAgICAgICAgICAgICAgICAgICAgICAgICAgID0+ICJPcGVuIFRpY2tldCBUZXN0IiwKICAgICAgICAgICAgVG8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gIkp1bmsiLAogICAgICAgICAgICBUeXBlICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9PiAiSW5jaWRlbnQiLAogICAgICAgICAgICBVbnRpbFRpbWUgICAgICAgICAgICAgICAgICAgICAgICA9PiAwLAogICAgICAgICAgICBVcGRhdGVUaW1lICAgICAgICAgICAgICAgICAgICAgICA9PiAtMTI5NSwKICAgICAgICAgICAgVXBkYXRlVGltZURlc3RpbmF0aW9uRGF0ZSAgICAgICAgPT4gIjIwMTAtMDYtMjMgMTE6NTE6MTUiLAogICAgICAgICAgICBVcGRhdGVUaW1lRGVzdGluYXRpb25UaW1lICAgICAgICA9PiAxMjc3MzExODc1LAogICAgICAgICAgICBVcGRhdGVUaW1lRXNjYWxhdGlvbiAgICAgICAgICAgICA9PiAxLAogICAgICAgICAgICBVcGRhdGVUaW1lV29ya2luZ1RpbWUgICAgICAgICAgICA9PiAtMTI2MCwKICAgICAgICAgICAgU2VlbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gMSwgIyBvbmx5IG9uIG90cnMgMy54IGZyYW1ld29yawogICAgICAgIH0sCiAgICApOwoKPWN1dAoKc3ViIFdhdGNoZWRWaWV3IHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgIyBkZWZpbmUgZmlsdGVyCiAgICAjIGdldCBhbGwgd2F0Y2hlZCB0aWNrZXRzIG5vIG1hdHRlciBpZiB0aGV5IGFyZSBsb2NrZWQgb3Igbm90CiAgICBteSAlRmlsdGVycyA9ICgKICAgICAgICBBbGwgPT4gewogICAgICAgICAgICBOYW1lICAgPT4gJ0FsbCcsCiAgICAgICAgICAgIFByaW8gICA9PiAxMDAwLAogICAgICAgICAgICBTZWFyY2ggPT4gewogICAgICAgICAgICAgICAgV2F0Y2hVc2VySURzID0+IFsgJFBhcmFte1VzZXJJRH0gXSwKICAgICAgICAgICAgICAgIE9yZGVyQnkgICAgICA9PiAkUGFyYW17T3JkZXJCeX0sCiAgICAgICAgICAgICAgICBTb3J0QnkgICAgICAgPT4gJFBhcmFte1NvcnRCeX0sCiAgICAgICAgICAgICAgICBVc2VySUQgICAgICAgPT4gMSwKICAgICAgICAgICAgICAgIFBlcm1pc3Npb24gICA9PiAncm8nLAogICAgICAgICAgICB9LAogICAgICAgIH0sCiAgICAgICAgTmV3ID0+IHsKICAgICAgICAgICAgTmFtZSAgID0+ICdOZXcgQXJ0aWNsZScsCiAgICAgICAgICAgIFByaW8gICA9PiAxMDAxLAogICAgICAgICAgICBTZWFyY2ggPT4gewogICAgICAgICAgICAgICAgV2F0Y2hVc2VySURzID0+IFsgJFBhcmFte1VzZXJJRH0gXSwKICAgICAgICAgICAgICAgIFRpY2tldEZsYWcgICA9PiB7CiAgICAgICAgICAgICAgICAgICAgU2VlbiA9PiAxLAogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIFRpY2tldEZsYWdVc2VySUQgPT4gJFBhcmFte1VzZXJJRH0sCiAgICAgICAgICAgICAgICBPcmRlckJ5ICAgICAgICAgID0+ICRQYXJhbXtPcmRlckJ5fSwKICAgICAgICAgICAgICAgIFNvcnRCeSAgICAgICAgICAgPT4gJFBhcmFte1NvcnRCeX0sCiAgICAgICAgICAgICAgICBVc2VySUQgICAgICAgICAgID0+IDEsCiAgICAgICAgICAgICAgICBQZXJtaXNzaW9uICAgICAgID0+ICdybycsCiAgICAgICAgICAgIH0sCiAgICAgICAgfSwKICAgICAgICBSZW1pbmRlciA9PiB7CiAgICAgICAgICAgIE5hbWUgICA9PiAnUGVuZGluZycsCiAgICAgICAgICAgIFByaW8gICA9PiAxMDAyLAogICAgICAgICAgICBTZWFyY2ggPT4gewogICAgICAgICAgICAgICAgU3RhdGVUeXBlICAgID0+IFsgJ3BlbmRpbmcgcmVtaW5kZXInLCAncGVuZGluZyBhdXRvJyBdLAogICAgICAgICAgICAgICAgV2F0Y2hVc2VySURzID0+IFsgJFBhcmFte1VzZXJJRH0gXSwKICAgICAgICAgICAgICAgIE9yZGVyQnkgICAgICA9PiAkUGFyYW17T3JkZXJCeX0sCiAgICAgICAgICAgICAgICBTb3J0QnkgICAgICAgPT4gJFBhcmFte1NvcnRCeX0sCiAgICAgICAgICAgICAgICBVc2VySUQgICAgICAgPT4gMSwKICAgICAgICAgICAgICAgIFBlcm1pc3Npb24gICA9PiAncm8nLAogICAgICAgICAgICB9LAogICAgICAgIH0sCiAgICAgICAgUmVtaW5kZXJSZWFjaGVkID0+IHsKICAgICAgICAgICAgTmFtZSAgID0+ICdSZW1pbmRlciBSZWFjaGVkJywKICAgICAgICAgICAgUHJpbyAgID0+IDEwMDMsCiAgICAgICAgICAgIFNlYXJjaCA9PiB7CiAgICAgICAgICAgICAgICBTdGF0ZVR5cGUgICAgICAgICAgICAgICAgICAgICA9PiBbJ3BlbmRpbmcgcmVtaW5kZXInXSwKICAgICAgICAgICAgICAgIFRpY2tldFBlbmRpbmdUaW1lT2xkZXJNaW51dGVzID0+IDEsCiAgICAgICAgICAgICAgICBXYXRjaFVzZXJJRHMgICAgICAgICAgICAgICAgICA9PiBbICRQYXJhbXtVc2VySUR9IF0sCiAgICAgICAgICAgICAgICBPcmRlckJ5ICAgICAgICAgICAgICAgICAgICAgICA9PiAkUGFyYW17T3JkZXJCeX0sCiAgICAgICAgICAgICAgICBTb3J0QnkgICAgICAgICAgICAgICAgICAgICAgICA9PiAkUGFyYW17U29ydEJ5fSwKICAgICAgICAgICAgICAgIFVzZXJJRCAgICAgICAgICAgICAgICAgICAgICAgID0+IDEsCiAgICAgICAgICAgICAgICBQZXJtaXNzaW9uICAgICAgICAgICAgICAgICAgICA9PiAncm8nLAogICAgICAgICAgICB9LAogICAgICAgIH0sCiAgICApOwoKICAgIGlmICggJFNlbGYtPntDb25maWdPYmplY3R9LT5HZXQoJ1RpY2tldDo6V2F0Y2hlcicpICkgewoKICAgICAgICAjIGRvIHNob3duIHRpY2tldHMgbG9va3VwCiAgICAgICAgbXkgJExpbWl0ID0gJFBhcmFte0xpbWl0fSB8fCAxMDA7CiAgICAgICAgaWYgKCAkUGFyYW17RmlsdGVyfSApIHsKICAgICAgICAgICAgbXkgQFZpZXdhYmxlVGlja2V0cyA9ICRTZWxmLT57VGlja2V0T2JqZWN0fS0+VGlja2V0U2VhcmNoKAogICAgICAgICAgICAgICAgJXsgJEZpbHRlcnN7ICRQYXJhbXtGaWx0ZXJ9IH0tPntTZWFyY2h9IH0sCiAgICAgICAgICAgICAgICBMaW1pdCAgPT4gJExpbWl0LAogICAgICAgICAgICAgICAgUmVzdWx0ID0+ICdBUlJBWScsCiAgICAgICAgICAgICk7CiAgICAgICAgICAgIG15IEBMaXN0OwogICAgICAgICAgICBmb3IgbXkgJFRpY2tldElEIChAVmlld2FibGVUaWNrZXRzKSB7CiAgICAgICAgICAgICAgICBuZXh0IGlmICEkVGlja2V0SUQ7CiAgICAgICAgICAgICAgICBteSAlQXJ0aWNsZSA9ICRTZWxmLT5UaWNrZXRMaXN0KAogICAgICAgICAgICAgICAgICAgIFRpY2tldElEID0+ICRUaWNrZXRJRCwKICAgICAgICAgICAgICAgICAgICBVc2VySUQgICA9PiAkUGFyYW17VXNlcklEfQogICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgICAgIG5leHQgaWYgISVBcnRpY2xlOwogICAgICAgICAgICAgICAgcHVzaCBATGlzdCwgXCVBcnRpY2xlOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmICggIUBMaXN0ICkgewogICAgICAgICAgICAgICAgJFNlbGYtPntMb2dPYmplY3R9LT5Mb2coCiAgICAgICAgICAgICAgICAgICAgUHJpb3JpdHkgPT4gJ2Vycm9yJywKICAgICAgICAgICAgICAgICAgICBNZXNzYWdlICA9PiAiVGhlcmUgYXJlIG5vIHdhdGNoZWQgdGlja2V0cyB1bmRlciAkUGFyYW17RmlsdGVyfSBmaWx0ZXIgIgogICAgICAgICAgICAgICAgICAgICAgICAuICJjYXRlZ29yeSIsCiAgICAgICAgICAgICAgICApOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybiBATGlzdDsKICAgICAgICB9CgogICAgICAgICMgZG8gbmF2IGJhciBsb29rdXAKICAgICAgICBteSBAU3RhdGVzOwogICAgICAgIGZvciBteSAkRmlsdGVyICggc29ydCBrZXlzICVGaWx0ZXJzICkgewogICAgICAgICAgICBteSAkQ291bnQgPSAkU2VsZi0+e1RpY2tldE9iamVjdH0tPlRpY2tldFNlYXJjaCgKICAgICAgICAgICAgICAgICV7ICRGaWx0ZXJzeyRGaWx0ZXJ9LT57U2VhcmNofSB9LAogICAgICAgICAgICAgICAgUmVzdWx0ID0+ICdDT1VOVCcsCiAgICAgICAgICAgICk7CiAgICAgICAgICAgIG15ICRDb3VudE5ldyA9ICRTZWxmLT57VGlja2V0T2JqZWN0fS0+VGlja2V0U2VhcmNoKAogICAgICAgICAgICAgICAgJXsgJEZpbHRlcnN7JEZpbHRlcn0tPntTZWFyY2h9IH0sCiAgICAgICAgICAgICAgICBSZXN1bHQgICAgID0+ICdDT1VOVCcsCiAgICAgICAgICAgICAgICBUaWNrZXRGbGFnID0+IHsKICAgICAgICAgICAgICAgICAgICBTZWVuID0+IDEsCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgVGlja2V0RmxhZ1VzZXJJRCA9PiAkUGFyYW17VXNlcklEfSwKICAgICAgICAgICAgKTsKICAgICAgICAgICAgJENvdW50TmV3ID0gJENvdW50IC0gJENvdW50TmV3OwoKICAgICAgICAgICAgcHVzaCBAU3RhdGVzLCB7CiAgICAgICAgICAgICAgICBTdGF0ZVR5cGUgICAgICAgICAgICAgICAgICAgICAgPT4gJEZpbHRlciwKICAgICAgICAgICAgICAgIEZpbHRlck5hbWUgICAgICAgICAgICAgICAgICAgICA9PiAkRmlsdGVyc3skRmlsdGVyfS0+e05hbWV9LAogICAgICAgICAgICAgICAgTnVtYmVyT2ZUaWNrZXRzICAgICAgICAgICAgICAgID0+ICRDb3VudCwKICAgICAgICAgICAgICAgIE51bWJlck9mVGlja2V0c1dpdGhOZXdNZXNzYWdlcyA9PiAkQ291bnROZXcsCiAgICAgICAgICAgIH07CiAgICAgICAgfQogICAgICAgIHJldHVybiBAU3RhdGVzOwogICAgfQogICAgJFNlbGYtPntMb2dPYmplY3R9LT5Mb2coCiAgICAgICAgUHJpb3JpdHkgPT4gJ2Vycm9yJywKICAgICAgICBNZXNzYWdlICA9PiAnVGlja2V0IHdhdGNoZXIgZmVhdHVyZSBpcyBub3QgZW5hYmxlIGluIHN5c3RlbSBjb25maWd1cmF0aW9uICcKICAgICAgICAgICAgLiAnUGxlYXNlIGNvbnRhY3QgYWRtaW4nLAogICAgKTsKICAgIHJldHVybiAtMTsKfQoKPWl0ZW0gUmVzcG9uc2libGVWaWV3KCkKCkdldCB0aGUgbnVtYmVyIG9mIGxvY2tlZCBvciB1bmxvY2tlZCB0aWNrZXRzIHdoZXJlIHRoZSB1c2VyIGlzIHJlc3BvbnNpYmxlIGZvciBieSBzdGF0dXMgdHlwZQooYWxsLCBuZXcsIHJlbWluZGVyLCByZW1pbmRlciByZWFjaGVkICkgb3IgbGFzdCBjdXN0b21lciBhcnRpY2xlIGluZm9ybWF0aW9uIGZyb20gZWFjaCB0aWNrZXQgd2hlcmUKdGhlIHVzZXIgaXMgcmVzcG9uc2libGUgZm9yICBpbiBlYWNoIHN0YXR1cyB3aXRoaW4gYW4gc3BlY2lmaWVkIGZpbHRlciwgaWYgdGhlICJGaWx0ZXIiIGFyZ3VtZW50IGlzCnNwZWNpZmllZC4KCiAgICBteSBAUmVzdWx0ID0gJGlQaG9uZU9iamVjdC0+UmVzcG9uc2libGVWaWV3KAogICAgICAgIFVzZXJJRCAgPT4gMSwKCiAgICAgICAgIyBPcmRlckJ5IGFuZCBTb3J0QnkgKG9wdGlvbmFsKQogICAgICAgIE9yZGVyQnkgPT4gJ0Rvd24nLCAgIyBEb3dufFVwCiAgICAgICAgU29ydEJ5ICA9PiAnQWdlJywgICAjIE93bmVyfFJlc3BvbnNpYmxlfEN1c3RvbWVySUR8U3RhdGV8VGlja2V0TnVtYmVyfFF1ZXVlfFByaW9yaXR5fEFnZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBUeXBlfExvY2t8VGl0bGV8U2VydmljZXxTTEF8UGVuZGluZ1RpbWV8RXNjYWxhdGlvblRpbWUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgRXNjYWxhdGlvblVwZGF0ZVRpbWV8RXNjYWxhdGlvblJlc3BvbnNlVGltZXxFc2NhbGF0aW9uU29sdXRpb25UaW1lCiAgICApOwoKICAgICNhIHJlc3VsdCBjb3VsZCBiZQoKICAgIEBSZXN1bHQgPSAoCiAgICAgICAgewogICAgICAgICAgICBTdGF0ZVR5cGUgICAgICAgICAgICAgICAgICAgICAgPT4gIkFsbCIsCiAgICAgICAgICAgIE51bWJlck9mVGlja2V0cyAgICAgICAgICAgICAgICA9PiAyLAogICAgICAgICAgICBOdW1iZXJPZlRpY2tldHNXaXRoTmV3TWVzc2FnZXMgPT4gMCwKICAgICAgICB9LAogICAgICAgIHsKICAgICAgICAgICAgU3RhdGVUeXBlICAgICAgICAgICAgICAgICAgICAgID0+ICJOZXcsCiAgICAgICAgICAgIE51bWJlck9mVGlja2V0cyAgICAgICAgICAgICAgICA9PiAxLAogICAgICAgICAgICBOdW1iZXJPZlRpY2tldHNXaXRoTmV3TWVzc2FnZXMgPT4gMCwKICAgICAgICB9LAogICAgICAgIHsKICAgICAgICAgICAgU3RhdGVUeXBlICAgICAgICAgICAgICAgICAgICAgID0+ICJSZW1pbmRlciwKICAgICAgICAgICAgTnVtYmVyT2ZUaWNrZXRzICAgICAgICAgICAgICAgID0+IDAsCiAgICAgICAgICAgIE51bWJlck9mVGlja2V0c1dpdGhOZXdNZXNzYWdlcyA9PiAwLAogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgICBTdGF0ZVR5cGUgICAgICAgICAgICAgICAgICAgICAgPT4gIlJlbWluZGVyUmVhY2hlZCwKICAgICAgICAgICAgTnVtYmVyT2ZUaWNrZXRzICAgICAgICAgICAgICAgID0+IDEsCiAgICAgICAgICAgIE51bWJlck9mVGlja2V0c1dpdGhOZXdNZXNzYWdlcyA9PiAwLAogICAgICAgIH0sCiAgICApOwoKICAgIG15IEBSZXN1bHQgPSAkaVBob25lT2JqZWN0LT5SZXNwb25zaWJsZVZpZXcoCiAgICAgICAgVXNlcklEICA9PiAxLAogICAgICAgIEZpbHRlciAgPT4gIk5ldyIsCgogICAgICAgICNMaW1pdCAob3B0aW9uYWwpIHNldCB0byAxMDAgYnkgZGVmYXVsdCwgaWYgbm90IHNwY2lmaWVkCiAgICAgICAgTGltaXQgICA9PiA1MCwKCiAgICAgICAgIyBPcmRlckJ5IGFuZCBTb3J0QnkgKG9wdGlvbmFsKQogICAgICAgIE9yZGVyQnkgPT4gJ0Rvd24nLCAgIyBEb3dufFVwCiAgICAgICAgU29ydEJ5ICA9PiAnQWdlJywgICAjIE93bmVyfFJlc3BvbnNpYmxlfEN1c3RvbWVySUR8U3RhdGV8VGlja2V0TnVtYmVyfFF1ZXVlfFByaW9yaXR5fEFnZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBUeXBlfExvY2t8VGl0bGV8U2VydmljZXxTTEF8UGVuZGluZ1RpbWV8RXNjYWxhdGlvblRpbWUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgRXNjYWxhdGlvblVwZGF0ZVRpbWV8RXNjYWxhdGlvblJlc3BvbnNlVGltZXxFc2NhbGF0aW9uU29sdXRpb25UaW1lCiAgICApOwoKICAgICNhIHJlc3VsdCBjb3VsZCBiZQoKICAgIEBSZXN1bHQgPSAoCiAgICAgICAgewogICAgICAgICAgICBBZ2UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9PiAxNTk2LAogICAgICAgICAgICBBcnRpY2xlSUQgICAgICAgICAgICAgICAgICAgICAgICA9PiA5MjMsCiAgICAgICAgICAgIEFydGljbGVUeXBlICAgICAgICAgICAgICAgICAgICAgID0+ICJwaG9uZSIsCiAgICAgICAgICAgIEJvZHkgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0+ICJUaGlzIGlzIGFuIG9wZW4gdGlja2V0IiwKICAgICAgICAgICAgQ2hhcnNldCAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gInV0Zi04IiwKICAgICAgICAgICAgQ29udGVudENoYXJzZXQgICAgICAgICAgICAgICAgICAgPT4gInV0Zi04IiwKICAgICAgICAgICAgQ29udGVudFR5cGUgICAgICAgICAgICAgICAgICAgICAgPT4gInRleHQvcGxhaW47IiwKICAgICAgICAgICAgY2hhcnNldCAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gInV0Zi04IiwKICAgICAgICAgICAgQ3JlYXRlZCAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gIjIwMTAtMDYtMjMgMTE6NDY6MTUiLAogICAgICAgICAgICBDcmVhdGVkQnkgICAgICAgICAgICAgICAgICAgICAgICA9PiAxLAogICAgICAgICAgICBGaXJzdFJlc3BvbnNlVGltZSAgICAgICAgICAgICAgICA9PiAtMTI5NiwKICAgICAgICAgICAgRmlyc3RSZXNwb25zZVRpbWVEZXN0aW5hdGlvbkRhdGUgPT4gIjIwMTAtMDYtMjMgMTE6NTE6MTQiLAogICAgICAgICAgICBGaXJzdFJlc3BvbnNlVGltZURlc3RpbmF0aW9uVGltZSA9PiAxMjc3MzExODc0LAogICAgICAgICAgICBGaXJzdFJlc3BvbnNlVGltZUVzY2FsYXRpb24gICAgICA9PiAxLAogICAgICAgICAgICBGaXJzdFJlc3BvbnNlVGltZVdvcmtpbmdUaW1lICAgICA9PiAtMTI2MCwKICAgICAgICAgICAgRnJvbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gImN1c3RvbWVyQG90cnMub3JnIiwKICAgICAgICAgICAgSW5jb21pbmdUaW1lICAgICAgICAgICAgICAgICAgICAgPT4gMTI3NzMxMTU3NSwKICAgICAgICAgICAgTG9jayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gImxvY2siLAogICAgICAgICAgICBNaW1lVHlwZSAgICAgICAgICAgICAgICAgICAgICAgICA9PiAidGV4dC9wbGFpbiIsCiAgICAgICAgICAgIE93bmVyICAgICAgICAgICAgICAgICAgICAgICAgICAgID0+ICJBZ2VudDEiLAogICAgICAgICAgICBQcmlvcml0eSAgICAgICAgICAgICAgICAgICAgICAgICA9PiAiMyBub3JtYWwiLAogICAgICAgICAgICBQcmlvcml0eUNvbG9yICAgICAgICAgICAgICAgICAgICA9PiAiI2NkY2RjZCIsCiAgICAgICAgICAgIFF1ZXVlICAgICAgICAgICAgICAgICAgICAgICAgICAgID0+ICJKdW5rIiwKICAgICAgICAgICAgUmVzcG9uc2libGUgICAgICAgICAgICAgICAgICAgICAgPT4gIkFnZW50MSIsCiAgICAgICAgICAgIFNlbmRlclR5cGUgICAgICAgICAgICAgICAgICAgICAgID0+ICJjdXN0b21lciIsCiAgICAgICAgICAgIFNvbHV0aW9uVGltZSAgICAgICAgICAgICAgICAgICAgID0+IC0xMjk2LAogICAgICAgICAgICBTb2x1dGlvblRpbWVEZXN0aW5hdGlvbkRhdGUgICAgICA9PiAiMjAxMC0wNi0yMyAxMTo1MToxNCIsCiAgICAgICAgICAgIFNvbHV0aW9uVGltZURlc3RpbmF0aW9uVGltZSAgICAgID0+IDEyNzczMTE4NzQsCiAgICAgICAgICAgIFNvbHV0aW9uVGltZUVzY2FsYXRpb24gICAgICAgICAgID0+IDEsCiAgICAgICAgICAgIFNvbHV0aW9uVGltZVdvcmtpbmdUaW1lICAgICAgICAgID0+IC0xMjYwLAogICAgICAgICAgICBTdGF0ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICA9PiAib3BlbiIsCiAgICAgICAgICAgIFN1YmplY3QgICAgICAgICAgICAgICAgICAgICAgICAgID0+ICJPcGVuIFRpY2tldCBUZXN0IiwKICAgICAgICAgICAgVGlja2V0SUQgICAgICAgICAgICAgICAgICAgICAgICAgPT4gMTc2LAogICAgICAgICAgICBUaWNrZXROdW1iZXIgICAgICAgICAgICAgICAgICAgICA9PiAyMDEwMDYyMzEwMDAwMDE1LAogICAgICAgICAgICBUaXRsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICA9PiAiT3BlbiBUaWNrZXQgVGVzdCIsCiAgICAgICAgICAgIFRvICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0+ICJKdW5rIiwKICAgICAgICAgICAgVHlwZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gIkluY2lkZW50IiwKICAgICAgICAgICAgVW50aWxUaW1lICAgICAgICAgICAgICAgICAgICAgICAgPT4gMCwKICAgICAgICAgICAgVXBkYXRlVGltZSAgICAgICAgICAgICAgICAgICAgICAgPT4gLTEyOTUsCiAgICAgICAgICAgIFVwZGF0ZVRpbWVEZXN0aW5hdGlvbkRhdGUgICAgICAgID0+ICIyMDEwLTA2LTIzIDExOjUxOjE1IiwKICAgICAgICAgICAgVXBkYXRlVGltZURlc3RpbmF0aW9uVGltZSAgICAgICAgPT4gMTI3NzMxMTg3NSwKICAgICAgICAgICAgVXBkYXRlVGltZUVzY2FsYXRpb24gICAgICAgICAgICAgPT4gMSwKICAgICAgICAgICAgVXBkYXRlVGltZVdvcmtpbmdUaW1lICAgICAgICAgICAgPT4gLTEyNjAsCiAgICAgICAgICAgIFNlZW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgID0+IDEsICMgb25seSBvbiBvdHJzIDMueCBmcmFtZXdvcmsKICAgICAgICB9LAogICAgKTsKCj1jdXQKCnN1YiBSZXNwb25zaWJsZVZpZXcgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICAjIGRlZmluZSBmaWx0ZXIKICAgIG15ICVGaWx0ZXJzID0gKAogICAgICAgIEFsbCA9PiB7CiAgICAgICAgICAgIE5hbWUgICA9PiAnQWxsJywKICAgICAgICAgICAgUHJpbyAgID0+IDEwMDAsCiAgICAgICAgICAgIFNlYXJjaCA9PiB7CiAgICAgICAgICAgICAgICBTdGF0ZVR5cGUgICAgICA9PiAnT3BlbicsCiAgICAgICAgICAgICAgICBSZXNwb25zaWJsZUlEcyA9PiBbICRQYXJhbXtVc2VySUR9IF0sCiAgICAgICAgICAgICAgICBPcmRlckJ5ICAgICAgICA9PiAkUGFyYW17T3JkZXJCeX0sCiAgICAgICAgICAgICAgICBTb3J0QnkgICAgICAgICA9PiAkUGFyYW17U29ydEJ5fSwKICAgICAgICAgICAgICAgIFVzZXJJRCAgICAgICAgID0+IDEsCiAgICAgICAgICAgICAgICBQZXJtaXNzaW9uICAgICA9PiAncm8nLAogICAgICAgICAgICB9LAogICAgICAgIH0sCiAgICAgICAgTmV3ID0+IHsKICAgICAgICAgICAgTmFtZSAgID0+ICdOZXcgQXJ0aWNsZScsCiAgICAgICAgICAgIFByaW8gICA9PiAxMDAxLAogICAgICAgICAgICBTZWFyY2ggPT4gewogICAgICAgICAgICAgICAgU3RhdGVUeXBlICAgICAgPT4gJ09wZW4nLAogICAgICAgICAgICAgICAgUmVzcG9uc2libGVJRHMgPT4gWyAkUGFyYW17VXNlcklEfSBdLAogICAgICAgICAgICAgICAgVGlja2V0RmxhZyAgICAgPT4gewogICAgICAgICAgICAgICAgICAgIFNlZW4gPT4gMSwKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICBUaWNrZXRGbGFnVXNlcklEID0+ICRQYXJhbXtVc2VySUR9LAogICAgICAgICAgICAgICAgT3JkZXJCeSAgICAgICAgICA9PiAkUGFyYW17T3JkZXJCeX0sCiAgICAgICAgICAgICAgICBTb3J0QnkgICAgICAgICAgID0+ICRQYXJhbXtTb3J0Qnl9LAogICAgICAgICAgICAgICAgVXNlcklEICAgICAgICAgICA9PiAxLAogICAgICAgICAgICAgICAgUGVybWlzc2lvbiAgICAgICA9PiAncm8nLAogICAgICAgICAgICB9LAogICAgICAgIH0sCiAgICAgICAgUmVtaW5kZXIgPT4gewogICAgICAgICAgICBOYW1lICAgPT4gJ1BlbmRpbmcnLAogICAgICAgICAgICBQcmlvICAgPT4gMTAwMiwKICAgICAgICAgICAgU2VhcmNoID0+IHsKICAgICAgICAgICAgICAgIFN0YXRlVHlwZSAgICAgID0+IFsgJ3BlbmRpbmcgcmVtaW5kZXInLCAncGVuZGluZyBhdXRvJyBdLAogICAgICAgICAgICAgICAgUmVzcG9uc2libGVJRHMgPT4gWyAkUGFyYW17VXNlcklEfSBdLAogICAgICAgICAgICAgICAgT3JkZXJCeSAgICAgICAgPT4gJFBhcmFte09yZGVyQnl9LAogICAgICAgICAgICAgICAgU29ydEJ5ICAgICAgICAgPT4gJFBhcmFte1NvcnRCeX0sCiAgICAgICAgICAgICAgICBVc2VySUQgICAgICAgICA9PiAxLAogICAgICAgICAgICAgICAgUGVybWlzc2lvbiAgICAgPT4gJ3JvJywKICAgICAgICAgICAgfSwKICAgICAgICB9LAogICAgICAgIFJlbWluZGVyUmVhY2hlZCA9PiB7CiAgICAgICAgICAgIE5hbWUgICA9PiAnUmVtaW5kZXIgUmVhY2hlZCcsCiAgICAgICAgICAgIFByaW8gICA9PiAxMDAzLAogICAgICAgICAgICBTZWFyY2ggPT4gewogICAgICAgICAgICAgICAgU3RhdGVUeXBlICAgICAgICAgICAgICAgICAgICAgPT4gWydwZW5kaW5nIHJlbWluZGVyJ10sCiAgICAgICAgICAgICAgICBUaWNrZXRQZW5kaW5nVGltZU9sZGVyTWludXRlcyA9PiAxLAogICAgICAgICAgICAgICAgUmVzcG9uc2libGVJRHMgICAgICAgICAgICAgICAgPT4gWyAkUGFyYW17VXNlcklEfSBdLAogICAgICAgICAgICAgICAgT3JkZXJCeSAgICAgICAgICAgICAgICAgICAgICAgPT4gJFBhcmFte09yZGVyQnl9LAogICAgICAgICAgICAgICAgU29ydEJ5ICAgICAgICAgICAgICAgICAgICAgICAgPT4gJFBhcmFte1NvcnRCeX0sCiAgICAgICAgICAgICAgICBVc2VySUQgICAgICAgICAgICAgICAgICAgICAgICA9PiAxLAogICAgICAgICAgICAgICAgUGVybWlzc2lvbiAgICAgICAgICAgICAgICAgICAgPT4gJ3JvJywKICAgICAgICAgICAgfSwKICAgICAgICB9LAogICAgKTsKCiAgICBpZiAoICRTZWxmLT57Q29uZmlnT2JqZWN0fS0+R2V0KCdUaWNrZXQ6OlJlc3BvbnNpYmxlJykgKSB7CgogICAgICAgICMgZG8gc2hvd24gdGlja2V0cyBsb29rdXAKICAgICAgICBteSAkTGltaXQgPSAkUGFyYW17TGltaXR9IHx8IDEwMDsKICAgICAgICBpZiAoICRQYXJhbXtGaWx0ZXJ9ICkgewogICAgICAgICAgICBteSBAVmlld2FibGVUaWNrZXRzID0gJFNlbGYtPntUaWNrZXRPYmplY3R9LT5UaWNrZXRTZWFyY2goCiAgICAgICAgICAgICAgICAleyAkRmlsdGVyc3sgJFBhcmFte0ZpbHRlcn0gfS0+e1NlYXJjaH0gfSwKICAgICAgICAgICAgICAgIExpbWl0ICA9PiAkTGltaXQsCiAgICAgICAgICAgICAgICBSZXN1bHQgPT4gJ0FSUkFZJywKICAgICAgICAgICAgKTsKICAgICAgICAgICAgbXkgQExpc3Q7CiAgICAgICAgICAgIGZvciBteSAkVGlja2V0SUQgKEBWaWV3YWJsZVRpY2tldHMpIHsKICAgICAgICAgICAgICAgIG5leHQgaWYgISRUaWNrZXRJRDsKICAgICAgICAgICAgICAgIG15ICVBcnRpY2xlID0gJFNlbGYtPlRpY2tldExpc3QoCiAgICAgICAgICAgICAgICAgICAgVGlja2V0SUQgPT4gJFRpY2tldElELAogICAgICAgICAgICAgICAgICAgIFVzZXJJRCAgID0+ICRQYXJhbXtVc2VySUR9CiAgICAgICAgICAgICAgICApOwogICAgICAgICAgICAgICAgbmV4dCBpZiAhJUFydGljbGU7CiAgICAgICAgICAgICAgICBwdXNoIEBMaXN0LCBcJUFydGljbGU7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKCAhQExpc3QgKSB7CiAgICAgICAgICAgICAgICAkU2VsZi0+e0xvZ09iamVjdH0tPkxvZygKICAgICAgICAgICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICAgICAgICAgIE1lc3NhZ2UgID0+ICJUaGVyZSBhcmUgbm8gcmVzcG9uc2libGUgZm9yIHRpY2tldHMgdW5kZXIgJFBhcmFte0ZpbHRlcn0gZmlsdGVyICIKICAgICAgICAgICAgICAgICAgICAgICAgLiAiY2F0ZWdvcnkiLAogICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gQExpc3Q7CiAgICAgICAgfQoKICAgICAgICAjIGRvIG5hdiBiYXIgbG9va3VwCiAgICAgICAgbXkgQFN0YXRlczsKICAgICAgICBmb3IgbXkgJEZpbHRlciAoIHNvcnQga2V5cyAlRmlsdGVycyApIHsKICAgICAgICAgICAgbXkgJENvdW50ID0gJFNlbGYtPntUaWNrZXRPYmplY3R9LT5UaWNrZXRTZWFyY2goCiAgICAgICAgICAgICAgICAleyAkRmlsdGVyc3skRmlsdGVyfS0+e1NlYXJjaH0gfSwKICAgICAgICAgICAgICAgIFJlc3VsdCA9PiAnQ09VTlQnLAogICAgICAgICAgICApOwogICAgICAgICAgICBteSAkQ291bnROZXcgPSAkU2VsZi0+e1RpY2tldE9iamVjdH0tPlRpY2tldFNlYXJjaCgKICAgICAgICAgICAgICAgICV7ICRGaWx0ZXJzeyRGaWx0ZXJ9LT57U2VhcmNofSB9LAogICAgICAgICAgICAgICAgUmVzdWx0ICAgICA9PiAnQ09VTlQnLAogICAgICAgICAgICAgICAgVGlja2V0RmxhZyA9PiB7CiAgICAgICAgICAgICAgICAgICAgU2VlbiA9PiAxLAogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIFRpY2tldEZsYWdVc2VySUQgPT4gJFBhcmFte1VzZXJJRH0sCiAgICAgICAgICAgICk7CiAgICAgICAgICAgICRDb3VudE5ldyA9ICRDb3VudCAtICRDb3VudE5ldzsKCiAgICAgICAgICAgIHB1c2ggQFN0YXRlcywgewogICAgICAgICAgICAgICAgU3RhdGVUeXBlICAgICAgICAgICAgICAgICAgICAgID0+ICRGaWx0ZXIsCiAgICAgICAgICAgICAgICBGaWx0ZXJOYW1lICAgICAgICAgICAgICAgICAgICAgPT4gJEZpbHRlcnN7JEZpbHRlcn0tPntOYW1lfSwKICAgICAgICAgICAgICAgIE51bWJlck9mVGlja2V0cyAgICAgICAgICAgICAgICA9PiAkQ291bnQsCiAgICAgICAgICAgICAgICBOdW1iZXJPZlRpY2tldHNXaXRoTmV3TWVzc2FnZXMgPT4gJENvdW50TmV3LAogICAgICAgICAgICB9OwogICAgICAgIH0KICAgICAgICByZXR1cm4gQFN0YXRlczsKICAgIH0KICAgICRTZWxmLT57TG9nT2JqZWN0fS0+TG9nKAogICAgICAgIFByaW9yaXR5ID0+ICdlcnJvcicsCiAgICAgICAgTWVzc2FnZSAgPT4gJ1RpY2tldCByZXNwb25zaWJsZSBmZWF0dXJlIGlzIG5vdCBlbmFibGUgaW4gc3lzdGVtIGNvbmZpZ3VyYXRpb24gJwogICAgICAgICAgICAuICdQbGVhc2UgY29udGFjdCBhZG1pbicsCiAgICApOwogICAgcmV0dXJuIC0xOwp9Cgo9aXRlbSBRdWV1ZVZpZXcoKQoKR2V0IHRoZSBudW1iZXIgb2Ygdmlld2FibGUgdGlja2V0cyBwZXIgcXVldWUgYXMgd2VsbCBhcyBiYXNpYyBxdWV1ZSBpbmZvcm1hdGlvbiwgb3IgbGFzdCBjdXN0b21lcgphcnRpY2xlIGluZm9ybWF0aW9uIGZyb20gZWFjaCB0aWNrZXQgd2l0aGluIGFuIHNwZWNpZmllZCBxdWV1ZSwgaWYgdGhlICJRdWV1ZSIgYXJndW1lbnQgaXMKc3BlY2lmaWVkLgoKICAgIG15IEBSZXN1bHQgPSAkaVBob25lT2JqZWN0LT5RdWV1ZVZpZXcoCiAgICAgICAgVXNlcklEICA9PiAxLAoKICAgICAgICAjIE9yZGVyQnkgYW5kIFNvcnRCeSAob3B0aW9uYWwpCiAgICAgICAgT3JkZXJCeSA9PiAnRG93bicsICAjIERvd258VXAKICAgICAgICBTb3J0QnkgID0+ICdBZ2UnLCAgICMgT3duZXJ8UmVzcG9uc2libGV8Q3VzdG9tZXJJRHxTdGF0ZXxUaWNrZXROdW1iZXJ8UXVldWV8UHJpb3JpdHl8QWdlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIFR5cGV8TG9ja3xUaXRsZXxTZXJ2aWNlfFNMQXxQZW5kaW5nVGltZXxFc2NhbGF0aW9uVGltZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBFc2NhbGF0aW9uVXBkYXRlVGltZXxFc2NhbGF0aW9uUmVzcG9uc2VUaW1lfEVzY2FsYXRpb25Tb2x1dGlvblRpbWUKICAgICk7CgogICAgI2EgcmVzdWx0IGNvdWxkIGJlCgogICAgQFJlc3VsdCA9ICgKICAgICAgICB7CiAgICAgICAgICAgIFF1ZXVlTmFtZSAgICAgICAgICAgICAgICAgICAgICA9PiAiSnVuayIsCiAgICAgICAgICAgIE51bWJlck9mVGlja2V0cyAgICAgICAgICAgICAgICA9PiAyLAogICAgICAgICAgICBOdW1iZXJPZlRpY2tldHNXaXRoTmV3TWVzc2FnZXMgPT4gMCwKICAgICAgICAgICAgUXVldWVJRCAgICAgICAgICAgICAgICAgICAgICAgID0+IDMsCiAgICAgICAgICAgIENvbW1lbnQgICAgICAgICAgICAgICAgICAgICAgICA9PiAiQWxsIGp1bmsgdGlja2V0cy4iCiAgICAgICAgfSwKICAgICAgICB7CiAgICAgICAgICAgIFF1ZXVlTmFtZSAgICAgICAgICAgICAgICAgICAgICA9PiAiTWlzYyIsCiAgICAgICAgICAgIE51bWJlck9mVGlja2V0cyAgICAgICAgICAgICAgICA9PiAxLAogICAgICAgICAgICBOdW1iZXJPZlRpY2tldHNXaXRoTmV3TWVzc2FnZXMgPT4gMCwKICAgICAgICAgICAgUXVldWVJRCAgICAgICAgICAgICAgICAgICAgICAgID0+IDQsCiAgICAgICAgICAgIENvbW1lbnQgICAgICAgICAgICAgICAgICAgICAgICA9PiAiQWxsIG1pc2MgdGlja2V0cy4iCiAgICAgICAgfSwKICAgICk7CgogICAgbXkgQFJlc3VsdCA9ICRpUGhvbmVPYmplY3QtPlF1ZXVlVmlldygKICAgICAgICBVc2VySUQgICA9PiAxLAogICAgICAgIFF1ZXVlSUQgID0+IDQsCgogICAgICAgICNMaW1pdCAob3B0aW9uYWwpIHNldCB0byAxMDAgYnkgZGVmYXVsdCwgaWYgbm90IHNwY2lmaWVkCiAgICAgICAgTGltaXQgICAgPT4gNTAsCgogICAgICAgICMgT3JkZXJCeSBhbmQgU29ydEJ5IChvcHRpb25hbCkKICAgICAgICBPcmRlckJ5ICA9PiAnRG93bicsICAjIERvd258VXAKICAgICAgICBTb3J0QnkgICA9PiAnQWdlJywgICAjIE93bmVyfFJlc3BvbnNpYmxlfEN1c3RvbWVySUR8U3RhdGV8VGlja2V0TnVtYmVyfFF1ZXVlfFByaW9yaXR5fEFnZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBUeXBlfExvY2t8VGl0bGV8U2VydmljZXxTTEF8UGVuZGluZ1RpbWV8RXNjYWxhdGlvblRpbWUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgRXNjYWxhdGlvblVwZGF0ZVRpbWV8RXNjYWxhdGlvblJlc3BvbnNlVGltZXxFc2NhbGF0aW9uU29sdXRpb25UaW1lCiAgICApOwoKICAgICNhIHJlc3VsdCBjb3VsZCBiZQoKICAgIEBSZXN1bHQgPSAoCiAgICAgICAgewogICAgICAgICAgICBBZ2UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9PiAxNTk2LAogICAgICAgICAgICBBcnRpY2xlSUQgICAgICAgICAgICAgICAgICAgICAgICA9PiA5MjMsCiAgICAgICAgICAgIEFydGljbGVUeXBlICAgICAgICAgICAgICAgICAgICAgID0+ICJwaG9uZSIsCiAgICAgICAgICAgIEJvZHkgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0+ICJUaGlzIGlzIGFuIG9wZW4gdGlja2V0IiwKICAgICAgICAgICAgQ2hhcnNldCAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gInV0Zi04IiwKICAgICAgICAgICAgQ29udGVudENoYXJzZXQgICAgICAgICAgICAgICAgICAgPT4gInV0Zi04IiwKICAgICAgICAgICAgQ29udGVudFR5cGUgICAgICAgICAgICAgICAgICAgICAgPT4gInRleHQvcGxhaW47IiwKICAgICAgICAgICAgY2hhcnNldCAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gInV0Zi04IiwKICAgICAgICAgICAgQ3JlYXRlZCAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gIjIwMTAtMDYtMjMgMTE6NDY6MTUiLAogICAgICAgICAgICBDcmVhdGVkQnkgICAgICAgICAgICAgICAgICAgICAgICA9PiAxLAogICAgICAgICAgICBGaXJzdFJlc3BvbnNlVGltZSAgICAgICAgICAgICAgICA9PiAtMTI5NiwKICAgICAgICAgICAgRmlyc3RSZXNwb25zZVRpbWVEZXN0aW5hdGlvbkRhdGUgPT4gIjIwMTAtMDYtMjMgMTE6NTE6MTQiLAogICAgICAgICAgICBGaXJzdFJlc3BvbnNlVGltZURlc3RpbmF0aW9uVGltZSA9PiAxMjc3MzExODc0LAogICAgICAgICAgICBGaXJzdFJlc3BvbnNlVGltZUVzY2FsYXRpb24gICAgICA9PiAxLAogICAgICAgICAgICBGaXJzdFJlc3BvbnNlVGltZVdvcmtpbmdUaW1lICAgICA9PiAtMTI2MCwKICAgICAgICAgICAgRnJvbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gImN1c3RvbWVyQG90cnMub3JnIiwKICAgICAgICAgICAgSW5jb21pbmdUaW1lICAgICAgICAgICAgICAgICAgICAgPT4gMTI3NzMxMTU3NSwKICAgICAgICAgICAgTG9jayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gImxvY2siLAogICAgICAgICAgICBNaW1lVHlwZSAgICAgICAgICAgICAgICAgICAgICAgICA9PiAidGV4dC9wbGFpbiIsCiAgICAgICAgICAgIE93bmVyICAgICAgICAgICAgICAgICAgICAgICAgICAgID0+ICJBZ2VudDEiLAogICAgICAgICAgICBQcmlvcml0eSAgICAgICAgICAgICAgICAgICAgICAgICA9PiAiMyBub3JtYWwiLAogICAgICAgICAgICBQcmlvcml0eUNvbG9yICAgICAgICAgICAgICAgICAgICA9PiAiI2NkY2RjZCIsCiAgICAgICAgICAgIFF1ZXVlICAgICAgICAgICAgICAgICAgICAgICAgICAgID0+ICJNaXNjIiwKICAgICAgICAgICAgUmVzcG9uc2libGUgICAgICAgICAgICAgICAgICAgICAgPT4gIkFnZW50MSIsCiAgICAgICAgICAgIFNlbmRlclR5cGUgICAgICAgICAgICAgICAgICAgICAgID0+ICJjdXN0b21lciIsCiAgICAgICAgICAgIFNvbHV0aW9uVGltZSAgICAgICAgICAgICAgICAgICAgID0+IC0xMjk2LAogICAgICAgICAgICBTb2x1dGlvblRpbWVEZXN0aW5hdGlvbkRhdGUgICAgICA9PiAiMjAxMC0wNi0yMyAxMTo1MToxNCIsCiAgICAgICAgICAgIFNvbHV0aW9uVGltZURlc3RpbmF0aW9uVGltZSAgICAgID0+IDEyNzczMTE4NzQsCiAgICAgICAgICAgIFNvbHV0aW9uVGltZUVzY2FsYXRpb24gICAgICAgICAgID0+IDEsCiAgICAgICAgICAgIFNvbHV0aW9uVGltZVdvcmtpbmdUaW1lICAgICAgICAgID0+IC0xMjYwLAogICAgICAgICAgICBTdGF0ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICA9PiAib3BlbiIsCiAgICAgICAgICAgIFN1YmplY3QgICAgICAgICAgICAgICAgICAgICAgICAgID0+ICJPcGVuIFRpY2tldCBUZXN0IiwKICAgICAgICAgICAgVGlja2V0SUQgICAgICAgICAgICAgICAgICAgICAgICAgPT4gMTc2LAogICAgICAgICAgICBUaWNrZXROdW1iZXIgICAgICAgICAgICAgICAgICAgICA9PiAyMDEwMDYyMzEwMDAwMDE1LAogICAgICAgICAgICBUaXRsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICA9PiAiT3BlbiBUaWNrZXQgVGVzdCIsCiAgICAgICAgICAgIFRvICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0+ICJKdW5rIiwKICAgICAgICAgICAgVHlwZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gIkluY2lkZW50IiwKICAgICAgICAgICAgVW50aWxUaW1lICAgICAgICAgICAgICAgICAgICAgICAgPT4gMCwKICAgICAgICAgICAgVXBkYXRlVGltZSAgICAgICAgICAgICAgICAgICAgICAgPT4gLTEyOTUsCiAgICAgICAgICAgIFVwZGF0ZVRpbWVEZXN0aW5hdGlvbkRhdGUgICAgICAgID0+ICIyMDEwLTA2LTIzIDExOjUxOjE1IiwKICAgICAgICAgICAgVXBkYXRlVGltZURlc3RpbmF0aW9uVGltZSAgICAgICAgPT4gMTI3NzMxMTg3NSwKICAgICAgICAgICAgVXBkYXRlVGltZUVzY2FsYXRpb24gICAgICAgICAgICAgPT4gMSwKICAgICAgICAgICAgVXBkYXRlVGltZVdvcmtpbmdUaW1lICAgICAgICAgICAgPT4gLTEyNjAsCiAgICAgICAgICAgIFNlZW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgID0+IDEsICMgb25seSBvbiBvdHJzIDMueCBmcmFtZXdvcmsKICAgICAgICB9LAogICAgKTsKCj1jdXQKCnN1YiBRdWV1ZVZpZXcgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICBteSBAVmlld2FibGVMb2NrSURzID0gJFNlbGYtPntMb2NrT2JqZWN0fS0+TG9ja1ZpZXdhYmxlTG9jayggVHlwZSA9PiAnSUQnICk7CgogICAgbXkgQFZpZXdhYmxlU3RhdGVJRHMgPSAkU2VsZi0+e1N0YXRlT2JqZWN0fS0+U3RhdGVHZXRTdGF0ZXNCeVR5cGUoCiAgICAgICAgVHlwZSAgID0+ICdWaWV3YWJsZScsCiAgICAgICAgUmVzdWx0ID0+ICdJRCcsCiAgICApOwoKICAgICMgZG8gc2hvd24gdGlja2V0cyBsb29rdXAKICAgIG15ICRMaW1pdCA9ICRQYXJhbXtMaW1pdH0gfHwgMTAwOwogICAgaWYgKCAkUGFyYW17UXVldWVJRH0gKSB7CiAgICAgICAgbXkgQFZpZXdhYmxlVGlja2V0cyA9ICRTZWxmLT57VGlja2V0T2JqZWN0fS0+VGlja2V0U2VhcmNoKAoKICAgICAgICAgICAgT3JkZXJCeSAgICA9PiAkUGFyYW17T3JkZXJCeX0sCiAgICAgICAgICAgIFNvcnRCeSAgICAgPT4gJFBhcmFte1NvcnRCeX0sCiAgICAgICAgICAgIFN0YXRlSURzICAgPT4gXEBWaWV3YWJsZVN0YXRlSURzLAogICAgICAgICAgICBMb2NrSURzICAgID0+IFxAVmlld2FibGVMb2NrSURzLAogICAgICAgICAgICBRdWV1ZUlEcyAgID0+IFsgJFBhcmFte1F1ZXVlSUR9IF0sCiAgICAgICAgICAgIFBlcm1pc3Npb24gPT4gJ3J3JywKICAgICAgICAgICAgVXNlcklEICAgICA9PiAkUGFyYW17VXNlcklEfSwKICAgICAgICAgICAgTGltaXQgICAgICA9PiAkTGltaXQsCiAgICAgICAgICAgIFJlc3VsdCAgICAgPT4gJ0FSUkFZJywKICAgICAgICApOwogICAgICAgIG15IEBMaXN0OwogICAgICAgIGZvciBteSAkVGlja2V0SUQgKEBWaWV3YWJsZVRpY2tldHMpIHsKICAgICAgICAgICAgbmV4dCBpZiAhJFRpY2tldElEOwogICAgICAgICAgICBteSAlQXJ0aWNsZSA9ICRTZWxmLT5UaWNrZXRMaXN0KAogICAgICAgICAgICAgICAgVGlja2V0SUQgPT4gJFRpY2tldElELAogICAgICAgICAgICAgICAgVXNlcklEICAgPT4gJFBhcmFte1VzZXJJRH0KICAgICAgICAgICAgKTsKICAgICAgICAgICAgbmV4dCBpZiAhJUFydGljbGU7CiAgICAgICAgICAgIHB1c2ggQExpc3QsIFwlQXJ0aWNsZTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIEBMaXN0OwogICAgfQoKICAgIG15ICVBbGxRdWV1ZXMgPSAkU2VsZi0+e1F1ZXVlT2JqZWN0fS0+UXVldWVMaXN0KCBWYWxpZCA9PiAwICk7CgogICAgbXkgQFF1ZXVlczsKICAgIG15ICVRdWV1ZVN1bTsKICAgIGZvciBteSAkUXVldWVJRCAoIHNvcnQga2V5cyAlQWxsUXVldWVzICkgewogICAgICAgIG15ICVRdWV1ZSA9ICRTZWxmLT57UXVldWVPYmplY3R9LT5RdWV1ZUdldCgKICAgICAgICAgICAgSUQgPT4gJFF1ZXVlSUQsCiAgICAgICAgKTsKCiAgICAgICAgbXkgJENvdW50ID0gJFNlbGYtPntUaWNrZXRPYmplY3R9LT5UaWNrZXRTZWFyY2goCiAgICAgICAgICAgIFN0YXRlSURzID0+IFxAVmlld2FibGVTdGF0ZUlEcywKICAgICAgICAgICAgTG9ja0lEcyAgPT4gXEBWaWV3YWJsZUxvY2tJRHMsCiAgICAgICAgICAgIFF1ZXVlSURzID0+IFskUXVldWVJRF0sCgogICAgICAgICAgICBQZXJtaXNzaW9uID0+ICdydycsCiAgICAgICAgICAgIFVzZXJJRCAgICAgPT4gJFBhcmFte1VzZXJJRH0sCiAgICAgICAgICAgIFJlc3VsdCAgICAgPT4gJ0NPVU5UJywKICAgICAgICAgICAgTGltaXQgICAgICA9PiAxMDAwLAogICAgICAgICk7CiAgICAgICAgbmV4dCBpZiAhJENvdW50OwoKICAgICAgICBteSAkQ291bnROZXcgPSAkU2VsZi0+e1RpY2tldE9iamVjdH0tPlRpY2tldFNlYXJjaCgKICAgICAgICAgICAgU3RhdGVJRHMgPT4gXEBWaWV3YWJsZVN0YXRlSURzLAogICAgICAgICAgICBMb2NrSURzICA9PiBcQFZpZXdhYmxlTG9ja0lEcywKICAgICAgICAgICAgUXVldWVJRHMgPT4gWyRRdWV1ZUlEXSwKCiAgICAgICAgICAgIFRpY2tldEZsYWcgPT4gewogICAgICAgICAgICAgICAgU2VlbiA9PiAxLAogICAgICAgICAgICB9LAogICAgICAgICAgICBUaWNrZXRGbGFnVXNlcklEID0+ICRQYXJhbXtVc2VySUR9LAogICAgICAgICAgICBQZXJtaXNzaW9uICAgICAgID0+ICdydycsCiAgICAgICAgICAgIFVzZXJJRCAgICAgICAgICAgPT4gJFBhcmFte1VzZXJJRH0sCiAgICAgICAgICAgIFJlc3VsdCAgICAgICAgICAgPT4gJ0NPVU5UJywKICAgICAgICAgICAgTGltaXQgICAgICAgICAgICA9PiAxMDAwLAogICAgICAgICk7CiAgICAgICAgJENvdW50TmV3ID0gJENvdW50IC0gJENvdW50TmV3OwoKICAgICAgICBwdXNoIEBRdWV1ZXMsIHsKICAgICAgICAgICAgUXVldWVJRCAgID0+ICRRdWV1ZUlELAogICAgICAgICAgICBRdWV1ZU5hbWUgPT4gJFF1ZXVle05hbWV9LAogICAgICAgICAgICBDb21tZW50ICAgPT4gJFF1ZXVle0NvbW1lbnR9LAoKICAgICAgICAgICAgTnVtYmVyT2ZUaWNrZXRzICAgICAgICAgICAgICAgID0+ICRDb3VudCwKICAgICAgICAgICAgTnVtYmVyT2ZUaWNrZXRzV2l0aE5ld01lc3NhZ2VzID0+ICRDb3VudE5ldywKICAgICAgICB9OwogICAgfQoKICAgIHJldHVybiBAUXVldWVzOwp9Cgo9aXRlbSBUaWNrZXRMaXN0KCkKCkdldCB0aGUgbGFzdCBjdXN0b21lciBhcnRpY2xlIGluZm9ybWF0aW9uIG9mIGEgdGlja2V0CgogICAgbXkgQFJlc3VsdCA9ICRpUGhvbmVPYmplY3QtPlRpY2tldExpc3QoCiAgICAgICAgVXNlcklEICAgPT4gMSwKICAgICAgICBUaWNrZXRJRCAgPT4gMTc2LAogICAgKTsKCiAgICAjYSByZXN1bHQgY291bGQgYmUKCiAgICBAUmVzdWx0ID0gKAogICAgICAgIHsKICAgICAgICAgICAgQWdlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gMTU5NiwKICAgICAgICAgICAgQXJ0aWNsZUlEICAgICAgICAgICAgICAgICAgICAgICAgPT4gOTIzLAogICAgICAgICAgICBBcnRpY2xlVHlwZSAgICAgICAgICAgICAgICAgICAgICA9PiAicGhvbmUiLAogICAgICAgICAgICBCb2R5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9PiAiVGhpcyBpcyBhbiBvcGVuIHRpY2tldCIsCiAgICAgICAgICAgIENoYXJzZXQgICAgICAgICAgICAgICAgICAgICAgICAgID0+ICJ1dGYtOCIsCiAgICAgICAgICAgIENvbnRlbnRDaGFyc2V0ICAgICAgICAgICAgICAgICAgID0+ICJ1dGYtOCIsCiAgICAgICAgICAgIENvbnRlbnRUeXBlICAgICAgICAgICAgICAgICAgICAgID0+ICJ0ZXh0L3BsYWluOyIsCiAgICAgICAgICAgIGNoYXJzZXQgICAgICAgICAgICAgICAgICAgICAgICAgID0+ICJ1dGYtOCIsCiAgICAgICAgICAgIENyZWF0ZWQgICAgICAgICAgICAgICAgICAgICAgICAgID0+ICIyMDEwLTA2LTIzIDExOjQ2OjE1IiwKICAgICAgICAgICAgQ3JlYXRlZEJ5ICAgICAgICAgICAgICAgICAgICAgICAgPT4gMSwKICAgICAgICAgICAgRmlyc3RSZXNwb25zZVRpbWUgICAgICAgICAgICAgICAgPT4gLTEyOTYsCiAgICAgICAgICAgIEZpcnN0UmVzcG9uc2VUaW1lRGVzdGluYXRpb25EYXRlID0+ICIyMDEwLTA2LTIzIDExOjUxOjE0IiwKICAgICAgICAgICAgRmlyc3RSZXNwb25zZVRpbWVEZXN0aW5hdGlvblRpbWUgPT4gMTI3NzMxMTg3NCwKICAgICAgICAgICAgRmlyc3RSZXNwb25zZVRpbWVFc2NhbGF0aW9uICAgICAgPT4gMSwKICAgICAgICAgICAgRmlyc3RSZXNwb25zZVRpbWVXb3JraW5nVGltZSAgICAgPT4gLTEyNjAsCiAgICAgICAgICAgIEZyb20gICAgICAgICAgICAgICAgICAgICAgICAgICAgID0+ICJjdXN0b21lckBvdHJzLm9yZyIsCiAgICAgICAgICAgIEluY29taW5nVGltZSAgICAgICAgICAgICAgICAgICAgID0+IDEyNzczMTE1NzUsCiAgICAgICAgICAgIExvY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0+ICJsb2NrIiwKICAgICAgICAgICAgTWltZVR5cGUgICAgICAgICAgICAgICAgICAgICAgICAgPT4gInRleHQvcGxhaW4iLAogICAgICAgICAgICBPd25lciAgICAgICAgICAgICAgICAgICAgICAgICAgICA9PiAiQWdlbnQxIiwKICAgICAgICAgICAgUHJpb3JpdHkgICAgICAgICAgICAgICAgICAgICAgICAgPT4gIjMgbm9ybWFsIiwKICAgICAgICAgICAgUHJpb3JpdHlDb2xvciAgICAgICAgICAgICAgICAgICAgPT4gIiNjZGNkY2QiLAogICAgICAgICAgICBRdWV1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICA9PiAiTWlzYyIsCiAgICAgICAgICAgIFJlc3BvbnNpYmxlICAgICAgICAgICAgICAgICAgICAgID0+ICJBZ2VudDEiLAogICAgICAgICAgICBTZW5kZXJUeXBlICAgICAgICAgICAgICAgICAgICAgICA9PiAiY3VzdG9tZXIiLAogICAgICAgICAgICBTb2x1dGlvblRpbWUgICAgICAgICAgICAgICAgICAgICA9PiAtMTI5NiwKICAgICAgICAgICAgU29sdXRpb25UaW1lRGVzdGluYXRpb25EYXRlICAgICAgPT4gIjIwMTAtMDYtMjMgMTE6NTE6MTQiLAogICAgICAgICAgICBTb2x1dGlvblRpbWVEZXN0aW5hdGlvblRpbWUgICAgICA9PiAxMjc3MzExODc0LAogICAgICAgICAgICBTb2x1dGlvblRpbWVFc2NhbGF0aW9uICAgICAgICAgICA9PiAxLAogICAgICAgICAgICBTb2x1dGlvblRpbWVXb3JraW5nVGltZSAgICAgICAgICA9PiAtMTI2MCwKICAgICAgICAgICAgU3RhdGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gIm9wZW4iLAogICAgICAgICAgICBTdWJqZWN0ICAgICAgICAgICAgICAgICAgICAgICAgICA9PiAiT3BlbiBUaWNrZXQgVGVzdCIsCiAgICAgICAgICAgIFRpY2tldElEICAgICAgICAgICAgICAgICAgICAgICAgID0+IDE3NiwKICAgICAgICAgICAgVGlja2V0TnVtYmVyICAgICAgICAgICAgICAgICAgICAgPT4gMjAxMDA2MjMxMDAwMDAxNSwKICAgICAgICAgICAgVGl0bGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gIk9wZW4gVGlja2V0IFRlc3QiLAogICAgICAgICAgICBUbyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9PiAiSnVuayIsCiAgICAgICAgICAgIFR5cGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0+ICJJbmNpZGVudCIsCiAgICAgICAgICAgIFVudGlsVGltZSAgICAgICAgICAgICAgICAgICAgICAgID0+IDAsCiAgICAgICAgICAgIFVwZGF0ZVRpbWUgICAgICAgICAgICAgICAgICAgICAgID0+IC0xMjk1LAogICAgICAgICAgICBVcGRhdGVUaW1lRGVzdGluYXRpb25EYXRlICAgICAgICA9PiAiMjAxMC0wNi0yMyAxMTo1MToxNSIsCiAgICAgICAgICAgIFVwZGF0ZVRpbWVEZXN0aW5hdGlvblRpbWUgICAgICAgID0+IDEyNzczMTE4NzUsCiAgICAgICAgICAgIFVwZGF0ZVRpbWVFc2NhbGF0aW9uICAgICAgICAgICAgID0+IDEsCiAgICAgICAgICAgIFVwZGF0ZVRpbWVXb3JraW5nVGltZSAgICAgICAgICAgID0+IC0xMjYwLAogICAgICAgICAgICBTZWVuICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9PiAxLCAjIG9ubHkgb24gb3RycyAzLnggZnJhbWV3b3JrCiAgICAgICAgfSwKICAgICk7Cgo9Y3V0CgpzdWIgVGlja2V0TGlzdCB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgIG15ICVDb2xvciA9ICgKICAgICAgICAxID0+ICcjY2RjZGNkJywKICAgICAgICAyID0+ICcjY2RjZGNkJywKICAgICAgICAzID0+ICcjY2RjZGNkJywKICAgICAgICA0ID0+ICcjZmZhYWFhJywKICAgICAgICA1ID0+ICcjZmY1MDVlJywKICAgICk7CgogICAgbXkgJUFydGljbGUgPSAkU2VsZi0+e1RpY2tldE9iamVjdH0tPkFydGljbGVMYXN0Q3VzdG9tZXJBcnRpY2xlKAogICAgICAgIFRpY2tldElEID0+ICRQYXJhbXtUaWNrZXRJRH0sCiAgICApOwogICAgaWYgKCVBcnRpY2xlKSB7CiAgICAgICAgJEFydGljbGV7UHJpb3JpdHlDb2xvcn0gPSAkQ29sb3J7ICRBcnRpY2xle1ByaW9yaXR5SUR9IH07CgogICAgICAgIG15ICVUaWNrZXRGbGFnID0gJFNlbGYtPntUaWNrZXRPYmplY3R9LT5UaWNrZXRGbGFnR2V0KAogICAgICAgICAgICBUaWNrZXRJRCA9PiAkUGFyYW17VGlja2V0SUR9LAogICAgICAgICAgICBVc2VySUQgICA9PiAkUGFyYW17VXNlcklEfSwKICAgICAgICApOwogICAgICAgIGlmICggJFRpY2tldEZsYWd7c2Vlbn0gfHwgJFRpY2tldEZsYWd7U2Vlbn0gKSB7CiAgICAgICAgICAgICRBcnRpY2xle1NlZW59ID0gMTsKICAgICAgICB9CgogICAgICAgICMgc3RyaXAgb3V0IGFsbCBkYXRhCiAgICAgICAgbXkgQERlbGV0ZSA9IHF3KAogICAgICAgICAgICBSZXBseVRvIE1lc3NhZ2VJRCBJblJlcGx5VG8gUmVmZXJlbmNlcyBBZ2VUaW1lVW5peCBDcmVhdGVUaW1lVW5peCBTZW5kZXJUeXBlSUQKICAgICAgICAgICAgSW5jb21pbmdUaW1lIFJlYWxUaWxsVGltZU5vdFVzZWQgU2VydmljZUlEIFNMQUlEIFN0YXRlVHlwZSBBcmNoaXZlRmxhZyBVbmxvY2tUaW1lb3V0CiAgICAgICAgICAgIENoYW5nZWQKICAgICAgICAgICAgKQogICAgICAgICAgICA7CgogICAgICAgIGZvciBteSAkS2V5IChARGVsZXRlKSB7CiAgICAgICAgICAgIGRlbGV0ZSAkQXJ0aWNsZXskS2V5fTsKICAgICAgICB9CgogICAgICAgIGZvciBteSAkS2V5ICggc29ydCBrZXlzICVBcnRpY2xlICkgewogICAgICAgICAgICBpZiAoICFkZWZpbmVkICRBcnRpY2xleyRLZXl9IHx8ICRBcnRpY2xleyRLZXl9IGVxICcnICkgewogICAgICAgICAgICAgICAgZGVsZXRlICRBcnRpY2xleyRLZXl9OwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmICggJEtleSA9fiAvXkVzY2FsYS8gKSB7CiAgICAgICAgICAgICAgICBkZWxldGUgJEFydGljbGV7JEtleX07CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHJldHVybiAlQXJ0aWNsZTsKICAgIH0KCiAgICAjIHJldHVybiBvbmx5IHRpY2tldCBpbmZvcm1hdGlvbiBpZiB0aWNrZXQgaGFzIG5vIGFydGljbGVzCiAgICBteSAlVGlja2V0RGF0YSA9ICRTZWxmLT5UaWNrZXRHZXQoCiAgICAgICAgVGlja2V0SUQgPT4gJFBhcmFte1RpY2tldElEfSwKICAgICAgICBVc2VySUQgICA9PiAkUGFyYW17VXNlcklEfQogICAgKTsKICAgIHJldHVybiAlVGlja2V0RGF0YTsKfQoKPWl0ZW0gVGlja2V0R2V0KCkKR2V0IGluZm9ybWF0aW9uIG9mIGEgdGlja2V0CgogICAgbXkgQFJlc3VsdCA9ICRpUGhvbmVPYmplY3QtPlRpY2tldEdldCgKICAgICAgICBUaWNrZXRJRCAgPT4gMjI0LAogICAgICAgIFVzZXJJRCAgICA9PiAxLAogICAgKTsKCiAgICAjYSByZXN1bHQgY291bGQgYmUKCiAgICBAUmVzdWx0ID0gKAogICAgICAgIEFjY291bnRlZFRpbWUgICA9PiAiNTQwNCIsCiAgICAgICAgQWdlICAgICAgICAgICAgID0+ICI2ODE5NDYiLAogICAgICAgIEN1c3RvbWVySUQgICAgICA9PiAic3ciLAogICAgICAgIEN1c3RvbWVyVXNlcklEICA9PiAiRGF2aWQiLAogICAgICAgIENyZWF0ZWQgICAgICAgICA9PiAiMjAxMC0wNy0wNiAxNDowNTo1NCIsCiAgICAgICAgR3JvdXBJRCAgICAgICAgID0+IDEsCiAgICAgICAgVGlja2V0SUQgICAgICAgID0+IDIyNCwKICAgICAgICBMb2NrSUQgICAgICAgICAgPT4gMiwKICAgICAgICBMb2NrICAgICAgICAgICAgPT4gImxvY2siCiAgICAgICAgT3duZXJJRCAgICAgICAgID0+IDExMzQsCiAgICAgICAgT3duZXIgICAgICAgICAgID0+ICJBYXlsYSIsCiAgICAgICAgUHJpb3JpdHlDb2xvciAgID0+ICIjY2RjZGNkIiwKICAgICAgICBQcmlvcml0eUlEICAgICAgPT4gMSwKICAgICAgICBQcmlvcml0eSAgICAgICAgPT4gIjEgdmVyeSBsb3ciLAogICAgICAgIFF1ZXVlICAgICAgICAgICA9PiAiUmF3IiwKICAgICAgICBRdWV1ZUlEICAgICAgICAgPT4gMiwKICAgICAgICBSZXNwb25zaWJsZUlEICAgPT4gMTEzNCwKICAgICAgICBSZXNwb25zaWJsZSAgICAgPT4gIkFheWxhIiwKICAgICAgICBTZWVuICAgICAgICAgICAgPT4gMSwgIyBvbmx5IG9uIG90cnMgMy54IGZyYW1ld29yawogICAgICAgIFN0YXRlSUQgICAgICAgICA9PiAgNCwKICAgICAgICBTdGF0ZSAgICAgICAgICAgPT4gIm9wZW4iLAogICAgICAgIFRpY2tldE51bWJlciAgICA9PiAiMjAxMDA3MDYxMDAwMDIxNSIsCiAgICAgICAgVGl0bGUgICAgICAgICAgID0+ICJpUGhvbmUgVGVzdCIsCiAgICAgICAgVHlwZUlEICAgICAgICAgID0+IDEsCiAgICAgICAgVHlwZSAgICAgICAgICAgID0+ICJkZWZhdWx0IiwKICAgICAgICBVbnRpbFRpbWUgICAgICAgPT4gIjAiLAogICAgKTsKCj1jdXQKCnN1YiBUaWNrZXRHZXQgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICAjIHBlcm1pc3Npb24gY2hlY2sKICAgIG15ICRBY2Nlc3MgPSAkU2VsZi0+e1RpY2tldE9iamVjdH0tPlRpY2tldFBlcm1pc3Npb24oCiAgICAgICAgVHlwZSAgICAgPT4gJ3JvJywKICAgICAgICBUaWNrZXRJRCA9PiAkUGFyYW17VGlja2V0SUR9LAogICAgICAgIFVzZXJJRCAgID0+ICRQYXJhbXtVc2VySUR9CiAgICApOwogICAgaWYgKCAhJEFjY2VzcyApIHsKICAgICAgICAkU2VsZi0+e0xvZ09iamVjdH0tPkxvZygKICAgICAgICAgICAgUHJpb3JpdHkgPT4gJ2Vycm9yJywKICAgICAgICAgICAgTWVzc2FnZSAgPT4gIllvdSBuZWVkIHJvIHBlcm1pc3Npb25zISIsCiAgICAgICAgKTsKICAgICAgICByZXR1cm47CiAgICB9CgogICAgbXkgJUNvbG9yID0gKAogICAgICAgIDEgPT4gJyNjZGNkY2QnLAogICAgICAgIDIgPT4gJyNjZGNkY2QnLAogICAgICAgIDMgPT4gJyNjZGNkY2QnLAogICAgICAgIDQgPT4gJyNmZmFhYWEnLAogICAgICAgIDUgPT4gJyNmZjUwNWUnLAogICAgKTsKCiAgICBteSAlVGlja2V0ID0gJFNlbGYtPntUaWNrZXRPYmplY3R9LT5UaWNrZXRHZXQoJVBhcmFtKTsKCiAgICAkVGlja2V0e1ByaW9yaXR5Q29sb3J9ID0gJENvbG9yeyAkVGlja2V0e1ByaW9yaXR5SUR9IH07CgogICAgbXkgJVRpY2tldEZsYWcgPSAkU2VsZi0+e1RpY2tldE9iamVjdH0tPlRpY2tldEZsYWdHZXQoCiAgICAgICAgVGlja2V0SUQgPT4gJFBhcmFte1RpY2tldElEfSwKICAgICAgICBVc2VySUQgICA9PiAkUGFyYW17VXNlcklEfSwKICAgICk7CiAgICBpZiAoICRUaWNrZXRGbGFne3NlZW59IHx8ICRUaWNrZXRGbGFne1NlZW59ICkgewogICAgICAgICRUaWNrZXR7U2Vlbn0gPSAxOwogICAgfQogICAgZWxzZSB7CgogICAgICAgICMgY2hlY2sgaWYgdGlja2V0IG5lZWQgdG8gYmUgbWFya2VkIGFzIHNlZW4KICAgICAgICBteSAkQXJ0aWNsZUFsbFNlZW4gPSAxOwogICAgICAgIG15IEBJbmRleCA9ICRTZWxmLT57VGlja2V0T2JqZWN0fS0+QXJ0aWNsZUluZGV4KCBUaWNrZXRJRCA9PiAkVGlja2V0e1RpY2tldElEfSApOwogICAgICAgIGlmICggSXNBcnJheVJlZldpdGhEYXRhKCBcQEluZGV4ICkgKSB7CiAgICAgICAgICAgIGZvciBteSAkQXJ0aWNsZUlEIChASW5kZXgpIHsKICAgICAgICAgICAgICAgIG15ICVBcnRpY2xlRmxhZyA9ICRTZWxmLT57VGlja2V0T2JqZWN0fS0+QXJ0aWNsZUZsYWdHZXQoCiAgICAgICAgICAgICAgICAgICAgQXJ0aWNsZUlEID0+ICRBcnRpY2xlSUQsCiAgICAgICAgICAgICAgICAgICAgVXNlcklEICAgID0+ICRQYXJhbXtVc2VySUR9LAogICAgICAgICAgICAgICAgKTsKCiAgICAgICAgICAgICAgICAjIGxhc3QgaWYgYXJ0aWNsZSB3YXMgbm90IHNob3duCiAgICAgICAgICAgICAgICBpZiAoICEkQXJ0aWNsZUZsYWd7U2Vlbn0gJiYgISRBcnRpY2xlRmxhZ3tzZWVufSApIHsKICAgICAgICAgICAgICAgICAgICAkQXJ0aWNsZUFsbFNlZW4gPSAwOwogICAgICAgICAgICAgICAgICAgIGxhc3Q7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgICMgbWFyayB0aWNrZXQgYXMgc2VlbiBpZiBhbGwgYXJ0aWNsZSBhcmUgc2hvd24KICAgICAgICAgICAgaWYgKCRBcnRpY2xlQWxsU2VlbikgewogICAgICAgICAgICAgICAgJFNlbGYtPntUaWNrZXRPYmplY3R9LT5UaWNrZXRGbGFnU2V0KAogICAgICAgICAgICAgICAgICAgIFRpY2tldElEID0+ICRUaWNrZXR7VGlja2V0SUR9LAogICAgICAgICAgICAgICAgICAgIEtleSAgICAgID0+ICdTZWVuJywKICAgICAgICAgICAgICAgICAgICBWYWx1ZSAgICA9PiAxLAogICAgICAgICAgICAgICAgICAgIFVzZXJJRCAgID0+ICRQYXJhbXtVc2VySUR9LAogICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICAjIGFkZCBhY2NvdW50ZWQgdGltZQogICAgbXkgJEFjY291bnRlZFRpbWUgPSAkU2VsZi0+e1RpY2tldE9iamVjdH0tPlRpY2tldEFjY291bnRlZFRpbWVHZXQoJVBhcmFtKTsKICAgIGlmICggZGVmaW5lZCAkQWNjb3VudGVkVGltZSApIHsKICAgICAgICAkVGlja2V0e0FjY291bnRlZFRpbWV9ID0gJEFjY291bnRlZFRpbWU7CiAgICB9CgogICAgIyBzdHJpcCBvdXQgYWxsIGRhdGEKICAgIG15IEBEZWxldGUgPSBxdygKICAgICAgICBSZXBseVRvIE1lc3NhZ2VJRCBJblJlcGx5VG8gUmVmZXJlbmNlcyBBZ2VUaW1lVW5peCBDcmVhdGVUaW1lVW5peCBTZW5kZXJUeXBlSUQKICAgICAgICBJbmNvbWluZ1RpbWUgUmVhbFRpbGxUaW1lTm90VXNlZCBTZXJ2aWNlSUQgU0xBSUQgU3RhdGVUeXBlIEFyY2hpdmVGbGFnIFVubG9ja1RpbWVvdXQKICAgICAgICBDaGFuZ2VkCiAgICAgICAgKQogICAgICAgIDsKCiAgICBmb3IgbXkgJEtleSAoQERlbGV0ZSkgewogICAgICAgIGRlbGV0ZSAkVGlja2V0eyRLZXl9OwogICAgfQogICAgZm9yIG15ICRLZXkgKCBzb3J0IGtleXMgJVRpY2tldCApIHsKICAgICAgICBpZiAoICFkZWZpbmVkICRUaWNrZXR7JEtleX0gfHwgJFRpY2tldHskS2V5fSBlcSAnJyApIHsKICAgICAgICAgICAgZGVsZXRlICRUaWNrZXR7JEtleX07CiAgICAgICAgfQogICAgICAgIGlmICggJEtleSA9fiAvXkVzY2FsYS8gKSB7CiAgICAgICAgICAgIGRlbGV0ZSAkVGlja2V0eyRLZXl9OwogICAgICAgIH0KICAgIH0KICAgIHJldHVybiAlVGlja2V0Owp9Cgo9aXRlbSBBcnRpY2xlR2V0KCkKCkdldCBpbmZvcm1hdGlvbiBmcm9tIGFuIGFydGljbGUKCiAgICBteSAlUmVzdWx0ID0gJGlQaG9uZU9iamVjdC0+QXJ0aWNsZUdldCgpCiAgICAgICAgQXJ0aWNsZUlEICA9PiAxMDU0LAogICAgICAgIFVzZXJJRCAgICAgPT4gMSwKICAgICk7CgogICAgI2EgcmVzdWx0IGNvdWxkIGJlCgogICAgJVJlc3V0bCA9ICgKICAgICAgICBBZ2UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9PiAxNjYyMDIsCiAgICAgICAgQWNjb3VudGVkVGltZSAgICAgICAgICAgICAgICAgICAgPT4gMTIzLAogICAgICAgIEFydGljbGVJRCAgICAgICAgICAgICAgICAgICAgICAgID0+IDEwNTQsCiAgICAgICAgQXJ0aWNsZVR5cGVJRCAgICAgICAgICAgICAgICAgICAgPT4gNSwKICAgICAgICBBcnRpY2xlVHlwZSAgICAgICAgICAgICAgICAgICAgICA9PiAicGhvbmUiLAogICAgICAgIEJvZHkgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0+ICJpUGhvbmUgdGlja2V0IFRlc3QiLAogICAgICAgIENoYXJzZXQgICAgICAgICAgICAgICAgICAgICAgICAgID0+ICJ1dGYtOCIsCiAgICAgICAgQ29udGVudENoYXJzZXQgICAgICAgICAgICAgICAgICAgPT4gInV0Zi04IiwKICAgICAgICBDb250ZW50VHlwZSAgICAgICAgICAgICAgICAgICAgICA9PiAidGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOCIsCiAgICAgICAgQ3JlYXRlZCAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gIjIwMTAtMDctMTIgMTQ6MTM6MDYiLAogICAgICAgIENyZWF0ZWRCeSAgICAgICAgICAgICAgICAgICAgICAgID0+IDExMzQsCiAgICAgICAgQ3VzdG9tZXJJRCAgICAgICAgICAgICAgICAgICAgICAgPT4gInN3IiwKICAgICAgICBDdXN0b21lclVzZXJJRCAgICAgICAgICAgICAgICAgICA9PiAiRGF2aWQiLAogICAgICAgIEZpcnN0UmVzcG9uc2VUaW1lRGVzdGluYXRpb25EYXRlID0+ICIyMDEwLTA3LTEyIDE0OjE4OjA2IiwKICAgICAgICBGaXJzdFJlc3BvbnNlVGltZURlc3RpbmF0aW9uVGltZSA9PiAiMTI3ODk2MjI4NiIsCiAgICAgICAgRmlyc3RSZXNwb25zZVRpbWVFc2NhbGF0aW9uICAgICAgPT4gMSwKICAgICAgICBGaXJzdFJlc3BvbnNlVGltZVdvcmtpbmdUaW1lICAgICA9PiAtODY3MDAsCiAgICAgICAgRmlyc3RSZXNwb25zZVRpbWUgICAgICAgICAgICAgICAgPT4gLTE2NTkwMiwKICAgICAgICBGcm9tICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9PiAiXCJEYXZpZCBQcm93c2VcIiA8cGRAc3cuY29tPiIsCiAgICAgICAgTG9ja0lEICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gMiwKICAgICAgICBMb2NrICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9PiAibG9jayIsCiAgICAgICAgTWltZVR5cGUgICAgICAgICAgICAgICAgICAgICAgICAgPT4gInRleHQvcGxhaW4iLAogICAgICAgIE93bmVySUQgICAgICAgICAgICAgICAgICAgICAgICAgID0+IDExMzQsCiAgICAgICAgT3duZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gIkFheWxhIiwKICAgICAgICBQcmlvcml0eUlEICAgICAgICAgICAgICAgICAgICAgICA9PiAxLAogICAgICAgIFByaW9yaXR5ICAgICAgICAgICAgICAgICAgICAgICAgID0+ICIxIHZlcnkgbG93IiwKICAgICAgICBRdWV1ZUlEICAgICAgICAgICAgICAgICAgICAgICAgICA9PiAzLAogICAgICAgIFF1ZXVlICAgICAgICAgICAgICAgICAgICAgICAgICAgID0+ICJKdW5rIiwKICAgICAgICBSZXNwb25zaWJsZUlEICAgICAgICAgICAgICAgICAgICA9PiAxMTM0LAogICAgICAgIFJlc3BvbnNpYmxlICAgICAgICAgICAgICAgICAgICAgID0+ICJBYXlsYSIsCiAgICAgICAgU2VlbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gMSwgIyBvbmx5IG9uIG90cnMgMy54IGZyYW1ld29yawogICAgICAgIFNlbmRlclR5cGUgICAgICAgICAgICAgICAgICAgICAgID0+ICJjdXN0b21lciIsCiAgICAgICAgU29sdXRpb25UaW1lRGVzdGluYXRpb25EYXRlICAgICAgPT4gIjIwMTAtMDctMTIgMTQ6MTg6MDYiLAogICAgICAgIFNvbHV0aW9uVGltZURlc3RpbmF0aW9uVGltZSAgICAgID0+IDEyNzg5NjIyODYsCiAgICAgICAgU29sdXRpb25UaW1lV29ya2luZ1RpbWUgICAgICAgICAgPT4gLTg2NzAwLAogICAgICAgIFNvbHV0aW9uVGltZUVzY2FsYXRpb24gICAgICAgICAgID0+IDEsCiAgICAgICAgU29sdXRpb25UaW1lICAgICAgICAgICAgICAgICAgICAgPT4gLTE2NTkwMiwKICAgICAgICBTdGF0ZUlEICAgICAgICAgICAgICAgICAgICAgICAgICA9PiA0LAogICAgICAgIFN1YmplY3QgICAgICAgICAgICAgICAgICAgICAgICAgID0+ICJpUGhvbmUgVGVzdCIsCiAgICAgICAgU3RhdGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gIm9wZW4iLAogICAgICAgIFRpY2tldElEICAgICAgICAgICAgICAgICAgICAgICAgID0+IDI0NywKICAgICAgICBUaWNrZXROdW1iZXIgICAgICAgICAgICAgICAgICAgICA9PiAiMjAxMDA3MTIxMDAwMDA0MyIsCiAgICAgICAgVGl0bGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gImlQaG9uZSBUZXN0IiwKICAgICAgICBUbyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9PiAiSnVuayIsCiAgICAgICAgVHlwZUlEICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gMSwKICAgICAgICBUeXBlICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9PiAiZGVmYXVsdCIsCiAgICAgICAgVXBkYXRlVGltZURlc3RpbmF0aW9uRGF0ZSAgICAgICAgPT4gIjIwMTAtMDctMTIgMTQ6MTg6MDYiLAogICAgICAgIFVwZGF0ZVRpbWVEZXN0aW5hdGlvblRpbWUgICAgICAgID0+IDEyNzg5NjIyODYsCiAgICAgICAgVXBkYXRlVGltZUVzY2FsYXRpb24gICAgICAgICAgICAgPT4gMSwKICAgICAgICBVcGRhdGVUaW1lV29ya2luZ1RpbWUgICAgICAgICAgICA9PiAtODY3MDAsCiAgICAgICAgVXBkYXRlVGltZSAgICAgICAgICAgICAgICAgICAgICAgPT4gLTE2NTkwMiwKICAgICAgICBVbnRpbFRpbWUgICAgICAgICAgICAgICAgICAgICAgICA9PiAwLAogICAgKTsKCj1jdXQKCnN1YiBBcnRpY2xlR2V0IHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgIyBwZXJtaXNzaW9uIGNoZWNrCiAgICBteSAlQXJ0aWNsZSA9ICRTZWxmLT57VGlja2V0T2JqZWN0fS0+QXJ0aWNsZUdldCglUGFyYW0pOwogICAgbXkgJEFjY2VzcyAgPSAkU2VsZi0+e1RpY2tldE9iamVjdH0tPlRpY2tldFBlcm1pc3Npb24oCiAgICAgICAgVHlwZSAgICAgPT4gJ3JvJywKICAgICAgICBUaWNrZXRJRCA9PiAkQXJ0aWNsZXtUaWNrZXRJRH0sCiAgICAgICAgVXNlcklEICAgPT4gJFBhcmFte1VzZXJJRH0KICAgICk7CiAgICBpZiAoICEkQWNjZXNzICkgewogICAgICAgICRTZWxmLT57TG9nT2JqZWN0fS0+TG9nKAogICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICBNZXNzYWdlICA9PiAiWW91IG5lZWQgcm8gcGVybWlzc2lvbnMhIiwKICAgICAgICApOwogICAgICAgIHJldHVybjsKICAgIH0KCiAgICBpZiAoJUFydGljbGUpIHsKCiAgICAgICAgIyBjaGVjayBpZiBhcnRpY2xlIGlzIHNlZW4KICAgICAgICBteSAlQXJ0aWNsZUZsYWcgPSAkU2VsZi0+e1RpY2tldE9iamVjdH0tPkFydGljbGVGbGFnR2V0KAogICAgICAgICAgICBBcnRpY2xlSUQgPT4gJFBhcmFte0FydGljbGVJRH0sCiAgICAgICAgICAgIFVzZXJJRCAgICA9PiAkUGFyYW17VXNlcklEfSwKICAgICAgICApOwogICAgICAgIGlmICggJEFydGljbGVGbGFne3NlZW59IHx8ICRBcnRpY2xlRmxhZ3tTZWVufSApIHsKICAgICAgICAgICAgJEFydGljbGV7U2Vlbn0gPSAxOwogICAgICAgIH0KCiAgICAgICAgIyBtYXJrIHNob3duIGFydGljbGUgYXMgc2VlbgogICAgICAgICRTZWxmLT57VGlja2V0T2JqZWN0fS0+QXJ0aWNsZUZsYWdTZXQoCiAgICAgICAgICAgIEFydGljbGVJRCA9PiAkUGFyYW17QXJ0aWNsZUlEfSwKICAgICAgICAgICAgS2V5ICAgICAgID0+ICdTZWVuJywKICAgICAgICAgICAgVmFsdWUgICAgID0+IDEsCiAgICAgICAgICAgIFVzZXJJRCAgICA9PiAkUGFyYW17VXNlcklEfSwKICAgICAgICApOwoKICAgICAgICAjIGNoZWNrIGlmIHRpY2tldCBuZWVkIHRvIGJlIG1hcmtlZCBhcyBzZWVuCiAgICAgICAgbXkgJEFydGljbGVBbGxTZWVuID0gMTsKICAgICAgICBteSBASW5kZXggPSAkU2VsZi0+e1RpY2tldE9iamVjdH0tPkFydGljbGVJbmRleCggVGlja2V0SUQgPT4gJEFydGljbGV7VGlja2V0SUR9ICk7CiAgICAgICAgaWYgKCBJc0FycmF5UmVmV2l0aERhdGEoIFxASW5kZXggKSApIHsKICAgICAgICAgICAgZm9yIG15ICRBcnRpY2xlSUQgKEBJbmRleCkgewogICAgICAgICAgICAgICAgbXkgJUFydGljbGVGbGFnID0gJFNlbGYtPntUaWNrZXRPYmplY3R9LT5BcnRpY2xlRmxhZ0dldCgKICAgICAgICAgICAgICAgICAgICBBcnRpY2xlSUQgPT4gJEFydGljbGVJRCwKICAgICAgICAgICAgICAgICAgICBVc2VySUQgICAgPT4gJFBhcmFte1VzZXJJRH0sCiAgICAgICAgICAgICAgICApOwoKICAgICAgICAgICAgICAgICMgbGFzdCBpZiBhcnRpY2xlIHdhcyBub3Qgc2hvd24KICAgICAgICAgICAgICAgIGlmICggISRBcnRpY2xlRmxhZ3tTZWVufSAmJiAhJEFydGljbGVGbGFne3NlZW59ICkgewogICAgICAgICAgICAgICAgICAgICRBcnRpY2xlQWxsU2VlbiA9IDA7CiAgICAgICAgICAgICAgICAgICAgbGFzdDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgIyBtYXJrIHRpY2tldCBhcyBzZWVuIGlmIGFsbCBhcnRpY2xlIGFyZSBzaG93bgogICAgICAgICAgICBpZiAoJEFydGljbGVBbGxTZWVuKSB7CiAgICAgICAgICAgICAgICAkU2VsZi0+e1RpY2tldE9iamVjdH0tPlRpY2tldEZsYWdTZXQoCiAgICAgICAgICAgICAgICAgICAgVGlja2V0SUQgPT4gJEFydGljbGV7VGlja2V0SUR9LAogICAgICAgICAgICAgICAgICAgIEtleSAgICAgID0+ICdTZWVuJywKICAgICAgICAgICAgICAgICAgICBWYWx1ZSAgICA9PiAxLAogICAgICAgICAgICAgICAgICAgIFVzZXJJRCAgID0+ICRQYXJhbXtVc2VySUR9LAogICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgIyBhZGQgYWNjb3VudGVkIHRpbWUKICAgICAgICBteSAkQWNjb3VudGVkVGltZSA9ICRTZWxmLT57VGlja2V0T2JqZWN0fS0+QXJ0aWNsZUFjY291bnRlZFRpbWVHZXQoJVBhcmFtKTsKICAgICAgICBpZiAoIGRlZmluZWQgJEFjY291bnRlZFRpbWUgKSB7CiAgICAgICAgICAgICRBcnRpY2xle0FjY291bnRlZFRpbWV9ID0gJEFjY291bnRlZFRpbWU7CiAgICAgICAgfQoKICAgICAgICAjIHN0cmlwIG91dCBhbGwgZGF0YQogICAgICAgIG15IEBEZWxldGUgPSBxdygKICAgICAgICAgICAgUmVwbHlUbyBNZXNzYWdlSUQgSW5SZXBseVRvIFJlZmVyZW5jZXMgQWdlVGltZVVuaXggQ3JlYXRlVGltZVVuaXggU2VuZGVyVHlwZUlECiAgICAgICAgICAgIEluY29taW5nVGltZSBSZWFsVGlsbFRpbWVOb3RVc2VkIFNlcnZpY2VJRCBTTEFJRFN0YXRlVHlwZSBBcmNoaXZlRmxhZyBVbmxvY2tUaW1lb3V0CiAgICAgICAgICAgIENoYW5nZWQKICAgICAgICAgICAgKQogICAgICAgICAgICA7CgogICAgICAgIGZvciBteSAkS2V5IChARGVsZXRlKSB7CiAgICAgICAgICAgIGRlbGV0ZSAkQXJ0aWNsZXskS2V5fTsKICAgICAgICB9CgogICAgICAgIGZvciBteSAkS2V5ICggc29ydCBrZXlzICVBcnRpY2xlICkgewogICAgICAgICAgICBpZiAoICFkZWZpbmVkICRBcnRpY2xleyRLZXl9IHx8ICRBcnRpY2xleyRLZXl9IGVxICcnICkgewogICAgICAgICAgICAgICAgZGVsZXRlICRBcnRpY2xleyRLZXl9OwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmICggJEtleSA9fiAvXkVzY2FsYS8gKSB7CiAgICAgICAgICAgICAgICBkZWxldGUgJEFydGljbGV7JEtleX07CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHJldHVybiAlQXJ0aWNsZTsKICAgIH0KICAgICRTZWxmLT57TG9nT2JqZWN0fS0+TG9nKAogICAgICAgIFByaW9yaXR5ID0+ICdlcnJvcicsCiAgICAgICAgTWVzc2FnZSAgPT4gJ05vIEFydGljbGVzIGZvdW5kIGluIHRoaXMgdGlja2V0JywKICAgICk7CiAgICByZXR1cm4gLTE7Cn0KCj1pdGVtIFNlcnZpY2VzR2V0KCkKR2V0IGEgSGFzaCByZWZlcmVuY2UgdG8gYWxsIHBvc3NpYmxlIHNlcnZpY2VzIGJhc2VkIG9uIGEgVGlja2V0IG9yIFF1ZXVlIGFuZCBDdXN0b21lclVzZXIKCiAgICBteSAkUmVzdWx0ID0gJGlQaG9uZU9iamVjdC0+U2VydmljZXNHZXQoCiAgICAgICAgVXNlcklEICAgICAgICAgID0+IDEsCiAgICAgICAgUXVldWVJRCAgICAgICAgID0+IDMsICAjIHx8IFRpY2tldElEIE9wdGlvbmFsCiAgICAgICAgVGlja2V0SUQgICAgICAgID0+IDIzLCAjIHx8IFF1ZXVlSUQgT3B0aW9uYWwKICAgICAgICBDdXN0b21lclVzZXJJRCAgPT4gIkN1c3RvbWVyIiwKICAgICk7CgogICAgIyBhIHJlc3VsdCBjb3VsZCBiZQoKICAgICRSZXN1bHQgPSBbCiAgICAgICAgMSA9PiAiU2VydmljZSBBIiwKICAgICAgICAzID0+ICJTZXJ2aWNlIEE6OlN1YlNlcnZpY2UgMSIsCiAgICAgICAgMiA9PiAiU2VydmljZSBCIgogICAgXSwKCj1jdXQKCnN1YiBTZXJ2aWNlc0dldCB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgIG15ICVTZXJ2aWNlID0gKCk7CgogICAgIyBnZXQgc2VydmljZQogICAgaWYgKCAoICRQYXJhbXtRdWV1ZUlEfSB8fCAkUGFyYW17VGlja2V0SUR9ICkgJiYgJFBhcmFte0N1c3RvbWVyVXNlcklEfSApIHsKICAgICAgICAlU2VydmljZSA9ICRTZWxmLT57VGlja2V0T2JqZWN0fS0+VGlja2V0U2VydmljZUxpc3QoCiAgICAgICAgICAgICVQYXJhbSwKICAgICAgICAgICAgQWN0aW9uID0+ICRQYXJhbXtBY3Rpb259LAogICAgICAgICAgICBVc2VySUQgPT4gJFBhcmFte1VzZXJJRH0sCiAgICAgICAgKTsKICAgIH0KICAgIHJldHVybiBcJVNlcnZpY2U7Cn0KCj1pdGVtIFNMQXNHZXQoKQpHZXQgYSBIYXNoIHJlZmVyZW5jZSB0byBhbGwgcG9zc2libGUgU0xBcyBiYXNlZCBvbiBhIFNlcnZpY2UKCiAgICBteSAkUmVzdWx0ID0gJGlQaG9uZU9iamVjdC0+U0xBc0dldCgKICAgICAgICBTZXJ2aWNlSUQgICAgICAgPT4gMSwKICAgICAgICBRdWV1ZUlEICAgICAgICAgPT4gMywgICN8fCBUaWNrZVRJRCBvcHRpb25hbAogICAgICAgIFRpY2tldElEICAgICAgICA9PiAyMjMgI3x8IFF1ZXVlSUQgb3B0aW9uYWwKICAgICAgICBVc2VySUQgICAgICAgICAgPT4gMSwKICAgICk7CgogICAgIyBhIHJlc3VsdCBjb3VsZCBiZQoKICAgICRSZXN1bHQgPSBbCiAgICAgICAgMSA9PiAiU0xBIEdvbGQgZm9yIFNlcnZpY2UgQSIsCiAgICAgICAgMyA9PiAiU0xBIFNpbHZlciBmb3IgU2VydmljZSBBIiwKICAgIF0sCgo9Y3V0CgpzdWIgU0xBc0dldCB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgIG15ICVTTEEgPSAoKTsKCiAgICAjIGdldCBzbGEKICAgIGlmICggJFBhcmFte1NlcnZpY2VJRH0gKSB7CiAgICAgICAgJVNMQSA9ICRTZWxmLT57VGlja2V0T2JqZWN0fS0+VGlja2V0U0xBTGlzdCgKICAgICAgICAgICAgJVBhcmFtLAogICAgICAgICAgICBBY3Rpb24gPT4gJFBhcmFte0FjdGlvbn0sCiAgICAgICAgICAgIFVzZXJJRCA9PiAkUGFyYW17VXNlcklEfSwKICAgICAgICApOwogICAgfQogICAgcmV0dXJuIFwlU0xBOwp9Cgo9aXRlbSBVc2Vyc0dldCgpCkdldCBhIEhhc2ggcmVmZXJlbmNlIHRvIGFsbCB1c2VycyB0aGF0IGhhdmUgcmlnaHRzIG9uIGEgUXVldWUgb3IgdGhlIHNzZXJzIHRoYXQgaGF2ZSB0aGF0IHF1ZXVlIGluCnRoZSAiTXkgUXVldWVzIiBsaXN0CgogICAgbXkgJFJlc3VsdCA9ICRpUGhvbmVPYmplY3QtPlVzZXJzR2V0KAogICAgICAgIFF1ZXVlSUQgICAgICAgICA9PiAzLAogICAgICAgIEFsbFVzZXJzICAgICAgICA9PiAxICMgT3B0aW9uYWwsIFRvIGdldCB0aGUgY29tcGxldGUgbGlzdCBvZiB1c2VycyB3aXRoIHJpZ2h0cyBpbiB0aGUgcXVldWUKICAgICAgICBVc2VySUQgICAgICAgICAgPT4gMSwKICAgICk7CgogICAgIyBhIHJlc3VsdCBjb3VsZCBiZQoKICAgICRSZXN1bHQgPSBbCiAgICAgICAgMSAgICA9PiAiT1RSUyBBZG1pbiAocm9vdEBsb2NhbGhvc3QpIiwKICAgICAgICAxMTM4ID0+ICJBbXkgQWxsZW4gKEFheWxhKSAiCiAgICBdLAoKPWN1dAoKc3ViIFVzZXJzR2V0IHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgIyBnZXQgdXNlcnMKICAgIG15ICVTaG93blVzZXJzICAgICAgID0gKCk7CiAgICBteSAlQWxsR3JvdXBzTWVtYmVycyA9ICRTZWxmLT57VXNlck9iamVjdH0tPlVzZXJMaXN0KAogICAgICAgIFR5cGUgID0+ICdMb25nJywKICAgICAgICBWYWxpZCA9PiAxLAogICAgKTsKCiAgICAjIGp1c3Qgc2hvdyBvbmx5IHVzZXJzIHdpdGggc2VsZWN0ZWQgY3VzdG9tIHF1ZXVlCiAgICBpZiAoICRQYXJhbXtRdWV1ZUlEfSAmJiAhJFBhcmFte0FsbFVzZXJzfSApIHsKICAgICAgICBteSBAVXNlcklEcyA9ICRTZWxmLT57VGlja2V0T2JqZWN0fS0+R2V0U3Vic2NyaWJlZFVzZXJJRHNCeVF1ZXVlSUQoJVBhcmFtKTsKICAgICAgICBmb3IgKCBzb3J0IGtleXMgJUFsbEdyb3Vwc01lbWJlcnMgKSB7CiAgICAgICAgICAgIG15ICRIaXQgPSAwOwogICAgICAgICAgICBmb3IgbXkgJFVJRCAoQFVzZXJJRHMpIHsKICAgICAgICAgICAgICAgIGlmICggJFVJRCBlcSAkXyApIHsKICAgICAgICAgICAgICAgICAgICAkSGl0ID0gMTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAoICEkSGl0ICkgewogICAgICAgICAgICAgICAgZGVsZXRlICRBbGxHcm91cHNNZW1iZXJzeyRffTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICAjIHNob3cgYWxsIHN5c3RlbSB1c2VycwogICAgaWYgKCAkU2VsZi0+e0NvbmZpZ09iamVjdH0tPkdldCgnVGlja2V0OjpDaGFuZ2VPd25lclRvRXZlcnlvbmUnKSApIHsKICAgICAgICAlU2hvd25Vc2VycyA9ICVBbGxHcm91cHNNZW1iZXJzOwogICAgfQoKICAgICMgc2hvdyBhbGwgdXNlcnMgd2hvIGFyZSBydyBpbiB0aGUgcXVldWUgZ3JvdXAKICAgIGVsc2lmICggJFBhcmFte1F1ZXVlSUR9ICkgewogICAgICAgIG15ICRHSUQgPSAkU2VsZi0+e1F1ZXVlT2JqZWN0fS0+R2V0UXVldWVHcm91cElEKCBRdWV1ZUlEID0+ICRQYXJhbXtRdWV1ZUlEfSApOwogICAgICAgIG15ICVNZW1iZXJMaXN0ID0gJFNlbGYtPntHcm91cE9iamVjdH0tPkdyb3VwTWVtYmVyTGlzdCgKICAgICAgICAgICAgR3JvdXBJRCA9PiAkR0lELAogICAgICAgICAgICBUeXBlICAgID0+ICdydycsCiAgICAgICAgICAgIFJlc3VsdCAgPT4gJ0hBU0gnLAogICAgICAgICAgICBDYWNoZWQgID0+IDEsCiAgICAgICAgKTsKICAgICAgICBmb3IgKCBzb3J0IGtleXMgJU1lbWJlckxpc3QgKSB7CiAgICAgICAgICAgIGlmICggJEFsbEdyb3Vwc01lbWJlcnN7JF99ICkgewogICAgICAgICAgICAgICAgJFNob3duVXNlcnN7JF99ID0gJEFsbEdyb3Vwc01lbWJlcnN7JF99OwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuIFwlU2hvd25Vc2VyczsKfQoKPWl0ZW0gTmV4dFN0YXRlc0dldCgpCkdldCBhIEhhc2ggcmVmZXJlbmNlIHRvIGFsbCBwb3NzaWJsZSBzdGF0ZXMgYmFzZWQgb24gYSBUaWNrZXQgb3IgUXVldWUKCiAgICBteSAkUmVzdWx0ID0gJGlQaG9uZU9iamVjdC0+TmV4dFN0YXRlc0dldCgKICAgICAgICBRdWV1ZUlEICAgICAgICAgPT4gMywgICN8fCBUaWNrZVRJRCBvcHRpb25hbAogICAgICAgIFRpY2tldElEICAgICAgICA9PiAyMjMgI3x8IFF1ZXVlSUQgb3B0aW9uYWwKICAgICAgICBVc2VySUQgICAgICAgICAgPT4gMSwKICAgICk7CgogICAgIyBhIHJlc3VsdCBjb3VsZCBiZQoKICAgICRSZXN1bHQgPSBbCiAgICAgICAgMSAgPT4gIm5ldyIsCiAgICAgICAgMiAgPT4gImNsb3NlZCBzdWNjZXNzZnVsIiwKICAgICAgICAzICA9PiAiY2xvc2VkIHVuc3VjY2Vzc2Z1bCIsCiAgICAgICAgNCAgPT4gIm9wZW4iLAogICAgICAgIDUgID0+ICJyZW1vdmVkIgogICAgICAgIDYgID0+ICJwZW5kaW5nIHJlbWluZGVyIiwKICAgICAgICA3ICA9PiAicGVuZGluZyBhdXRvIGNsb3NlKyIsCiAgICAgICAgOCAgPT4gInBlbmRpbmcgYXV0byBjbG9zZS0iLAogICAgICAgIDkgID0+ICJtZXJnZWQiLAogICAgICAgIDEwID0+ICJjbG9zZWQgd2l0aCB3b3JrYXJvdW5kIiwKICAgIF0sCgo9Y3V0CgpzdWIgTmV4dFN0YXRlc0dldCB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgIG15ICVOZXh0U3RhdGVzID0gKCk7CiAgICBpZiAoICRQYXJhbXtRdWV1ZUlEfSB8fCAkUGFyYW17VGlja2V0SUR9ICkgewogICAgICAgICVOZXh0U3RhdGVzID0gJFNlbGYtPntUaWNrZXRPYmplY3R9LT5TdGF0ZUxpc3QoCiAgICAgICAgICAgICVQYXJhbSwKICAgICAgICAgICAgQWN0aW9uID0+ICRQYXJhbXtBY3Rpb259LAogICAgICAgICAgICBVc2VySUQgPT4gJFBhcmFte1VzZXJJRH0sCiAgICAgICAgKTsKICAgIH0KICAgIHJldHVybiBcJU5leHRTdGF0ZXM7Cn0KCj1pdGVtIFByaW9yaXRpZXNHZXQoKQpHZXQgYSBIYXNoIHJlZmVyZW5jZSB0byBhbGwgcG9zc2libGUgcHJpb3JpdGllcwoKICAgIG15ICRSZXN1bHQgPSAkaVBob25lT2JqZWN0LT5Qcmlvcml0aWVzR2V0KAogICAgICAgIFVzZXJJRCAgICAgICAgICA9PiAxLAogICAgKTsKCiAgICAjIGEgcmVzdWx0IGNvdWxkIGJlCgogICAgJFJlc3VsdCA9IFsKICAgICAgICAxID0+ICIxIHZlcnkgbG93IiwKICAgICAgICAyID0+ICIyIGxvdyIsCiAgICAgICAgMyA9PiAiMyBub3JtYWwiLAogICAgICAgIDQgPT4gIjQgaGlnaCIsCiAgICAgICAgNSA9PiAiNSB2ZXJ5IGhpZ2giLAogICAgXSwKCj1jdXQKCnN1YiBQcmlvcml0aWVzR2V0IHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgbXkgJVByaW9yaXRpZXMgPSAoKTsKCiAgICAjIGdldCBwcmlvcml0eQogICAgJVByaW9yaXRpZXMgPSAkU2VsZi0+e1RpY2tldE9iamVjdH0tPlByaW9yaXR5TGlzdCgKICAgICAgICAlUGFyYW0sCiAgICAgICAgQWN0aW9uID0+ICRQYXJhbXtBY3Rpb259LAogICAgICAgIFVzZXJJRCA9PiAkUGFyYW17VXNlcklEfSwKICAgICk7CgogICAgcmV0dXJuIFwlUHJpb3JpdGllczsKfQoKPWl0ZW0gQ3VzdG9tZXJTZWFyY2goKQpHZXQgYSBIYXNoIHJlZmVyZW5jZSB0byBhbGwgcG9zc2libGUgY3VzdG9tZXJzIG1hdGNoaW5nIHRoZSBnaXZlbiBzZWFyY2gKcGFyYW1ldGVyLCB1c2UgIioiIGZvciBhbGwuCgogICAgbXkgJFJlc3VsdCA9ICRpUGhvbmVPYmplY3QtPkN1c3RvbWVyU2VhcmNoKAogICAgICAgIFNlYXJjaCAgICAgICAgICA9PiAnc3cnLAogICAgICAgIFVzZXJJRCAgICAgICAgICA9PiAxLAogICAgKTsKCiAgICAjIGEgcmVzdWx0IGNvdWxkIGJlCgogICAgJFJlc3VsdCA9IFsKICAgICAgICBSYXkgICA9PiAnIlJheSBQYXJrIiA8cnBAc3cuY29tPicsCiAgICAgICAgRGF2aWQgPT4gJyJEYXZpZCBQcm93c2UiIDxkcEBzdy5jb20+JywKICAgIF0sCgo9Y3V0CgpzdWIgQ3VzdG9tZXJTZWFyY2ggewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICAjIGdldCBBdXRvQ29tcGxldGUgc2V0dGluZ3MgZm9ybSBjb25maWcKICAgICRTZWxmLT57Q29uZmlnfSA9ICRTZWxmLT57Q29uZmlnT2JqZWN0fS0+R2V0KCdUaWNrZXQ6OkZyb250ZW5kOjpDdXN0b21lclNlYXJjaEF1dG9Db21wbGV0ZScpOwoKICAgIG15ICVDdXN0b21lcnM7CgogICAgIyBzZWFyY2ggb25seSBpZiB0aGUgc2VhcmNoIHN0cmluZyBpcyBhdCBsZWFzdCBhcyBsb25nIGFzIHRoZSBNaW5pbXVtIFF1ZXJ5IExlbmdodAogICAgaWYgKCBsZW5ndGgoICRQYXJhbXtTZWFyY2h9ICkgPj0gJFNlbGYtPntDb25maWd9LT57TWluUXVlcnlMZW5ndGh9ICkgewogICAgICAgICVDdXN0b21lcnMgPSAkU2VsZi0+e0N1c3RvbWVyVXNlck9iamVjdH0tPkN1c3RvbWVyU2VhcmNoKAogICAgICAgICAgICBTZWFyY2ggPT4gJFBhcmFte1NlYXJjaH0sCiAgICAgICAgKTsKICAgIH0KICAgIHJldHVybiBcJUN1c3RvbWVyczsKfQoKPWl0ZW0gU2NyZWVuQWN0aW9ucygpClBlcmZvcm1zIGEgdGlja2V0IGFjdGlvbiAoQWN0aW9ucyBpbmNsdWRlIFBob25lLCBOb3RlLCBDbG9zZSwgQ29tcG9zZSBvciBNb3ZlKQoKUGhvbmUgICAoTmV3IHBob25lIHRpY2tldCkKTm90ZSAgICAoQWRkIGEgbm90ZSB0byBhIFRpY2tldCkKQ2xvc2UgICAoQ2xvc2UgYSB0Y2tldCkKQ29tcG9zZSAoUmVwbHkgb3IgcmVzcG9uc2UgYSB0aWNrZXQpCk1vdmUgICAgKENoYW5nZSB0aWNrZXQgcXVldWUpCgpUaGUgYXJndW1lbnRzIHRha2VuIGRlcGVuZCBvbiB0aGUgcmVzdWx0cyBvZiBTY3JlZW5Db25maWcoKQoKVGhlIHJlc3VsdCBpcyB0aGUgVGlja2V0SUQgZm9yIEFjdGlvbiBQaG9uZSBvciBBcnRpY2xlSUQgZm9yIHRoZSBvdGhlciBhY3Rpb25zCgogICAgbXkgQFJlc3VsdCA9ICRpUGhvbmVPYmplY3QtPlNjcmVlbkFjdGlvbnMoCiAgICAgICAgQWN0aW9uICAgICAgICAgICAgICA9PiAiUGhvbmUiLAogICAgICAgIFN1YmplY3QgICAgICAgICAgICAgPT4gImlQaG9uZSBUaWNrZXQiLAogICAgICAgIEN1c3RvbWVySUQgICAgICAgICAgPT4gIm90cnMiLAogICAgICAgIEJvZHkgICAgICAgICAgICAgICAgPT4gIk15IGZpc3J0IGlQaG9uZSB0aWNrZXQiLAogICAgICAgIEN1c3RvbWVyVXNlckxvZ2luICAgPT4gIkFheWxhIiwKICAgICAgICBUaW1lVW5pdHMgICAgICAgICAgID0+IDEyMywKICAgICAgICBRdWV1ZUlEICAgICAgICAgICAgID0+IDMsCiAgICAgICAgT3duZXJJRCAgICAgICAgICAgICA9PiAyMywKICAgICAgICBSZXNwb25zaWxiZUlEICAgICAgID0+IDQ1LAogICAgICAgIFN0YXRlSUQgICAgICAgICAgICAgPT4gNCwKICAgICAgICBQZW5kaW5nRGF0ZSAgICAgICAgID0+IjIwMTAtMDctMDkgMjM6NTQ6MTgiLAogICAgICAgIFByaW9yaXR5SUQgICAgICAgICAgPT4gMSwKICAgICAgICBEeWFubWljRmllbGRfTmFtZVggID0+ICdzb21lIHZhbHVlJywKICAgICAgICBVc2VySUQgICAgICAgICAgICAgID0+IDEsCiAgICApOwoKICAgICMgYSByZXN1bHQgY291bGQgYmUKCiAgICBAUmVzdWx0ID0gKCAyMjQgKTsKCj1jdXQKCnN1YiBTY3JlZW5BY3Rpb25zIHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgbXkgJVVzZXJQcmVmZXJlbmNlcyA9ICRTZWxmLT57VXNlck9iamVjdH0tPkdldFByZWZlcmVuY2VzKCBVc2VySUQgPT4gJFBhcmFte1VzZXJJRH0gKTsKICAgICRTZWxmLT57VXNlclRpbWVab25lfSA9ICRVc2VyUHJlZmVyZW5jZXN7VXNlclRpbWVab25lfTsKCiAgICBpZiAoICRTZWxmLT57Q29uZmlnT2JqZWN0fS0+R2V0KCdUaW1lWm9uZVVzZXInKSAmJiAkU2VsZi0+e1VzZXJUaW1lWm9uZX0gKSB7CiAgICAgICAgJFNlbGYtPntVc2VyVGltZU9iamVjdH0gPSBLZXJuZWw6OlN5c3RlbTo6VGltZS0+bmV3KCAleyRTZWxmfSApOwogICAgfQogICAgZWxzZSB7CiAgICAgICAgJFNlbGYtPntVc2VyVGltZU9iamVjdH0gPSAkU2VsZi0+e1RpbWVPYmplY3R9OwogICAgICAgICRTZWxmLT57VXNlclRpbWVab25lfSAgID0gJyc7CiAgICB9CgogICAgJFBhcmFte1VzZXJUaW1lWm9uZX0gPSAkU2VsZi0+e1VzZXJUaW1lWm9uZX07CgogICAgaWYgKCAkUGFyYW17QWN0aW9ufSApIHsKICAgICAgICBteSAkUmVzdWx0OwogICAgICAgIGlmICggJFBhcmFte0FjdGlvbn0gZXEgJ1Bob25lJyApIHsKICAgICAgICAgICAgJFJlc3VsdCA9ICRTZWxmLT5fVGlja2V0UGhvbmVOZXcoJVBhcmFtKTsKICAgICAgICAgICAgaWYgKCRSZXN1bHQpIHsKICAgICAgICAgICAgICAgIHJldHVybiAkUmVzdWx0OwogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybiAtMTsKICAgICAgICB9CiAgICAgICAgaWYgKCAkUGFyYW17QWN0aW9ufSBlcSAnTm90ZScgfHwgJFBhcmFte0FjdGlvbn0gZXEgJ0Nsb3NlJyApIHsKICAgICAgICAgICAgJFJlc3VsdCA9ICRTZWxmLT5fVGlja2V0Q29tbW9uQWN0aW9ucyglUGFyYW0pOwogICAgICAgICAgICBpZiAoJFJlc3VsdCkgewogICAgICAgICAgICAgICAgcmV0dXJuICRSZXN1bHQ7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuIC0xOwogICAgICAgIH0KICAgICAgICBpZiAoICRQYXJhbXtBY3Rpb259IGVxICdDb21wb3NlJyApIHsKICAgICAgICAgICAgJFJlc3VsdCA9ICRTZWxmLT5fVGlja2V0Q29tcG9zZSglUGFyYW0pOwogICAgICAgICAgICBpZiAoJFJlc3VsdCkgewogICAgICAgICAgICAgICAgcmV0dXJuICRSZXN1bHQ7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuIC0xOwogICAgICAgIH0KICAgICAgICBpZiAoICRQYXJhbXtBY3Rpb259IGVxICdNb3ZlJyApIHsKICAgICAgICAgICAgJFJlc3VsdCA9ICRTZWxmLT5fVGlja2V0TW92ZSglUGFyYW0pOwogICAgICAgICAgICBpZiAoJFJlc3VsdCkgewogICAgICAgICAgICAgICAgcmV0dXJuICRSZXN1bHQ7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuIC0xOwogICAgICAgIH0KICAgICAgICAkU2VsZi0+e0xvZ09iamVjdH0tPkxvZygKICAgICAgICAgICAgUHJpb3JpdHkgPT4gJ2Vycm9yJywKICAgICAgICAgICAgTWVzc2FnZSAgPT4gJ0FjdGlvbiB1bmRlZmluZWQhIGV4cGVjdGVkIFBob25lLCBOb3RlLCBDbG9zZSwgQ29tcG9zZSBvciBNb3ZlLCAnCiAgICAgICAgICAgICAgICAuICdidXQgJyAuICRQYXJhbXtBY3Rpb259IC4gJyBmb3VuZCcsCiAgICAgICAgKTsKICAgICAgICByZXR1cm4gLTE7CiAgICB9CiAgICBlbHNlIHsKICAgICAgICAkU2VsZi0+e0xvZ09iamVjdH0tPkxvZygKICAgICAgICAgICAgUHJpb3JpdHkgPT4gJ2Vycm9yJywKICAgICAgICAgICAgTWVzc2FnZSAgPT4gJ05vIEFjdGlvbiBnaXZlbiEgUGxlYXNlIGNvbnRhY3QgdGhlIGFkbWluLicsCiAgICAgICAgKTsKICAgICAgICByZXR1cm4gLTE7CiAgICB9Cn0KCj1pdGVtIFZlcnNpb25HZXQoKQpHZXQgYSBIYXNoIHJlZmVyZW5jZSB3aXRoIGluZm9ybWF0aW9uIGFib3V0IHRoZSBvdHJzIGlQaG9uZSBQYWNrYWdlIGV4dGVuc2lvbgoKICAgIG15ICRSZXN1dCA9ICRpUGhvbmVPYmplY3QtPlZlcnNpb25HZXQoCiAgICAgICAgVXNlcklEID0+IDE7CiAgICApOwoKICAgIGEgcmVzdWx0IGNvdWxkIGJlCgogICAgJFJlc3VsdCA9IFsKICAgICAgICBOYW1lICAgID0+ICJpUGhvbmVIYW5kbGUiCiAgICAgICAgVmVyc2lvbiA9PiAiMC45LjIiLAogICAgICAgIFZlbmRvciAgPT4gIk9UUlMgQUciLAogICAgICAgIFVSTCAgICAgPT4gIkw8aHR0cDovL290cnMub3JnLz4iLAogICAgXTsKCj1jdXQKCnN1YiBWZXJzaW9uR2V0IHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgaWYgKCAhJFBhcmFte1VzZXJJRH0gKSB7CiAgICAgICAgJFNlbGYtPntMb2dPYmplY3R9LT5Mb2coCiAgICAgICAgICAgIFByaW9yaXR5ID0+ICdlcnJvcicsCiAgICAgICAgICAgIE1lc3NhZ2UgID0+ICdObyBVc2VySUQgZ2l2ZW4hIFBsZWFzZSBjb250YWN0IHRoZSBhZG1pbi4nLAogICAgICAgICk7CiAgICAgICAgcmV0dXJuIC0xOwogICAgfQoKICAgICMgZ2V0IGhvbWUgcGF0aAogICAgbXkgJEhvbWUgPSAkU2VsZi0+e0NvbmZpZ09iamVjdH0tPkdldCgnSG9tZScpOwoKICAgICMgbG9hZCBSRUxFQVNFIGZpbGUKICAgIGlmICggLWUgISIkSG9tZS92YXIvUkVMRUFTRS5pUGhvbmVIYW5kbGUiICkgewogICAgICAgICRTZWxmLT57TG9nT2JqZWN0fS0+TG9nKAogICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICBNZXNzYWdlICA9PiAiRVJST1I6ICRIb21lL3Zhci9SRUxFQVNFLmlQaG9uZUhhbmRsZSBkb2VzIG5vdCBleGlzdCEgVGhpcyBmaWxlIGlzIgogICAgICAgICAgICAgICAgLiAiIG5lZWRlZCBieSBpUGhvbmVIYW5kbGUsIHRoZSBzeXN0ZW0gd2lsbCBub3Qgd29yayB3aXRob3V0IHRoaXMgZmlsZS5cbiIsCiAgICAgICAgKTsKICAgICAgICByZXR1cm4gLTE7CiAgICB9CiAgICBteSAkUGFja2FnZU5hbWU7CiAgICBteSAkUGFja2FnZVZlcnNpb247CgogICAgIyByZWFkIFJFTEVBU0UgZmlsZSBhbmQgc3RvcmUgaXQgYXMgYW4gYXJyYXkgcmVmZXJlbmNlCiAgICBteSAkUHJvZHVjdCA9ICRTZWxmLT57TWFpbk9iamVjdH0tPkZpbGVSZWFkKAogICAgICAgIExvY2F0aW9uID0+ICIkSG9tZS92YXIvUkVMRUFTRS5pUGhvbmVIYW5kbGUiLAogICAgICAgIFJlc3VsdCAgID0+ICJBUlJBWSIsCiAgICApOwoKICAgICMgc2VuZCBhbmQgZXJyb3IgaWYgUkVMRUFTRSBmaWxlIHdhcyBub3QgcmVhZAogICAgaWYgKCAhJFByb2R1Y3QgKSB7CiAgICAgICAgJFNlbGYtPntMb2dPYmplY3R9LT5Mb2coCiAgICAgICAgICAgIFByaW9yaXR5ID0+ICdlcnJvcicsCiAgICAgICAgICAgIE1lc3NhZ2UgID0+ICJFUlJPUjogQ2FuJ3QgcmVhZCAkSG9tZS92YXIvUkVMRUFTRS5pUGhvbmVIYW5kbGUhIFRoaXMgZmlsZSBpcyIKICAgICAgICAgICAgICAgIC4gIiBuZWVkZWQgYnkgaVBob25lSGFuZGxlLCB0aGUgc3lzdGVtIHdpbGwgbm90IHdvcmsgd2l0aG91dCB0aGlzIGZpbGUuXG4iLAogICAgICAgICk7CiAgICAgICAgcmV0dXJuIC0xOwogICAgfQoKICAgICMgZ2V0IFBhY2thZ2VOYW1lIGFuZCBQYWNrYWdlVmVyc2lvbiBmcm9tIFJFTEVBU0UgZmlsZQogICAgZm9yIG15ICRMaW5lICggQHskUHJvZHVjdH0gKSB7CgogICAgICAgICMgZmlsdGVyaW5nIG9mIGNvbW1lbnQgbGluZXMKICAgICAgICBpZiAoICRMaW5lICF+IG17XEEgXCN9bXN4ICkgewogICAgICAgICAgICBpZiAoICRMaW5lID1+IG17XEEgUFJPRFVDVCBcc3swLDJ9ID0gXHN7MCwyfSAoLiopIFxzezAsMn0gXHp9bXN4aSApIHsKICAgICAgICAgICAgICAgICRQYWNrYWdlTmFtZSA9ICQxOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2lmICggJExpbmUgPX4gbXtcQSBWRVJTSU9OIFxzezAsMn0gPSBcc3swLDJ9ICguKikgXHN7MCwyfSBcen1tc3hpICkgewogICAgICAgICAgICAgICAgJFBhY2thZ2VWZXJzaW9uID0gJDE7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CgogICAgcmV0dXJuIHsKICAgICAgICBOYW1lICAgICAgPT4gJFBhY2thZ2VOYW1lLAogICAgICAgIFZlcnNpb24gICA9PiAkUGFja2FnZVZlcnNpb24sCiAgICAgICAgVmVuZG9yICAgID0+ICdPVFJTIEFHJywKICAgICAgICBVUkwgICAgICAgPT4gJ2h0dHA6Ly9vdHJzLm9yZy8nLAogICAgICAgIEZyYW1ld29yayA9PiAkU2VsZi0+e0NvbmZpZ09iamVjdH0tPkdldCgnVmVyc2lvbicpLAogICAgfTsKfQoKPWl0ZW0gQ3VzdG9tZXJJREdldCgpCkdldCB0aGUgQ3VzdG9tZXIgSUQgZnJvbSBhIGdpdmVuIGN1c3RvbWVyIGxvZ2luCgogICAgbXkgJFJlc3V0ID0gJGlQaG9uZU9iamVjdC0+Q3VzdG9tZXJJREdldCgKICAgICAgICBDdXN0b21lclVzZXJJRCA9PiAiRGF2aWQiOwogICAgKTsKCiAgICBhIHJlc3VsdCBjb3VsZCBiZQoKICAgICRSZXN1bHQgPSAic3ciCgo9Y3V0CgpzdWIgQ3VzdG9tZXJJREdldCB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgICMgY2hlY2sgZm9yIHBhcmFtZXRlcnMKICAgIGlmICggISRQYXJhbXtDdXN0b21lclVzZXJJRH0gKSB7CiAgICAgICAgJFNlbGYtPntMb2dPYmplY3R9LT5Mb2coCiAgICAgICAgICAgIFByaW9yaXR5ID0+ICdlcnJvcicsCiAgICAgICAgICAgIE1lc3NhZ2UgID0+ICdOZWVkIEN1c3RvbWVyVXNlcklEIScsCiAgICAgICAgKTsKICAgICAgICByZXR1cm4gLTE7CiAgICB9CiAgICBteSAkQ3VzdG9tZXJJRDsKCiAgICAjIGdldCBjdXN0b21lciBkYXRhCiAgICBteSAlQ3VzdG9tZXJVc2VyRGF0YSA9ICRTZWxmLT57Q3VzdG9tZXJVc2VyT2JqZWN0fS0+Q3VzdG9tZXJVc2VyRGF0YUdldCgKICAgICAgICBVc2VyID0+ICRQYXJhbXtDdXN0b21lclVzZXJJRH0sCiAgICApOwogICAgaWYgKCAlQ3VzdG9tZXJVc2VyRGF0YSAmJiAkQ3VzdG9tZXJVc2VyRGF0YXtVc2VyQ3VzdG9tZXJJRH0gKSB7CiAgICAgICAgJEN1c3RvbWVySUQgPSAkQ3VzdG9tZXJVc2VyRGF0YXtVc2VyQ3VzdG9tZXJJRH07CiAgICAgICAgcmV0dXJuICRDdXN0b21lcklEOwogICAgfQogICAgZWxzZSB7CiAgICAgICAgcmV0dXJuICcnOwogICAgfQp9Cgo9aXRlbSBBcnRpY2xlSW5kZXgoKQoKcmV0dXJucyBhbiBhcnJheSB3aXRoIGFydGljbGUgaWQncyBvciAnJyBpZiB0aWNrZXQgaGFzIG5vIGFydGljbGVzCgogICAgbXkgQEFydGljbGVJRHMgPSAkaVBob25lT2JqZWN0LT5BcnRpY2xlSW5kZXgoCiAgICAgICAgVGlja2V0SUQgPT4gMTIzLAogICAgKTsKCiAgICBteSBAQXJ0aWNsZUlEcyA9ICRpUGhvbmVPYmplY3QtPkFydGljbGVJbmRleCgKICAgICAgICBTZW5kZXJUeXBlID0+ICdjdXN0b21lcicsCiAgICAgICAgVGlja2V0SUQgICA9PiAxMjMsCiAgICApOwoKPWN1dAoKc3ViIEFydGljbGVJbmRleCB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgIG15IEBJbmRleCA9ICRTZWxmLT57VGlja2V0T2JqZWN0fS0+QXJ0aWNsZUluZGV4KCVQYXJhbSk7CgogICAgcmV0dXJuIEBJbmRleDsKfQoKPWl0ZW0gSW5pdENvbmZpZ0dldCgpCgpyZXR1cm5zIGEgaGFzaCByZWZlcmVuY2Ugd2l0aCBpbml0aWFsIGNvbmZpZ3VyYXRpb24gcmVxdWlyZWQgYnkgdGhlIGlQaG9uZSBhcHAKCiAgICBteSAkUmVzdWx0ID0gJGlQaG9uZU9iamVjdC0+SW5pdENvbmZpZ0dldCgKICAgICAgICBVc2VySUQgPT4gMSwKICAgICk7CgogICAgYSByZXN1bHQgY291bGQgYmUKCiAgICAkUmVzdWx0ID0gWwogICAgICAgIFRpY2tldFJlc3BvbnNpYmxlICAgICAgICAgID0+IDEsCiAgICAgICAgVGlja2V0V2F0Y2hlciAgICAgICAgICAgICAgPT4gMSwKICAgICAgICBDdXJyZW50VGltZXN0YW1wICAgICAgICAgICA9PiAiMjAxMC0xMC0yNiAxMTo1MzozNSIsCiAgICAgICAgVmVyc2lvbkdldCAgICAgICAgICAgICAgICAgPT4gewogICAgICAgICAgICBVUkwgICAgICAgPT4gImh0dHA6Ly9vdHJzLm9yZy8iLAogICAgICAgICAgICBGcmFtZXdvcmsgPT4gIjIuNC54IENWUyIsCiAgICAgICAgICAgIFZlcnNpb24gICA9PiAiMC45LjYiLAogICAgICAgICAgICBWZW5kb3IgICAgPT4gIk9UUlMgQUciLAogICAgICAgICAgICBOYW1lICAgICAgPT4gImlQaG9uZUhhbmRsZSIKICAgICAgICB9LAogICAgICAgIEN1c3RvbWVyU2VhcmNoQXV0b0NvbXBsZXRlID0+IHsKICAgICAgICAgICAgUXVlcnlEZWxheSAgICAgICAgICA9PiAwLjEsCiAgICAgICAgICAgIEFjdGl2ZSAgICAgICAgICAgICAgPT4gMSwKICAgICAgICAgICAgTWF4UmVzdWx0c0Rpc3BsYXllZCA9PiAyMCwKICAgICAgICAgICAgVHlwZUFoZWFkICAgICAgICAgICA9PiBmYWxzZSwKICAgICAgICAgICAgTWluUXVlcnlMZW5ndGggICAgICA9PiAzLAogICAgICAgIH0sCiAgICAgICAgRGVmYXVsdENoYXJzZXQgICAgICAgICAgICAgPT4gInV0Zi04IiwKICAgIF07Cgo9Y3V0CgpzdWIgSW5pdENvbmZpZ0dldCB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgIGlmICggISRQYXJhbXtVc2VySUR9ICkgewogICAgICAgICRTZWxmLT57TG9nT2JqZWN0fS0+TG9nKAogICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICBNZXNzYWdlICA9PiAnTm8gVXNlcklEIGdpdmVuISBQbGVhc2UgY29udGFjdCB0aGUgYWRtaW4uJywKICAgICAgICApOwogICAgICAgIHJldHVybiAtMTsKICAgIH0KCiAgICBteSAlSW5pdENvbmZpZzsKCiAgICAkSW5pdENvbmZpZ3tUaWNrZXRXYXRjaGVyfSAgICAgPSAkU2VsZi0+e0NvbmZpZ09iamVjdH0tPkdldCgnVGlja2V0OjpXYXRjaGVyJyk7CiAgICAkSW5pdENvbmZpZ3tUaWNrZXRSZXNwb25zaWJsZX0gPSAkU2VsZi0+e0NvbmZpZ09iamVjdH0tPkdldCgnVGlja2V0OjpSZXNwb25zaWJsZScpOwogICAgJEluaXRDb25maWd7RGVmYXVsdENoYXJzZXR9ICAgID0gJFNlbGYtPntDb25maWdPYmplY3R9LT5HZXQoJ0RlZmF1bHRDaGFyc2V0Jyk7CiAgICAkSW5pdENvbmZpZ3tDdXN0b21lclNlYXJjaEF1dG9Db21wbGV0ZX0KICAgICAgICA9ICRTZWxmLT57Q29uZmlnT2JqZWN0fS0+R2V0KCdUaWNrZXQ6OkZyb250ZW5kOjpDdXN0b21lclNlYXJjaEF1dG9Db21wbGV0ZScpOwogICAgJEluaXRDb25maWd7Q3VycmVudFRpbWVzdGFtcH0gPSAkU2VsZi0+e1RpbWVPYmplY3R9LT5DdXJyZW50VGltZXN0YW1wKCk7CiAgICAkSW5pdENvbmZpZ3tWZXJzaW9uR2V0fSAgICAgICA9ICRTZWxmLT5WZXJzaW9uR2V0KCVQYXJhbSk7CgogICAgcmV0dXJuIFwlSW5pdENvbmZpZzsKfQoKIyBpbnRlcm5hbCBzdWJyb3V0aW5lcwoKc3ViIF9HZXRUeXBlcyB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgIG15ICVUeXBlID0gKCk7CgogICAgIyBnZXQgdHlwZQogICAgJVR5cGUgPSAkU2VsZi0+e1RpY2tldE9iamVjdH0tPlRpY2tldFR5cGVMaXN0KAogICAgICAgICVQYXJhbSwKICAgICAgICBBY3Rpb24gPT4gJFBhcmFte0FjdGlvbn0sCiAgICAgICAgVXNlcklEID0+ICRQYXJhbXtVc2VySUR9LAogICAgKTsKICAgIHJldHVybiBcJVR5cGU7Cn0KCnN1YiBfR2V0VG9zIHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgIyBjaGVjayBvd24gc2VsZWN0aW9uCiAgICBteSAlTmV3VG9zID0gKCk7CiAgICBpZiAoICRTZWxmLT57Q29uZmlnT2JqZWN0fS0+eydUaWNrZXQ6OkZyb250ZW5kOjpOZXdRdWV1ZU93blNlbGVjdGlvbid9ICkgewogICAgICAgICVOZXdUb3MgPSAleyAkU2VsZi0+e0NvbmZpZ09iamVjdH0tPnsnVGlja2V0OjpGcm9udGVuZDo6TmV3UXVldWVPd25TZWxlY3Rpb24nfSB9OwogICAgfQogICAgZWxzZSB7CgogICAgICAgICMgU2VsZWN0aW9uVHlwZSBRdWV1ZSBvciBTeXN0ZW1BZGRyZXNzPwogICAgICAgIG15ICVUb3MgPSAoKTsKICAgICAgICBpZiAoICRTZWxmLT57Q29uZmlnT2JqZWN0fS0+R2V0KCdUaWNrZXQ6OkZyb250ZW5kOjpOZXdRdWV1ZVNlbGVjdGlvblR5cGUnKSBlcSAnUXVldWUnICkgewogICAgICAgICAgICAlVG9zID0gJFNlbGYtPntUaWNrZXRPYmplY3R9LT5Nb3ZlTGlzdCgKICAgICAgICAgICAgICAgIFR5cGUgICAgPT4gJ2NyZWF0ZScsCiAgICAgICAgICAgICAgICBBY3Rpb24gID0+ICRQYXJhbXtBY3Rpb259LAogICAgICAgICAgICAgICAgUXVldWVJRCA9PiAkUGFyYW17UXVldWVJRH0sCiAgICAgICAgICAgICAgICBVc2VySUQgID0+ICRQYXJhbXtVc2VySUR9LAogICAgICAgICAgICApOwogICAgICAgIH0KICAgICAgICBlbHNlIHsKICAgICAgICAgICAgJVRvcyA9ICRTZWxmLT57REJPYmplY3R9LT5HZXRUYWJsZURhdGEoCiAgICAgICAgICAgICAgICBUYWJsZSA9PiAnc3lzdGVtX2FkZHJlc3MnLAogICAgICAgICAgICAgICAgV2hhdCAgPT4gJ3F1ZXVlX2lkLCBpZCcsCiAgICAgICAgICAgICAgICBWYWxpZCA9PiAxLAogICAgICAgICAgICAgICAgQ2xhbXAgPT4gMSwKICAgICAgICAgICAgKTsKICAgICAgICB9CgogICAgICAgICMgZ2V0IGNyZWF0ZSBwZXJtaXNzaW9uIHF1ZXVlcwogICAgICAgIG15ICVVc2VyR3JvdXBzID0gJFNlbGYtPntHcm91cE9iamVjdH0tPkdyb3VwTWVtYmVyTGlzdCgKICAgICAgICAgICAgVXNlcklEID0+ICRQYXJhbXtVc2VySUR9LAogICAgICAgICAgICBUeXBlICAgPT4gJ2NyZWF0ZScsCiAgICAgICAgICAgIFJlc3VsdCA9PiAnSEFTSCcsCiAgICAgICAgICAgIENhY2hlZCA9PiAxLAogICAgICAgICk7CgogICAgICAgICMgYnVpbGQgc2VsZWN0aW9uIHN0cmluZwogICAgICAgIGZvciBteSAkUXVldWVJRCAoIHNvcnQga2V5cyAlVG9zICkgewogICAgICAgICAgICBteSAlUXVldWVEYXRhID0gJFNlbGYtPntRdWV1ZU9iamVjdH0tPlF1ZXVlR2V0KCBJRCA9PiAkUXVldWVJRCApOwoKICAgICAgICAgICAgIyBwZXJtaXNzaW9uIGNoZWNrLCBjYW4gd2UgY3JlYXRlIG5ldyB0aWNrZXRzIGluIHF1ZXVlCiAgICAgICAgICAgIG5leHQgaWYgISRVc2VyR3JvdXBzeyAkUXVldWVEYXRhe0dyb3VwSUR9IH07CgogICAgICAgICAgICBteSAkU3RyaW5nID0gJFNlbGYtPntDb25maWdPYmplY3R9LT5HZXQoJ1RpY2tldDo6RnJvbnRlbmQ6Ok5ld1F1ZXVlU2VsZWN0aW9uU3RyaW5nJykKICAgICAgICAgICAgICAgIHx8ICc8UmVhbG5hbWU+IDw8RW1haWw+PiAtIFF1ZXVlOiA8UXVldWU+JzsKICAgICAgICAgICAgJFN0cmluZyA9fiBzLzxRdWV1ZT4vJFF1ZXVlRGF0YXtOYW1lfS9nOwogICAgICAgICAgICAkU3RyaW5nID1+IHMvPFF1ZXVlQ29tbWVudD4vJFF1ZXVlRGF0YXtDb21tZW50fS9nOwogICAgICAgICAgICBpZiAoICRTZWxmLT57Q29uZmlnT2JqZWN0fS0+R2V0KCdUaWNrZXQ6OkZyb250ZW5kOjpOZXdRdWV1ZVNlbGVjdGlvblR5cGUnKSBuZSAnUXVldWUnICkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgbXkgJVN5c3RlbUFkZHJlc3NEYXRhID0gJFNlbGYtPntTeXN0ZW1BZGRyZXNzfS0+U3lzdGVtQWRkcmVzc0dldCgKICAgICAgICAgICAgICAgICAgICBJRCA9PiAkVG9zeyRRdWV1ZUlEfSwKICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgICAgICAkU3RyaW5nID1+IHMvPFJlYWxuYW1lPi8kU3lzdGVtQWRkcmVzc0RhdGF7UmVhbG5hbWV9L2c7CiAgICAgICAgICAgICAgICAkU3RyaW5nID1+IHMvPEVtYWlsPi8kU3lzdGVtQWRkcmVzc0RhdGF7TmFtZX0vZzsKICAgICAgICAgICAgfQogICAgICAgICAgICAkTmV3VG9zeyRRdWV1ZUlEfSA9ICRTdHJpbmc7CiAgICAgICAgfQogICAgfQoKICAgICMgYWRkIGVtcHR5IHNlbGVjdGlvbgogICAgJE5ld1Rvc3snJ30gPSAnLSc7CiAgICByZXR1cm4gXCVOZXdUb3M7Cn0KCnN1YiBfR2V0Tm90ZVR5cGVzIHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgbXkgJURlZmF1bHROb3RlVHlwZXMgPSAleyAkU2VsZi0+e0NvbmZpZ30tPntBcnRpY2xlVHlwZXN9IH07CgogICAgbXkgJU5vdGVUeXBlcyA9ICRTZWxmLT57VGlja2V0T2JqZWN0fS0+QXJ0aWNsZVR5cGVMaXN0KCBSZXN1bHQgPT4gJ0hBU0gnICk7CiAgICBmb3IgKCBzb3J0IGtleXMgJU5vdGVUeXBlcyApIHsKICAgICAgICBpZiAoICEkRGVmYXVsdE5vdGVUeXBlc3sgJE5vdGVUeXBlc3skX30gfSApIHsKICAgICAgICAgICAgZGVsZXRlICROb3RlVHlwZXN7JF99OwogICAgICAgIH0KICAgIH0KICAgIHJldHVybiBcJU5vdGVUeXBlczsKfQoKc3ViIF9HZXRTY3JlZW5FbGVtZW50cyB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgIG15IEBTY3JlZW5FbGVtZW50czsKCiAgICBpZiAoICRTZWxmLT57Q29uZmlnfS0+e1RpdGxlfSApIHsKICAgICAgICBteSAlVGlja2V0RGF0YSA9ICRTZWxmLT57VGlja2V0T2JqZWN0fS0+VGlja2V0R2V0KAogICAgICAgICAgICBUaWNrZXRJRCA9PiAkUGFyYW17VGlja2V0SUR9LAogICAgICAgICAgICBVc2VySUQgICA9PiAkUGFyYW17VXNlcklEfSwKICAgICAgICApOwogICAgICAgIG15ICRUaXRsZURlZmF1bHQ7CiAgICAgICAgaWYgKCAkVGlja2V0RGF0YXtUaXRsZX0gKSB7CiAgICAgICAgICAgICRUaXRsZURlZmF1bHQgPSAkVGlja2V0RGF0YXtUaXRsZX0gfHwgJyc7CiAgICAgICAgfQoKICAgICAgICBteSAkVGl0bGVFbGVtZW50cyA9IHsKICAgICAgICAgICAgTmFtZSAgICAgID0+ICdUaXRsZScsCiAgICAgICAgICAgIFRpdGxlICAgICA9PiAkU2VsZi0+e0xhbmd1YWdlT2JqZWN0fS0+R2V0KCdUaXRsZScpLAogICAgICAgICAgICBEYXRhdHlwZSAgPT4gJ1RleHQnLAogICAgICAgICAgICBWaWV3VHlwZSAgPT4gJ0lucHV0JywKICAgICAgICAgICAgTWluICAgICAgID0+IDEsCiAgICAgICAgICAgIE1heCAgICAgICA9PiAyMDAsCiAgICAgICAgICAgIE1hbmRhdG9yeSA9PiAxLAogICAgICAgICAgICBEZWZhdWx0ICAgPT4gJFRpdGxlRGVmYXVsdCB8fCAnJywKICAgICAgICB9OwogICAgICAgIHB1c2ggQFNjcmVlbkVsZW1lbnRzLCAkVGl0bGVFbGVtZW50czsKICAgIH0KCiAgICAjIHR5cGUKICAgIGlmICggJFNlbGYtPntDb25maWdPYmplY3R9LT5HZXQoJ1RpY2tldDo6VHlwZScpICYmICRTZWxmLT57Q29uZmlnfS0+e1RpY2tldFR5cGV9ICkgewogICAgICAgIG15ICRUeXBlRWxlbWVudHMgPSB7CiAgICAgICAgICAgIE5hbWUgICAgID0+ICdUeXBlSUQnLAogICAgICAgICAgICBUaXRsZSAgICA9PiAkU2VsZi0+e0xhbmd1YWdlT2JqZWN0fS0+R2V0KCdUeXBlJyksCiAgICAgICAgICAgIERhdGF0eXBlID0+ICdUZXh0JywKICAgICAgICAgICAgVmlld3R5cGUgPT4gJ1BpY2tlcicsCiAgICAgICAgICAgIE9wdGlvbnMgID0+IHsKICAgICAgICAgICAgICAgICV7CiAgICAgICAgICAgICAgICAgICAgJFNlbGYtPl9HZXRUeXBlcygKICAgICAgICAgICAgICAgICAgICAgICAgJVBhcmFtLAogICAgICAgICAgICAgICAgICAgICAgICBVc2VySUQgPT4gJFBhcmFte1VzZXJJRH0sCiAgICAgICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIE1hbmRhdG9yeSA9PiAxLAogICAgICAgICAgICBEZWZhdWx0ICAgPT4gJycsCiAgICAgICAgfTsKICAgICAgICBwdXNoIEBTY3JlZW5FbGVtZW50cywgJFR5cGVFbGVtZW50czsKICAgIH0KCiAgICAjIGZyb20sIHRvCiAgICBpZiAoICRQYXJhbXtTY3JlZW59IGVxICdQaG9uZScgKSB7CiAgICAgICAgbXkgJEN1c3RvbWVyRWxlbWVudHMgPSB7CiAgICAgICAgICAgIE5hbWUgICAgICAgICAgID0+ICdDdXN0b21lclVzZXJMb2dpbicsCiAgICAgICAgICAgIFRpdGxlICAgICAgICAgID0+ICRTZWxmLT57TGFuZ3VhZ2VPYmplY3R9LT5HZXQoJ0Zyb20gY3VzdG9tZXInKSwKICAgICAgICAgICAgRGF0YXR5cGUgICAgICAgPT4gJ1RleHQnLAogICAgICAgICAgICBWaWV3dHlwZSAgICAgICA9PiAnQXV0b0NvbXBsZXRpb24nLAogICAgICAgICAgICBEeW5hbWljT3B0aW9ucyA9PiB7CiAgICAgICAgICAgICAgICBPYmplY3QgICAgID0+ICdDdXN0b21PYmplY3QnLAogICAgICAgICAgICAgICAgTWV0aG9kICAgICA9PiAnQ3VzdG9tZXJTZWFyY2gnLAogICAgICAgICAgICAgICAgUGFyYW1ldGVycyA9PiBbCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBTZWFyY2ggPT4gJ0N1c3RvbWVyVXNlckxvZ2luJywKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgfSwKICAgICAgICAgICAgQXV0b0ZpbGxFbGVtZW50cyA9PiBbCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgRWxlbWVudE5hbWUgPT4gJ0N1c3RvbWVySUQnLAogICAgICAgICAgICAgICAgICAgIE9iamVjdCAgICAgID0+ICdDdXN0b21PYmplY3QnLAogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAgICAgID0+ICdDdXN0b21lcklER2V0JywKICAgICAgICAgICAgICAgICAgICBQYXJhbWV0ZXJzICA9PiBbCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIEN1c3RvbWVyVXNlcklEID0+ICdDdXN0b21lclVzZXJMb2dpbicsCiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgIF0sCiAgICAgICAgICAgIE1hbmRhdG9yeSA9PiAxLAogICAgICAgICAgICBEZWZhdWx0ICAgPT4gJycsCiAgICAgICAgfTsKICAgICAgICBwdXNoIEBTY3JlZW5FbGVtZW50cywgJEN1c3RvbWVyRWxlbWVudHM7CiAgICB9CgogICAgaWYgKCAkUGFyYW17U2NyZWVufSBlcSAnUGhvbmUnIHx8ICRQYXJhbXtTY3JlZW59IGVxICdNb3ZlJyApIHsKICAgICAgICBteSAkVGl0bGU7CiAgICAgICAgaWYgKCAkUGFyYW17U2NyZWVufSBlcSAnUGhvbmUnICkgewogICAgICAgICAgICAkVGl0bGUgPSAnVG8gcXVldWUnOwogICAgICAgIH0KICAgICAgICBlbHNlIHsKICAgICAgICAgICAgJFRpdGxlID0gJ05ldyBRdWV1ZScKICAgICAgICB9CiAgICAgICAgbXkgJFF1ZXVlRWxlbWVudHMgPSB7CiAgICAgICAgICAgIE5hbWUgICAgID0+ICdRdWV1ZUlEJywKICAgICAgICAgICAgVGl0bGUgICAgPT4gJFNlbGYtPntMYW5ndWFnZU9iamVjdH0tPkdldCgkVGl0bGUpLAogICAgICAgICAgICBEYXRhdHlwZSA9PiAnVGV4dCcsCiAgICAgICAgICAgIFZpZXd0eXBlID0+ICdQaWNrZXInLAogICAgICAgICAgICBPcHRpb25zICA9PiB7CiAgICAgICAgICAgICAgICAlewogICAgICAgICAgICAgICAgICAgICRTZWxmLT5fR2V0VG9zKAogICAgICAgICAgICAgICAgICAgICAgICAlUGFyYW0sCiAgICAgICAgICAgICAgICAgICAgICAgIFVzZXJJRCA9PiAkUGFyYW17VXNlcklEfSwKICAgICAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgfSwKICAgICAgICAgICAgTWFuZGF0b3J5ID0+IDEsCiAgICAgICAgICAgIERlZmF1bHQgICA9PiAnJywKICAgICAgICB9OwogICAgICAgIHB1c2ggQFNjcmVlbkVsZW1lbnRzLCAkUXVldWVFbGVtZW50czsKICAgIH0KCiAgICAjIHNlcnZpY2UKICAgIGlmICggJFNlbGYtPntDb25maWdPYmplY3R9LT5HZXQoJ1RpY2tldDo6U2VydmljZScpICYmICRTZWxmLT57Q29uZmlnfS0+e1NlcnZpY2V9ICkgewogICAgICAgIG15ICRTZXJ2aWNlRWxlbWVudHMgPSB7CiAgICAgICAgICAgIE5hbWUgICAgICAgICAgID0+ICdTZXJ2aWNlSUQnLAogICAgICAgICAgICBUaXRsZSAgICAgICAgICA9PiAkU2VsZi0+e0xhbmd1YWdlT2JqZWN0fS0+R2V0KCdTZXJ2aWNlJyksCiAgICAgICAgICAgIERhdGF0eXBlICAgICAgID0+ICdUZXh0JywKICAgICAgICAgICAgVmlld3R5cGUgICAgICAgPT4gJ1BpY2tlcicsCiAgICAgICAgICAgIER5bmFtaWNPcHRpb25zID0+IHsKICAgICAgICAgICAgICAgIE9iamVjdCAgICAgPT4gJ0N1c3RvbU9iamVjdCcsCiAgICAgICAgICAgICAgICBNZXRob2QgICAgID0+ICdTZXJ2aWNlc0dldCcsCiAgICAgICAgICAgICAgICBQYXJhbWV0ZXJzID0+IFsKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIEN1c3RvbWVyVXNlcklEID0+ICdDdXN0b21lclVzZXJMb2dpbicsCiAgICAgICAgICAgICAgICAgICAgICAgIFF1ZXVlSUQgICAgICAgID0+ICdRdWV1ZUlEJywKICAgICAgICAgICAgICAgICAgICAgICAgVGlja2V0SUQgICAgICAgPT4gJ1RpY2tldElEJywKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgfSwKICAgICAgICAgICAgTWFuZGF0b3J5ID0+IDAsCiAgICAgICAgICAgIERlZmF1bHQgICA9PiAnJywKICAgICAgICB9OwogICAgICAgIHB1c2ggQFNjcmVlbkVsZW1lbnRzLCAkU2VydmljZUVsZW1lbnRzOwogICAgfQoKICAgICMgc2xhCiAgICBpZiAoICRTZWxmLT57Q29uZmlnT2JqZWN0fS0+R2V0KCdUaWNrZXQ6OlNlcnZpY2UnKSAmJiAkU2VsZi0+e0NvbmZpZ30tPntTZXJ2aWNlfSApIHsKICAgICAgICBteSAkU0xBRWxlbWVudHMgPSB7CiAgICAgICAgICAgIE5hbWUgICAgICAgICAgID0+ICdTTEFJRCcsCiAgICAgICAgICAgIFRpdGxlICAgICAgICAgID0+ICRTZWxmLT57TGFuZ3VhZ2VPYmplY3R9LT5HZXQoJ1NMQScpLAogICAgICAgICAgICBEYXRhdHlwZSAgICAgICA9PiAnVGV4dCcsCiAgICAgICAgICAgIFZpZXd0eXBlICAgICAgID0+ICdQaWNrZXInLAogICAgICAgICAgICBEeW5hbWljT3B0aW9ucyA9PiB7CiAgICAgICAgICAgICAgICBPYmplY3QgICAgID0+ICdDdXN0b21PYmplY3QnLAogICAgICAgICAgICAgICAgTWV0aG9kICAgICA9PiAnU0xBc0dldCcsCiAgICAgICAgICAgICAgICBQYXJhbWV0ZXJzID0+IFsKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIEN1c3RvbWVyVXNlcklEID0+ICdDdXN0b21lclVzZXJMb2dpbicsCiAgICAgICAgICAgICAgICAgICAgICAgIFF1ZXVlSUQgICAgICAgID0+ICdRdWV1ZUlEJywKICAgICAgICAgICAgICAgICAgICAgICAgU2VydmljZUlEICAgICAgPT4gJ1NlcnZpY2VJRCcsCiAgICAgICAgICAgICAgICAgICAgICAgIFRpY2tldElEICAgICAgID0+ICdUaWNrZXRJRCcsCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIE1hbmRhdG9yeSA9PiAwLAogICAgICAgICAgICBEZWZhdWx0ICAgPT4gJycsCiAgICAgICAgfTsKICAgICAgICBwdXNoIEBTY3JlZW5FbGVtZW50cywgJFNMQUVsZW1lbnRzOwogICAgfQoKICAgICMgb3duZXIKICAgIGlmICggJFNlbGYtPntDb25maWd9LT57T3duZXJ9ICkgewogICAgICAgIG15ICRUaXRsZTsKICAgICAgICBpZiAoICRQYXJhbXtTY3JlZW59IGVxICdNb3ZlJyApIHsKICAgICAgICAgICAgJFRpdGxlID0gJ05ldyBPd25lcic7CiAgICAgICAgfQogICAgICAgIGVsc2UgewogICAgICAgICAgICAkVGl0bGUgPSAnT3duZXInOwogICAgICAgIH0KCiAgICAgICAgbXkgJE93bmVyRWxlbWVudHMgPSB7CiAgICAgICAgICAgIE5hbWUgICAgICAgICAgID0+ICdPd25lcklEJywKICAgICAgICAgICAgVGl0bGUgICAgICAgICAgPT4gJFNlbGYtPntMYW5ndWFnZU9iamVjdH0tPkdldCgkVGl0bGUpLAogICAgICAgICAgICBEYXRhdHlwZSAgICAgICA9PiAnVGV4dCcsCiAgICAgICAgICAgIFZpZXd0eXBlICAgICAgID0+ICdQaWNrZXInLAogICAgICAgICAgICBEeW5hbWljT3B0aW9ucyA9PiB7CiAgICAgICAgICAgICAgICBPYmplY3QgICAgID0+ICdDdXN0b21PYmplY3QnLAogICAgICAgICAgICAgICAgTWV0aG9kICAgICA9PiAnVXNlcnNHZXQnLAogICAgICAgICAgICAgICAgUGFyYW1ldGVycyA9PiBbCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBRdWV1ZUlEICA9PiAnUXVldWVJRCcsCiAgICAgICAgICAgICAgICAgICAgICAgIEFsbFVzZXJzID0+IDEsCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIE1hbmRhdG9yeSA9PiAwLAogICAgICAgICAgICBEZWZhdWx0ICAgPT4gJycsCiAgICAgICAgfTsKICAgICAgICBwdXNoIEBTY3JlZW5FbGVtZW50cywgJE93bmVyRWxlbWVudHM7CiAgICB9CgogICAgIyByZXNwb25zaWJsZQogICAgaWYgKCAkU2VsZi0+e0NvbmZpZ09iamVjdH0tPkdldCgnVGlja2V0OjpSZXNwb25zaWJsZScpICYmICRTZWxmLT57Q29uZmlnfS0+e1Jlc3BvbnNpYmxlfSApIHsKICAgICAgICBteSAkUmVzcG9uc2libGVFbGVtZW50cyA9IHsKICAgICAgICAgICAgTmFtZSAgICAgICAgICAgPT4gJ1Jlc3BvbnNpYmxlSUQnLAogICAgICAgICAgICBUaXRsZSAgICAgICAgICA9PiAkU2VsZi0+e0xhbmd1YWdlT2JqZWN0fS0+R2V0KCdSZXNwb25zaWJsZScpLAogICAgICAgICAgICBEYXRhdHlwZSAgICAgICA9PiAnVGV4dCcsCiAgICAgICAgICAgIFZpZXd0eXBlICAgICAgID0+ICdQaWNrZXInLAogICAgICAgICAgICBEeW5hbWljT3B0aW9ucyA9PiB7CiAgICAgICAgICAgICAgICBPYmplY3QgICAgID0+ICdDdXN0b21PYmplY3QnLAogICAgICAgICAgICAgICAgTWV0aG9kICAgICA9PiAnVXNlcnNHZXQnLAogICAgICAgICAgICAgICAgUGFyYW1ldGVycyA9PiBbCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBRdWV1ZUlEICA9PiAnUXVldWVJRCcsCiAgICAgICAgICAgICAgICAgICAgICAgIEFsbFVzZXJzID0+IDEsCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIE1hbmRhdG9yeSA9PiAwLAogICAgICAgICAgICBEZWZhdWx0ICAgPT4gJycsCiAgICAgICAgfTsKICAgICAgICBwdXNoIEBTY3JlZW5FbGVtZW50cywgJFJlc3BvbnNpYmxlRWxlbWVudHM7CiAgICB9CgogICAgaWYgKCAkUGFyYW17U2NyZWVufSBlcSAnQ29tcG9zZScgKSB7CiAgICAgICAgbXkgJUNvbXBvc2VEZWZhdWx0cyA9ICRTZWxmLT5fR2V0Q29tcG9zZURlZmF1bHRzKAogICAgICAgICAgICAlUGFyYW0sCiAgICAgICAgICAgIFVzZXJJRCAgID0+ICRQYXJhbXtVc2VySUR9LAogICAgICAgICAgICBUaWNrZXRJRCA9PiAkUGFyYW17VGlja2V0SUR9LAogICAgICAgICk7CgogICAgICAgIGlmICggISVDb21wb3NlRGVmYXVsdHMgKSB7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CgogICAgICAgIG15ICRDb21wb3NlRnJvbUVsZW1lbnRzID0gewogICAgICAgICAgICBOYW1lICAgICAgPT4gJ0Zyb20nLAogICAgICAgICAgICBUaXRsZSAgICAgPT4gJFNlbGYtPntMYW5ndWFnZU9iamVjdH0tPkdldCgnRnJvbScpLAogICAgICAgICAgICBEYXRhdHlwZSAgPT4gJ1RleHQnLAogICAgICAgICAgICBWaWV3dHlwZSAgPT4gJ0lucHV0JywKICAgICAgICAgICAgTWluICAgICAgID0+IDEsCiAgICAgICAgICAgIE1heCAgICAgICA9PiA1MCwKICAgICAgICAgICAgTWFuZGF0b3J5ID0+IDEsCiAgICAgICAgICAgIFJlYWRvbmx5ICA9PiAxLAogICAgICAgICAgICBEZWZhdWx0ICAgPT4gJENvbXBvc2VEZWZhdWx0c3tGcm9tfSB8fCAnJywKICAgICAgICB9OwogICAgICAgIHB1c2ggQFNjcmVlbkVsZW1lbnRzLCAkQ29tcG9zZUZyb21FbGVtZW50czsKCiAgICAgICAgbXkgJENvbXBvc2VUb0VsZW1lbnRzID0gewogICAgICAgICAgICBOYW1lICAgICAgPT4gJ1RvJywKICAgICAgICAgICAgVGl0bGUgICAgID0+ICRTZWxmLT57TGFuZ3VhZ2VPYmplY3R9LT5HZXQoJ1RvJyksCiAgICAgICAgICAgIERhdGF0eXBlICA9PiAnVGV4dCcsCiAgICAgICAgICAgIFZpZXd0eXBlICA9PiAnRU1haWwnLAogICAgICAgICAgICBNaW4gICAgICAgPT4gMSwKICAgICAgICAgICAgTWF4ICAgICAgID0+IDUwLAogICAgICAgICAgICBNYW5kYXRvcnkgPT4gMCwKICAgICAgICAgICAgRGVmYXVsdCAgID0+ICRDb21wb3NlRGVmYXVsdHN7VG99IHx8ICcnLAogICAgICAgIH07CiAgICAgICAgcHVzaCBAU2NyZWVuRWxlbWVudHMsICRDb21wb3NlVG9FbGVtZW50czsKCiAgICAgICAgbXkgJENvbXBvc2VDY0VsZW1lbnRzID0gewogICAgICAgICAgICBOYW1lICAgICAgPT4gJ0NjJywKICAgICAgICAgICAgVGl0bGUgICAgID0+ICRTZWxmLT57TGFuZ3VhZ2VPYmplY3R9LT5HZXQoJ0NjJyksCiAgICAgICAgICAgIERhdGF0eXBlICA9PiAnVGV4dCcsCiAgICAgICAgICAgIFZpZXd0eXBlICA9PiAnRU1haWwnLAogICAgICAgICAgICBNaW4gICAgICAgPT4gMSwKICAgICAgICAgICAgTWF4ICAgICAgID0+IDUwLAogICAgICAgICAgICBNYW5kYXRvcnkgPT4gMCwKICAgICAgICAgICAgRGVmYXVsdCAgID0+ICRDb21wb3NlRGVmYXVsdHN7Q2N9IHx8ICcnLAogICAgICAgIH07CiAgICAgICAgcHVzaCBAU2NyZWVuRWxlbWVudHMsICRDb21wb3NlQ2NFbGVtZW50czsKCiAgICAgICAgbXkgJENvbXBvc2VCY2NFbGVtZW50cyA9IHsKICAgICAgICAgICAgTmFtZSAgICAgID0+ICdCY2MnLAogICAgICAgICAgICBUaXRsZSAgICAgPT4gJFNlbGYtPntMYW5ndWFnZU9iamVjdH0tPkdldCgnQmNjJyksCiAgICAgICAgICAgIERhdGF0eXBlICA9PiAnVGV4dCcsCiAgICAgICAgICAgIFZpZXd0eXBlICA9PiAnRU1haWwnLAogICAgICAgICAgICBNaW4gICAgICAgPT4gMSwKICAgICAgICAgICAgTWF4ICAgICAgID0+IDUwLAogICAgICAgICAgICBNYW5kYXRvcnkgPT4gMCwKICAgICAgICAgICAgRGVmYXVsdCAgID0+ICRDb21wb3NlRGVmYXVsdHN7QmNjfSB8fCAnJywKICAgICAgICB9OwogICAgICAgIHB1c2ggQFNjcmVlbkVsZW1lbnRzLCAkQ29tcG9zZUJjY0VsZW1lbnRzOwoKICAgICAgICBteSAkU3ViamVjdEVsZW1lbnRzID0gewogICAgICAgICAgICBOYW1lICAgICAgPT4gJ1N1YmplY3QnLAogICAgICAgICAgICBUaXRsZSAgICAgPT4gJFNlbGYtPntMYW5ndWFnZU9iamVjdH0tPkdldCgnU3ViamVjdCcpLAogICAgICAgICAgICBEYXRhdHlwZSAgPT4gJ1RleHQnLAogICAgICAgICAgICBWaWV3dHlwZSAgPT4gJ0lucHV0JywKICAgICAgICAgICAgTWluICAgICAgID0+IDEsCiAgICAgICAgICAgIE1heCAgICAgICA9PiAyNTAsCiAgICAgICAgICAgIE1hbmRhdG9yeSA9PiAxLAogICAgICAgICAgICBEZWZhdWx0ICAgPT4gJENvbXBvc2VEZWZhdWx0c3tTdWJqZWN0fSB8fCAnJywKICAgICAgICB9OwogICAgICAgIHB1c2ggQFNjcmVlbkVsZW1lbnRzLCAkU3ViamVjdEVsZW1lbnRzOwoKICAgICAgICBteSAkQm9keUVsZW1lbnRzID0gewogICAgICAgICAgICBOYW1lICAgICAgPT4gJ0JvZHknLAogICAgICAgICAgICBUaXRsZSAgICAgPT4gJFNlbGYtPntMYW5ndWFnZU9iamVjdH0tPkdldCgnVGV4dCcpLAogICAgICAgICAgICBEYXRhdHlwZSAgPT4gJ1RleHQnLAogICAgICAgICAgICBWaWV3dHlwZSAgPT4gJ1RleHRBcmVhJywKICAgICAgICAgICAgTWluICAgICAgID0+IDEsCiAgICAgICAgICAgIE1heCAgICAgICA9PiAyMF8wMDAsCiAgICAgICAgICAgIE1hbmRhdG9yeSA9PiAxLAogICAgICAgICAgICBEZWZhdWx0ICAgPT4gJENvbXBvc2VEZWZhdWx0c3tCb2R5fSB8fCAnJywKICAgICAgICB9OwogICAgICAgIHB1c2ggQFNjcmVlbkVsZW1lbnRzLCAkQm9keUVsZW1lbnRzOwogICAgfQoKICAgICMgc3ViamVjdAogICAgaWYgKCAkUGFyYW17U2NyZWVufSBuZSAnQ29tcG9zZScgKSB7CiAgICAgICAgbXkgJERlZmF1bHRTdWJqZWN0ID0gJyc7CiAgICAgICAgaWYgKCAkU2VsZi0+e0NvbmZpZ30tPntTdWJqZWN0fSApIHsKICAgICAgICAgICAgJERlZmF1bHRTdWJqZWN0ID0gJFNlbGYtPntMYW5ndWFnZU9iamVjdH0tPkdldCggJFNlbGYtPntDb25maWd9LT57U3ViamVjdH0gKQogICAgICAgIH0KCiAgICAgICAgbXkgJFN1YmplY3RFbGVtZW50cyA9IHsKICAgICAgICAgICAgTmFtZSAgICAgID0+ICdTdWJqZWN0JywKICAgICAgICAgICAgVGl0bGUgICAgID0+ICRTZWxmLT57TGFuZ3VhZ2VPYmplY3R9LT5HZXQoJ1N1YmplY3QnKSwKICAgICAgICAgICAgRGF0YXR5cGUgID0+ICdUZXh0JywKICAgICAgICAgICAgVmlld3R5cGUgID0+ICdJbnB1dCcsCiAgICAgICAgICAgIE1pbiAgICAgICA9PiAxLAogICAgICAgICAgICBNYXggICAgICAgPT4gMjUwLAogICAgICAgICAgICBNYW5kYXRvcnkgPT4gMSwKICAgICAgICAgICAgRGVmYXVsdCAgID0+ICREZWZhdWx0U3ViamVjdCB8fCAnJywKICAgICAgICB9OwogICAgICAgIHB1c2ggQFNjcmVlbkVsZW1lbnRzLCAkU3ViamVjdEVsZW1lbnRzOwogICAgfQoKICAgICMgYm9keQogICAgaWYgKCAkUGFyYW17U2NyZWVufSBuZSAnQ29tcG9zZScgKSB7CiAgICAgICAgbXkgJEJvZHlFbGVtZW50cyA9IHsKICAgICAgICAgICAgTmFtZSAgICAgID0+ICdCb2R5JywKICAgICAgICAgICAgVGl0bGUgICAgID0+ICRTZWxmLT57TGFuZ3VhZ2VPYmplY3R9LT5HZXQoJ1RleHQnKSwKICAgICAgICAgICAgRGF0YXR5cGUgID0+ICdUZXh0JywKICAgICAgICAgICAgVmlld3R5cGUgID0+ICdUZXh0QXJlYScsCiAgICAgICAgICAgIE1pbiAgICAgICA9PiAxLAogICAgICAgICAgICBNYXggICAgICAgPT4gMjBfMDAwLAogICAgICAgICAgICBNYW5kYXRvcnkgPT4gMSwKICAgICAgICAgICAgRGVmYXVsdCAgID0+ICcnLAogICAgICAgIH07CiAgICAgICAgcHVzaCBAU2NyZWVuRWxlbWVudHMsICRCb2R5RWxlbWVudHM7CiAgICB9CgogICAgIyBjdXN0b21lciBpZAogICAgaWYgKCAkU2VsZi0+e0NvbmZpZ30tPntDdXN0b21lcklEfSApIHsKICAgICAgICBteSAkQ3VzdG9tZXJFbGVtZW50cyA9IHsKICAgICAgICAgICAgTmFtZSAgICAgID0+ICdDdXN0b21lcklEJywKICAgICAgICAgICAgVGl0bGUgICAgID0+ICRTZWxmLT57TGFuZ3VhZ2VPYmplY3R9LT5HZXQoJ0N1c3RvbWVySUQnKSwKICAgICAgICAgICAgRGF0YXR5cGUgID0+ICdUZXh0JywKICAgICAgICAgICAgVmlld3R5cGUgID0+ICdJbnB1dCcsCiAgICAgICAgICAgIE1pbiAgICAgICA9PiAxLAogICAgICAgICAgICBNYXggICAgICAgPT4gMTUwLAogICAgICAgICAgICBNYW5kYXRvcnkgPT4gMCwKICAgICAgICAgICAgRGVmYXVsdCAgID0+ICcnLAogICAgICAgIH07CiAgICAgICAgcHVzaCBAU2NyZWVuRWxlbWVudHMsICRDdXN0b21lckVsZW1lbnRzOwogICAgfQoKICAgICNub3RlCiAgICBpZiAoICRTZWxmLT57Q29uZmlnfS0+e05vdGV9ICkgewoKICAgICAgICBteSAkRGVmYXVsdEFydGljbGVUeXBlOwogICAgICAgIGlmICggJFNlbGYtPntDb25maWd9LT57QXJ0aWNsZVR5cGVEZWZhdWx0fSApIHsKICAgICAgICAgICAgJERlZmF1bHRBcnRpY2xlVHlwZSA9ICRTZWxmLT57Q29uZmlnfS0+e0FydGljbGVUeXBlRGVmYXVsdH07CiAgICAgICAgfQoKICAgICAgICBteSAkRGVmYXVsdEFydGljbGVUeXBlSUQ7CiAgICAgICAgaWYgKCREZWZhdWx0QXJ0aWNsZVR5cGUpIHsKICAgICAgICAgICAgJERlZmF1bHRBcnRpY2xlVHlwZUlEID0gJFNlbGYtPntUaWNrZXRPYmplY3R9LT5BcnRpY2xlVHlwZUxvb2t1cCgKICAgICAgICAgICAgICAgIEFydGljbGVUeXBlID0+ICREZWZhdWx0QXJ0aWNsZVR5cGUsCiAgICAgICAgICAgICk7CiAgICAgICAgfQogICAgICAgIG15ICROb3RlRWxlbWVudHMgPSB7CiAgICAgICAgICAgIE5hbWUgICAgID0+ICdBcnRpY2xlVHlwZUlEJywKICAgICAgICAgICAgVGl0bGUgICAgPT4gJFNlbGYtPntMYW5ndWFnZU9iamVjdH0tPkdldCgnTm90ZSB0eXBlJyksCiAgICAgICAgICAgIERhdGF0eXBlID0+ICdUZXh0JywKICAgICAgICAgICAgVmlld3R5cGUgPT4gJ1BpY2tlcicsCiAgICAgICAgICAgIE9wdGlvbnMgID0+IHsKICAgICAgICAgICAgICAgICV7ICRTZWxmLT5fR2V0Tm90ZVR5cGVzKCAlUGFyYW0sICkgfQogICAgICAgICAgICB9LAogICAgICAgICAgICBNYW5kYXRvcnkgICAgID0+IDEsCiAgICAgICAgICAgIERlZmF1bHQgICAgICAgPT4gJERlZmF1bHRBcnRpY2xlVHlwZUlEIHx8ICcnLAogICAgICAgICAgICBEZWZhdWx0T3B0aW9uID0+ICREZWZhdWx0QXJ0aWNsZVR5cGUgfHwgJycsCiAgICAgICAgfTsKICAgICAgICBwdXNoIEBTY3JlZW5FbGVtZW50cywgJE5vdGVFbGVtZW50czsKICAgIH0KCiAgICAjIHN0YXRlCiAgICBpZiAoICRTZWxmLT57Q29uZmlnfS0+e1N0YXRlfSApIHsKCiAgICAgICAgbXkgJERlZmF1bHRTdGF0ZTsKICAgICAgICBpZiAoICRTZWxmLT57Q29uZmlnfS0+e1N0YXRlRGVmYXVsdH0gKSB7CiAgICAgICAgICAgICREZWZhdWx0U3RhdGUgPSAkU2VsZi0+e0NvbmZpZ30tPntTdGF0ZURlZmF1bHR9CiAgICAgICAgfQoKICAgICAgICBteSAkRGVmYXVsdFN0YXRlSUQ7CiAgICAgICAgaWYgKCREZWZhdWx0U3RhdGUpIHsKCiAgICAgICAgICAgICMgY2FuJ3QgdXNlIFN0YXRlTG9va3VwIGZvciAyLjQgZnJhbWV3b3JrIGNvbXBhdGliaWxpdHkKICAgICAgICAgICAgbXkgJVN0YXRlID0gJFNlbGYtPntTdGF0ZU9iamVjdH0tPlN0YXRlR2V0KAogICAgICAgICAgICAgICAgTmFtZSA9PiAkRGVmYXVsdFN0YXRlLAogICAgICAgICAgICApOwoKICAgICAgICAgICAgaWYgKCVTdGF0ZSkgewogICAgICAgICAgICAgICAgJERlZmF1bHRTdGF0ZUlEID0gJFN0YXRle0lEfTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgbXkgJFN0YXRlRWxlbWVudHMgPSB7CiAgICAgICAgICAgIE5hbWUgICAgICAgICAgID0+ICdTdGF0ZUlEJywKICAgICAgICAgICAgVGl0bGUgICAgICAgICAgPT4gJFNlbGYtPntMYW5ndWFnZU9iamVjdH0tPkdldCgnTmV4dCBUaWNrZXQgU3RhdGUnKSwKICAgICAgICAgICAgRGF0YXR5cGUgICAgICAgPT4gJ1RleHQnLAogICAgICAgICAgICBWaWV3dHlwZSAgICAgICA9PiAnUGlja2VyJywKICAgICAgICAgICAgRHluYW1pY09wdGlvbnMgPT4gewogICAgICAgICAgICAgICAgT2JqZWN0ICAgICA9PiAnQ3VzdG9tT2JqZWN0JywKICAgICAgICAgICAgICAgIE1ldGhvZCAgICAgPT4gJ05leHRTdGF0ZXNHZXQnLAogICAgICAgICAgICAgICAgUGFyYW1ldGVycyA9PiBbCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBRdWV1ZUlEID0+ICdRdWV1ZUlEJywKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgfSwKICAgICAgICAgICAgTWFuZGF0b3J5ICAgICA9PiAxLAogICAgICAgICAgICBEZWZhdWx0ICAgICAgID0+ICREZWZhdWx0U3RhdGVJRCB8fCAnJywKICAgICAgICAgICAgRGVmYXVsdE9wdGlvbiA9PiAkRGVmYXVsdFN0YXRlIHx8ICcnLAogICAgICAgIH07CiAgICAgICAgcHVzaCBAU2NyZWVuRWxlbWVudHMsICRTdGF0ZUVsZW1lbnRzOwogICAgfQoKICAgICMgcGVuZGluZyBkYXRlCiAgICBpZiAoICRQYXJhbXtTY3JlZW59IGVxICdQaG9uZScgfHwgJFBhcmFte1NjcmVlbn0gZXEgJ0NvbXBvc2UnICkgewogICAgICAgIG15ICRQZW5kaW5nRGF0ZUVsZW1lbnRzID0gewogICAgICAgICAgICBOYW1lICAgICAgPT4gJ1BlbmRpbmdEYXRlJywKICAgICAgICAgICAgVGl0bGUgICAgID0+ICRTZWxmLT57TGFuZ3VhZ2VPYmplY3R9LT5HZXQoJ1BlbmRpbmcgRGF0ZSAoZm9yIHBlbmRpbmcqIHN0YXRlcyknKSwKICAgICAgICAgICAgRGF0YXR5cGUgID0+ICdEYXRlVGltZScsCiAgICAgICAgICAgIFZpZXd0eXBlICA9PiAnUGlja2VyJywKICAgICAgICAgICAgTWFuZGF0b3J5ID0+IDAsCiAgICAgICAgICAgIERlZmF1bHQgICA9PiAnJywKICAgICAgICB9OwogICAgICAgIHB1c2ggQFNjcmVlbkVsZW1lbnRzLCAkUGVuZGluZ0RhdGVFbGVtZW50czsKICAgIH0KCiAgICAjIHByaW9yaXR5CiAgICBpZiAoICRQYXJhbXtTY3JlZW59IGVxICdQaG9uZScgKSB7CgogICAgICAgIG15ICREZWZhdWx0UHJpb3JpdHk7CiAgICAgICAgaWYgKCAkU2VsZi0+e0NvbmZpZ30tPntQcmlvcml0eURlZmF1bHR9ICkgewogICAgICAgICAgICAkRGVmYXVsdFByaW9yaXR5ID0gJFNlbGYtPntDb25maWd9LT57UHJpb3JpdHlEZWZhdWx0fTsKICAgICAgICB9CgogICAgICAgIG15ICREZWZhdWx0UHJpb3JpdHlJRDsKICAgICAgICBpZiAoJERlZmF1bHRQcmlvcml0eSkgewogICAgICAgICAgICAkRGVmYXVsdFByaW9yaXR5SUQgPSAkU2VsZi0+e1ByaW9yaXR5T2JqZWN0fS0+UHJpb3JpdHlMb29rdXAoCiAgICAgICAgICAgICAgICBQcmlvcml0eSA9PiAkRGVmYXVsdFByaW9yaXR5LAogICAgICAgICAgICApOwogICAgICAgIH0KCiAgICAgICAgbXkgJFByaW9yaXR5RWxlbWVudHMgPSB7CiAgICAgICAgICAgIE5hbWUgICAgICAgICAgID0+ICdQcmlvcml0eUlEJywKICAgICAgICAgICAgVGl0bGUgICAgICAgICAgPT4gJFNlbGYtPntMYW5ndWFnZU9iamVjdH0tPkdldCgnUHJpb3JpdHknKSwKICAgICAgICAgICAgRGF0YXR5cGUgICAgICAgPT4gJ1RleHQnLAogICAgICAgICAgICBWaWV3dHlwZSAgICAgICA9PiAnUGlja2VyJywKICAgICAgICAgICAgRHluYW1pY09wdGlvbnMgPT4gewogICAgICAgICAgICAgICAgT2JqZWN0ICAgICA9PiAnQ3VzdG9tT2JqZWN0JywKICAgICAgICAgICAgICAgIE1ldGhvZCAgICAgPT4gJ1ByaW9yaXRpZXNHZXQnLAogICAgICAgICAgICAgICAgUGFyYW1ldGVycyA9PiAnJywKICAgICAgICAgICAgfSwKICAgICAgICAgICAgTWFuZGF0b3J5ICAgICA9PiAxLAogICAgICAgICAgICBEZWZhdWx0ICAgICAgID0+ICREZWZhdWx0UHJpb3JpdHlJRCB8fCAnJywKICAgICAgICAgICAgRGVmYXVsdE9wdGlvbiA9PiAkRGVmYXVsdFByaW9yaXR5IHx8ICcnLAogICAgICAgIH07CiAgICAgICAgcHVzaCBAU2NyZWVuRWxlbWVudHMsICRQcmlvcml0eUVsZW1lbnRzOwogICAgfQoKICAgICMgZHluYW1pYyBmaWVsZHMKICAgICMgZ2V0IGR5bmFtaWMgZmllbGQgY29uZmlnIGZvciB0aGUgc2NyZWVuCiAgICAkU2VsZi0+e0R5bmFtaWNGaWVsZEZpbHRlcn0gPSAkU2VsZi0+e0NvbmZpZ30tPntEeW5hbWljRmllbGR9OwoKICAgICMgZ2V0IHRoZSBkeW5hbWljIGZpZWxkcyBmb3IgdGlja2V0IG9iamVjdAogICAgJFNlbGYtPntEeW5hbWljRmllbGR9ID0gJFNlbGYtPntEeW5hbWljRmllbGRPYmplY3R9LT5EeW5hbWljRmllbGRMaXN0R2V0KAogICAgICAgIFZhbGlkICAgICAgID0+IDEsCiAgICAgICAgT2JqZWN0VHlwZSAgPT4gWyAnVGlja2V0JywgJ0FydGljbGUnIF0sCiAgICAgICAgRmllbGRGaWx0ZXIgPT4gJFNlbGYtPntEeW5hbWljRmllbGRGaWx0ZXJ9IHx8IHt9LAogICAgKTsKCiAgICAjIGdldCB1c2VyIHByZWZlcmVuY2VzCiAgICBteSAlVXNlclByZWZlcmVuY2VzID0gJFNlbGYtPntVc2VyT2JqZWN0fS0+R2V0UHJlZmVyZW5jZXMoIFVzZXJJRCA9PiAkUGFyYW17VXNlcklEfSApOwoKICAgICMgY3ljbGUgdHJvdWdoIHRoZSBhY3RpdmF0ZWQgRHluYW1pYyBGaWVsZHMgZm9yIHRoaXMgc2NyZWVuCiAgICBEWU5BTUlDRklFTEQ6CiAgICBmb3IgbXkgJER5bmFtaWNGaWVsZENvbmZpZyAoIEB7ICRTZWxmLT57RHluYW1pY0ZpZWxkfSB9ICkgewogICAgICAgIG5leHQgRFlOQU1JQ0ZJRUxEIGlmICFJc0hhc2hSZWZXaXRoRGF0YSgkRHluYW1pY0ZpZWxkQ29uZmlnKTsKICAgICAgICBuZXh0IERZTkFNSUNGSUVMRCBpZiAhSXNIYXNoUmVmV2l0aERhdGEoICREeW5hbWljRmllbGRDb25maWctPntDb25maWd9ICk7CiAgICAgICAgbmV4dCBEWU5BTUlDRklFTEQgaWYgISREeW5hbWljRmllbGRDb25maWctPntOYW1lfTsKCiAgICAgICAgbmV4dCBEWU5BTUlDRklFTEQgaWYgISRTZWxmLT57aVBob25lQmFja2VuZE9iamVjdH0tPklzSVBob25lQ2FwYWJsZSgKICAgICAgICAgICAgRHluYW1pY0ZpZWxkQ29uZmlnID0+ICREeW5hbWljRmllbGRDb25maWcsCiAgICAgICAgKTsKCiAgICAgICAgIyBjcmVhdGUgJFZhbHVlIGFzIHVuZGVmaW5lZCBiZWNhdXNlIGEgdXNlciBkZWZhdWx0IHZhbHVlIGNvdWxkIGJlICcnCiAgICAgICAgbXkgJFZhbHVlID0gdW5kZWY7CgogICAgICAgICMgb3ZlcnJpZGUgdGhlIHZhbHVlIGZyb20gdXNlciBwcmVmZXJlbmNlcyBpZiBpcyBzZXQKICAgICAgICBpZiAoICRVc2VyUHJlZmVyZW5jZXN7ICdVc2VyRHluYW1pY0ZpZWxkXycgLiAkRHluYW1pY0ZpZWxkQ29uZmlnLT57TmFtZX0gfSApIHsKICAgICAgICAgICAgJFZhbHVlID0gJFVzZXJQcmVmZXJlbmNlc3sgJ1VzZXJEeW5hbWljRmllbGRfJyAuICREeW5hbWljRmllbGRDb25maWctPntOYW1lfSB9OwogICAgICAgIH0KCiAgICAgICAgaWYgKCAkUGFyYW17VGlja2V0SUR9ICYmICREeW5hbWljRmllbGRDb25maWctPntPYmplY3RUeXBlfSBlcSAnVGlja2V0JyApIHsKICAgICAgICAgICAgJFZhbHVlID0gJFNlbGYtPntCYWNrZW5kT2JqZWN0fS0+VmFsdWVHZXQoCiAgICAgICAgICAgICAgICBEeW5hbWljRmllbGRDb25maWcgPT4gJER5bmFtaWNGaWVsZENvbmZpZywKICAgICAgICAgICAgICAgIE9iamVjdElEICAgICAgICAgICA9PiAkUGFyYW17VGlja2V0SUR9LAogICAgICAgICAgICApOwogICAgICAgIH0KCiAgICAgICAgbXkgJEZpZWxkRGVmaW5pdGlvbiA9ICRTZWxmLT57aVBob25lQmFja2VuZE9iamVjdH0tPkVkaXRGaWVsZFJlbmRlcigKICAgICAgICAgICAgRHluYW1pY0ZpZWxkQ29uZmlnID0+ICREeW5hbWljRmllbGRDb25maWcsCiAgICAgICAgICAgIFZhbHVlICAgICAgICAgICAgICA9PiAkVmFsdWUsCiAgICAgICAgICAgIFVzZURlZmF1bHRWYWx1ZSAgICA9PiAxLAogICAgICAgICAgICBMYW5ndWFnZU9iamVjdCAgICAgPT4gJFNlbGYtPntMYW5ndWFnZU9iamVjdH0sCiAgICAgICAgICAgIE1hbmRhdG9yeSAgICAgICAgICA9PiAkU2VsZi0+e0NvbmZpZ30tPntEeW5hbWljRmllbGR9LT57ICREeW5hbWljRmllbGRDb25maWctPntOYW1lfSB9ID09IDIsCiAgICAgICAgKTsKCiAgICAgICAgIyBjaGVjayBpZiB0aGUgRmllbGREZWZpbml0aW9uIGlzIGRlZmluZWQgYW5kIGNvdGFpbiBkYXRhLCBvdGhlcndpc2UgYW4gdW5kZWYgdmFyaWFibGUgaW4KICAgICAgICAjIHRoaXMgcG9pbnQgd2lsbCBjYXVzZSBhIE5VTEwgZWxlbWVudCBpbiB0aGUgQVJSQVkgYW5kIHdpbGwgY2F1c2UgaVBob25lIEFwcCB0byBjcmFzaAogICAgICAgIGlmICggSXNIYXNoUmVmV2l0aERhdGEoJEZpZWxkRGVmaW5pdGlvbikgKSB7CiAgICAgICAgICAgIHB1c2ggQFNjcmVlbkVsZW1lbnRzLCAkRmllbGREZWZpbml0aW9uOwogICAgICAgIH0KICAgIH0KCiAgICAjIHRpbWUgdW5pdHMKICAgIGlmICggJFNlbGYtPntDb25maWd9LT57VGltZVVuaXRzfSApIHsKICAgICAgICBteSAkTWFuZGF0b3J5OwogICAgICAgIGlmICggJFNlbGYtPntDb25maWdPYmplY3R9LT5HZXQoJ1RpY2tldDo6RnJvbnRlbmQ6Ok5lZWRBY2NvdW50ZWRUaW1lJykgKSB7CiAgICAgICAgICAgICRNYW5kYXRvcnkgPSAxOwogICAgICAgIH0KICAgICAgICBlbHNlIHsKICAgICAgICAgICAgJE1hbmRhdG9yeSA9IDA7CiAgICAgICAgfQogICAgICAgIG15ICRUaW1lVW5pdHNNZWFzdXJlICA9ICRTZWxmLT57Q29uZmlnT2JqZWN0fS0+R2V0KCdUaWNrZXQ6OkZyb250ZW5kOjpUaW1lVW5pdHMnKTsKICAgICAgICBteSAkVGltZVVuaXRzRWxlbWVudHMgPSB7CiAgICAgICAgICAgIE5hbWUgICAgICA9PiAnVGltZVVuaXRzJywKICAgICAgICAgICAgVGl0bGUgICAgID0+ICRTZWxmLT57TGFuZ3VhZ2VPYmplY3R9LT5HZXQoIlRpbWUgdW5pdHMgJFRpbWVVbml0c01lYXN1cmUiKSwKICAgICAgICAgICAgRGF0YXR5cGUgID0+ICdOdW1lcmljJywKICAgICAgICAgICAgVmlld3R5cGUgID0+ICdJbnB1dCcsCiAgICAgICAgICAgIE1pbiAgICAgICA9PiAxLAogICAgICAgICAgICBNYXggICAgICAgPT4gMTAsCiAgICAgICAgICAgIE1hbmRhdG9yeSA9PiAkTWFuZGF0b3J5LAogICAgICAgICAgICBEZWZhdWx0ICAgPT4gJycsCiAgICAgICAgfTsKICAgICAgICBwdXNoIEBTY3JlZW5FbGVtZW50cywgJFRpbWVVbml0c0VsZW1lbnRzOwogICAgfQogICAgcmV0dXJuIFxAU2NyZWVuRWxlbWVudHM7Cn0KCnN1YiBfVGlja2V0UGhvbmVOZXcgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICAkU2VsZi0+e0NvbmZpZ30gPSAkU2VsZi0+e0NvbmZpZ09iamVjdH0tPkdldCgnaVBob25lOjpGcm9udGVuZDo6QWdlbnRUaWNrZXRQaG9uZScpOwoKICAgIG15ICVTdGF0ZURhdGEgPSAoKTsKICAgIGlmICggJFBhcmFte1N0YXRlSUR9ICkgewogICAgICAgICVTdGF0ZURhdGEgPSAkU2VsZi0+e1RpY2tldE9iamVjdH0tPntTdGF0ZU9iamVjdH0tPlN0YXRlR2V0KAogICAgICAgICAgICBJRCA9PiAkUGFyYW17U3RhdGVJRH0sCiAgICAgICAgKTsKICAgIH0KCiAgICAjIHRyYW5zZm9ybSBwZW5kaW5nIHRpbWUsIHRpbWUgc3RhbXAgYmFzZWQgb24gdXNlciB0aW1lIHpvbmUKICAgIGlmICggSXNTdHJpbmdXaXRoRGF0YSggJFBhcmFte1BlbmRpbmdEYXRlfSApICkgewogICAgICAgICRQYXJhbXtQZW5kaW5nRGF0ZX0gPSAkU2VsZi0+X1RyYW5zZm9ybURhdGVTZWxlY3Rpb24oCiAgICAgICAgICAgIFRpbWVTdGFtcCA9PiAkUGFyYW17UGVuZGluZ0RhdGV9LAogICAgICAgICk7CiAgICB9CgogICAgbXkgJFVzZXJUaW1lWm9uZSA9ICRTZWxmLT57VXNlclRpbWVab25lfTsKCiAgICAjIGdldCBkeW5hbWljIGZpZWxkIGNvbmZpZyBmb3IgdGhlIHNjcmVlbgogICAgJFNlbGYtPntEeW5hbWljRmllbGRGaWx0ZXJ9ID0gJFNlbGYtPntDb25maWd9LT57RHluYW1pY0ZpZWxkfTsKCiAgICAjIGdldCB0aGUgZHluYW1pYyBmaWVsZHMgZm9yIHRpY2tldCBvYmplY3QKICAgICRTZWxmLT57RHluYW1pY0ZpZWxkfSA9ICRTZWxmLT57RHluYW1pY0ZpZWxkT2JqZWN0fS0+RHluYW1pY0ZpZWxkTGlzdEdldCgKICAgICAgICBWYWxpZCAgICAgICA9PiAxLAogICAgICAgIE9iamVjdFR5cGUgID0+IFsgJ1RpY2tldCcsICdBcnRpY2xlJyBdLAogICAgICAgIEZpZWxkRmlsdGVyID0+ICRTZWxmLT57RHluYW1pY0ZpZWxkRmlsdGVyfSB8fCB7fSwKICAgICk7CgogICAgbXkgJUR5bmFtaWNGaWVsZFZhbHVlczsKCiAgICAjIGN5Y2xlIHRyb3VnaCB0aGUgYWN0aXZhdGVkIER5bmFtaWMgRmllbGRzIGZvciB0aGlzIHNjcmVlbgogICAgRFlOQU1JQ0ZJRUxEOgogICAgZm9yIG15ICREeW5hbWljRmllbGRDb25maWcgKCBAeyAkU2VsZi0+e0R5bmFtaWNGaWVsZH0gfSApIHsKICAgICAgICBuZXh0IERZTkFNSUNGSUVMRCBpZiAhSXNIYXNoUmVmV2l0aERhdGEoJER5bmFtaWNGaWVsZENvbmZpZyk7CiAgICAgICAgbmV4dCBEWU5BTUlDRklFTEQgaWYgIUlzSGFzaFJlZldpdGhEYXRhKCAkRHluYW1pY0ZpZWxkQ29uZmlnLT57Q29uZmlnfSApOwogICAgICAgIG5leHQgRFlOQU1JQ0ZJRUxEIGlmICEkRHluYW1pY0ZpZWxkQ29uZmlnLT57TmFtZX07CgogICAgICAgIG5leHQgRFlOQU1JQ0ZJRUxEIGlmICEkU2VsZi0+e2lQaG9uZUJhY2tlbmRPYmplY3R9LT5Jc0lQaG9uZUNhcGFibGUoCiAgICAgICAgICAgIER5bmFtaWNGaWVsZENvbmZpZyA9PiAkRHluYW1pY0ZpZWxkQ29uZmlnLAogICAgICAgICk7CgogICAgICAgICMgZXh0cmFjdCB0aGUgZHluYW1pYyBmaWVsZCB2YWx1ZSBmb3JtIHBhcmFtZXRlcnMKICAgICAgICAkRHluYW1pY0ZpZWxkVmFsdWVzeyAkRHluYW1pY0ZpZWxkQ29uZmlnLT57TmFtZX0gfSA9CiAgICAgICAgICAgICRTZWxmLT57aVBob25lQmFja2VuZE9iamVjdH0tPkVkaXRGaWVsZFZhbHVlR2V0KAogICAgICAgICAgICBEeW5hbWljRmllbGRDb25maWcgPT4gJER5bmFtaWNGaWVsZENvbmZpZywKICAgICAgICAgICAgVHJhbnNmb3JtRGF0ZXMgICAgID0+IDEsCiAgICAgICAgICAgIFVzZXJUaW1lWm9uZSAgICAgICA9PiAkVXNlclRpbWVab25lIHx8IDAsCiAgICAgICAgICAgICVQYXJhbSwKICAgICAgICAgICAgKTsKCiAgICAgICAgIyBwZXJmb3JtIHZhbGlkYXRpb24gb2YgdGhlIGRhdGEKICAgICAgICBteSAkVmFsaWRhdGlvblJlc3VsdCA9ICRTZWxmLT57aVBob25lQmFja2VuZE9iamVjdH0tPkVkaXRGaWVsZFZhbHVlVmFsaWRhdGUoCiAgICAgICAgICAgIER5bmFtaWNGaWVsZENvbmZpZyA9PiAkRHluYW1pY0ZpZWxkQ29uZmlnLAogICAgICAgICAgICBWYWx1ZSAgICAgICAgICAgICAgPT4gJER5bmFtaWNGaWVsZFZhbHVlc3sgJER5bmFtaWNGaWVsZENvbmZpZy0+e05hbWV9IH0sCiAgICAgICAgICAgIE1hbmRhdG9yeSAgICAgICAgICA9PiAkU2VsZi0+e0NvbmZpZ30tPntEeW5hbWljRmllbGR9LT57ICREeW5hbWljRmllbGRDb25maWctPntOYW1lfSB9ID09IDIsCiAgICAgICAgKTsKCiAgICAgICAgaWYgKCAhSXNIYXNoUmVmV2l0aERhdGEoJFZhbGlkYXRpb25SZXN1bHQpICkgewogICAgICAgICAgICAkU2VsZi0+e0xvZ09iamVjdH0tPkxvZygKICAgICAgICAgICAgICAgIFByaW9yaXR5ID0+ICdlcnJvcicsCiAgICAgICAgICAgICAgICBNZXNzYWdlICA9PiAiQ291bGQgbm90IHBlcmZvcm0gdmFsaWRhdGlvbiBvbiBmaWVsZCAkRHluYW1pY0ZpZWxkQ29uZmlnLT57TGFiZWx9ISIsCiAgICAgICAgICAgICk7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CgogICAgICAgICMgcHJvcGFnYXRlIHZhbGlkYXRpb24gZXJyb3IKICAgICAgICBpZiAoICRWYWxpZGF0aW9uUmVzdWx0LT57U2VydmVyRXJyb3J9ICkgewoKICAgICAgICAgICAgbXkgJEVycm9yTWVzc2FnZSA9ICRWYWxpZGF0aW9uUmVzdWx0LT57RXJyb3JNZXNzYWdlfQogICAgICAgICAgICAgICAgfHwgIkR5bmFtaWMgZmllbGQgJER5bmFtaWNGaWVsZENvbmZpZy0+e0xhYmVsfSBpbnZhbGlkIjsKCiAgICAgICAgICAgICRTZWxmLT57TG9nT2JqZWN0fS0+TG9nKAogICAgICAgICAgICAgICAgUHJpb3JpdHkgPT4gJ2Vycm9yJywKICAgICAgICAgICAgICAgIE1lc3NhZ2UgID0+ICRFcnJvck1lc3NhZ2UsCiAgICAgICAgICAgICk7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICB9CgogICAgbXkgJEN1c3RvbWVyVXNlciA9ICRQYXJhbXtDdXN0b21lclVzZXJMb2dpbn07CiAgICBteSAkQ3VzdG9tZXJJRCA9ICRQYXJhbXtDdXN0b21lcklEfSB8fCAnJzsKCiAgICAjIHJld3JhcCBib2R5IGlmIGV4aXN0cwogICAgaWYgKCAkU2VsZi0+e0NvbmZpZ09iamVjdH0tPkdldCgnRnJvbnRlbmQ6OlJpY2hUZXh0JykgJiYgJFBhcmFte0JvZHl9ICkgewogICAgICAgICRQYXJhbXtCb2R5fQogICAgICAgICAgICA9fiBzLyhePi4rfC57NCwkU2VsZi0+e0NvbmZpZ09iamVjdH0tPkdldCgnVGlja2V0OjpGcm9udGVuZDo6VGV4dEFyZWFOb3RlJyl9KSg/OlxzfFx6KS8kMVxuL2dtOwogICAgfQoKICAgICMgY2hlY2sgcGVuZGluZyBkYXRlCiAgICBpZiAoICRTdGF0ZURhdGF7VHlwZU5hbWV9ICYmICRTdGF0ZURhdGF7VHlwZU5hbWV9ID1+IC9ecGVuZGluZy9pICkgewogICAgICAgIGlmICggISRTZWxmLT57VGltZU9iamVjdH0tPlRpbWVTdGFtcDJTeXN0ZW1UaW1lKCBTdHJpbmcgPT4gJFBhcmFte1BlbmRpbmdEYXRlfSApICkgewogICAgICAgICAgICAkU2VsZi0+e0xvZ09iamVjdH0tPkxvZygKICAgICAgICAgICAgICAgIFByaW9yaXR5ID0+ICdlcnJvcicsCiAgICAgICAgICAgICAgICBNZXNzYWdlICA9PiAnRGF0ZSBpbnZhbGlkJywKICAgICAgICAgICAgKTsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgICAgICBpZiAoCiAgICAgICAgICAgICRTZWxmLT57VGltZU9iamVjdH0tPlRpbWVTdGFtcDJTeXN0ZW1UaW1lKCBTdHJpbmcgPT4gJFBhcmFte1BlbmRpbmdEYXRlfSApCiAgICAgICAgICAgIDwgJFNlbGYtPntUaW1lT2JqZWN0fS0+U3lzdGVtVGltZSgpCiAgICAgICAgICAgICkKICAgICAgICB7CiAgICAgICAgICAgICRTZWxmLT57TG9nT2JqZWN0fS0+TG9nKAogICAgICAgICAgICAgICAgUHJpb3JpdHkgPT4gJ2Vycm9yJywKICAgICAgICAgICAgICAgIE1lc3NhZ2UgID0+ICdEYXRlIGludmFsaWQnLAogICAgICAgICAgICApOwogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQogICAgfQoKICAgICNnZXQgY3VzdG9tZXIgaW5mbwogICAgbXkgJUN1c3RvbWVyVXNlckRhdGEgPSAkU2VsZi0+e0N1c3RvbWVyVXNlck9iamVjdH0tPkN1c3RvbWVyVXNlckRhdGFHZXQoCiAgICAgICAgVXNlciA9PiAkQ3VzdG9tZXJVc2VyLAogICAgKTsKICAgIG15ICVDdXN0b21lclVzZXJMaXN0ID0gJFNlbGYtPntDdXN0b21lclVzZXJPYmplY3R9LT5DdXN0b21lclNlYXJjaCgKICAgICAgICBVc2VyTG9naW4gPT4gJEN1c3RvbWVyVXNlciwKICAgICk7CiAgICBteSAkRnJvbTsKICAgIGlmICglQ3VzdG9tZXJVc2VyTGlzdCkgewogICAgICAgIGZvciAoIHNvcnQga2V5cyAlQ3VzdG9tZXJVc2VyTGlzdCApIHsKCiAgICAgICAgICAgIGlmICggJFBhcmFte0N1c3RvbWVyVXNlckxvZ2lufSBlcSAkXyApIHsKICAgICAgICAgICAgICAgICRGcm9tID0gJEN1c3RvbWVyVXNlckxpc3R7JF99CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICAkRnJvbSA9ICRDdXN0b21lclVzZXI7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CiAgICBlbHNlIHsKICAgICAgICAkRnJvbSA9ICRDdXN0b21lclVzZXI7CiAgICB9CgogICAgIyBjaGVjayBlbWFpbCBhZGRyZXNzCiAgICBmb3IgbXkgJEVtYWlsICggTWFpbDo6QWRkcmVzcy0+cGFyc2UoICRDdXN0b21lclVzZXJEYXRhe1VzZXJFbWFpbH0gKSApIHsKICAgICAgICBpZiAoICEkU2VsZi0+e0NoZWNrSXRlbU9iamVjdH0tPkNoZWNrRW1haWwoIEFkZHJlc3MgPT4gJEVtYWlsLT5hZGRyZXNzKCkgKSApIHsKICAgICAgICAgICAgbXkgJFNlcnZlckVycm9yID0gJFNlbGYtPntDaGVja0l0ZW1PYmplY3R9LT5DaGVja0Vycm9yKCk7CiAgICAgICAgICAgICRTZWxmLT57TG9nT2JqZWN0fS0+TG9nKAogICAgICAgICAgICAgICAgUHJpb3JpdHkgPT4gJ2Vycm9yJywKICAgICAgICAgICAgICAgIE1lc3NhZ2UgID0+ICJFcnJvciBvbiBmaWVsZCBcIkZyb21cIiAgXG4gJFNlcnZlckVycm9yIiwKICAgICAgICAgICAgKTsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgIH0KICAgIGlmICggISRQYXJhbXtDdXN0b21lclVzZXJMb2dpbn0gKSB7CiAgICAgICAgJFNlbGYtPntMb2dPYmplY3R9LT5Mb2coCiAgICAgICAgICAgIFByaW9yaXR5ID0+ICdlcnJvcicsCiAgICAgICAgICAgIE1lc3NhZ2UgID0+ICdGcm9tIGludmFsaWQ6IEZyb20gaXMgZW1wdHknLAogICAgICAgICk7CiAgICAgICAgcmV0dXJuOwogICAgfQogICAgaWYgKCAhJFBhcmFte1N1YmplY3R9ICkgewogICAgICAgICRTZWxmLT57TG9nT2JqZWN0fS0+TG9nKAogICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICBNZXNzYWdlICA9PiAnU3ViamVjdCBpbnZhbGlkOiBTdWJqZWN0IGlzIGVtcHR5JywKICAgICAgICApOwogICAgICAgIHJldHVybjsKICAgIH0KICAgIGlmICggISRQYXJhbXtRdWV1ZUlEfSApIHsKICAgICAgICAkU2VsZi0+e0xvZ09iamVjdH0tPkxvZygKICAgICAgICAgICAgUHJpb3JpdHkgPT4gJ2Vycm9yJywKICAgICAgICAgICAgTWVzc2FnZSAgPT4gJ0Rlc3RpbmF0aW9uIGludmFsaWQ6IERlc3RpbmF0aW9uIHF1ZXVlIGlzIGVtcHR5JywKICAgICAgICApOwogICAgICAgIHJldHVybjsKICAgIH0KICAgIGlmICgKICAgICAgICAkU2VsZi0+e0NvbmZpZ09iamVjdH0tPkdldCgnVGlja2V0OjpTZXJ2aWNlJykKICAgICAgICAmJiAkUGFyYW17U0xBSUR9CiAgICAgICAgJiYgISRQYXJhbXtTZXJ2aWNlSUR9CiAgICAgICAgKQogICAgewogICAgICAgICRTZWxmLT57TG9nT2JqZWN0fS0+TG9nKAogICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICBNZXNzYWdlICA9PiAnU2VydmljZSBpbnZhbGlkOiBubyBzZXJ2aWNlIHNlbGVjdGVkJywKICAgICAgICApOwogICAgICAgIHJldHVybjsKICAgIH0KCiAgICAjIGNyZWF0ZSBuZXcgdGlja2V0LCBkbyBkYiBpbnNlcnQKICAgIG15ICRUaWNrZXRJRCA9ICRTZWxmLT57VGlja2V0T2JqZWN0fS0+VGlja2V0Q3JlYXRlKAogICAgICAgIFRpdGxlICAgICAgICA9PiAkUGFyYW17U3ViamVjdH0sCiAgICAgICAgUXVldWVJRCAgICAgID0+ICRQYXJhbXtRdWV1ZUlEfSwKICAgICAgICBTdWJqZWN0ICAgICAgPT4gJFBhcmFte1N1YmplY3R9LAogICAgICAgIExvY2sgICAgICAgICA9PiAndW5sb2NrJywKICAgICAgICBUeXBlSUQgICAgICAgPT4gJFBhcmFte1R5cGVJRH0sCiAgICAgICAgU2VydmljZUlEICAgID0+ICRQYXJhbXtTZXJ2aWNlSUR9LAogICAgICAgIFNMQUlEICAgICAgICA9PiAkUGFyYW17U0xBSUR9LAogICAgICAgIFN0YXRlSUQgICAgICA9PiAkUGFyYW17U3RhdGVJRH0sCiAgICAgICAgUHJpb3JpdHlJRCAgID0+ICRQYXJhbXtQcmlvcml0eUlEfSwKICAgICAgICBPd25lcklEICAgICAgPT4gMSwKICAgICAgICBDdXN0b21lck5vICAgPT4gJEN1c3RvbWVySUQsCiAgICAgICAgQ3VzdG9tZXJVc2VyID0+ICRDdXN0b21lclVzZXIsCiAgICAgICAgVXNlcklEICAgICAgID0+ICRQYXJhbXtVc2VySUR9LAogICAgKTsKICAgIGlmICggISRUaWNrZXRJRCApIHsKICAgICAgICAkU2VsZi0+e0xvZ09iamVjdH0tPkxvZygKICAgICAgICAgICAgUHJpb3JpdHkgPT4gJ2Vycm9yJywKICAgICAgICAgICAgTWVzc2FnZSAgPT4gJ0Vycm9yOiBObyB0aWNrZXQgY3JlYXRlZCEgUGxlYXNlIGNvbnRhY3QgYWRtaW4nLAogICAgICAgICk7CiAgICAgICAgcmV0dXJuOwogICAgfQoKICAgICMgc2V0IHRpY2tldCBkeW5hbWljIGZpZWxkcwogICAgIyBjeWNsZSB0cm91Z2ggdGhlIGFjdGl2YXRlZCBEeW5hbWljIEZpZWxkcyBmb3IgdGhpcyBzY3JlZW4KICAgIERZTkFNSUNGSUVMRDoKICAgIGZvciBteSAkRHluYW1pY0ZpZWxkQ29uZmlnICggQHsgJFNlbGYtPntEeW5hbWljRmllbGR9IH0gKSB7CiAgICAgICAgbmV4dCBEWU5BTUlDRklFTEQgaWYgIUlzSGFzaFJlZldpdGhEYXRhKCREeW5hbWljRmllbGRDb25maWcpOwogICAgICAgIG5leHQgRFlOQU1JQ0ZJRUxEIGlmICREeW5hbWljRmllbGRDb25maWctPntPYmplY3RUeXBlfSBuZSAnVGlja2V0JzsKCiAgICAgICAgbmV4dCBEWU5BTUlDRklFTEQgaWYgISRTZWxmLT57aVBob25lQmFja2VuZE9iamVjdH0tPklzSVBob25lQ2FwYWJsZSgKICAgICAgICAgICAgRHluYW1pY0ZpZWxkQ29uZmlnID0+ICREeW5hbWljRmllbGRDb25maWcsCiAgICAgICAgKTsKCiAgICAgICAgIyBzZXQgdGhlIHZhbHVlCiAgICAgICAgbXkgJFN1Y2Nlc3MgPSAkU2VsZi0+e0JhY2tlbmRPYmplY3R9LT5WYWx1ZVNldCgKICAgICAgICAgICAgRHluYW1pY0ZpZWxkQ29uZmlnID0+ICREeW5hbWljRmllbGRDb25maWcsCiAgICAgICAgICAgIE9iamVjdElEICAgICAgICAgICA9PiAkVGlja2V0SUQsCiAgICAgICAgICAgIFZhbHVlICAgICAgICAgICAgICA9PiAkRHluYW1pY0ZpZWxkVmFsdWVzeyAkRHluYW1pY0ZpZWxkQ29uZmlnLT57TmFtZX0gfSwKICAgICAgICAgICAgVXNlcklEICAgICAgICAgICAgID0+ICRQYXJhbXtVc2VySUR9LAogICAgICAgICk7CiAgICB9CgogICAgbXkgJE1pbWVUeXBlID0gJ3RleHQvcGxhaW4nOwoKICAgICMgY2hlY2sgaWYgbmV3IG93bmVyIGlzIGdpdmVuICh0aGVuIHNlbmQgbm8gYWdlbnQgbm90aWZ5KQogICAgbXkgJE5vQWdlbnROb3RpZnkgPSAwOwogICAgaWYgKCAkUGFyYW17T3duZXJJRH0gKSB7CiAgICAgICAgJE5vQWdlbnROb3RpZnkgPSAxOwogICAgfQogICAgbXkgJFF1ZXVlTmFtZSA9ICRTZWxmLT57UXVldWVPYmplY3R9LT5RdWV1ZUxvb2t1cCggUXVldWVJRCA9PiAkUGFyYW17UXVldWVJRH0gKTsKCiAgICBteSAkQXJ0aWNsZUlEID0gJFNlbGYtPntUaWNrZXRPYmplY3R9LT5BcnRpY2xlQ3JlYXRlKAogICAgICAgIE5vQWdlbnROb3RpZnkgPT4gJE5vQWdlbnROb3RpZnksCiAgICAgICAgVGlja2V0SUQgICAgICA9PiAkVGlja2V0SUQsCiAgICAgICAgQXJ0aWNsZVR5cGUgICA9PiAkU2VsZi0+e0NvbmZpZ30tPntBcnRpY2xlVHlwZURlZmF1bHR9LAogICAgICAgIFNlbmRlclR5cGUgICAgPT4gJFNlbGYtPntDb25maWd9LT57U2VuZGVyVHlwZX0sCiAgICAgICAgRnJvbSAgICAgICAgICA9PiAkRnJvbSwKICAgICAgICBUbyAgICAgICAgICAgID0+ICRRdWV1ZU5hbWUsCiAgICAgICAgU3ViamVjdCAgICAgICA9PiAkUGFyYW17U3ViamVjdH0sCiAgICAgICAgQm9keSAgICAgICAgICA9PiAkUGFyYW17Qm9keX0sCiAgICAgICAgTWltZVR5cGUgICAgICA9PiAkTWltZVR5cGUsCgogICAgICAgICMgaXBob25lIG11c3Qgc2VuZCBpbmZvIGluIGN1cnJlbnQgY2hhcnNldAogICAgICAgIENoYXJzZXQgICAgICAgICAgPT4gJFNlbGYtPntDb25maWdPYmplY3R9LT5HZXQoJ0RlZmF1bHRDaGFyc2V0JyksCiAgICAgICAgVXNlcklEICAgICAgICAgICA9PiAkUGFyYW17VXNlcklEfSwKICAgICAgICBIaXN0b3J5VHlwZSAgICAgID0+ICRTZWxmLT57Q29uZmlnfS0+e0hpc3RvcnlUeXBlfSwKICAgICAgICBIaXN0b3J5Q29tbWVudCAgID0+ICRTZWxmLT57Q29uZmlnfS0+e0hpc3RvcnlDb21tZW50fSB8fCAnJSUnLAogICAgICAgIEF1dG9SZXNwb25zZVR5cGUgPT4gJ2F1dG8gcmVwbHknLAogICAgICAgIE9yaWdIZWFkZXIgICAgICAgPT4gewogICAgICAgICAgICBGcm9tICAgID0+ICRGcm9tLAogICAgICAgICAgICBUbyAgICAgID0+ICRRdWV1ZU5hbWUsCiAgICAgICAgICAgIFN1YmplY3QgPT4gJFBhcmFte1N1YmplY3R9LAogICAgICAgICAgICBCb2R5ICAgID0+ICRQYXJhbXtCb2R5fSwKICAgICAgICB9LAogICAgICAgIFF1ZXVlID0+ICRRdWV1ZU5hbWUsCiAgICApOwoKICAgIGlmICgkQXJ0aWNsZUlEKSB7CgogICAgICAgICMgc2V0IHRpY2tldCBkeW5hbWljIGZpZWxkcwogICAgICAgICMgY3ljbGUgdHJvdWdoIHRoZSBhY3RpdmF0ZWQgRHluYW1pYyBGaWVsZHMgZm9yIHRoaXMgc2NyZWVuCiAgICAgICAgRFlOQU1JQ0ZJRUxEOgogICAgICAgIGZvciBteSAkRHluYW1pY0ZpZWxkQ29uZmlnICggQHsgJFNlbGYtPntEeW5hbWljRmllbGR9IH0gKSB7CiAgICAgICAgICAgIG5leHQgRFlOQU1JQ0ZJRUxEIGlmICFJc0hhc2hSZWZXaXRoRGF0YSgkRHluYW1pY0ZpZWxkQ29uZmlnKTsKICAgICAgICAgICAgbmV4dCBEWU5BTUlDRklFTEQgaWYgJER5bmFtaWNGaWVsZENvbmZpZy0+e09iamVjdFR5cGV9IG5lICdBcnRpY2xlJzsKCiAgICAgICAgICAgIG5leHQgRFlOQU1JQ0ZJRUxEIGlmICEkU2VsZi0+e2lQaG9uZUJhY2tlbmRPYmplY3R9LT5Jc0lQaG9uZUNhcGFibGUoCiAgICAgICAgICAgICAgICBEeW5hbWljRmllbGRDb25maWcgPT4gJER5bmFtaWNGaWVsZENvbmZpZywKICAgICAgICAgICAgKTsKCiAgICAgICAgICAgICMgc2V0IHRoZSB2YWx1ZQogICAgICAgICAgICBteSAkU3VjY2VzcyA9ICRTZWxmLT57QmFja2VuZE9iamVjdH0tPlZhbHVlU2V0KAogICAgICAgICAgICAgICAgRHluYW1pY0ZpZWxkQ29uZmlnID0+ICREeW5hbWljRmllbGRDb25maWcsCiAgICAgICAgICAgICAgICBPYmplY3RJRCAgICAgICAgICAgPT4gJEFydGljbGVJRCwKICAgICAgICAgICAgICAgIFZhbHVlICAgICAgICAgICAgICA9PiAkRHluYW1pY0ZpZWxkVmFsdWVzeyAkRHluYW1pY0ZpZWxkQ29uZmlnLT57TmFtZX0gfSwKICAgICAgICAgICAgICAgIFVzZXJJRCAgICAgICAgICAgICA9PiAkUGFyYW17VXNlcklEfSwKICAgICAgICAgICAgKTsKICAgICAgICB9CgogICAgICAgICMgc2V0IG93bmVyIChpZiBuZXcgdXNlciBpZCBpcyBnaXZlbikKICAgICAgICBpZiAoICRQYXJhbXtPd25lcklEfSApIHsKICAgICAgICAgICAgJFNlbGYtPntUaWNrZXRPYmplY3R9LT5UaWNrZXRPd25lclNldCgKICAgICAgICAgICAgICAgIFRpY2tldElEICA9PiAkVGlja2V0SUQsCiAgICAgICAgICAgICAgICBOZXdVc2VySUQgPT4gJFBhcmFte093bmVySUR9LAogICAgICAgICAgICAgICAgVXNlcklEICAgID0+ICRQYXJhbXtVc2VySUR9LAogICAgICAgICAgICApOwoKICAgICAgICAgICAgIyBzZXQgbG9jawogICAgICAgICAgICAkU2VsZi0+e1RpY2tldE9iamVjdH0tPlRpY2tldExvY2tTZXQoCiAgICAgICAgICAgICAgICBUaWNrZXRJRCA9PiAkVGlja2V0SUQsCiAgICAgICAgICAgICAgICBMb2NrICAgICA9PiAnbG9jaycsCiAgICAgICAgICAgICAgICBVc2VySUQgICA9PiAkUGFyYW17VXNlcklEfSwKICAgICAgICAgICAgKTsKICAgICAgICB9CgogICAgICAgICMgZWxzZSBzZXQgb3duZXIgdG8gY3VycmVudCBhZ2VudCBidXQgZG8gbm90IGxvY2sgaXQKICAgICAgICBlbHNlIHsKICAgICAgICAgICAgJFNlbGYtPntUaWNrZXRPYmplY3R9LT5UaWNrZXRPd25lclNldCgKICAgICAgICAgICAgICAgIFRpY2tldElEICAgICAgICAgICA9PiAkVGlja2V0SUQsCiAgICAgICAgICAgICAgICBOZXdVc2VySUQgICAgICAgICAgPT4gJFBhcmFte1VzZXJJRH0sCiAgICAgICAgICAgICAgICBTZW5kTm9Ob3RpZmljYXRpb24gPT4gMSwKICAgICAgICAgICAgICAgIFVzZXJJRCAgICAgICAgICAgICA9PiAkUGFyYW17VXNlcklEfSwKICAgICAgICAgICAgKTsKICAgICAgICB9CgogICAgICAgICMgc2V0IHJlc3BvbnNpYmxlIChpZiBuZXcgdXNlciBpZCBpcyBnaXZlbikKICAgICAgICBpZiAoICRQYXJhbXtSZXNwb25zaWJsZUlEfSApIHsKICAgICAgICAgICAgJFNlbGYtPntUaWNrZXRPYmplY3R9LT5UaWNrZXRSZXNwb25zaWJsZVNldCgKICAgICAgICAgICAgICAgIFRpY2tldElEICA9PiAkVGlja2V0SUQsCiAgICAgICAgICAgICAgICBOZXdVc2VySUQgPT4gJFBhcmFte1Jlc3BvbnNpYmxlSUR9LAogICAgICAgICAgICAgICAgVXNlcklEICAgID0+ICRQYXJhbXtVc2VySUR9LAogICAgICAgICAgICApOwogICAgICAgIH0KCiAgICAgICAgIyB0aW1lIGFjY291bnRpbmcKICAgICAgICBpZiAoICRQYXJhbXtUaW1lVW5pdHN9ICkgewogICAgICAgICAgICAkU2VsZi0+e1RpY2tldE9iamVjdH0tPlRpY2tldEFjY291bnRUaW1lKAogICAgICAgICAgICAgICAgVGlja2V0SUQgID0+ICRUaWNrZXRJRCwKICAgICAgICAgICAgICAgIEFydGljbGVJRCA9PiAkQXJ0aWNsZUlELAogICAgICAgICAgICAgICAgVGltZVVuaXQgID0+ICRQYXJhbXtUaW1lVW5pdHN9LAogICAgICAgICAgICAgICAgVXNlcklEICAgID0+ICRQYXJhbXtVc2VySUR9LAogICAgICAgICAgICApOwogICAgICAgIH0KCiAgICAgICAgIyBzaG91bGQgaSBzZXQgYW4gdW5sb2NrPwogICAgICAgIG15ICVTdGF0ZURhdGEgPSAkU2VsZi0+e1N0YXRlT2JqZWN0fS0+U3RhdGVHZXQoIElEID0+ICRQYXJhbXtTdGF0ZUlEfSApOwogICAgICAgIGlmICggJFN0YXRlRGF0YXtUeXBlTmFtZX0gPX4gL15jbG9zZS9pICkgewogICAgICAgICAgICAkU2VsZi0+e1RpY2tldE9iamVjdH0tPlRpY2tldExvY2tTZXQoCiAgICAgICAgICAgICAgICBUaWNrZXRJRCA9PiAkVGlja2V0SUQsCiAgICAgICAgICAgICAgICBMb2NrICAgICA9PiAndW5sb2NrJywKICAgICAgICAgICAgICAgIFVzZXJJRCAgID0+ICRQYXJhbXtVc2VySUR9LAogICAgICAgICAgICApOwogICAgICAgIH0KCiAgICAgICAgIyBzZXQgcGVuZGluZyB0aW1lCiAgICAgICAgZWxzaWYgKCAkU3RhdGVEYXRhe1R5cGVOYW1lfSA9fiAvXnBlbmRpbmcvaSApIHsKCiAgICAgICAgICAgICMgc2V0IHBlbmRpbmcgdGltZQogICAgICAgICAgICAkU2VsZi0+e1RpY2tldE9iamVjdH0tPlRpY2tldFBlbmRpbmdUaW1lU2V0KAogICAgICAgICAgICAgICAgVXNlcklEICAgPT4gJFBhcmFte1VzZXJJRH0sCiAgICAgICAgICAgICAgICBUaWNrZXRJRCA9PiAkVGlja2V0SUQsCiAgICAgICAgICAgICAgICBTdHJpbmcgICA9PiAkUGFyYW17UGVuZGluZ0RhdGV9LAogICAgICAgICAgICApOwogICAgICAgIH0KICAgICAgICByZXR1cm4gaW50ICRUaWNrZXRJRDsKICAgIH0KICAgIGVsc2UgewogICAgICAgICRTZWxmLT57TG9nT2JqZWN0fS0+TG9nKAogICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICBNZXNzYWdlICA9PiAnRXJyb3I6IG5vIGFydGljbGUgd2FzIGNyZWF0ZWQhIFBsZWFzZSBjb250YWN0IHRoZSBhZG1pbicsCiAgICAgICAgKTsKICAgICAgICByZXR1cm47CiAgICB9Cn0KCnN1YiBfVGlja2V0Q29tbW9uQWN0aW9ucyB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgICRTZWxmLT57Q29uZmlnfSA9ICRTZWxmLT57Q29uZmlnT2JqZWN0fS0+R2V0KCAnaVBob25lOjpGcm9udGVuZDo6QWdlbnRUaWNrZXQnIC4gJFBhcmFte0FjdGlvbn0gKTsKCiAgICBteSAlU3RhdGVEYXRhID0gKCk7CgogICAgaWYgKCAkUGFyYW17U3RhdGVJRH0gKSB7CiAgICAgICAgJVN0YXRlRGF0YSA9ICRTZWxmLT57VGlja2V0T2JqZWN0fS0+e1N0YXRlT2JqZWN0fS0+U3RhdGVHZXQoCiAgICAgICAgICAgIElEID0+ICRQYXJhbXtTdGF0ZUlEfSwKICAgICAgICApOwogICAgfQoKICAgICMgY2hlY2sgbmVlZGVkIHN0dWZmCiAgICBpZiAoICEkUGFyYW17VGlja2V0SUR9ICkgewogICAgICAgICRTZWxmLT57TG9nT2JqZWN0fS0+TG9nKAogICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICBNZXNzYWdlICA9PiAnTm8gVGlja2V0SUQgaXMgZ2l2ZW4hIFBsZWFzZSBjb250YWN0IHRoZSBhZG1pbi4nLAogICAgICAgICk7CiAgICAgICAgcmV0dXJuOwogICAgfQoKICAgICMgY2hlY2sgcGVybWlzc2lvbnMKICAgIG15ICRBY2Nlc3MgPSAkU2VsZi0+e1RpY2tldE9iamVjdH0tPlRpY2tldFBlcm1pc3Npb24oCiAgICAgICAgVHlwZSAgICAgPT4gJFNlbGYtPntDb25maWd9LT57UGVybWlzc2lvbn0sCiAgICAgICAgVGlja2V0SUQgPT4gJFBhcmFte1RpY2tldElEfSwKICAgICAgICBVc2VySUQgICA9PiAkUGFyYW17VXNlcklEfSwKICAgICk7CgogICAgIyBlcnJvciBzY3JlZW4sIGRvbid0IHNob3cgdGlja2V0CiAgICBpZiAoICEkQWNjZXNzICkgewogICAgICAgICRTZWxmLT57TG9nT2JqZWN0fS0+TG9nKAogICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICBNZXNzYWdlICA9PiAiWW91IG5lZWQgJFNlbGYtPntDb25maWd9LT57UGVybWlzc2lvbn0gcGVybWlzc2lvbnMhIiwKICAgICAgICApOwogICAgICAgIHJldHVybjsKICAgIH0KCiAgICBteSAlVGlja2V0ID0gJFNlbGYtPntUaWNrZXRPYmplY3R9LT5UaWNrZXRHZXQoIFRpY2tldElEID0+ICRQYXJhbXtUaWNrZXRJRH0gKTsKCiAgICAjIGdldCBsb2NrIHN0YXRlCiAgICBpZiAoICRTZWxmLT57Q29uZmlnfS0+e1JlcXVpcmVkTG9ja30gKSB7CiAgICAgICAgbXkgJExvY2tlZCA9ICRTZWxmLT57VGlja2V0T2JqZWN0fS0+VGlja2V0TG9ja0dldCggVGlja2V0SUQgPT4gJFBhcmFte1RpY2tldElEfSApOwoKICAgICAgICBpZiAoICEkTG9ja2VkICkgewogICAgICAgICAgICAkU2VsZi0+e1RpY2tldE9iamVjdH0tPlRpY2tldExvY2tTZXQoCiAgICAgICAgICAgICAgICBUaWNrZXRJRCA9PiAkUGFyYW17VGlja2V0SUR9LAogICAgICAgICAgICAgICAgTG9jayAgICAgPT4gJ2xvY2snLAogICAgICAgICAgICAgICAgVXNlcklEICAgPT4gJFBhcmFte1VzZXJJRH0sCiAgICAgICAgICAgICk7CiAgICAgICAgICAgIG15ICRTdWNjZXNzID0gJFNlbGYtPntUaWNrZXRPYmplY3R9LT5UaWNrZXRPd25lclNldCgKICAgICAgICAgICAgICAgIFRpY2tldElEICA9PiAkUGFyYW17VGlja2V0SUR9LAogICAgICAgICAgICAgICAgVXNlcklEICAgID0+ICRQYXJhbXtVc2VySUR9LAogICAgICAgICAgICAgICAgTmV3VXNlcklEID0+ICRQYXJhbXtVc2VySUR9LAogICAgICAgICAgICApOwogICAgICAgIH0KICAgICAgICBlbHNlIHsKICAgICAgICAgICAgbXkgJEFjY2Vzc09rID0gJFNlbGYtPntUaWNrZXRPYmplY3R9LT5Pd25lckNoZWNrKAogICAgICAgICAgICAgICAgVGlja2V0SUQgPT4gJFBhcmFte1RpY2tldElEfSwKICAgICAgICAgICAgICAgIE93bmVySUQgID0+ICRQYXJhbXtVc2VySUR9LAogICAgICAgICAgICApOwogICAgICAgICAgICBpZiAoICEkQWNjZXNzT2sgKSB7CiAgICAgICAgICAgICAgICAkU2VsZi0+e0xvZ09iamVjdH0tPkxvZygKICAgICAgICAgICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICAgICAgICAgIE1lc3NhZ2UgID0+ICdTb3JyeSwgeW91IG5lZWQgdG8gYmUgdGhlIG93bmVyIHRvIGRvIHRoaXMgYWN0aW9uISAnCiAgICAgICAgICAgICAgICAgICAgICAgIC4gJ1BsZWFzZSBjaGFuZ2UgdGhlIG93bmVyIGZpcnN0LicsCiAgICAgICAgICAgICAgICApOwogICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgICMgdHJhbnNmb3JtIHBlbmRpbmcgdGltZSwgdGltZSBzdGFtcCBiYXNlZCBvbiB1c2VyIHRpbWUgem9uZQogICAgaWYgKCBJc1N0cmluZ1dpdGhEYXRhKCAkUGFyYW17UGVuZGluZ0RhdGV9ICkgKSB7CiAgICAgICAgJFBhcmFte1BlbmRpbmdEYXRlfSA9ICRTZWxmLT5fVHJhbnNmb3JtRGF0ZVNlbGVjdGlvbigKICAgICAgICAgICAgVGltZVN0YW1wID0+ICRQYXJhbXtQZW5kaW5nRGF0ZX0sCiAgICAgICAgKTsKICAgIH0KCiAgICBteSAkVXNlclRpbWVab25lID0gJFNlbGYtPntVc2VyVGltZVpvbmV9OwoKICAgICMgZ2V0IGR5bmFtaWMgZmllbGQgY29uZmlnIGZvciB0aGUgc2NyZWVuCiAgICAkU2VsZi0+e0R5bmFtaWNGaWVsZEZpbHRlcn0gPSAkU2VsZi0+e0NvbmZpZ30tPntEeW5hbWljRmllbGR9OwoKICAgICMgZ2V0IHRoZSBkeW5hbWljIGZpZWxkcyBmb3IgdGlja2V0IG9iamVjdAogICAgJFNlbGYtPntEeW5hbWljRmllbGR9ID0gJFNlbGYtPntEeW5hbWljRmllbGRPYmplY3R9LT5EeW5hbWljRmllbGRMaXN0R2V0KAogICAgICAgIFZhbGlkICAgICAgID0+IDEsCiAgICAgICAgT2JqZWN0VHlwZSAgPT4gWyAnVGlja2V0JywgJ0FydGljbGUnIF0sCiAgICAgICAgRmllbGRGaWx0ZXIgPT4gJFNlbGYtPntEeW5hbWljRmllbGRGaWx0ZXJ9IHx8IHt9LAogICAgKTsKCiAgICBteSAlRHluYW1pY0ZpZWxkVmFsdWVzOwoKICAgICMgY3ljbGUgdHJvdWdoIHRoZSBhY3RpdmF0ZWQgRHluYW1pYyBGaWVsZHMgZm9yIHRoaXMgc2NyZWVuCiAgICBEWU5BTUlDRklFTEQ6CiAgICBmb3IgbXkgJER5bmFtaWNGaWVsZENvbmZpZyAoIEB7ICRTZWxmLT57RHluYW1pY0ZpZWxkfSB9ICkgewogICAgICAgIG5leHQgRFlOQU1JQ0ZJRUxEIGlmICFJc0hhc2hSZWZXaXRoRGF0YSgkRHluYW1pY0ZpZWxkQ29uZmlnKTsKICAgICAgICBuZXh0IERZTkFNSUNGSUVMRCBpZiAhSXNIYXNoUmVmV2l0aERhdGEoICREeW5hbWljRmllbGRDb25maWctPntDb25maWd9ICk7CiAgICAgICAgbmV4dCBEWU5BTUlDRklFTEQgaWYgISREeW5hbWljRmllbGRDb25maWctPntOYW1lfTsKCiAgICAgICAgbmV4dCBEWU5BTUlDRklFTEQgaWYgISRTZWxmLT57aVBob25lQmFja2VuZE9iamVjdH0tPklzSVBob25lQ2FwYWJsZSgKICAgICAgICAgICAgRHluYW1pY0ZpZWxkQ29uZmlnID0+ICREeW5hbWljRmllbGRDb25maWcsCiAgICAgICAgKTsKCiAgICAgICAgIyBleHRyYWN0IHRoZSBkeW5hbWljIGZpZWxkIHZhbHVlIGZvcm0gcGFyYW1ldGVycwogICAgICAgICREeW5hbWljRmllbGRWYWx1ZXN7ICREeW5hbWljRmllbGRDb25maWctPntOYW1lfSB9ID0KICAgICAgICAgICAgJFNlbGYtPntpUGhvbmVCYWNrZW5kT2JqZWN0fS0+RWRpdEZpZWxkVmFsdWVHZXQoCiAgICAgICAgICAgIER5bmFtaWNGaWVsZENvbmZpZyA9PiAkRHluYW1pY0ZpZWxkQ29uZmlnLAogICAgICAgICAgICBUcmFuc2Zvcm1EYXRlcyAgICAgPT4gMSwKICAgICAgICAgICAgVXNlclRpbWVab25lICAgICAgID0+ICRVc2VyVGltZVpvbmUgfHwgMCwKICAgICAgICAgICAgJVBhcmFtLAogICAgICAgICAgICApOwoKICAgICAgICAjIHBlcmZvcm0gdmFsaWRhdGlvbiBvZiB0aGUgZGF0YQogICAgICAgIG15ICRWYWxpZGF0aW9uUmVzdWx0ID0gJFNlbGYtPntpUGhvbmVCYWNrZW5kT2JqZWN0fS0+RWRpdEZpZWxkVmFsdWVWYWxpZGF0ZSgKICAgICAgICAgICAgRHluYW1pY0ZpZWxkQ29uZmlnID0+ICREeW5hbWljRmllbGRDb25maWcsCiAgICAgICAgICAgIFZhbHVlICAgICAgICAgICAgICA9PiAkRHluYW1pY0ZpZWxkVmFsdWVzeyAkRHluYW1pY0ZpZWxkQ29uZmlnLT57TmFtZX0gfSwKICAgICAgICAgICAgTWFuZGF0b3J5ICAgICAgICAgID0+ICRTZWxmLT57Q29uZmlnfS0+e0R5bmFtaWNGaWVsZH0tPnsgJER5bmFtaWNGaWVsZENvbmZpZy0+e05hbWV9IH0gPT0gMiwKICAgICAgICApOwoKICAgICAgICBpZiAoICFJc0hhc2hSZWZXaXRoRGF0YSgkVmFsaWRhdGlvblJlc3VsdCkgKSB7CiAgICAgICAgICAgICRTZWxmLT57TG9nT2JqZWN0fS0+TG9nKAogICAgICAgICAgICAgICAgUHJpb3JpdHkgPT4gJ2Vycm9yJywKICAgICAgICAgICAgICAgIE1lc3NhZ2UgID0+ICJDb3VsZCBub3QgcGVyZm9ybSB2YWxpZGF0aW9uIG9uIGZpZWxkICREeW5hbWljRmllbGRDb25maWctPntMYWJlbH0hIiwKICAgICAgICAgICAgKTsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KCiAgICAgICAgIyBwcm9wYWdhdGUgdmFsaWRhdGlvbiBlcnJvcgogICAgICAgIGlmICggJFZhbGlkYXRpb25SZXN1bHQtPntTZXJ2ZXJFcnJvcn0gKSB7CgogICAgICAgICAgICBteSAkRXJyb3JNZXNzYWdlID0gJFZhbGlkYXRpb25SZXN1bHQtPntFcnJvck1lc3NhZ2V9CiAgICAgICAgICAgICAgICB8fCAiRHluYW1pYyBmaWVsZCAkRHluYW1pY0ZpZWxkQ29uZmlnLT57TGFiZWx9IGludmFsaWQiOwoKICAgICAgICAgICAgJFNlbGYtPntMb2dPYmplY3R9LT5Mb2coCiAgICAgICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICAgICAgTWVzc2FnZSAgPT4gJEVycm9yTWVzc2FnZSwKICAgICAgICAgICAgKTsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgIH0KCiAgICAjIHJld3JhcCBib2R5IGlmIG5vIHJpY2ggdGV4dCBpcyB1c2VkCiAgICBpZiAoICRQYXJhbXtCb2R5fSApIHsKICAgICAgICBteSAkU2l6ZSA9ICRTZWxmLT57Q29uZmlnT2JqZWN0fS0+R2V0KCdUaWNrZXQ6OkZyb250ZW5kOjpUZXh0QXJlYU5vdGUnKSB8fCA3MDsKICAgICAgICAkUGFyYW17Qm9keX0gPX4gcy8oXj4uK3wuezQsJFNpemV9KSg/OlxzfFx6KS8kMVxuL2dtOwogICAgfQoKICAgICMgY2hlY2sgcGVuZGluZyBkYXRlCiAgICBpZiAoICRTdGF0ZURhdGF7VHlwZU5hbWV9ICYmICRTdGF0ZURhdGF7VHlwZU5hbWV9ID1+IC9ecGVuZGluZy9pICkgewogICAgICAgIGlmICggISRTZWxmLT57VGltZU9iamVjdH0tPlRpbWVTdGFtcDJTeXN0ZW1UaW1lKCBTdHJpbmcgPT4gJFBhcmFte1BlbmRpbmdEYXRlfSApICkgewogICAgICAgICAgICAkU2VsZi0+e0xvZ09iamVjdH0tPkxvZygKICAgICAgICAgICAgICAgIFByaW9yaXR5ID0+ICdlcnJvcicsCiAgICAgICAgICAgICAgICBNZXNzYWdlICA9PiAnRGF0ZSBpbnZhbGlkJywKICAgICAgICAgICAgKTsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgICAgICBpZiAoCiAgICAgICAgICAgICRTZWxmLT57VGltZU9iamVjdH0tPlRpbWVTdGFtcDJTeXN0ZW1UaW1lKCBTdHJpbmcgPT4gJFBhcmFte1BlbmRpbmdEYXRlfSApCiAgICAgICAgICAgIDwgJFNlbGYtPntUaW1lT2JqZWN0fS0+U3lzdGVtVGltZSgpCiAgICAgICAgICAgICkKICAgICAgICB7CiAgICAgICAgICAgICRTZWxmLT57TG9nT2JqZWN0fS0+TG9nKAogICAgICAgICAgICAgICAgUHJpb3JpdHkgPT4gJ2Vycm9yJywKICAgICAgICAgICAgICAgIE1lc3NhZ2UgID0+ICdEYXRlIGludmFsaWQnLAogICAgICAgICAgICApOwogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQogICAgfQoKICAgIGlmICggJFNlbGYtPntDb25maWd9LT57Tm90ZX0gKSB7CgogICAgICAgICMgY2hlY2sgc3ViamVjdAogICAgICAgIGlmICggISRQYXJhbXtTdWJqZWN0fSApIHsKICAgICAgICAgICAgJFNlbGYtPntMb2dPYmplY3R9LT5Mb2coCiAgICAgICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICAgICAgTWVzc2FnZSAgPT4gJ1N1YmplY3QgSW52YWxpZDogdGhlIFN1YmplY3QgaXMgZW1wdHkhJywKICAgICAgICAgICAgKTsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KCiAgICAgICAgIyBjaGVjayBib2R5CiAgICAgICAgaWYgKCAhJFBhcmFte0JvZHl9ICkgewogICAgICAgICAgICAkU2VsZi0+e0xvZ09iamVjdH0tPkxvZygKICAgICAgICAgICAgICAgIFByaW9yaXR5ID0+ICdlcnJvcicsCiAgICAgICAgICAgICAgICBNZXNzYWdlICA9PiAnQm9keSBJbnZhbGlkOiB0aGUgQm9keSBpcyBlbXB0eSEnLAogICAgICAgICAgICApOwogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQogICAgfQoKICAgICNjaGVjayBpZiBUaXRsZQogICAgaWYgKCAhJFBhcmFte1RpdGxlfSApIHsKICAgICAgICBteSAlVGlja2V0RGF0YSA9ICRTZWxmLT57VGlja2V0T2JqZWN0fS0+VGlja2V0R2V0KAogICAgICAgICAgICBUaWNrZXRJRCA9PiAkUGFyYW17VGlja2V0SUR9LAogICAgICAgICAgICBVc2VySUQgICA9PiAkUGFyYW17VXNlcklEfSwKICAgICAgICApOwoKICAgICAgICAkUGFyYW17VGl0bGV9ID0gJFRpY2tldERhdGF7VGl0bGV9OwogICAgfQoKICAgICMgc2V0IG5ldyB0aXRsZQogICAgaWYgKCAkU2VsZi0+e0NvbmZpZ30tPntUaXRsZX0gKSB7CiAgICAgICAgaWYgKCBkZWZpbmVkICRQYXJhbXtUaXRsZX0gKSB7CiAgICAgICAgICAgICRTZWxmLT57VGlja2V0T2JqZWN0fS0+VGlja2V0VGl0bGVVcGRhdGUoCiAgICAgICAgICAgICAgICBUaXRsZSAgICA9PiAkUGFyYW17VGl0bGV9LAogICAgICAgICAgICAgICAgVGlja2V0SUQgPT4gJFBhcmFte1RpY2tldElEfSwKICAgICAgICAgICAgICAgIFVzZXJJRCAgID0+ICRQYXJhbXtVc2VySUR9LAogICAgICAgICAgICApOwogICAgICAgIH0KICAgIH0KCiAgICAjIHNldCBuZXcgdHlwZQogICAgaWYgKCAkU2VsZi0+e0NvbmZpZ09iamVjdH0tPkdldCgnVGlja2V0OjpUeXBlJykgJiYgJFNlbGYtPntDb25maWd9LT57VGlja2V0VHlwZX0gKSB7CiAgICAgICAgaWYgKCAkUGFyYW17VHlwZUlEfSApIHsKICAgICAgICAgICAgJFNlbGYtPntUaWNrZXRPYmplY3R9LT5UaWNrZXRUeXBlU2V0KAogICAgICAgICAgICAgICAgVHlwZUlEICAgPT4gJFBhcmFte1R5cGVJRH0sCiAgICAgICAgICAgICAgICBUaWNrZXRJRCA9PiAkUGFyYW17VGlja2V0SUR9LAogICAgICAgICAgICAgICAgVXNlcklEICAgPT4gJFBhcmFte1VzZXJJRH0sCiAgICAgICAgICAgICk7CiAgICAgICAgfQogICAgfQoKICAgICMgc2V0IG5ldyBzZXJ2aWNlCiAgICBpZiAoICRTZWxmLT57Q29uZmlnT2JqZWN0fS0+R2V0KCdUaWNrZXQ6OlNlcnZpY2UnKSAmJiAkU2VsZi0+e0NvbmZpZ30tPntTZXJ2aWNlfSApIHsKICAgICAgICBpZiAoIGRlZmluZWQgJFBhcmFte1NlcnZpY2VJRH0gKSB7CiAgICAgICAgICAgICRTZWxmLT57VGlja2V0T2JqZWN0fS0+VGlja2V0U2VydmljZVNldCgKICAgICAgICAgICAgICAgIFNlcnZpY2VJRCAgICAgID0+ICRQYXJhbXtTZXJ2aWNlSUR9LAogICAgICAgICAgICAgICAgVGlja2V0SUQgICAgICAgPT4gJFBhcmFte1RpY2tldElEfSwKICAgICAgICAgICAgICAgIEN1c3RvbWVyVXNlcklEID0+ICRUaWNrZXR7Q3VzdG9tZXJVc2VySUR9LAogICAgICAgICAgICAgICAgVXNlcklEICAgICAgICAgPT4gJFBhcmFte1VzZXJJRH0sCiAgICAgICAgICAgICk7CiAgICAgICAgfQogICAgICAgIGlmICggZGVmaW5lZCAkUGFyYW17U0xBSUR9ICkgewogICAgICAgICAgICAkU2VsZi0+e1RpY2tldE9iamVjdH0tPlRpY2tldFNMQVNldCgKICAgICAgICAgICAgICAgIFNMQUlEICAgID0+ICRQYXJhbXtTTEFJRH0sCiAgICAgICAgICAgICAgICBUaWNrZXRJRCA9PiAkUGFyYW17VGlja2V0SUR9LAogICAgICAgICAgICAgICAgVXNlcklEICAgPT4gJFBhcmFte1VzZXJJRH0sCiAgICAgICAgICAgICk7CiAgICAgICAgfQogICAgfQoKICAgICMgc2V0IG5ldyBvd25lcgogICAgbXkgQE5vdGlmeURvbmU7CiAgICBpZiAoICRTZWxmLT57Q29uZmlnfS0+e093bmVyfSApIHsKICAgICAgICBteSAkQm9keVRleHQgPSAkUGFyYW17Qm9keX0gfHwgJyc7CiAgICAgICAgaWYgKCAkUGFyYW17T3duZXJJRH0gKSB7CiAgICAgICAgICAgICRTZWxmLT57VGlja2V0T2JqZWN0fS0+VGlja2V0TG9ja1NldCgKICAgICAgICAgICAgICAgIFRpY2tldElEID0+ICRQYXJhbXtUaWNrZXRJRH0sCiAgICAgICAgICAgICAgICBMb2NrICAgICA9PiAnbG9jaycsCiAgICAgICAgICAgICAgICBVc2VySUQgICA9PiAkUGFyYW17VXNlcklEfSwKICAgICAgICAgICAgKTsKICAgICAgICAgICAgbXkgJFN1Y2Nlc3MgPSAkU2VsZi0+e1RpY2tldE9iamVjdH0tPlRpY2tldE93bmVyU2V0KAogICAgICAgICAgICAgICAgVGlja2V0SUQgID0+ICRQYXJhbXtUaWNrZXRJRH0sCiAgICAgICAgICAgICAgICBVc2VySUQgICAgPT4gJFBhcmFte1VzZXJJRH0sCiAgICAgICAgICAgICAgICBOZXdVc2VySUQgPT4gJFBhcmFte093bmVySUR9LAogICAgICAgICAgICAgICAgQ29tbWVudCAgID0+ICRCb2R5VGV4dCwKICAgICAgICAgICAgKTsKCiAgICAgICAgICAgICMgcmVtZW1iZXIgdG8gbm90IG5vdGlmeSBvd25lciB0d2ljZQogICAgICAgICAgICBpZiAoICRTdWNjZXNzICYmICRTdWNjZXNzIGVxIDEgKSB7CiAgICAgICAgICAgICAgICBwdXNoIEBOb3RpZnlEb25lLCAkUGFyYW17T3duZXJJRH07CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CgogICAgIyBzZXQgbmV3IHJlc3BvbnNpYmxlCiAgICBpZiAoICRTZWxmLT57Q29uZmlnfS0+e1Jlc3BvbnNpYmxlfSApIHsKICAgICAgICBpZiAoICRQYXJhbXtSZXNwb25zaWJsZUlEfSApIHsKICAgICAgICAgICAgbXkgJEJvZHlUZXh0ID0gJFBhcmFte0JvZHl9IHx8ICcnOwogICAgICAgICAgICBteSAkU3VjY2VzcyA9ICRTZWxmLT57VGlja2V0T2JqZWN0fS0+VGlja2V0UmVzcG9uc2libGVTZXQoCiAgICAgICAgICAgICAgICBUaWNrZXRJRCAgPT4gJFBhcmFte1RpY2tldElEfSwKICAgICAgICAgICAgICAgIFVzZXJJRCAgICA9PiAkUGFyYW17VXNlcklEfSwKICAgICAgICAgICAgICAgIE5ld1VzZXJJRCA9PiAkUGFyYW17UmVzcG9uc2libGVJRH0sCiAgICAgICAgICAgICAgICBDb21tZW50ICAgPT4gJEJvZHlUZXh0LAogICAgICAgICAgICApOwoKICAgICAgICAgICAgIyByZW1lbWJlciB0byBub3Qgbm90aWZ5IHJlc3BvbnNpYmxlIHR3aWNlCiAgICAgICAgICAgIGlmICggJFN1Y2Nlc3MgJiYgJFN1Y2Nlc3MgZXEgMSApIHsKICAgICAgICAgICAgICAgIHB1c2ggQE5vdGlmeURvbmUsICRQYXJhbXtSZXNwb25zaWJsZUlEfTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICAjIGFkZCBub3RlCiAgICBteSAkQXJ0aWNsZUlEID0gJyc7CiAgICBpZiAoICRTZWxmLT57Q29uZmlnfS0+e05vdGV9IHx8ICRQYXJhbXtEZWZhdWx0c30gKSB7CiAgICAgICAgbXkgJE1pbWVUeXBlID0gJ3RleHQvcGxhaW4nOwoKICAgICAgICBteSAlVXNlciA9ICRTZWxmLT57VXNlck9iamVjdH0tPkdldFVzZXJEYXRhKAogICAgICAgICAgICBVc2VySUQgPT4gJFBhcmFte1VzZXJJRH0sCiAgICAgICAgKTsKCiAgICAgICAgbXkgJEZyb20gPSAiJFVzZXJ7VXNlckZpcnN0bmFtZX0gJFVzZXJ7VXNlckxhc3RuYW1lfSA8JFVzZXJ7VXNlckVtYWlsfT4iOwoKICAgICAgICAkQXJ0aWNsZUlEID0gJFNlbGYtPntUaWNrZXRPYmplY3R9LT5BcnRpY2xlQ3JlYXRlKAogICAgICAgICAgICBUaWNrZXRJRCAgID0+ICRQYXJhbXtUaWNrZXRJRH0sCiAgICAgICAgICAgIFNlbmRlclR5cGUgPT4gJ2FnZW50JywKICAgICAgICAgICAgRnJvbSAgICAgICA9PiAkRnJvbSwKICAgICAgICAgICAgTWltZVR5cGUgICA9PiAkTWltZVR5cGUsCgogICAgICAgICAgICAjIGlwaG9uZSBtdXN0IHNlbmQgaW5mbyBpbiBjdXJyZW50IGNoYXJzZXQKICAgICAgICAgICAgQ2hhcnNldCAgICAgICAgPT4gJFNlbGYtPntDb25maWdPYmplY3R9LT5HZXQoJ0RlZmF1bHRDaGFyc2V0JyksCiAgICAgICAgICAgIFVzZXJJRCAgICAgICAgID0+ICRQYXJhbXtVc2VySUR9LAogICAgICAgICAgICBIaXN0b3J5VHlwZSAgICA9PiAkU2VsZi0+e0NvbmZpZ30tPntIaXN0b3J5VHlwZX0sCiAgICAgICAgICAgIEhpc3RvcnlDb21tZW50ID0+ICRTZWxmLT57Q29uZmlnfS0+e0hpc3RvcnlDb21tZW50fSwKCiAgICAgICAgICAgICMgICAgICAgICAgICAgICAgRm9yY2VOb3RpZmljYXRpb25Ub1VzZXJJRCAgICAgICA9PiBcQE5vdGlmeVVzZXJJRHMsCiAgICAgICAgICAgIEV4Y2x1ZGVNdXRlTm90aWZpY2F0aW9uVG9Vc2VySUQgPT4gXEBOb3RpZnlEb25lLAogICAgICAgICAgICAlUGFyYW0sCiAgICAgICAgKTsKCiAgICAgICAgaWYgKCAhJEFydGljbGVJRCApIHsKICAgICAgICAgICAgJFNlbGYtPntMb2dPYmplY3R9LT5Mb2coCiAgICAgICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICAgICAgTWVzc2FnZSAgPT4gJ0Vycm9yOiBubyBhcnRpY2xlIHdhcyBjcmVhdGVkISBQbGVhc2UgY29udGFjdCB0aGUgYWRtaW4uJywKICAgICAgICAgICAgKTsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KCiAgICAgICAgIyB0aW1lIGFjY291bnRpbmcKICAgICAgICBpZiAoICRQYXJhbXtUaW1lVW5pdHN9ICkgewogICAgICAgICAgICAkU2VsZi0+e1RpY2tldE9iamVjdH0tPlRpY2tldEFjY291bnRUaW1lKAogICAgICAgICAgICAgICAgVGlja2V0SUQgID0+ICRQYXJhbXtUaWNrZXRJRH0sCiAgICAgICAgICAgICAgICBBcnRpY2xlSUQgPT4gJEFydGljbGVJRCwKICAgICAgICAgICAgICAgIFRpbWVVbml0ICA9PiAkUGFyYW17VGltZVVuaXRzfSwKICAgICAgICAgICAgICAgIFVzZXJJRCAgICA9PiAkUGFyYW17VXNlcklEfSwKICAgICAgICAgICAgKTsKICAgICAgICB9CgogICAgICAgICMgc2V0IGR5bmFtaWMgZmllbGRzCiAgICAgICAgIyBjeWNsZSB0cm91Z2ggdGhlIGFjdGl2YXRlZCBEeW5hbWljIEZpZWxkcyBmb3IgdGhpcyBzY3JlZW4KICAgICAgICBEWU5BTUlDRklFTEQ6CiAgICAgICAgZm9yIG15ICREeW5hbWljRmllbGRDb25maWcgKCBAeyAkU2VsZi0+e0R5bmFtaWNGaWVsZH0gfSApIHsKICAgICAgICAgICAgbmV4dCBEWU5BTUlDRklFTEQgaWYgIUlzSGFzaFJlZldpdGhEYXRhKCREeW5hbWljRmllbGRDb25maWcpOwoKICAgICAgICAgICAgIyBzZXQgdGhlIG9iamVjdCBJRCAoVGlja2V0SUQgb3IgQXJ0aWNsZUlEKSBkZXBlbmRpbmcgb24gdGhlIGZpZWxkIGNvbmZpZ3JhdGlvbgogICAgICAgICAgICBteSAkT2JqZWN0SUQgPSAkRHluYW1pY0ZpZWxkQ29uZmlnLT57T2JqZWN0VHlwZX0gZXEgJ0FydGljbGUnID8gJEFydGljbGVJRCA6ICRQYXJhbXtUaWNrZXRJRH07CgogICAgICAgICAgICAjIHNldCB0aGUgdmFsdWUKICAgICAgICAgICAgbXkgJFN1Y2Nlc3MgPSAkU2VsZi0+e0JhY2tlbmRPYmplY3R9LT5WYWx1ZVNldCgKICAgICAgICAgICAgICAgIER5bmFtaWNGaWVsZENvbmZpZyA9PiAkRHluYW1pY0ZpZWxkQ29uZmlnLAogICAgICAgICAgICAgICAgT2JqZWN0SUQgICAgICAgICAgID0+ICRPYmplY3RJRCwKICAgICAgICAgICAgICAgIFZhbHVlICAgICAgICAgICAgICA9PiAkRHluYW1pY0ZpZWxkVmFsdWVzeyAkRHluYW1pY0ZpZWxkQ29uZmlnLT57TmFtZX0gfSwKICAgICAgICAgICAgICAgIFVzZXJJRCAgICAgICAgICAgICA9PiAkUGFyYW17VXNlcklEfSwKICAgICAgICAgICAgKTsKICAgICAgICB9CgogICAgICAgICMgc2V0IHByaW9yaXR5CiAgICAgICAgaWYgKCAkU2VsZi0+e0NvbmZpZ30tPntQcmlvcml0eX0gJiYgJFBhcmFte1ByaW9yaXR5SUR9ICkgewogICAgICAgICAgICAkU2VsZi0+e1RpY2tldE9iamVjdH0tPlRpY2tldFByaW9yaXR5U2V0KAogICAgICAgICAgICAgICAgVGlja2V0SUQgICA9PiAkUGFyYW17VGlja2V0SUR9LAogICAgICAgICAgICAgICAgUHJpb3JpdHlJRCA9PiAkUGFyYW17UHJpb3JpdHlJRH0sCiAgICAgICAgICAgICAgICBVc2VySUQgICAgID0+ICRQYXJhbXtVc2VySUR9LAogICAgICAgICAgICApOwogICAgICAgIH0KCiAgICAgICAgIyBzZXQgc3RhdGUKICAgICAgICBpZiAoICRTZWxmLT57Q29uZmlnfS0+e1N0YXRlfSAmJiAkUGFyYW17U3RhdGVJRH0gKSB7CiAgICAgICAgICAgICRTZWxmLT57VGlja2V0T2JqZWN0fS0+VGlja2V0U3RhdGVTZXQoCiAgICAgICAgICAgICAgICBUaWNrZXRJRCA9PiAkUGFyYW17VGlja2V0SUR9LAogICAgICAgICAgICAgICAgU3RhdGVJRCAgPT4gJFBhcmFte1N0YXRlSUR9LAogICAgICAgICAgICAgICAgVXNlcklEICAgPT4gJFBhcmFte1VzZXJJRH0sCiAgICAgICAgICAgICk7CgogICAgICAgICAgICAjIHVubG9jayB0aGUgdGlja2V0IGFmdGVyIGNsb3NlCiAgICAgICAgICAgIG15ICVTdGF0ZURhdGEgPSAkU2VsZi0+e1RpY2tldE9iamVjdH0tPntTdGF0ZU9iamVjdH0tPlN0YXRlR2V0KAogICAgICAgICAgICAgICAgSUQgPT4gJFBhcmFte1N0YXRlSUR9LAogICAgICAgICAgICApOwoKICAgICAgICAgICAgIyBzZXQgdW5sb2NrIG9uIGNsb3NlIHN0YXRlCiAgICAgICAgICAgIGlmICggJFN0YXRlRGF0YXtUeXBlTmFtZX0gPX4gL15jbG9zZS9pICkgewogICAgICAgICAgICAgICAgJFNlbGYtPntUaWNrZXRPYmplY3R9LT5UaWNrZXRMb2NrU2V0KAogICAgICAgICAgICAgICAgICAgIFRpY2tldElEID0+ICRQYXJhbXtUaWNrZXRJRH0sCiAgICAgICAgICAgICAgICAgICAgTG9jayAgICAgPT4gJ3VubG9jaycsCiAgICAgICAgICAgICAgICAgICAgVXNlcklEICAgPT4gJFBhcmFte1VzZXJJRH0sCiAgICAgICAgICAgICAgICApOwogICAgICAgICAgICB9CgogICAgICAgICAgICAjIHNldCBwZW5kaW5nIHRpbWUgb24gcGVuZGlnIHN0YXRlCiAgICAgICAgICAgIGVsc2lmICggJFN0YXRlRGF0YXtUeXBlTmFtZX0gPX4gL15wZW5kaW5nL2kgKSB7CgogICAgICAgICAgICAgICAgIyBzZXQgcGVuZGluZyB0aW1lCiAgICAgICAgICAgICAgICAkU2VsZi0+e1RpY2tldE9iamVjdH0tPlRpY2tldFBlbmRpbmdUaW1lU2V0KAogICAgICAgICAgICAgICAgICAgIFVzZXJJRCAgID0+ICRQYXJhbXtVc2VySUR9LAogICAgICAgICAgICAgICAgICAgIFRpY2tldElEID0+ICRQYXJhbXtUaWNrZXRJRH0sCiAgICAgICAgICAgICAgICAgICAgU3RyaW5nICAgPT4gJFBhcmFte1BlbmRpbmdEYXRlfSwKICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CgogICAgZWxzZSB7CgogICAgICAgICMgZmlsbHVwIGNvbmZpZ3VyZWQgZGVmYXVsdCB2YXJzCiAgICAgICAgaWYgKCAhZGVmaW5lZCAkUGFyYW17Qm9keX0gJiYgJFNlbGYtPntDb25maWd9LT57Qm9keX0gKSB7CiAgICAgICAgICAgICRQYXJhbXtCb2R5fSA9ICRTZWxmLT57Q29uZmlnfS0+e0JvZHl9OwogICAgICAgIH0KICAgICAgICBpZiAoICFkZWZpbmVkICRQYXJhbXtTdWJqZWN0fSAmJiAkU2VsZi0+e0NvbmZpZ30tPntTdWJqZWN0fSApIHsKICAgICAgICAgICAgJFBhcmFte1N1YmplY3R9ID0gJFNlbGYtPntDb25maWd9LT57U3ViamVjdH0sOwogICAgICAgIH0KCiAgICAgICAgbXkgJHJlc3VsdCA9ICRTZWxmLT5fVGlja2V0Q29tbW9uQWN0aW9ucygKICAgICAgICAgICAgJVBhcmFtLAogICAgICAgICAgICBEZWZhdWx0cyA9PiAxLAogICAgICAgICk7CiAgICAgICAgcmV0dXJuICRyZXN1bHQ7CiAgICB9CiAgICByZXR1cm4gJEFydGljbGVJRDsKfQoKc3ViIF9UaWNrZXRDb21wb3NlIHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgJFNlbGYtPntDb25maWd9ID0gJFNlbGYtPntDb25maWdPYmplY3R9LT5HZXQoJ2lQaG9uZTo6RnJvbnRlbmQ6OkFnZW50VGlja2V0Q29tcG9zZScpOwoKICAgICMgY2hlY2sgbmVlZGVkIHN0dWZmCiAgICBpZiAoICEkUGFyYW17VGlja2V0SUR9ICkgewogICAgICAgICRTZWxmLT57TG9nT2JqZWN0fS0+TG9nKAogICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICBNZXNzYWdlICA9PiAnTm8gVGlja2V0SUQgaXMgZ2l2ZW4hIFBsZWFzZSBjb250YWN0IHRoZSBhZG1pbi4nLAogICAgICAgICk7CiAgICAgICAgcmV0dXJuOwogICAgfQoKICAgICMgY2hlY2sgcGVybWlzc2lvbnMKICAgIG15ICRBY2Nlc3MgPSAkU2VsZi0+e1RpY2tldE9iamVjdH0tPlRpY2tldFBlcm1pc3Npb24oCiAgICAgICAgVHlwZSAgICAgPT4gJFNlbGYtPntDb25maWd9LT57UGVybWlzc2lvbn0sCiAgICAgICAgVGlja2V0SUQgPT4gJFBhcmFte1RpY2tldElEfSwKICAgICAgICBVc2VySUQgICA9PiAkUGFyYW17VXNlcklEfSwKICAgICk7CgogICAgIyBlcnJvciBzY3JlZW4sIGRvbid0IHNob3cgdGlja2V0CiAgICBpZiAoICEkQWNjZXNzICkgewogICAgICAgICRTZWxmLT57TG9nT2JqZWN0fS0+TG9nKAogICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICBNZXNzYWdlICA9PiAiWW91IG5lZWQgJFNlbGYtPntDb25maWd9LT57UGVybWlzc2lvbn0gcGVybWlzc2lvbnMhIiwKICAgICAgICApOwogICAgICAgIHJldHVybjsKICAgIH0KICAgIG15ICVUaWNrZXQgPSAkU2VsZi0+e1RpY2tldE9iamVjdH0tPlRpY2tldEdldCggVGlja2V0SUQgPT4gJFBhcmFte1RpY2tldElEfSApOwoKICAgICMgZ2V0IGxvY2sgc3RhdGUKICAgIGlmICggJFNlbGYtPntDb25maWd9LT57UmVxdWlyZWRMb2NrfSApIHsKICAgICAgICBteSAkTG9ja2VkID0gJFNlbGYtPntUaWNrZXRPYmplY3R9LT5UaWNrZXRMb2NrR2V0KCBUaWNrZXRJRCA9PiAkUGFyYW17VGlja2V0SUR9ICk7CiAgICAgICAgaWYgKCAhJExvY2tlZCApIHsKICAgICAgICAgICAgJFNlbGYtPntUaWNrZXRPYmplY3R9LT5UaWNrZXRMb2NrU2V0KAogICAgICAgICAgICAgICAgVGlja2V0SUQgPT4gJFBhcmFte1RpY2tldElEfSwKICAgICAgICAgICAgICAgIExvY2sgICAgID0+ICdsb2NrJywKICAgICAgICAgICAgICAgIFVzZXJJRCAgID0+ICRQYXJhbXtVc2VySUR9LAogICAgICAgICAgICApOwoKICAgICAgICAgICAgbXkgJFN1Y2Nlc3MgPSAkU2VsZi0+e1RpY2tldE9iamVjdH0tPlRpY2tldE93bmVyU2V0KAogICAgICAgICAgICAgICAgVGlja2V0SUQgID0+ICRQYXJhbXtUaWNrZXRJRH0sCiAgICAgICAgICAgICAgICBVc2VySUQgICAgPT4gJFBhcmFte1VzZXJJRH0sCiAgICAgICAgICAgICAgICBOZXdVc2VySUQgPT4gJFBhcmFte1VzZXJJRH0sCiAgICAgICAgICAgICk7CiAgICAgICAgfQogICAgICAgIGVsc2UgewogICAgICAgICAgICBteSAkQWNjZXNzT2sgPSAkU2VsZi0+e1RpY2tldE9iamVjdH0tPk93bmVyQ2hlY2soCiAgICAgICAgICAgICAgICBUaWNrZXRJRCA9PiAkUGFyYW17VGlja2V0SUR9LAogICAgICAgICAgICAgICAgT3duZXJJRCAgPT4gJFBhcmFte1VzZXJJRH0sCiAgICAgICAgICAgICk7CiAgICAgICAgICAgIGlmICggISRBY2Nlc3NPayApIHsKICAgICAgICAgICAgICAgICRTZWxmLT57TG9nT2JqZWN0fS0+TG9nKAogICAgICAgICAgICAgICAgICAgIFByaW9yaXR5ID0+ICdlcnJvcicsCiAgICAgICAgICAgICAgICAgICAgTWVzc2FnZSAgPT4gIlNvcnJ5LCB5b3UgbmVlZCB0byBiZSB0aGUgb3duZXIgdG8gZG8gdGhpcyBhY3Rpb24hICIKICAgICAgICAgICAgICAgICAgICAgICAgLiAiUGxlYXNlIGNoYW5nZSB0aGUgb3duZXIgZmlyc3QuIiwKICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CgogICAgIyB0cmFuc2Zvcm0gcGVuZGluZyB0aW1lLCB0aW1lIHN0YW1wIGJhc2VkIG9uIHVzZXIgdGltZSB6b25lCiAgICBpZiAoIElzU3RyaW5nV2l0aERhdGEoICRQYXJhbXtQZW5kaW5nRGF0ZX0gKSApIHsKICAgICAgICAkUGFyYW17UGVuZGluZ0RhdGV9ID0gJFNlbGYtPl9UcmFuc2Zvcm1EYXRlU2VsZWN0aW9uKAogICAgICAgICAgICBUaW1lU3RhbXAgPT4gJFBhcmFte1BlbmRpbmdEYXRlfSwKICAgICAgICApOwogICAgfQoKICAgIG15ICRVc2VyVGltZVpvbmUgPSAkU2VsZi0+e1VzZXJUaW1lWm9uZX07CgogICAgIyBnZXQgZHluYW1pYyBmaWVsZCBjb25maWcgZm9yIHRoZSBzY3JlZW4KICAgICRTZWxmLT57RHluYW1pY0ZpZWxkRmlsdGVyfSA9ICRTZWxmLT57Q29uZmlnfS0+e0R5bmFtaWNGaWVsZH07CgogICAgIyBnZXQgdGhlIGR5bmFtaWMgZmllbGRzIGZvciB0aWNrZXQgb2JqZWN0CiAgICAkU2VsZi0+e0R5bmFtaWNGaWVsZH0gPSAkU2VsZi0+e0R5bmFtaWNGaWVsZE9iamVjdH0tPkR5bmFtaWNGaWVsZExpc3RHZXQoCiAgICAgICAgVmFsaWQgICAgICAgPT4gMSwKICAgICAgICBPYmplY3RUeXBlICA9PiBbICdUaWNrZXQnLCAnQXJ0aWNsZScgXSwKICAgICAgICBGaWVsZEZpbHRlciA9PiAkU2VsZi0+e0R5bmFtaWNGaWVsZEZpbHRlcn0gfHwge30sCiAgICApOwoKICAgIG15ICVEeW5hbWljRmllbGRWYWx1ZXM7CgogICAgIyBjeWNsZSB0cm91Z2ggdGhlIGFjdGl2YXRlZCBEeW5hbWljIEZpZWxkcyBmb3IgdGhpcyBzY3JlZW4KICAgIERZTkFNSUNGSUVMRDoKICAgIGZvciBteSAkRHluYW1pY0ZpZWxkQ29uZmlnICggQHsgJFNlbGYtPntEeW5hbWljRmllbGR9IH0gKSB7CiAgICAgICAgbmV4dCBEWU5BTUlDRklFTEQgaWYgIUlzSGFzaFJlZldpdGhEYXRhKCREeW5hbWljRmllbGRDb25maWcpOwogICAgICAgIG5leHQgRFlOQU1JQ0ZJRUxEIGlmICFJc0hhc2hSZWZXaXRoRGF0YSggJER5bmFtaWNGaWVsZENvbmZpZy0+e0NvbmZpZ30gKTsKICAgICAgICBuZXh0IERZTkFNSUNGSUVMRCBpZiAhJER5bmFtaWNGaWVsZENvbmZpZy0+e05hbWV9OwoKICAgICAgICBuZXh0IERZTkFNSUNGSUVMRCBpZiAhJFNlbGYtPntpUGhvbmVCYWNrZW5kT2JqZWN0fS0+SXNJUGhvbmVDYXBhYmxlKAogICAgICAgICAgICBEeW5hbWljRmllbGRDb25maWcgPT4gJER5bmFtaWNGaWVsZENvbmZpZywKICAgICAgICApOwoKICAgICAgICAjIGV4dHJhY3QgdGhlIGR5bmFtaWMgZmllbGQgdmFsdWUgZm9ybSBwYXJhbWV0ZXJzCiAgICAgICAgJER5bmFtaWNGaWVsZFZhbHVlc3sgJER5bmFtaWNGaWVsZENvbmZpZy0+e05hbWV9IH0gPQogICAgICAgICAgICAkU2VsZi0+e2lQaG9uZUJhY2tlbmRPYmplY3R9LT5FZGl0RmllbGRWYWx1ZUdldCgKICAgICAgICAgICAgRHluYW1pY0ZpZWxkQ29uZmlnID0+ICREeW5hbWljRmllbGRDb25maWcsCiAgICAgICAgICAgIFRyYW5zZm9ybURhdGVzICAgICA9PiAxLAogICAgICAgICAgICBVc2VyVGltZVpvbmUgICAgICAgPT4gJFVzZXJUaW1lWm9uZSB8fCAwLAogICAgICAgICAgICAlUGFyYW0sCiAgICAgICAgICAgICk7CgogICAgICAgICMgcGVyZm9ybSB2YWxpZGF0aW9uIG9mIHRoZSBkYXRhCiAgICAgICAgbXkgJFZhbGlkYXRpb25SZXN1bHQgPSAkU2VsZi0+e2lQaG9uZUJhY2tlbmRPYmplY3R9LT5FZGl0RmllbGRWYWx1ZVZhbGlkYXRlKAogICAgICAgICAgICBEeW5hbWljRmllbGRDb25maWcgPT4gJER5bmFtaWNGaWVsZENvbmZpZywKICAgICAgICAgICAgVmFsdWUgICAgICAgICAgICAgID0+ICREeW5hbWljRmllbGRWYWx1ZXN7ICREeW5hbWljRmllbGRDb25maWctPntOYW1lfSB9LAogICAgICAgICAgICBNYW5kYXRvcnkgICAgICAgICAgPT4gJFNlbGYtPntDb25maWd9LT57RHluYW1pY0ZpZWxkfS0+eyAkRHluYW1pY0ZpZWxkQ29uZmlnLT57TmFtZX0gfSA9PSAyLAogICAgICAgICk7CgogICAgICAgIGlmICggIUlzSGFzaFJlZldpdGhEYXRhKCRWYWxpZGF0aW9uUmVzdWx0KSApIHsKICAgICAgICAgICAgJFNlbGYtPntMb2dPYmplY3R9LT5Mb2coCiAgICAgICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICAgICAgTWVzc2FnZSAgPT4gIkNvdWxkIG5vdCBwZXJmb3JtIHZhbGlkYXRpb24gb24gZmllbGQgJER5bmFtaWNGaWVsZENvbmZpZy0+e0xhYmVsfSEiLAogICAgICAgICAgICApOwogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQoKICAgICAgICAjIHByb3BhZ2F0ZSB2YWxpZGF0aW9uIGVycm9yCiAgICAgICAgaWYgKCAkVmFsaWRhdGlvblJlc3VsdC0+e1NlcnZlckVycm9yfSApIHsKCiAgICAgICAgICAgIG15ICRFcnJvck1lc3NhZ2UgPSAkVmFsaWRhdGlvblJlc3VsdC0+e0Vycm9yTWVzc2FnZX0KICAgICAgICAgICAgICAgIHx8ICJEeW5hbWljIGZpZWxkICREeW5hbWljRmllbGRDb25maWctPntMYWJlbH0gaW52YWxpZCI7CgogICAgICAgICAgICAkU2VsZi0+e0xvZ09iamVjdH0tPkxvZygKICAgICAgICAgICAgICAgIFByaW9yaXR5ID0+ICdlcnJvcicsCiAgICAgICAgICAgICAgICBNZXNzYWdlICA9PiAkRXJyb3JNZXNzYWdlLAogICAgICAgICAgICApOwogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQogICAgfQoKICAgICMgc2VuZCBlbWFpbAogICAgbXkgJVN0YXRlRGF0YSA9ICRTZWxmLT57VGlja2V0T2JqZWN0fS0+e1N0YXRlT2JqZWN0fS0+U3RhdGVHZXQoCiAgICAgICAgSUQgPT4gJFBhcmFte1N0YXRlSUR9LAogICAgKTsKCiAgICAjIGNoZWNrIHBlbmRpbmcgZGF0ZQogICAgaWYgKCAkU3RhdGVEYXRhe1R5cGVOYW1lfSAmJiAkU3RhdGVEYXRhe1R5cGVOYW1lfSA9fiAvXnBlbmRpbmcvaSApIHsKICAgICAgICBpZiAoICEkU2VsZi0+e1RpbWVPYmplY3R9LT5UaW1lU3RhbXAyU3lzdGVtVGltZSggU3RyaW5nID0+ICRQYXJhbXtQZW5kaW5nRGF0ZX0gKSApIHsKICAgICAgICAgICAgJFNlbGYtPntMb2dPYmplY3R9LT5Mb2coCiAgICAgICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICAgICAgTWVzc2FnZSAgPT4gJ0RhdGUgaW52YWxpZCcsCiAgICAgICAgICAgICk7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgICAgaWYgKAogICAgICAgICAgICAkU2VsZi0+e1RpbWVPYmplY3R9LT5UaW1lU3RhbXAyU3lzdGVtVGltZSggU3RyaW5nID0+ICRQYXJhbXtQZW5kaW5nRGF0ZX0gKQogICAgICAgICAgICA8ICRTZWxmLT57VGltZU9iamVjdH0tPlN5c3RlbVRpbWUoKQogICAgICAgICAgICApCiAgICAgICAgewogICAgICAgICAgICAkU2VsZi0+e0xvZ09iamVjdH0tPkxvZygKICAgICAgICAgICAgICAgIFByaW9yaXR5ID0+ICdlcnJvcicsCiAgICAgICAgICAgICAgICBNZXNzYWdlICA9PiAnRGF0ZSBpbnZhbGlkJywKICAgICAgICAgICAgKTsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgIH0KCiAgICAjIGNoZWNrIHNvbWUgdmFsdWVzCiAgICBmb3IgbXkgJExpbmUgKHF3KEZyb20gVG8gQ2MgQmNjKSkgewogICAgICAgIG5leHQgaWYgISRQYXJhbXskTGluZX07CiAgICAgICAgZm9yIG15ICRFbWFpbCAoIE1haWw6OkFkZHJlc3MtPnBhcnNlKCAkUGFyYW17JExpbmV9ICkgKSB7CiAgICAgICAgICAgIGlmICggISRTZWxmLT57Q2hlY2tJdGVtT2JqZWN0fS0+Q2hlY2tFbWFpbCggQWRkcmVzcyA9PiAkRW1haWwtPmFkZHJlc3MoKSApICkgewogICAgICAgICAgICAgICAgbXkgJFNlcnZlckVycm9yID0gJFNlbGYtPntDaGVja0l0ZW1PYmplY3R9LT5DaGVja0Vycm9yKCk7CiAgICAgICAgICAgICAgICAkU2VsZi0+e0xvZ09iamVjdH0tPkxvZygKICAgICAgICAgICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICAgICAgICAgIE1lc3NhZ2UgID0+ICJFcnJvciBvbiBmaWVsZCBcIiRMaW5lXCIgXG4gJFNlcnZlckVycm9yIiwKICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CgogICAgIyByZXBsYWNlIDxPVFJTX1RJQ0tFVF9TVEFURT4gd2l0aCBuZXh0IHRpY2tldCBzdGF0ZSBuYW1lCiAgICBpZiAoICRTdGF0ZURhdGF7TmFtZX0gKSB7CiAgICAgICAgJFBhcmFte0JvZHl9ID1+IHMvPE9UUlNfVElDS0VUX1NUQVRFPi8kU3RhdGVEYXRhe05hbWV9L2c7CiAgICAgICAgJFBhcmFte0JvZHl9ID1+IHMvJmx0O09UUlNfVElDS0VUX1NUQVRFJmd0Oy8kU3RhdGVEYXRhe05hbWV9L2c7CiAgICB9CgogICAgIyBnZXQgcmVjaXBpZW50cwogICAgbXkgJFJlY2lwaWVudHMgPSAnJzsKICAgIGZvciBteSAkTGluZSAocXcoVG8gQ2MgQmNjKSkgewogICAgICAgIGlmICggJFBhcmFteyRMaW5lfSApIHsKICAgICAgICAgICAgaWYgKCRSZWNpcGllbnRzKSB7CiAgICAgICAgICAgICAgICAkUmVjaXBpZW50cyAuPSAnLCc7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgJFJlY2lwaWVudHMgLj0gJFBhcmFteyRMaW5lfTsKICAgICAgICB9CiAgICB9CgogICAgbXkgJE1pbWVUeXBlID0gJ3RleHQvcGxhaW4nOwoKICAgICMgc2VuZCBlbWFpbAogICAgbXkgJEFydGljbGVJRCA9ICRTZWxmLT57VGlja2V0T2JqZWN0fS0+QXJ0aWNsZVNlbmQoCiAgICAgICAgQXJ0aWNsZVR5cGUgICAgPT4gJ2VtYWlsLWV4dGVybmFsJywKICAgICAgICBTZW5kZXJUeXBlICAgICA9PiAnYWdlbnQnLAogICAgICAgIFRpY2tldElEICAgICAgID0+ICRQYXJhbXtUaWNrZXRJRH0sCiAgICAgICAgSGlzdG9yeVR5cGUgICAgPT4gJ1NlbmRBbnN3ZXInLAogICAgICAgIEhpc3RvcnlDb21tZW50ID0+ICJcJVwlJFJlY2lwaWVudHMiLAogICAgICAgIEZyb20gICAgICAgICAgID0+ICRQYXJhbXtGcm9tfSwKICAgICAgICBUbyAgICAgICAgICAgICA9PiAkUGFyYW17VG99LAogICAgICAgIENjICAgICAgICAgICAgID0+ICRQYXJhbXtDY30sCiAgICAgICAgQmNjICAgICAgICAgICAgPT4gJFBhcmFte0JjY30sCiAgICAgICAgU3ViamVjdCAgICAgICAgPT4gJFBhcmFte1N1YmplY3R9LAogICAgICAgIFVzZXJJRCAgICAgICAgID0+ICRQYXJhbXtVc2VySUR9LAogICAgICAgIEJvZHkgICAgICAgICAgID0+ICRQYXJhbXtCb2R5fSwKICAgICAgICBJblJlcGx5VG8gICAgICA9PiAkUGFyYW17SW5SZXBseVRvfSwKICAgICAgICBSZWZlcmVuY2VzICAgICA9PiAkUGFyYW17UmVmZXJlbmNlc30sCiAgICAgICAgQ2hhcnNldCAgICAgICAgPT4gJFNlbGYtPntDb25maWdPYmplY3R9LT5HZXQoJ0RlZmF1bHRDaGFyc2V0JyksCiAgICAgICAgTWltZVR5cGUgICAgICAgPT4gJE1pbWVUeXBlLAogICAgKTsKCiAgICAjIGVycm9yIHBhZ2UKICAgIGlmICggISRBcnRpY2xlSUQgKSB7CiAgICAgICAgJFNlbGYtPntMb2dPYmplY3R9LT5Mb2coCiAgICAgICAgICAgIFByaW9yaXR5ID0+ICdlcnJvcicsCiAgICAgICAgICAgIE1lc3NhZ2UgID0+ICdFcnJvciBubyBBcnRpY2xlIGNyZWF0ZWQhIFBsZWFzZSBjb250YWN0IHRoZSBhZG1pbicsCiAgICAgICAgKTsKICAgICAgICByZXR1cm47CiAgICB9CgogICAgIyB0aW1lIGFjY291bnRpbmcKICAgIGlmICggJFBhcmFte1RpbWVVbml0c30gKSB7CiAgICAgICAgJFNlbGYtPntUaWNrZXRPYmplY3R9LT5UaWNrZXRBY2NvdW50VGltZSgKICAgICAgICAgICAgVGlja2V0SUQgID0+ICRQYXJhbXtUaWNrZXRJRH0sCiAgICAgICAgICAgIEFydGljbGVJRCA9PiAkQXJ0aWNsZUlELAogICAgICAgICAgICBUaW1lVW5pdCAgPT4gJFBhcmFte1RpbWVVbml0c30sCiAgICAgICAgICAgIFVzZXJJRCAgICA9PiAkUGFyYW17VXNlcklEfSwKICAgICAgICApOwogICAgfQoKICAgICMgc2V0IGR5bmFtaWMgZmllbGRzCiAgICAjIGN5Y2xlIHRyb3VnaCB0aGUgYWN0aXZhdGVkIER5bmFtaWMgRmllbGRzIGZvciB0aGlzIHNjcmVlbgogICAgRFlOQU1JQ0ZJRUxEOgogICAgZm9yIG15ICREeW5hbWljRmllbGRDb25maWcgKCBAeyAkU2VsZi0+e0R5bmFtaWNGaWVsZH0gfSApIHsKICAgICAgICBuZXh0IERZTkFNSUNGSUVMRCBpZiAhSXNIYXNoUmVmV2l0aERhdGEoJER5bmFtaWNGaWVsZENvbmZpZyk7CgogICAgICAgICMgc2V0IHRoZSBvYmplY3QgSUQgKFRpY2tldElEIG9yIEFydGljbGVJRCkgZGVwZW5kaW5nIG9uIHRoZSBmaWVsZCBjb25maWdyYXRpb24KICAgICAgICBteSAkT2JqZWN0SUQgPSAkRHluYW1pY0ZpZWxkQ29uZmlnLT57T2JqZWN0VHlwZX0gZXEgJ0FydGljbGUnID8gJEFydGljbGVJRCA6ICRQYXJhbXtUaWNrZXRJRH07CgogICAgICAgICMgc2V0IHRoZSB2YWx1ZQogICAgICAgIG15ICRTdWNjZXNzID0gJFNlbGYtPntCYWNrZW5kT2JqZWN0fS0+VmFsdWVTZXQoCiAgICAgICAgICAgIER5bmFtaWNGaWVsZENvbmZpZyA9PiAkRHluYW1pY0ZpZWxkQ29uZmlnLAogICAgICAgICAgICBPYmplY3RJRCAgICAgICAgICAgPT4gJE9iamVjdElELAogICAgICAgICAgICBWYWx1ZSAgICAgICAgICAgICAgPT4gJER5bmFtaWNGaWVsZFZhbHVlc3sgJER5bmFtaWNGaWVsZENvbmZpZy0+e05hbWV9IH0sCiAgICAgICAgICAgIFVzZXJJRCAgICAgICAgICAgICA9PiAkUGFyYW17VXNlcklEfSwKICAgICAgICApOwogICAgfQoKICAgICMgc2V0IHN0YXRlCiAgICBpZiAoICRTZWxmLT57Q29uZmlnfS0+e1N0YXRlfSAmJiAkUGFyYW17U3RhdGVJRH0gKSB7CiAgICAgICAgJFNlbGYtPntUaWNrZXRPYmplY3R9LT5UaWNrZXRTdGF0ZVNldCgKICAgICAgICAgICAgVGlja2V0SUQgPT4gJFBhcmFte1RpY2tldElEfSwKICAgICAgICAgICAgU3RhdGVJRCAgPT4gJFBhcmFte1N0YXRlSUR9LAogICAgICAgICAgICBVc2VySUQgICA9PiAkUGFyYW17VXNlcklEfSwKICAgICAgICApOwogICAgfQoKICAgICMgc2hvdWxkIEkgc2V0IGFuIHVubG9jaz8KICAgIGlmICggJFN0YXRlRGF0YXtUeXBlTmFtZX0gPX4gL15jbG9zZS9pICkgewogICAgICAgICRTZWxmLT57VGlja2V0T2JqZWN0fS0+VGlja2V0TG9ja1NldCgKICAgICAgICAgICAgVGlja2V0SUQgPT4gJFBhcmFte1RpY2tldElEfSwKICAgICAgICAgICAgTG9jayAgICAgPT4gJ3VubG9jaycsCiAgICAgICAgICAgIFVzZXJJRCAgID0+ICRQYXJhbXtVc2VySUR9LAogICAgICAgICk7CiAgICB9CgogICAgIyBzZXQgcGVuZGluZyB0aW1lCiAgICBlbHNpZiAoICRTdGF0ZURhdGF7VHlwZU5hbWV9ID1+IC9ecGVuZGluZy9pICkgewogICAgICAgICRTZWxmLT57VGlja2V0T2JqZWN0fS0+VGlja2V0UGVuZGluZ1RpbWVTZXQoCiAgICAgICAgICAgIFVzZXJJRCAgID0+ICRQYXJhbXtVc2VySUR9LAogICAgICAgICAgICBUaWNrZXRJRCA9PiAkUGFyYW17VGlja2V0SUR9LAogICAgICAgICAgICBTdHJpbmcgICA9PiAkUGFyYW17UGVuZGluZ0RhdGV9LAogICAgICAgICk7CiAgICB9CgogICAgIyBsb2cgdXNlIHJlc3BvbnNlIGlkIGFuZCByZXBseSBhcnRpY2xlIGlkICh1c2VmdWwgZm9yIHJlc3BvbnNlIGRpYWdub3N0aWNzKQogICAgbXkgJEhpc3RvcnlOYW1lOwogICAgaWYgKCAkUGFyYW17UmVwbHlBcnRpY2xlSUR9ICkgewogICAgICAgICRIaXN0b3J5TmFtZSA9ICJSZXNwb25zZSBmcm9tIGlQaG9uZSAvJFBhcmFte1JlcGx5QXJ0aWNsZUlEfS8kQXJ0aWNsZUlEKSI7CiAgICB9CiAgICBlbHNlIHsKICAgICAgICAkSGlzdG9yeU5hbWUgPSAiUmVzcG9uc2UgZnJvbSBpUGhvbmUgLyRBcnRpY2xlSUQpIgogICAgfQogICAgJFNlbGYtPntUaWNrZXRPYmplY3R9LT5IaXN0b3J5QWRkKAogICAgICAgIE5hbWUgICAgICAgICA9PiAkSGlzdG9yeU5hbWUsCiAgICAgICAgSGlzdG9yeVR5cGUgID0+ICdNaXNjJywKICAgICAgICBUaWNrZXRJRCAgICAgPT4gJFBhcmFte1RpY2tldElEfSwKICAgICAgICBDcmVhdGVVc2VySUQgPT4gJFBhcmFte1VzZXJJRH0sCiAgICApOwogICAgcmV0dXJuICRBcnRpY2xlSUQ7Cn0KCnN1YiBfVGlja2V0TW92ZSB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgICMgY2hlY2sgbmVlZGVkIHN0dWZmCiAgICBmb3IgKHF3KFRpY2tldElEKSkgewogICAgICAgIGlmICggISRQYXJhbXskX30gKSB7CiAgICAgICAgICAgICRTZWxmLT57TG9nT2JqZWN0fS0+TG9nKAogICAgICAgICAgICAgICAgUHJpb3JpdHkgPT4gJ2Vycm9yJywKICAgICAgICAgICAgICAgIE1lc3NhZ2UgID0+ICJObyAkXyBpcyBnaXZlbiEgUGxlYXNlIGNvbnRhY3QgdGhlIGFkbWluLiIsCiAgICAgICAgICAgICk7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICB9CgogICAgJFNlbGYtPntDb25maWd9ID0gJFNlbGYtPntDb25maWdPYmplY3R9LT5HZXQoJ2lQaG9uZTo6RnJvbnRlbmQ6OkFnZW50VGlja2V0TW92ZScpOwoKICAgICMgY2hlY2sgcGVybWlzc2lvbnMKICAgIG15ICRBY2Nlc3MgPSAkU2VsZi0+e1RpY2tldE9iamVjdH0tPlRpY2tldFBlcm1pc3Npb24oCiAgICAgICAgVHlwZSAgICAgPT4gJ21vdmUnLAogICAgICAgIFRpY2tldElEID0+ICRQYXJhbXtUaWNrZXRJRH0sCiAgICAgICAgVXNlcklEICAgPT4gJFBhcmFte1VzZXJJRH0KICAgICk7CgogICAgIyBlcnJvciBzY3JlZW4sIGRvbid0IHNob3cgdGlja2V0CiAgICBpZiAoICEkQWNjZXNzICkgewogICAgICAgICRTZWxmLT57TG9nT2JqZWN0fS0+TG9nKAogICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICBNZXNzYWdlICA9PiAiWW91IG5lZWQgJFNlbGYtPntDb25maWd9LT57UGVybWlzc2lvbn0gcGVybWlzc2lvbnMhIiwKICAgICAgICApOwogICAgICAgIHJldHVybjsKICAgIH0KCiAgICAjIGdldCBsb2NrIHN0YXRlCiAgICBpZiAoICRTZWxmLT57Q29uZmlnfS0+e1JlcXVpcmVkTG9ja30gKSB7CiAgICAgICAgbXkgJExvY2tlZCA9ICRTZWxmLT57VGlja2V0T2JqZWN0fS0+VGlja2V0TG9ja0dldCggVGlja2V0SUQgPT4gJFBhcmFte1RpY2tldElEfSApOwogICAgICAgIGlmICggISRMb2NrZWQgKSB7CiAgICAgICAgICAgICRTZWxmLT57VGlja2V0T2JqZWN0fS0+VGlja2V0TG9ja1NldCgKICAgICAgICAgICAgICAgIFRpY2tldElEID0+ICRQYXJhbXtUaWNrZXRJRH0sCiAgICAgICAgICAgICAgICBMb2NrICAgICA9PiAnbG9jaycsCiAgICAgICAgICAgICAgICBVc2VySUQgICA9PiAkUGFyYW17VXNlcklEfSwKICAgICAgICAgICAgKTsKCiAgICAgICAgICAgIG15ICRTdWNjZXNzID0gJFNlbGYtPntUaWNrZXRPYmplY3R9LT5UaWNrZXRPd25lclNldCgKICAgICAgICAgICAgICAgIFRpY2tldElEICA9PiAkUGFyYW17VGlja2V0SUR9LAogICAgICAgICAgICAgICAgVXNlcklEICAgID0+ICRQYXJhbXtVc2VySUR9LAogICAgICAgICAgICAgICAgTmV3VXNlcklEID0+ICRQYXJhbXtVc2VySUR9LAogICAgICAgICAgICApOwogICAgICAgIH0KICAgICAgICBlbHNlIHsKICAgICAgICAgICAgbXkgJEFjY2Vzc09rID0gJFNlbGYtPntUaWNrZXRPYmplY3R9LT5Pd25lckNoZWNrKAogICAgICAgICAgICAgICAgVGlja2V0SUQgPT4gJFBhcmFte1RpY2tldElEfSwKICAgICAgICAgICAgICAgIE93bmVySUQgID0+ICRQYXJhbXtVc2VySUR9LAogICAgICAgICAgICApOwogICAgICAgICAgICBpZiAoICEkQWNjZXNzT2sgKSB7CiAgICAgICAgICAgICAgICAkU2VsZi0+e0xvZ09iamVjdH0tPkxvZygKICAgICAgICAgICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICAgICAgICAgIE1lc3NhZ2UgID0+ICJTb3JyeSwgeW91IG5lZWQgdG8gYmUgdGhlIG93bmVyIHRvIGRvIHRoaXMgYWN0aW9uISAiCiAgICAgICAgICAgICAgICAgICAgICAgIC4gIlBsZWFzZSBjaGFuZ2UgdGhlIG93bmVyIGZpcnN0LiIsCiAgICAgICAgICAgICAgICApOwogICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgICMgdGlja2V0IGF0dHJpYnV0ZXMKICAgIG15ICVUaWNrZXQgPSAkU2VsZi0+e1RpY2tldE9iamVjdH0tPlRpY2tldEdldCggVGlja2V0SUQgPT4gJFBhcmFte1RpY2tldElEfSApOwoKICAgICMgdHJhbnNmb3JtIHBlbmRpbmcgdGltZSwgdGltZSBzdGFtcCBiYXNlZCBvbiB1c2VyIHRpbWUgem9uZQogICAgaWYgKCBJc1N0cmluZ1dpdGhEYXRhKCAkUGFyYW17UGVuZGluZ0RhdGV9ICkgKSB7CiAgICAgICAgJFBhcmFte1BlbmRpbmdEYXRlfSA9ICRTZWxmLT5fVHJhbnNmb3JtRGF0ZVNlbGVjdGlvbigKICAgICAgICAgICAgVGltZVN0YW1wID0+ICRQYXJhbXtQZW5kaW5nRGF0ZX0sCiAgICAgICAgKTsKICAgIH0KCiAgICBteSAkVXNlclRpbWVab25lID0gJFNlbGYtPntVc2VyVGltZVpvbmV9OwoKICAgICMgZ2V0IGR5bmFtaWMgZmllbGQgY29uZmlnIGZvciB0aGUgc2NyZWVuCiAgICAkU2VsZi0+e0R5bmFtaWNGaWVsZEZpbHRlcn0gPSAkU2VsZi0+e0NvbmZpZ30tPntEeW5hbWljRmllbGR9OwoKICAgICMgZ2V0IHRoZSBkeW5hbWljIGZpZWxkcyBmb3IgdGlja2V0IG9iamVjdAogICAgJFNlbGYtPntEeW5hbWljRmllbGR9ID0gJFNlbGYtPntEeW5hbWljRmllbGRPYmplY3R9LT5EeW5hbWljRmllbGRMaXN0R2V0KAogICAgICAgIFZhbGlkICAgICAgID0+IDEsCiAgICAgICAgT2JqZWN0VHlwZSAgPT4gWyAnVGlja2V0JywgJ0FydGljbGUnIF0sCiAgICAgICAgRmllbGRGaWx0ZXIgPT4gJFNlbGYtPntEeW5hbWljRmllbGRGaWx0ZXJ9IHx8IHt9LAogICAgKTsKCiAgICBteSAlRHluYW1pY0ZpZWxkVmFsdWVzOwoKICAgICMgY3ljbGUgdHJvdWdoIHRoZSBhY3RpdmF0ZWQgRHluYW1pYyBGaWVsZHMgZm9yIHRoaXMgc2NyZWVuCiAgICBEWU5BTUlDRklFTEQ6CiAgICBmb3IgbXkgJER5bmFtaWNGaWVsZENvbmZpZyAoIEB7ICRTZWxmLT57RHluYW1pY0ZpZWxkfSB9ICkgewogICAgICAgIG5leHQgRFlOQU1JQ0ZJRUxEIGlmICFJc0hhc2hSZWZXaXRoRGF0YSgkRHluYW1pY0ZpZWxkQ29uZmlnKTsKICAgICAgICBuZXh0IERZTkFNSUNGSUVMRCBpZiAhSXNIYXNoUmVmV2l0aERhdGEoICREeW5hbWljRmllbGRDb25maWctPntDb25maWd9ICk7CiAgICAgICAgbmV4dCBEWU5BTUlDRklFTEQgaWYgISREeW5hbWljRmllbGRDb25maWctPntOYW1lfTsKCiAgICAgICAgbmV4dCBEWU5BTUlDRklFTEQgaWYgISRTZWxmLT57aVBob25lQmFja2VuZE9iamVjdH0tPklzSVBob25lQ2FwYWJsZSgKICAgICAgICAgICAgRHluYW1pY0ZpZWxkQ29uZmlnID0+ICREeW5hbWljRmllbGRDb25maWcsCiAgICAgICAgKTsKCiAgICAgICAgIyBleHRyYWN0IHRoZSBkeW5hbWljIGZpZWxkIHZhbHVlIGZvcm0gcGFyYW1ldGVycwogICAgICAgICREeW5hbWljRmllbGRWYWx1ZXN7ICREeW5hbWljRmllbGRDb25maWctPntOYW1lfSB9ID0KICAgICAgICAgICAgJFNlbGYtPntpUGhvbmVCYWNrZW5kT2JqZWN0fS0+RWRpdEZpZWxkVmFsdWVHZXQoCiAgICAgICAgICAgIER5bmFtaWNGaWVsZENvbmZpZyA9PiAkRHluYW1pY0ZpZWxkQ29uZmlnLAogICAgICAgICAgICBUcmFuc2Zvcm1EYXRlcyAgICAgPT4gMSwKICAgICAgICAgICAgVXNlclRpbWVab25lICAgICAgID0+ICRVc2VyVGltZVpvbmUgfHwgMCwKICAgICAgICAgICAgJVBhcmFtLAogICAgICAgICAgICApOwoKICAgICAgICAjIHBlcmZvcm0gdmFsaWRhdGlvbiBvZiB0aGUgZGF0YQogICAgICAgIG15ICRWYWxpZGF0aW9uUmVzdWx0ID0gJFNlbGYtPntpUGhvbmVCYWNrZW5kT2JqZWN0fS0+RWRpdEZpZWxkVmFsdWVWYWxpZGF0ZSgKICAgICAgICAgICAgRHluYW1pY0ZpZWxkQ29uZmlnID0+ICREeW5hbWljRmllbGRDb25maWcsCiAgICAgICAgICAgIFZhbHVlICAgICAgICAgICAgICA9PiAkRHluYW1pY0ZpZWxkVmFsdWVzeyAkRHluYW1pY0ZpZWxkQ29uZmlnLT57TmFtZX0gfSwKICAgICAgICAgICAgTWFuZGF0b3J5ICAgICAgICAgID0+ICRTZWxmLT57Q29uZmlnfS0+e0R5bmFtaWNGaWVsZH0tPnsgJER5bmFtaWNGaWVsZENvbmZpZy0+e05hbWV9IH0gPT0gMiwKICAgICAgICApOwoKICAgICAgICBpZiAoICFJc0hhc2hSZWZXaXRoRGF0YSgkVmFsaWRhdGlvblJlc3VsdCkgKSB7CiAgICAgICAgICAgICRTZWxmLT57TG9nT2JqZWN0fS0+TG9nKAogICAgICAgICAgICAgICAgUHJpb3JpdHkgPT4gJ2Vycm9yJywKICAgICAgICAgICAgICAgIE1lc3NhZ2UgID0+ICJDb3VsZCBub3QgcGVyZm9ybSB2YWxpZGF0aW9uIG9uIGZpZWxkICREeW5hbWljRmllbGRDb25maWctPntMYWJlbH0hIiwKICAgICAgICAgICAgKTsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KCiAgICAgICAgIyBwcm9wYWdhdGUgdmFsaWRhdGlvbiBlcnJvcgogICAgICAgIGlmICggJFZhbGlkYXRpb25SZXN1bHQtPntTZXJ2ZXJFcnJvcn0gKSB7CgogICAgICAgICAgICBteSAkRXJyb3JNZXNzYWdlID0gJFZhbGlkYXRpb25SZXN1bHQtPntFcnJvck1lc3NhZ2V9CiAgICAgICAgICAgICAgICB8fCAiRHluYW1pYyBmaWVsZCAkRHluYW1pY0ZpZWxkQ29uZmlnLT57TGFiZWx9IGludmFsaWQiOwoKICAgICAgICAgICAgJFNlbGYtPntMb2dPYmplY3R9LT5Mb2coCiAgICAgICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICAgICAgTWVzc2FnZSAgPT4gJEVycm9yTWVzc2FnZSwKICAgICAgICAgICAgKTsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgIH0KCiAgICAjIERlc3RRdWV1ZUlEIGxvb2t1cAogICAgaWYgKCAhJFBhcmFte1F1ZXVlSUR9ICkgewogICAgICAgICRTZWxmLT57TG9nT2JqZWN0fS0+TG9nKAogICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICBNZXNzYWdlICA9PiAiTm8gUXVldWVJRCBpcyBnaXZlbiEgUGxlYXNlIGNvbnRhY3QgdGhlIGFkbWluLiIsCiAgICAgICAgKTsKICAgICAgICByZXR1cm47CiAgICB9CgogICAgaWYgKCAkUGFyYW17T3duZXJJRH0gKSB7CiAgICAgICAgJFBhcmFte05ld1VzZXJJRH0gPSAkUGFyYW17T3duZXJJRH07CiAgICB9CgogICAgIyBtb3ZlIHRpY2tldCAoc2VuZCBub3RpZmljYXRpb24gb2Ygbm8gbmV3IG93bmVyIGlzIHNlbGVjdGVkKQogICAgbXkgJEJvZHlBc1RleHQgPSAkUGFyYW17Qm9keX0gfHwgJyc7CiAgICBteSAkTW92ZSA9ICRTZWxmLT57VGlja2V0T2JqZWN0fS0+VGlja2V0UXVldWVTZXQoCiAgICAgICAgUXVldWVJRCAgICAgICAgICAgID0+ICRQYXJhbXtRdWV1ZUlEfSwKICAgICAgICBVc2VySUQgICAgICAgICAgICAgPT4gJFBhcmFte1VzZXJJRH0sCiAgICAgICAgVGlja2V0SUQgICAgICAgICAgID0+ICRQYXJhbXtUaWNrZXRJRH0sCiAgICAgICAgU2VuZE5vTm90aWZpY2F0aW9uID0+ICRQYXJhbXtOZXdVc2VySUR9LAogICAgICAgIENvbW1lbnQgICAgICAgICAgICA9PiAkQm9keUFzVGV4dCwKICAgICk7CiAgICBpZiAoICEkTW92ZSApIHsKICAgICAgICAkU2VsZi0+e0xvZ09iamVjdH0tPkxvZygKICAgICAgICAgICAgUHJpb3JpdHkgPT4gJ2Vycm9yJywKICAgICAgICAgICAgTWVzc2FnZSAgPT4gIkVycm9yOiB0aWNrZXQgbm90IG1vdmVkISBQbGVhc2UgY29udGFjdCB0aGUgYWRtaW4uIiwKICAgICAgICApOwogICAgICAgIHJldHVybjsKICAgIH0KCiAgICAjIHNldCBwcmlvcml0eQogICAgaWYgKCAkU2VsZi0+e0NvbmZpZ30tPntQcmlvcml0eX0gJiYgJFBhcmFte1ByaW9yaXR5SUR9ICkgewogICAgICAgICRTZWxmLT57VGlja2V0T2JqZWN0fS0+VGlja2V0UHJpb3JpdHlTZXQoCiAgICAgICAgICAgIFRpY2tldElEICAgPT4gJFBhcmFte1RpY2tldElEfSwKICAgICAgICAgICAgUHJpb3JpdHlJRCA9PiAkUGFyYW17UHJpb3JpdHlJRH0sCiAgICAgICAgICAgIFVzZXJJRCAgICAgPT4gJFBhcmFte1VzZXJJRH0sCiAgICAgICAgKTsKICAgIH0KCiAgICAjIHNldCBzdGF0ZQogICAgaWYgKCAkU2VsZi0+e0NvbmZpZ30tPntTdGF0ZX0gJiYgJFBhcmFte1N0YXRlSUR9ICkgewoKICAgICAgICAkU2VsZi0+e1RpY2tldE9iamVjdH0tPlRpY2tldFN0YXRlU2V0KAogICAgICAgICAgICBUaWNrZXRJRCA9PiAkUGFyYW17VGlja2V0SUR9LAogICAgICAgICAgICBTdGF0ZUlEICA9PiAkUGFyYW17U3RhdGVJRH0sCiAgICAgICAgICAgIFVzZXJJRCAgID0+ICRQYXJhbXtVc2VySUR9LAogICAgICAgICk7CgogICAgICAgICMgdW5sb2NrIHRoZSB0aWNrZXQgYWZ0ZXIgY2xvc2UKICAgICAgICBteSAlU3RhdGVEYXRhID0gJFNlbGYtPntUaWNrZXRPYmplY3R9LT57U3RhdGVPYmplY3R9LT5TdGF0ZUdldCgKICAgICAgICAgICAgSUQgPT4gJFBhcmFte1N0YXRlSUR9LAogICAgICAgICk7CgogICAgICAgICMgc2V0IHVubG9jayBvbiBjbG9zZSBzdGF0ZQogICAgICAgIGlmICggJFN0YXRlRGF0YXtUeXBlTmFtZX0gPX4gL15jbG9zZS9pICkgewogICAgICAgICAgICAkU2VsZi0+e1RpY2tldE9iamVjdH0tPlRpY2tldExvY2tTZXQoCiAgICAgICAgICAgICAgICBUaWNrZXRJRCA9PiAkUGFyYW17VGlja2V0SUR9LAogICAgICAgICAgICAgICAgTG9jayAgICAgPT4gJ3VubG9jaycsCiAgICAgICAgICAgICAgICBVc2VySUQgICA9PiAkUGFyYW17VXNlcklEfSwKICAgICAgICAgICAgKTsKICAgICAgICB9CiAgICB9CgogICAgIyBjaGVjayBpZiBuZXcgdXNlciBpcyBnaXZlbiBhbmQgc2VuZCBub3RpZmljYXRpb24KICAgIGlmICggJFBhcmFte05ld1VzZXJJRH0gKSB7CgogICAgICAgICMgbG9jawogICAgICAgICRTZWxmLT57VGlja2V0T2JqZWN0fS0+VGlja2V0TG9ja1NldCgKICAgICAgICAgICAgVGlja2V0SUQgPT4gJFBhcmFte1RpY2tldElEfSwKICAgICAgICAgICAgTG9jayAgICAgPT4gJ2xvY2snLAogICAgICAgICAgICBVc2VySUQgICA9PiAkUGFyYW17VXNlcklEfSwKICAgICAgICApOwoKICAgICAgICAjIHNldCBvd25lcgogICAgICAgICRTZWxmLT57VGlja2V0T2JqZWN0fS0+VGlja2V0T3duZXJTZXQoCiAgICAgICAgICAgIFRpY2tldElEICA9PiAkUGFyYW17VGlja2V0SUR9LAogICAgICAgICAgICBVc2VySUQgICAgPT4gJFBhcmFte1VzZXJJRH0sCiAgICAgICAgICAgIE5ld1VzZXJJRCA9PiAkUGFyYW17TmV3VXNlcklEfSwKICAgICAgICAgICAgQ29tbWVudCAgID0+ICRCb2R5QXNUZXh0LAogICAgICAgICk7CiAgICB9CgogICAgIyBmb3JjZSB1bmxvY2sgaWYgbm8gbmV3IG93bmVyIGlzIHNldCBhbmQgdGlja2V0IHdhcyB1bmxvY2tlZAogICAgZWxzZSB7CiAgICAgICAgaWYgKCAkU2VsZi0+e1RpY2tldFVubG9ja30gKSB7CiAgICAgICAgICAgICRTZWxmLT57VGlja2V0T2JqZWN0fS0+VGlja2V0TG9ja1NldCgKICAgICAgICAgICAgICAgIFRpY2tldElEID0+ICRQYXJhbXtUaWNrZXRJRH0sCiAgICAgICAgICAgICAgICBMb2NrICAgICA9PiAndW5sb2NrJywKICAgICAgICAgICAgICAgIFVzZXJJRCAgID0+ICRQYXJhbXtVc2VySUR9LAogICAgICAgICAgICApOwogICAgICAgIH0KICAgIH0KCiAgICAjIGFkZCBub3RlIChzZW5kIG5vIG5vdGlmaWNhdGlvbikKICAgIG15ICRNaW1lVHlwZSA9ICd0ZXh0L3BsYWluJzsKCiAgICBteSAlVXNlckRhdGEgPSAkU2VsZi0+e1VzZXJPYmplY3R9LT5HZXRVc2VyRGF0YSggVXNlcklEID0+ICRQYXJhbXtVc2VySUR9ICk7CgogICAgbXkgJEFydGljbGVJRCA9ICRTZWxmLT57VGlja2V0T2JqZWN0fS0+QXJ0aWNsZUNyZWF0ZSgKICAgICAgICBUaWNrZXRJRCAgICAgICA9PiAkUGFyYW17VGlja2V0SUR9LAogICAgICAgIEFydGljbGVUeXBlICAgID0+ICdub3RlLWludGVybmFsJywKICAgICAgICBTZW5kZXJUeXBlICAgICA9PiAnYWdlbnQnLAogICAgICAgIEZyb20gICAgICAgICAgID0+ICIkVXNlckRhdGF7VXNlckZpcnN0bmFtZX0gJFVzZXJEYXRhe1VzZXJMYXN0bmFtZX0gPCRVc2VyRGF0YXtVc2VyRW1haWx9PiIsCiAgICAgICAgU3ViamVjdCAgICAgICAgPT4gJFBhcmFte1N1YmplY3R9LAogICAgICAgIEJvZHkgICAgICAgICAgID0+ICRQYXJhbXtCb2R5fSwKICAgICAgICBNaW1lVHlwZSAgICAgICA9PiAkTWltZVR5cGUsCiAgICAgICAgQ2hhcnNldCAgICAgICAgPT4gJFNlbGYtPntDb25maWdPYmplY3R9LT5HZXQoJ0RlZmF1bHRDaGFyc2V0JyksCiAgICAgICAgVXNlcklEICAgICAgICAgPT4gJFBhcmFte1VzZXJJRH0sCiAgICAgICAgSGlzdG9yeVR5cGUgICAgPT4gJ0FkZE5vdGUnLAogICAgICAgIEhpc3RvcnlDb21tZW50ID0+ICclJU1vdmUnLAogICAgICAgIE5vQWdlbnROb3RpZnkgID0+IDEsCiAgICApOwoKICAgIGlmICggISRBcnRpY2xlSUQgKSB7CiAgICAgICAgJFNlbGYtPntMb2dPYmplY3R9LT5Mb2coCiAgICAgICAgICAgIFByaW9yaXR5ID0+ICdlcnJvcicsCiAgICAgICAgICAgIE1lc3NhZ2UgID0+ICJFcnJvcjogQ2FuJ3QgY3JlYXRlIGFuIGFydGljbGUgZm9yIHRoZSBtb3ZlZCB0aWNrZXQiLAogICAgICAgICk7CiAgICAgICAgcmV0dXJuOwogICAgfQoKICAgICMgc2V0IGR5bmFtaWMgZmllbGRzCiAgICAjIGN5Y2xlIHRyb3VnaCB0aGUgYWN0aXZhdGVkIER5bmFtaWMgRmllbGRzIGZvciB0aGlzIHNjcmVlbgogICAgRFlOQU1JQ0ZJRUxEOgogICAgZm9yIG15ICREeW5hbWljRmllbGRDb25maWcgKCBAeyAkU2VsZi0+e0R5bmFtaWNGaWVsZH0gfSApIHsKICAgICAgICBuZXh0IERZTkFNSUNGSUVMRCBpZiAhSXNIYXNoUmVmV2l0aERhdGEoJER5bmFtaWNGaWVsZENvbmZpZyk7CgogICAgICAgICMgc2V0IHRoZSBvYmplY3QgSUQgKFRpY2tldElEIG9yIEFydGljbGVJRCkgZGVwZW5kaW5nIG9uIHRoZSBmaWVsZCBjb25maWdyYXRpb24KICAgICAgICBteSAkT2JqZWN0SUQgPSAkRHluYW1pY0ZpZWxkQ29uZmlnLT57T2JqZWN0VHlwZX0gZXEgJ0FydGljbGUnID8gJEFydGljbGVJRCA6ICRQYXJhbXtUaWNrZXRJRH07CgogICAgICAgICMgc2V0IHRoZSB2YWx1ZQogICAgICAgIG15ICRTdWNjZXNzID0gJFNlbGYtPntCYWNrZW5kT2JqZWN0fS0+VmFsdWVTZXQoCiAgICAgICAgICAgIER5bmFtaWNGaWVsZENvbmZpZyA9PiAkRHluYW1pY0ZpZWxkQ29uZmlnLAogICAgICAgICAgICBPYmplY3RJRCAgICAgICAgICAgPT4gJE9iamVjdElELAogICAgICAgICAgICBWYWx1ZSAgICAgICAgICAgICAgPT4gJER5bmFtaWNGaWVsZFZhbHVlc3sgJER5bmFtaWNGaWVsZENvbmZpZy0+e05hbWV9IH0sCiAgICAgICAgICAgIFVzZXJJRCAgICAgICAgICAgICA9PiAkUGFyYW17VXNlcklEfSwKICAgICAgICApOwogICAgfQoKICAgICMgdGltZSBhY2NvdW50aW5nCiAgICBpZiAoICRQYXJhbXtUaW1lVW5pdHN9ICkgewogICAgICAgICRTZWxmLT57VGlja2V0T2JqZWN0fS0+VGlja2V0QWNjb3VudFRpbWUoCiAgICAgICAgICAgIFRpY2tldElEICA9PiAkUGFyYW17VGlja2V0SUR9LAogICAgICAgICAgICBBcnRpY2xlSUQgPT4gJEFydGljbGVJRCwKICAgICAgICAgICAgVGltZVVuaXQgID0+ICRQYXJhbXtUaW1lVW5pdHN9LAogICAgICAgICAgICBVc2VySUQgICAgPT4gJFBhcmFte1VzZXJJRH0sCiAgICAgICAgKTsKICAgIH0KCiAgICBpZiAoJEFydGljbGVJRCkgewogICAgICAgIHJldHVybiAkQXJ0aWNsZUlEOwogICAgfQogICAgZWxzZSB7CiAgICAgICAgaWYgKCRNb3ZlKSB7CiAgICAgICAgICAgIHJldHVybiAkUGFyYW17UXVldWVJRH07CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuIC0xOwoKfQoKc3ViIF9HZXRDb21wb3NlRGVmYXVsdHMgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICBpZiAoICEkUGFyYW17VGlja2V0SUR9ICkgewogICAgICAgICRTZWxmLT57TG9nT2JqZWN0fS0+TG9nKAogICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICBNZXNzYWdlICA9PiAnTm8gVGlja2V0SUQgZ2l2ZW4hIFBsZWFzZSBjb250YWN0IHRoZSBhZG1pbi4nLAogICAgICAgICk7CiAgICAgICAgcmV0dXJuOwogICAgfQoKICAgIG15ICVDb21wb3NlRGF0YTsKCiAgICAjIGdldCBsYXN0IGN1c3RvbWVyIGFydGljbGUgb3Igc2VsZWN0ZWQgYXJ0aWNsZSAuLi4KICAgIG15ICVEYXRhOwogICAgaWYgKCAkUGFyYW17QXJ0aWNsZUlEfSApIHsKICAgICAgICAlRGF0YSA9ICRTZWxmLT57VGlja2V0T2JqZWN0fS0+QXJ0aWNsZUdldCggQXJ0aWNsZUlEID0+ICRQYXJhbXtBcnRpY2xlSUR9ICk7CiAgICB9CiAgICBlbHNlIHsKICAgICAgICAlRGF0YSA9ICRTZWxmLT57VGlja2V0T2JqZWN0fS0+QXJ0aWNsZUxhc3RDdXN0b21lckFydGljbGUoCiAgICAgICAgICAgIFRpY2tldElEID0+ICRQYXJhbXtUaWNrZXRJRH0sCiAgICAgICAgKTsKICAgIH0KCiAgICAjIGNoZWNrIGFydGljbGUgdHlwZSBhbmQgcmVwbGFjZSBUbyB3aXRoIEZyb20gKGluIGNhc2UpCiAgICBpZiAoICREYXRhe1NlbmRlclR5cGV9ICF+IC9jdXN0b21lci8gKSB7CiAgICAgICAgbXkgJFRvICAgPSAkRGF0YXtUb307CiAgICAgICAgbXkgJEZyb20gPSAkRGF0YXtGcm9tfTsKCiAgICAgICAgIyBzZXQgT3JpZ0Zyb20gZm9yIGNvcnJlY3QgZW1haWwgcXVvdGVpbmcgKHh4eHggd3JvdGUpCiAgICAgICAgJERhdGF7T3JpZ0Zyb219ID0gJERhdGF7RnJvbX07CgogICAgICAgICMgcmVwbGFjZSBGcm9tL1RvLCBUby9Gcm9tIGJlY2F1c2Ugc2VuZGVyIGlzIGFnZW50CiAgICAgICAgJERhdGF7RnJvbX0gICAgPSAkVG87CiAgICAgICAgJERhdGF7VG99ICAgICAgPSAkRGF0YXtGcm9tfTsKICAgICAgICAkRGF0YXtSZXBseVRvfSA9ICcnOwogICAgfQogICAgZWxzZSB7CgogICAgICAgICMgc2V0IE9yaWdGcm9tIGZvciBjb3JyZWN0IGVtYWlsIHF1b3RlaW5nICh4eHh4IHdyb3RlKQogICAgICAgICREYXRhe09yaWdGcm9tfSA9ICREYXRhe0Zyb219OwogICAgfQoKICAgICMgYnVpbGQgT3JpZ0Zyb21OYW1lICh0byBvbmx5IHVzZSB0aGUgcmVhbG5hbWUpCiAgICAkRGF0YXtPcmlnRnJvbU5hbWV9ID0gJERhdGF7T3JpZ0Zyb219OwogICAgJERhdGF7T3JpZ0Zyb21OYW1lfSA9fiBzLzwuKj58XCguKlwpfFwifDt8LC8vZzsKICAgICREYXRhe09yaWdGcm9tTmFtZX0gPX4gcy8oICQpfCggICQpLy9nOwoKICAgIG15ICVUaWNrZXQgPSAkU2VsZi0+e1RpY2tldE9iamVjdH0tPlRpY2tldEdldCgKICAgICAgICBUaWNrZXRJRCA9PiAkUGFyYW17VGlja2V0SUR9LAogICAgICAgIFVzZXJJRCAgID0+ICRQYXJhbXtVc2VySUR9LAogICAgKTsKCiAgICAjIGdldCBjdXN0b21lciBkYXRhCiAgICBteSAlQ3VzdG9tZXI7CiAgICBpZiAoICRUaWNrZXR7Q3VzdG9tZXJVc2VySUR9ICkgewogICAgICAgICVDdXN0b21lciA9ICRTZWxmLT57Q3VzdG9tZXJVc2VyT2JqZWN0fS0+Q3VzdG9tZXJVc2VyRGF0YUdldCgKICAgICAgICAgICAgVXNlciA9PiAkVGlja2V0e0N1c3RvbWVyVXNlcklEfQogICAgICAgICk7CiAgICB9CgogICAgIyBwcmVwYXJlIGJvZHksIHN1YmplY3QsIFJlcGx5VG8gLi4uCiAgICAjIHJld3JhcCBib2R5IGlmIGV4aXN0cwogICAgaWYgKCAkRGF0YXtCb2R5fSApIHsKICAgICAgICAkRGF0YXtCb2R5fSA9fiBzL1x0LyAvZzsKICAgICAgICBteSAkUXVvdGUgPSAkU2VsZi0+e0NvbmZpZ09iamVjdH0tPkdldCgnVGlja2V0OjpGcm9udGVuZDo6UXVvdGUnKTsKICAgICAgICBpZiAoJFF1b3RlKSB7CiAgICAgICAgICAgICREYXRhe0JvZHl9ID1+IHMvXG4vXG4kUXVvdGUgL2c7CiAgICAgICAgICAgICREYXRhe0JvZHl9ID0gIlxuJFF1b3RlICIgLiAkRGF0YXtCb2R5fTsKICAgICAgICB9CiAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICREYXRhe0JvZHl9ID0gIlxuIiAuICREYXRhe0JvZHl9OwogICAgICAgICAgICBpZiAoICREYXRhe0NyZWF0ZWR9ICkgewogICAgICAgICAgICAgICAgJERhdGF7Qm9keX0gPSAiRGF0ZTogJERhdGF7Q3JlYXRlZH1cbiIgLiAkRGF0YXtCb2R5fTsKICAgICAgICAgICAgfQogICAgICAgICAgICBmb3IgKHF3KFN1YmplY3QgUmVwbHlUbyBSZXBseS1UbyBDYyBUbyBGcm9tKSkgewogICAgICAgICAgICAgICAgaWYgKCAkRGF0YXskX30gKSB7CiAgICAgICAgICAgICAgICAgICAgJERhdGF7Qm9keX0gPSAiJF86ICREYXRheyRffVxuIiAuICREYXRhe0JvZHl9OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgICREYXRhe0JvZHl9ID0gIlxuLS0tLSBNZXNzYWdlIGZyb20gJERhdGF7RnJvbX0gLS0tXG5cbiIgLiAkRGF0YXtCb2R5fTsKICAgICAgICAgICAgJERhdGF7Qm9keX0gLj0gIlxuLS0tLSBFbmQgTWVzc2FnZSAtLS1cbiI7CiAgICAgICAgfQogICAgfQoKICAgICMgY2hlY2sgaWYgQ2MgcmVjaXBpZW50cyBzaG91bGQgYmUgdXNlZAogICAgaWYgKCAkU2VsZi0+e0NvbmZpZ09iamVjdH0tPkdldCgnVGlja2V0OjpGcm9udGVuZDo6Q29tcG9zZUV4Y2x1ZGVDY1JlY2lwaWVudHMnKSApIHsKICAgICAgICAkRGF0YXtDY30gPSAnJzsKICAgIH0KCiAgICAjIGFkZCBub3QgbG9jYWwgVG8gYWRkcmVzc2VzIHRvIENjCiAgICBmb3IgbXkgJEVtYWlsICggTWFpbDo6QWRkcmVzcy0+cGFyc2UoICREYXRhe1RvfSApICkgewogICAgICAgIG15ICRJc0xvY2FsID0gJFNlbGYtPntTeXN0ZW1BZGRyZXNzfS0+U3lzdGVtQWRkcmVzc0lzTG9jYWxBZGRyZXNzKAogICAgICAgICAgICBBZGRyZXNzID0+ICRFbWFpbC0+YWRkcmVzcygpLAogICAgICAgICk7CiAgICAgICAgaWYgKCAhJElzTG9jYWwgKSB7CiAgICAgICAgICAgIGlmICggJERhdGF7Q2N9ICkgewogICAgICAgICAgICAgICAgJERhdGF7Q2N9IC49ICcsICc7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgJERhdGF7Q2N9IC49ICRFbWFpbC0+Zm9ybWF0KCk7CiAgICAgICAgfQogICAgfQoKICAgICMgY2hlY2sgUmVwbHlUbwogICAgaWYgKCAkRGF0YXtSZXBseVRvfSApIHsKICAgICAgICAkRGF0YXtUb30gPSAkRGF0YXtSZXBseVRvfTsKICAgIH0KICAgIGVsc2UgewogICAgICAgICREYXRhe1RvfSA9ICREYXRhe0Zyb219OwoKICAgICAgICAjIHRyeSB0byByZW1vdmUgc29tZSB3cm9uZyB0ZXh0IHRvIGZyb20gbGluZSAoYnkgd2F5IG9mIC4uLikKICAgICAgICAjIGFkZGVkIGJ5IHNvbWUgc3RyYW5nZSBtYWlsIHByb2dyYW1zIG9uIGJvdW5jZQogICAgICAgICREYXRhe1RvfSA9fiBzLyguKz9cPC4rP1xALis/XD4pXHMrXChieVxzK3dheVxzK29mXHMrLis/XCkvJDEvaWc7CiAgICB9CgogICAgIyBnZXQgdG8gZW1haWwgKGp1c3QgInNvbWVAZXhhbXBsZS5jb20iKQogICAgZm9yIG15ICRFbWFpbCAoIE1haWw6OkFkZHJlc3MtPnBhcnNlKCAkRGF0YXtUb30gKSApIHsKICAgICAgICAkRGF0YXtUb0VtYWlsfSA9ICRFbWFpbC0+YWRkcmVzcygpOwogICAgfQoKICAgICMgdXNlIGN1c3RvbWVyIGRhdGFiYXNlIGVtYWlsCiAgICBpZiAoICRTZWxmLT57Q29uZmlnT2JqZWN0fS0+R2V0KCdUaWNrZXQ6OkZyb250ZW5kOjpDb21wb3NlQWRkQ3VzdG9tZXJBZGRyZXNzJykgKSB7CgogICAgICAgICMgY2hlY2sgaWYgY3VzdG9tZXIgaXMgaW4gcmVjaXBpZW50IGxpc3QKICAgICAgICBpZiAoICRDdXN0b21lcntVc2VyRW1haWx9ICYmICREYXRhe1RvRW1haWx9ICF+IC9eXFEkQ3VzdG9tZXJ7VXNlckVtYWlsfVxFJC9pICkgewoKICAgICAgICAgICAgIyByZXBsYWNlIFRvIHdpdGggY3VzdG9tZXJzIGRhdGFiYXNlIGFkZHJlc3MKICAgICAgICAgICAgaWYgKCAkU2VsZi0+e0NvbmZpZ09iamVjdH0tPkdldCgnVGlja2V0OjpGcm9udGVuZDo6Q29tcG9zZVJlcGxhY2VTZW5kZXJBZGRyZXNzJykgKSB7CiAgICAgICAgICAgICAgICAkRGF0YXtUb30gPSAkQ3VzdG9tZXJ7VXNlckVtYWlsfTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgIyBhZGQgY3VzdG9tZXJzIGRhdGFiYXNlIGFkZHJlc3MgdG8gQ2MKICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICBpZiAoICREYXRhe0NjfSApIHsKICAgICAgICAgICAgICAgICAgICAkRGF0YXtDY30gLj0gJywgJyAuICRDdXN0b21lcntVc2VyRW1haWx9OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgJERhdGF7Q2N9ID0gJEN1c3RvbWVye1VzZXJFbWFpbH07CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CgogICAgIyBmaW5kIGR1cGxpY2F0ZSBhZGRyZXNzZXMKICAgIG15ICVSZWNpcGllbnQ7CiAgICBmb3IgbXkgJFR5cGUgKHF3KFRvIENjIEJjYykpIHsKICAgICAgICBpZiAoICREYXRheyRUeXBlfSApIHsKICAgICAgICAgICAgbXkgJE5ld0xpbmUgPSAnJzsKICAgICAgICAgICAgZm9yIG15ICRFbWFpbCAoIE1haWw6OkFkZHJlc3MtPnBhcnNlKCAkRGF0YXskVHlwZX0gKSApIHsKICAgICAgICAgICAgICAgIG15ICRBZGRyZXNzID0gbGMgJEVtYWlsLT5hZGRyZXNzKCk7CgogICAgICAgICAgICAgICAgIyBvbmx5IHVzZSBlbWFpbCBhZGRyZXNzZXMgd2l0aCBAIGluc2lkZQogICAgICAgICAgICAgICAgaWYgKCAkQWRkcmVzcyAmJiAkQWRkcmVzcyA9fiAvQC8gJiYgISRSZWNpcGllbnR7JEFkZHJlc3N9ICkgewogICAgICAgICAgICAgICAgICAgICRSZWNpcGllbnR7JEFkZHJlc3N9ID0gMTsKICAgICAgICAgICAgICAgICAgICBteSAkSXNMb2NhbCA9ICRTZWxmLT57U3lzdGVtQWRkcmVzc30tPlN5c3RlbUFkZHJlc3NJc0xvY2FsQWRkcmVzcygKICAgICAgICAgICAgICAgICAgICAgICAgQWRkcmVzcyA9PiAkQWRkcmVzcywKICAgICAgICAgICAgICAgICAgICApOwogICAgICAgICAgICAgICAgICAgIGlmICggISRJc0xvY2FsICkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoJE5ld0xpbmUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICROZXdMaW5lIC49ICcsICc7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgJE5ld0xpbmUgLj0gJEVtYWlsLT5mb3JtYXQoKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgJERhdGF7JFR5cGV9ID0gJE5ld0xpbmU7CiAgICAgICAgfQogICAgfQoKICAgICRQYXJhbXtSZXNwb25zZUlEfSA9IDE7CgogICAgIyBzZXQgbm8gUmljaFRleHQgaW4gb3JkZXIgdG8gZ2V0IHRleHQvcGxhaW4gdGVtcGxhdGUgZm9yIHRoZSBpcGhvbmUKICAgICRTZWxmLT57Q29uZmlnT2JqZWN0fS0+U2V0KAogICAgICAgIEtleSAgID0+ICdGcm9udGVuZDo6UmljaFRleHQnLAogICAgICAgIFZhbHVlID0+IDAKICAgICk7CgogICAgIyBnZXQgdGVtcGxhdGUKICAgIG15ICRUZW1wbGF0ZUdlbmVyYXRvciA9IEtlcm5lbDo6U3lzdGVtOjpUZW1wbGF0ZUdlbmVyYXRvci0+bmV3KCAleyRTZWxmfSApOwogICAgbXkgJVJlc3BvbnNlICAgICAgICAgID0gJFRlbXBsYXRlR2VuZXJhdG9yLT5SZXNwb25zZSgKICAgICAgICBUaWNrZXRJRCAgID0+ICRQYXJhbXtUaWNrZXRJRH0sCiAgICAgICAgQXJ0aWNsZUlEICA9PiAkUGFyYW17QXJ0aWNsZUlEfSwKICAgICAgICBSZXNwb25zZUlEID0+ICRQYXJhbXtSZXNwb25zZUlEfSwKICAgICAgICBEYXRhICAgICAgID0+IFwlRGF0YSwKICAgICAgICBVc2VySUQgICAgID0+ICRQYXJhbXtVc2VySUR9CiAgICApOwogICAgJERhdGF7U2FsdXRhdGlvbn0gICAgICAgPSAkUmVzcG9uc2V7U2FsdXRhdGlvbn07CiAgICAkRGF0YXtTaWduYXR1cmV9ICAgICAgICA9ICRSZXNwb25zZXtTaWduYXR1cmV9OwogICAgJERhdGF7U3RhbmRhcmRSZXNwb25zZX0gPSAkUmVzcG9uc2V7U3RhbmRhcmRSZXNwb25zZX07CgogICAgJURhdGEgPSAkVGVtcGxhdGVHZW5lcmF0b3ItPkF0dHJpYnV0ZXMoCiAgICAgICAgVGlja2V0SUQgICA9PiAkUGFyYW17VGlja2V0SUR9LAogICAgICAgIEFydGljbGVJRCAgPT4gJFBhcmFte0FydGljbGVJRH0sCiAgICAgICAgUmVzcG9uc2VJRCA9PiAkUGFyYW17UmVzcG9uc2VJRH0sCiAgICAgICAgRGF0YSAgICAgICA9PiBcJURhdGEsCiAgICAgICAgVXNlcklEICAgICA9PiAkUGFyYW17VXNlcklEfSwKICAgICk7CgogICAgbXkgJFNhbHV0YXRpb24gPSAkRGF0YXtTYWx1dGF0aW9ufTsKICAgIG15ICRPcmlnRnJvbSAgID0gJERhdGF7T3JpZ0Zyb219OwogICAgbXkgJFdyb3RlICAgICAgPSAkU2VsZi0+e0xhbmd1YWdlT2JqZWN0fS0+R2V0KCd3cm90ZScpOwogICAgbXkgJEJvZHkgICAgICAgPSAkRGF0YXtCb2R5fTsKICAgIG15ICRTaWduYXR1cmUgID0gJERhdGF7U2lnbmF0dXJlfTsKCiAgICBteSAkUmVzcG9uc2VGb3JtYXQgPQogICAgICAgICIkU2FsdXRhdGlvbiBcbiAkT3JpZ0Zyb20gJFdyb3RlOiBcbiAkQm9keSBcbiAkU2lnbmF0dXJlIFxuIjsKCiAgICAjIHJlc3RvcmUgcWRhdGEgZm9ybWF0dGluZyBmb3IgT3V0cHV0IHJlcGxhY2VtZW50CiAgICAkUmVzcG9uc2VGb3JtYXQgPX4gcy8mcXVvdDsvIi9naTsKCiAgICAjIHByZXBhcmUgc3ViamVjdAogICAgbXkgJFRuID0gJFNlbGYtPntUaWNrZXRPYmplY3R9LT5UaWNrZXROdW1iZXJMb29rdXAoIFRpY2tldElEID0+ICRQYXJhbXtUaWNrZXRJRH0gKTsKICAgICRQYXJhbXtTdWJqZWN0fSA9ICRTZWxmLT57VGlja2V0T2JqZWN0fS0+VGlja2V0U3ViamVjdEJ1aWxkKAogICAgICAgIFRpY2tldE51bWJlciA9PiAkVG4sCiAgICAgICAgU3ViamVjdCAgICAgID0+ICRQYXJhbXtTdWJqZWN0fSB8fCAnJywKICAgICk7CgogICAgIyBjaGVjayBzb21lIHZhbHVlcwogICAgZm9yIG15ICRMaW5lIChxdyhUbyBDYyBCY2MpKSB7CiAgICAgICAgbmV4dCBpZiAhJERhdGF7JExpbmV9OwogICAgICAgIGZvciBteSAkRW1haWwgKCBNYWlsOjpBZGRyZXNzLT5wYXJzZSggJERhdGF7JExpbmV9ICkgKSB7CiAgICAgICAgICAgIGlmICggISRTZWxmLT57Q2hlY2tJdGVtT2JqZWN0fS0+Q2hlY2tFbWFpbCggQWRkcmVzcyA9PiAkRW1haWwtPmFkZHJlc3MoKSApICkgewogICAgICAgICAgICAgICAgbXkgJFNlcnZlckVycm9yID0gJFNlbGYtPntDaGVja0l0ZW1PYmplY3R9LT5DaGVja0Vycm9yKCk7CiAgICAgICAgICAgICAgICAkU2VsZi0+e0xvZ09iamVjdH0tPkxvZygKICAgICAgICAgICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICAgICAgICAgIE1lc3NhZ2UgID0+ICJFcnJvciBvbiBmaWVsZCBcIiRMaW5lXCIgXG4gJFNlcnZlckVycm9yIiwKICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CiAgICBpZiAoICREYXRhe0Zyb219ICkgewogICAgICAgIGZvciBteSAkRW1haWwgKCBNYWlsOjpBZGRyZXNzLT5wYXJzZSggJERhdGF7RnJvbX0gKSApIHsKICAgICAgICAgICAgaWYgKCAhJFNlbGYtPntDaGVja0l0ZW1PYmplY3R9LT5DaGVja0VtYWlsKCBBZGRyZXNzID0+ICRFbWFpbC0+YWRkcmVzcygpICkgKSB7CiAgICAgICAgICAgICAgICBteSAkU2VydmVyRXJyb3IgPSAkU2VsZi0+e0NoZWNrSXRlbU9iamVjdH0tPkNoZWNrRXJyb3IoKTsKICAgICAgICAgICAgICAgICRTZWxmLT57TG9nT2JqZWN0fS0+TG9nKAogICAgICAgICAgICAgICAgICAgIFByaW9yaXR5ID0+ICdlcnJvcicsCiAgICAgICAgICAgICAgICAgICAgTWVzc2FnZSAgPT4gIkVycm9yIG9uIGZpZWxkIFwiRnJvbVwiICBcbiAkU2VydmVyRXJyb3IiLAogICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICAlQ29tcG9zZURhdGEgPSAoCiAgICAgICAgRnJvbSAgICA9PiAkRGF0YXtGcm9tfSwKICAgICAgICBUbyAgICAgID0+ICREYXRhe1RvfSwKICAgICAgICBDYyAgICAgID0+ICREYXRhe0NjfSwKICAgICAgICBCY2MgICAgID0+ICREYXRhe0JjY30sCiAgICAgICAgUmVwbHlUbyA9PiAkRGF0YXtSZXBseVRvfSwKICAgICAgICBTdWJqZWN0ID0+ICREYXRhe1N1YmplY3R9LAogICAgICAgIEJvZHkgICAgPT4gJFJlc3BvbnNlRm9ybWF0LAogICAgKTsKICAgIHJldHVybiAlQ29tcG9zZURhdGE7Cn0KCnN1YiBfVHJhbnNmb3JtRGF0ZVNlbGVjdGlvbiB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgICMgdGltZSB6b25lIHRyYW5zbGF0aW9uIGlmIG5lZWRlZAogICAgaWYgKCAkU2VsZi0+e0NvbmZpZ09iamVjdH0tPkdldCgnVGltZVpvbmVVc2VyJykgJiYgJFNlbGYtPntVc2VyVGltZVpvbmV9ICkgewogICAgICAgIG15ICRTeXN0ZW1UaW1lID0gJFNlbGYtPntUaW1lT2JqZWN0fS0+VGltZVN0YW1wMlN5c3RlbVRpbWUoCiAgICAgICAgICAgIFN0cmluZyA9PiAkUGFyYW17VGltZVN0YW1wfSwKICAgICAgICApOwogICAgICAgICRTeXN0ZW1UaW1lID0gJFN5c3RlbVRpbWUgLSAoICRTZWxmLT57VXNlclRpbWVab25lfSAqIDM2MDAgKTsKICAgICAgICAkUGFyYW17VGltZVN0YW1wfSA9ICRTZWxmLT57VXNlclRpbWVPYmplY3R9LT5TeXN0ZW1UaW1lMlRpbWVTdGFtcCgKICAgICAgICAgICAgU3lzdGVtVGltZSA9PiAkU3lzdGVtVGltZSwKICAgICAgICApOwogICAgfQogICAgcmV0dXJuICRQYXJhbXtUaW1lU3RhbXB9Owp9CgoxOwoKPWJhY2sKCj1oZWFkMSBURVJNUyBBTkQgQ09ORElUSU9OUwoKVGhpcyBzb2Z0d2FyZSBpcyBwYXJ0IG9mIHRoZSBPVFJTIHByb2plY3QgKEw8aHR0cDovL290cnMub3JnLz4pLgoKVGhpcyBzb2Z0d2FyZSBjb21lcyB3aXRoIEFCU09MVVRFTFkgTk8gV0FSUkFOVFkuIEZvciBkZXRhaWxzLCBzZWUKdGhlIGVuY2xvc2VkIGZpbGUgQ09QWUlORyBmb3IgbGljZW5zZSBpbmZvcm1hdGlvbiAoQUdQTCkuIElmIHlvdQpkaWQgbm90IHJlY2VpdmUgdGhpcyBmaWxlLCBzZWUgTDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvYWdwbC50eHQ+LgoKPWN1dAoKPWhlYWQxIFZFUlNJT04KCiRJZDogaVBob25lLnBtLHYgMS43MyAyMDEzLTAxLTA0IDAwOjIxOjUyIGNyIEV4cCAkCgo9Y3V0Cg==
JVBERi0xLjQKJaqrrK0KNCAwIG9iago8PAovQ3JlYXRvciAoQXBhY2hlIEZPUCBWZXJzaW9uIDEuMSkKL1Byb2R1Y2VyIChBcGFjaGUgRk9QIFZlcnNpb24gMS4xKQovQ3JlYXRpb25EYXRlIChEOjIwMTUwOTA4MjM1MjIzKzAyJzAwJykKPj4KZW5kb2JqCjUgMCBvYmoKPDwKICAvTiAzCiAgL0xlbmd0aCAxMiAwIFIKICAvRmlsdGVyIC9GbGF0ZURlY29kZQo+PgpzdHJlYW0KeJydlndYU+cex99zTvZgJCFsCHuGpUAAkRGmgAzZohCSAAESICQM90BUsKKoyFIEKYpYsFqG1IkoDori3g1SBJRarOLC0USep/X29t7b2+8f53ye3/v7vef9jfd5DgCkgEyuMBdWAUAokogj/L0ZsXHxDOwAgAEeYIA9ABxubrZXWFgwkCvQl83IlTuBf9GrmwBSvK8xFXuB/0+q3GyxBAAoTM6zePxcrpyL5JyZL8lW2CflTEvOUDCMUrBYfkA5ayg4dYatP/vMsKeCeUIRT86Rcs7mCXkK7pXzhjwpX86IIpfiPAE/X87X5WycKRUK5PxGESvkc+Q5oEgKu4TPTZOznZxJ4sgItpznAIAjpX7ByV+whF8gUSTFzsouFAtS0yQMc64Fw97FhcUI4Odn8iUSZhiHm8ER8xjsLGE2R1QIwEzOn0VR1JYhL7KTvYuTE9PBxv6LQv3Xxb8pRW9n6EX4555B9P4/bH/ll9UAAGtKXpstf9iSqwDoXAeAxt0/bMZ7AFCW963j8hf50BXzkiaRZLva2ubn59sI+FwbRUF/1/90+Bv64ns2iu1+Lw/Dh5/CkWZKGIq6cbMys6RiRm42h8tnMP88xP848K/PYR3BT+GL+SJ5RLR8ygSiVHm7RTyBRJAlYghE/6mJ/zDsT5qZa7mojR8BLdEGqFymAeTnfoCiEgGSsFu+Av3et2B8NFDcvBj90Zm5/yzo33eFyxSPXEHq5zh2RCSDKxXnzawpriVAAwJQBjSgCfSAETAHTOAAnIEb8AS+YB4IBZEgDiwGXJAGhEAM8sEysBoUg1KwBewA1aAONIJm0AoOg05wDJwG58AlcAXcAPeADIyAp2ASvALTEARhITJEhTQhfcgEsoIcIBY0F/KFgqEIKA5KglIhESSFlkFroVKoHKqG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K0b1R5vHHMaOjfuNX3my8MnI0+yn0xPFP6v+XPvM/Nl3v3j+0j8ZOznyXPz806+bXmi+2Pdy9sueqbCph6+Er6Zfl7zRfLP/Lett37uYd6PT+e+x7ys/WHzo/hj08f4n4adPvwHJ4vTiCmVuZHN0cmVhbQplbmRvYmoKNiAwIG9iagpbL0lDQ0Jhc2VkIDUgMCBSXQplbmRvYmoKNyAwIG9iago8PAogIC9UeXBlIC9NZXRhZGF0YQogIC9TdWJ0eXBlIC9YTUwKICAvTGVuZ3RoIDEzIDAgUgo+PgpzdHJlYW0KPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz48eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIj4KPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KPHJkZjpEZXNjcmlwdGlvbiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHJkZjphYm91dD0iIj4KPGRjOmxhbmd1YWdlPmVuPC9kYzpsYW5ndWFnZT4KPGRjOmZvcm1hdD5hcHBsaWNhdGlvbi9wZGY8L2RjOmZvcm1hdD4KPGRjOmRhdGU+MjAxNS0wOS0wOFQyMzo1MjoyMyswMjowMDwvZGM6ZGF0ZT4KPC9yZGY6RGVzY3JpcHRpb24+CjxyZGY6RGVzY3JpcHRpb24geG1sbnM6cGRmPSJodHRwOi8vbnMuYWRvYmUuY29tL3BkZi8xLjMvIiByZGY6YWJvdXQ9IiI+CjxwZGY6UERGVmVyc2lvbj4xLjQ8L3BkZjpQREZWZXJzaW9uPgo8cGRmOlByb2R1Y2VyPkFwYWNoZSBGT1AgVmVyc2lvbiAxLjE8L3BkZjpQcm9kdWNlcj4KPC9yZGY6RGVzY3JpcHRpb24+CjxyZGY6RGVzY3JpcHRpb24geG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiByZGY6YWJvdXQ9IiI+Cjx4bXA6Q3JlYXRlRGF0ZT4yMDE1LTA5LTA4VDIzOjUyOjIzKzAyOjAwPC94bXA6Q3JlYXRlRGF0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MC4wIDY3OS42MjkgMTE3LjE5IDY4OS42MTkgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgNjAgMCBSCi9IIC9JCgo+PgplbmRvYmoKNjMgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgNTM0LjI3OCA2NzkuNjI5IDU0Mi45NTggNjg5LjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSA2MCAwIFIKL0ggL0kKCj4+CmVuZG9iago2NCAwIG9iago8PCAvVHlwZSAvQWN0aW9uCi9TIC9Hb1RvCi9EIFsyOCAwIFIgL1hZWiA3Mi4wIDcyMC4wIG51bGxdCj4+CmVuZG9iago2NSAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyA4MC4wIDY2Ny42MjkgMTUzLjgxMSA2NzcuNjE5IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDY0IDAgUgovSCAvSQoKPj4KZW5kb2JqCjY2IDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDUzNi4zMzggNjY3LjYyOSA1NDIuNjk4IDY3Ny42MTkgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgNjQgMCBSCi9IIC9JCgo+PgplbmRvYmoKNjcgMCBvYmoKPDwgL1R5cGUgL0FjdGlvbgovUyAvR29UbwovRCBbMjggMCBSIC9YWVogNzIuMCA3MDAuOCBudWxsXQo+PgplbmRvYmoKNjggMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgMTA0LjAgNjU1LjYyOSAxNTUuMTM2IDY2NS42MTkgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgNjcgMCBSCi9IIC9JCgo+PgplbmRvYmoKNjkgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgNTM2LjQ4OSA2NTUuNjI5IDU0Mi44NDkgNjY1LjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSA2NyAwIFIKL0ggL0kKCj4+CmVuZG9iago3MCAwIG9iago8PCAvVHlwZSAvQWN0aW9uCi9TIC9Hb1RvCi9EIFsyOCAwIFIgL1hZWiA3Mi4wIDY1OC40IG51bGxdCj4+CmVuZG9iago3MSAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyAxMDQuMCA2NDMuNjI5IDE4NS4xMjYgNjUzLjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSA3MCAwIFIKL0ggL0kKCj4+CmVuZG9iago3MiAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyA1MzYuMjUyIDY0My42MjkgNTQyLjYxMiA2NTMuNjE5IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDcwIDAgUgovSCAvSQoKPj4KZW5kb2JqCjczIDAgb2JqCjw8IC9UeXBlIC9BY3Rpb24KL1MgL0dvVG8KL0QgWzI4IDAgUiAvWFlaIDcyLjAgNjM4LjAgbnVsbF0KPj4KZW5kb2JqCjc0IDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDEyOC4wIDYzMS42MjkgMjEyLjUwMSA2NDEuNjE5IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDczIDAgUgovSCAvSQoKPj4KZW5kb2JqCjc1IDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDUzNi4xODcgNjMxLjYyOSA1NDIuNTQ3IDY0MS42MTkgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgNzMgMCBSCi9IIC9JCgo+PgplbmRvYmoKNzYgMCBvYmoKPDwgL1R5cGUgL0FjdGlvbgovUyAvR29UbwovRCBbMjggMCBSIC9YWVogNzIuMCA1ODYuMCBudWxsXQo+PgplbmRvYmoKNzcgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgMTI4LjAgNjE5LjYyOSAyMTEuNTExIDYyOS42MTkgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgNzYgMCBSCi9IIC9JCgo+PgplbmRvYmoKNzggMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgNTM2LjE5OCA2MTkuNjI5IDU0Mi41NTggNjI5LjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSA3NiAwIFIKL0ggL0kKCj4+CmVuZG9iago3OSAwIG9iago8PCAvVHlwZSAvQWN0aW9uCi9TIC9Hb1RvCi9EIFsyOCAwIFIgL1hZWiA3Mi4wIDUzNC4wIG51bGxdCj4+CmVuZG9iago4MCAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyAxMjguMCA2MDcuNjI5IDIzMC42NTggNjE3LjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSA3OSAwIFIKL0ggL0kKCj4+CmVuZG9iago4MSAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyA1MzYuMDM1IDYwNy42MjkgNTQyLjM5NSA2MTcuNjE5IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDc5IDAgUgovSCAvSQoKPj4KZW5kb2JqCjgyIDAgb2JqCjw8IC9UeXBlIC9BY3Rpb24KL1MgL0dvVG8KL0QgWzI4IDAgUiAvWFlaIDcyLjAgNDgyLjAgbnVsbF0KPj4KZW5kb2JqCjgzIDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDEyOC4wIDU5NS42MjkgMjIzLjE4MSA2MDUuNjE5IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDgyIDAgUgovSCAvSQoKPj4KZW5kb2JqCjg0IDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDUzNi4wOTcgNTk1LjYyOSA1NDIuNDU3IDYwNS42MTkgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgODIgMCBSCi9IIC9JCgo+PgplbmRvYmoKODUgMCBvYmoKPDwgL1R5cGUgL0FjdGlvbgovUyAvR29UbwovRCBbMjggMCBSIC9YWVogNzIuMCA0MzAuMCBudWxsXQo+PgplbmRvYmoKODYgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgMTI4LjAgNTgzLjYyOSAyMTQuNTg1IDU5My42MTkgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgODUgMCBSCi9IIC9JCgo+PgplbmRvYmoKODcgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgNTM2LjE3MiA1ODMuNjI5IDU0Mi41MzIgNTkzLjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSA4NSAwIFIKL0ggL0kKCj4+CmVuZG9iago4OCAwIG9iago8PCAvVHlwZSAvQWN0aW9uCi9TIC9Hb1RvCi9EIFsyOCAwIFIgL1hZWiA3Mi4wIDM3OC4wIG51bGxdCj4+CmVuZG9iago4OSAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyAxMjguMCA1NzEuNjI5IDIzOS4zMDUgNTgxLjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSA4OCAwIFIKL0ggL0kKCj4+CmVuZG9iago5MCAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyA1MzUuOTYxIDU3MS42MjkgNTQyLjMyMSA1ODEuNjE5IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDg4IDAgUgovSCAvSQoKPj4KZW5kb2JqCjkxIDAgb2JqCjw8IC9UeXBlIC9BY3Rpb24KL1MgL0dvVG8KL0QgWzI4IDAgUiAvWFlaIDcyLjAgMzI2LjAgbnVsbF0KPj4KZW5kb2JqCjkyIDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDEwNC4wIDU1OS42MjkgMTg4Ljg2OSA1NjkuNjE5IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDkxIDAgUgovSCAvSQoKPj4KZW5kb2JqCjkzIDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDUzNi41NzYgNTU5LjYyOSA1NDIuOTM2IDU2OS42MTkgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgOTEgMCBSCi9IIC9JCgo+PgplbmRvYmoKOTQgMCBvYmoKPDwgL1R5cGUgL0FjdGlvbgovUyAvR29UbwovRCBbMjggMCBSIC9YWVogNzIuMCAzMDUuNiBudWxsXQo+PgplbmRvYmoKOTUgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgMTI4LjAgNTQ3LjYyOSAyMTYuNzg4IDU1Ny42MTkgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgOTQgMCBSCi9IIC9JCgo+PgplbmRvYmoKOTYgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgNTM2LjUwNSA1NDcuNjI5IDU0Mi44NjUgNTU3LjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSA5NCAwIFIKL0ggL0kKCj4+CmVuZG9iago5NyAwIG9iago8PCAvVHlwZSAvQWN0aW9uCi9TIC9Hb1RvCi9EIFsyOCAwIFIgL1hZWiA3Mi4wIDI2NS42IG51bGxdCj4+CmVuZG9iago5OCAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyAxMjguMCA1MzUuNjI5IDIwOS41NTkgNTQ1LjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSA5NyAwIFIKL0ggL0kKCj4+CmVuZG9iago5OSAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyA1MzYuNTY1IDUzNS42MjkgNTQyLjkyNSA1NDUuNjE5IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDk3IDAgUgovSCAvSQoKPj4KZW5kb2JqCjEwMCAwIG9iago8PCAvVHlwZSAvQWN0aW9uCi9TIC9Hb1RvCi9EIFsyOCAwIFIgL1hZWiA3Mi4wIDIyNS42IG51bGxdCj4+CmVuZG9iagoxMDEgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgMTI4LjAgNTIzLjYyOSAyMTMuMDc5IDUzMy42MTkgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgMTAwIDAgUgovSCAvSQoKPj4KZW5kb2JqCjEwMiAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyA1MzYuNTM1IDUyMy42MjkgNTQyLjg5NSA1MzMuNjE5IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDEwMCAwIFIKL0ggL0kKCj4+CmVuZG9iagoxMDMgMCBvYmoKPDwgL1R5cGUgL0FjdGlvbgovUyAvR29UbwovRCBbMjggMCBSIC9YWVogNzIuMCAxODUuNiBudWxsXQo+PgplbmRvYmoKMTA0IDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDEyOC4wIDUxMS42MjkgMjMyLjMzNyA1MjEuNjE5IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDEwMyAwIFIKL0ggL0kKCj4+CmVuZG9iagoxMDUgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgNTM2LjM3MyA1MTEuNjI5IDU0Mi43MzMgNTIxLjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAxMDMgMCBSCi9IIC9JCgo+PgplbmRvYmoKMTA2IDAgb2JqCjw8IC9UeXBlIC9BY3Rpb24KL1MgL0dvVG8KL0QgWzI4IDAgUiAvWFlaIDcyLjAgMTQ1LjYgbnVsbF0KPj4KZW5kb2JqCjEwNyAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyAxMjguMCA0OTkuNjI5IDIxMi42NjQgNTA5LjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAxMDYgMCBSCi9IIC9JCgo+PgplbmRvYmoKMTA4IDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDUzNi41NCA0OTkuNjI5IDU0Mi45IDUwOS42MTkgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgMTA2IDAgUgovSCAvSQoKPj4KZW5kb2JqCjEwOSAwIG9iago8PCAvVHlwZSAvQWN0aW9uCi9TIC9Hb1RvCi9EIFszMSAwIFIgL1hZWiA3Mi4wIDcyMC4wIG51bGxdCj4+CmVuZG9iagoxMTAgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgODAuMCA0ODcuNjI5IDIwNC45MjkgNDk3LjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAxMDkgMCBSCi9IIC9JCgo+PgplbmRvYmoKMTExIDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDUzNS45NTYgNDg3LjYyOSA1NDIuMzE2IDQ5Ny42MTkgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgMTA5IDAgUgovSCAvSQoKPj4KZW5kb2JqCjExMiAwIG9iago8PCAvVHlwZSAvQWN0aW9uCi9TIC9Hb1RvCi9EIFszMSAwIFIgL1hZWiA3Mi4wIDcwMC44IG51bGxdCj4+CmVuZG9iagoxMTMgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgMTA0LjAgNDc1LjYyOSAxNzMuMzgzIDQ4NS42MTkgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgMTEyIDAgUgovSCAvSQoKPj4KZW5kb2JqCjExNCAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyA1MzYuMzQ0IDQ3NS42MjkgNTQyLjcwNCA0ODUuNjE5IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDExMiAwIFIKL0ggL0kKCj4+CmVuZG9iagoxMTUgMCBvYmoKPDwgL1R5cGUgL0FjdGlvbgovUyAvR29UbwovRCBbMzEgMCBSIC9YWVogNzIuMCA2MjYuNCBudWxsXQo+PgplbmRvYmoKMTE2IDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDEwNC4wIDQ2My42MjkgMTY0Ljg4OCA0NzMuNjE5IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDExNSAwIFIKL0ggL0kKCj4+CmVuZG9iagoxMTcgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgNTM2LjU4MyA0NjMuNjI5IDU0Mi45NDMgNDczLjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAxMTUgMCBSCi9IIC9JCgo+PgplbmRvYmoKMTE4IDAgb2JqCjw8IC9UeXBlIC9BY3Rpb24KL1MgL0dvVG8KL0QgWzMxIDAgUiAvWFlaIDcyLjAgNTU4LjAgbnVsbF0KPj4KZW5kb2JqCjExOSAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyAxMDQuMCA0NTEuNjI5IDIwOS41MDMgNDYxLjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAxMTggMCBSCi9IIC9JCgo+PgplbmRvYmoKMTIwIDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDUzNi4wNiA0NTEuNjI5IDU0Mi40MiA0NjEuNjE5IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDExOCAwIFIKL0ggL0kKCj4+CmVuZG9iagoxMjEgMCBvYmoKPDwgL1R5cGUgL0FjdGlvbgovUyAvR29UbwovRCBbMzEgMCBSIC9YWVogNzIuMCA0ODkuNiBudWxsXQo+PgplbmRvYmoKMTIyIDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDEwNC4wIDQzOS42MjkgMjIxLjcxOSA0NDkuNjE5IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDEyMSAwIFIKL0ggL0kKCj4+CmVuZG9iagoxMjMgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgNTM1Ljk2MiA0MzkuNjI5IDU0Mi4zMjIgNDQ5LjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAxMjEgMCBSCi9IIC9JCgo+PgplbmRvYmoKMTI0IDAgb2JqCjw8IC9UeXBlIC9BY3Rpb24KL1MgL0dvVG8KL0QgWzM0IDAgUiAvWFlaIDcyLjAgNzIwLjAgbnVsbF0KPj4KZW5kb2JqCjEyNSAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyA4MC4wIDQyNy42MjkgMTQ5LjM2NyA0MzcuNjE5IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDEyNCAwIFIKL0ggL0kKCj4+CmVuZG9iagoxMjYgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgNTM2LjM3MiA0MjcuNjI5IDU0Mi43MzIgNDM3LjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAxMjQgMCBSCi9IIC9JCgo+PgplbmRvYmoKMTI3IDAgb2JqCjw8IC9UeXBlIC9BY3Rpb24KL1MgL0dvVG8KL0QgWzM0IDAgUiAvWFlaIDcyLjAgNjc4LjggbnVsbF0KPj4KZW5kb2JqCjEyOCAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyAxMDQuMCA0MTUuNjI5IDE5OC45NTYgNDI1LjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAxMjcgMCBSCi9IIC9JCgo+PgplbmRvYmoKMTI5IDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDUzNi4xNDIgNDE1LjYyOSA1NDIuNTAyIDQyNS42MTkgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgMTI3IDAgUgovSCAvSQoKPj4KZW5kb2JqCjEzMCAwIG9iago8PCAvVHlwZSAvQWN0aW9uCi9TIC9Hb1RvCi9EIFszNCAwIFIgL1hZWiA3Mi4wIDYwMi40IG51bGxdCj4+CmVuZG9iagoxMzEgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgMTA0LjAgNDAzLjYyOSAxOTQuNTkxIDQxMy42MTkgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgMTMwIDAgUgovSCAvSQoKPj4KZW5kb2JqCjEzMiAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyA1MzYuMTc4IDQwMy42MjkgNTQyLjUzOCA0MTMuNjE5IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDEzMCAwIFIKL0ggL0kKCj4+CmVuZG9iagoxMzMgMCBvYmoKPDwgL1R5cGUgL0FjdGlvbgovUyAvR29UbwovRCBbNDAgMCBSIC9YWVogNzIuMCA3MjAuMCBudWxsXQo+PgplbmRvYmoKMTM0IDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDgwLjAgMzkxLjYyOSAxNDcuNTk4IDQwMS42MTkgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgMTMzIDAgUgovSCAvSQoKPj4KZW5kb2JqCjEzNSAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyA1MzYuMzg2IDM5MS42MjkgNTQyLjc0NiA0MDEuNjE5IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDEzMyAwIFIKL0ggL0kKCj4+CmVuZG9iagoxMzYgMCBvYmoKPDwgL1R5cGUgL0FjdGlvbgovUyAvR29UbwovRCBbNDAgMCBSIC9YWVogNzIuMCA3MDAuOCBudWxsXQo+PgplbmRvYmoKMTM3IDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDEwNC4wIDM3OS42MjkgMjQyLjc4OSAzODkuNjE5IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDEzNiAwIFIKL0ggL0kKCj4+CmVuZG9iagoxMzggMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgNTM1Ljc5NiAzNzkuNjI5IDU0Mi4xNTYgMzg5LjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAxMzYgMCBSCi9IIC9JCgo+PgplbmRvYmoKMTM5IDAgb2JqCjw8IC9UeXBlIC9BY3Rpb24KL1MgL0dvVG8KL0QgWzQwIDAgUiAvWFlaIDcyLjAgNTY2LjQgbnVsbF0KPj4KZW5kb2JqCjE0MCAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyAxMDQuMCAzNjcuNjI5IDI0NC45NjQgMzc3LjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAxMzkgMCBSCi9IIC9JCgo+PgplbmRvYmoKMTQxIDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDUzNS43OCAzNjcuNjI5IDU0Mi4xNCAzNzcuNjE5IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDEzOSAwIFIKL0ggL0kKCj4+CmVuZG9iagoxNDIgMCBvYmoKPDwgL1R5cGUgL0FjdGlvbgovUyAvR29UbwovRCBbNTAgMCBSIC9YWVogNzIuMCA3MjAuMCBudWxsXQo+PgplbmRvYmoKMTQzIDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDgwLjAgMzU1LjYyOSAxNjEuNzYgMzY1LjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAxNDIgMCBSCi9IIC9JCgo+PgplbmRvYmoKMTQ0IDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDUzNi4yNzggMzU1LjYyOSA1NDIuNjM4IDM2NS42MTkgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgMTQyIDAgUgovSCAvSQoKPj4KZW5kb2JqCjE0NSAwIG9iago8PCAvVHlwZSAvQWN0aW9uCi9TIC9Hb1RvCi9EIFs1MCAwIFIgL1hZWiA3Mi4wIDY2Ni4xNzggbnVsbF0KPj4KZW5kb2JqCjE0NiAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyAxMDQuMCAzNDMuNjI5IDM1Ni42MTcgMzUzLjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAxNDUgMCBSCi9IIC9JCgo+PgplbmRvYmoKMTQ3IDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDUzNC44OTIgMzQzLjYyOSA1NDEuMjUyIDM1My42MTkgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgMTQ1IDAgUgovSCAvSQoKPj4KZW5kb2JqCjE0OCAwIG9iago8PCAvVHlwZSAvQWN0aW9uCi9TIC9Hb1RvCi9EIFs1MCAwIFIgL1hZWiA3Mi4wIDYwMC4xNjEgbnVsbF0KPj4KZW5kb2JqCjE0OSAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyAxMDQuMCAzMzEuNjI5IDMzMS44MDYgMzQxLjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAxNDggMCBSCi9IIC9JCgo+PgplbmRvYmoKMTUwIDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDUzNS4wODkgMzMxLjYyOSA1NDEuNDQ5IDM0MS42MTkgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgMTQ4IDAgUgovSCAvSQoKPj4KZW5kb2JqCjE1MSAwIG9iago8PCAvVHlwZSAvQWN0aW9uCi9TIC9Hb1RvCi9EIFs1MCAwIFIgL1hZWiA3Mi4wIDUzNC4xNDQgbnVsbF0KPj4KZW5kb2JqCjE1MiAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyAxMDQuMCAzMTkuNjI5IDM1Ni4xNjkgMzI5LjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAxNTEgMCBSCi9IIC9JCgo+PgplbmRvYmoKMTUzIDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDUzNC44OTUgMzE5LjYyOSA1NDEuMjU1IDMyOS42MTkgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgMTUxIDAgUgovSCAvSQoKPj4KZW5kb2JqCjE1NCAwIG9iago8PCAvVHlwZSAvQWN0aW9uCi9TIC9Hb1RvCi9EIFs1MCAwIFIgL1hZWiA3Mi4wIDQ2OC4xMjcgbnVsbF0KPj4KZW5kb2JqCjE1NSAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyAxMDQuMCAzMDcuNjI5IDM1OC44MDkgMzE3LjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAxNTQgMCBSCi9IIC9JCgo+PgplbmRvYmoKMTU2IDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDUzNC44NzUgMzA3LjYyOSA1NDEuMjM1IDMxNy42MTkgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgMTU0IDAgUgovSCAvSQoKPj4KZW5kb2JqCjE1NyAwIG9iago8PCAvVHlwZSAvQWN0aW9uCi9TIC9Hb1RvCi9EIFs1MCAwIFIgL1hZWiA3Mi4wIDQwMi4xMSBudWxsXQo+PgplbmRvYmoKMTU4IDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDEwNC4wIDI5NS42MjkgMzYxLjg4NiAzMDUuNjE5IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDE1NyAwIFIKL0ggL0kKCj4+CmVuZG9iagoxNTkgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgNTM0Ljg1IDI5NS42MjkgNTQxLjIxIDMwNS42MTkgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgMTU3IDAgUgovSCAvSQoKPj4KZW5kb2JqCjE2MCAwIG9iago8PCAvVHlwZSAvQWN0aW9uCi9TIC9Hb1RvCi9EIFs1MCAwIFIgL1hZWiA3Mi4wIDMzNi4wOTMgbnVsbF0KPj4KZW5kb2JqCjE2MSAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyAxMDQuMCAyODMuNjI5IDMyOC4xNSAyOTMuNjE5IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDE2MCAwIFIKL0ggL0kKCj4+CmVuZG9iagoxNjIgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgNTM1LjExNyAyODMuNjI5IDU0MS40NzcgMjkzLjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAxNjAgMCBSCi9IIC9JCgo+PgplbmRvYmoKMTYzIDAgb2JqCjw8IC9UeXBlIC9BY3Rpb24KL1MgL0dvVG8KL0QgWzUwIDAgUiAvWFlaIDcyLjAgMjcwLjA3NiBudWxsXQo+PgplbmRvYmoKMTY0IDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDEwNC4wIDI3MS42MjkgMzUxLjA2OSAyODEuNjE5IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDE2MyAwIFIKL0ggL0kKCj4+CmVuZG9iagoxNjUgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgNTM0LjkzNiAyNzEuNjI5IDU0MS4yOTYgMjgxLjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAxNjMgMCBSCi9IIC9JCgo+PgplbmRvYmoKMTY2IDAgb2JqCjw8IC9UeXBlIC9BY3Rpb24KL1MgL0dvVG8KL0QgWzUwIDAgUiAvWFlaIDcyLjAgMjA0LjA1OSBudWxsXQo+PgplbmRvYmoKMTY3IDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDEwNC4wIDI1OS42MjkgMzEyLjExNCAyNjkuNjE5IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDE2NiAwIFIKL0ggL0kKCj4+CmVuZG9iagoxNjggMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgNTM1LjI0NSAyNTkuNjI5IDU0MS42MDUgMjY5LjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAxNjYgMCBSCi9IIC9JCgo+PgplbmRvYmoKMTY5IDAgb2JqCjw8IC9UeXBlIC9BY3Rpb24KL1MgL0dvVG8KL0QgWzUwIDAgUiAvWFlaIDcyLjAgMTM4LjA0MiBudWxsXQo+PgplbmRvYmoKMTcwIDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDEwNC4wIDI0Ny42MjkgMzAzLjQzOCAyNTcuNjE5IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDE2OSAwIFIKL0ggL0kKCj4+CmVuZG9iagoxNzEgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgNTM1LjMxMyAyNDcuNjI5IDU0MS42NzMgMjU3LjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAxNjkgMCBSCi9IIC9JCgo+PgplbmRvYmoKMTcyIDAgb2JqCjw8IC9UeXBlIC9BY3Rpb24KL1MgL0dvVG8KL0QgWzUzIDAgUiAvWFlaIDcyLjAgNzIwLjAgbnVsbF0KPj4KZW5kb2JqCjE3MyAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyAxMDQuMCAyMzUuNjI5IDMxMy45MDcgMjQ1LjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAxNzIgMCBSCi9IIC9JCgo+PgplbmRvYmoKMTc0IDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDUzNS4yMzEgMjM1LjYyOSA1NDEuNTkxIDI0NS42MTkgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgMTcyIDAgUgovSCAvSQoKPj4KZW5kb2JqCjE3NSAwIG9iago8PCAvVHlwZSAvQWN0aW9uCi9TIC9Hb1RvCi9EIFs1MyAwIFIgL1hZWiA3Mi4wIDY2MS45MjYgbnVsbF0KPj4KZW5kb2JqCjE3NiAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyAxMDQuMCAyMjMuNjI5IDIxOC41NTQgMjMzLjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAxNzUgMCBSCi9IIC9JCgo+PgplbmRvYmoKMTc3IDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDUzNS45ODYgMjIzLjYyOSA1NDIuMzQ2IDIzMy42MTkgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgMTc1IDAgUgovSCAvSQoKPj4KZW5kb2JqCjE3OCAwIG9iago8PCAvVHlwZSAvQWN0aW9uCi9TIC9Hb1RvCi9EIFs1MyAwIFIgL1hZWiA3Mi4wIDU5Ny45NSBudWxsXQo+PgplbmRvYmoKMTc5IDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDEwNC4wIDIxMS42MjkgNDIwLjg1MyAyMjEuNjE5IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDE3OCAwIFIKL0ggL0kKCj4+CmVuZG9iagoxODAgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgNTM0LjM4MyAyMTEuNjI5IDU0MC43NDMgMjIxLjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAxNzggMCBSCi9IIC9JCgo+PgplbmRvYmoKMTgxIDAgb2JqCjw8IC9UeXBlIC9BY3Rpb24KL1MgL0dvVG8KL0QgWzUzIDAgUiAvWFlaIDcyLjAgNTMzLjk3NCBudWxsXQo+PgplbmRvYmoKMTgyIDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDEwNC4wIDE5OS42MjkgMzg5LjY2NiAyMDkuNjE5IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDE4MSAwIFIKL0ggL0kKCj4+CmVuZG9iagoxODMgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgNTM0LjYzIDE5OS42MjkgNTQwLjk5IDIwOS42MTkgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgMTgxIDAgUgovSCAvSQoKPj4KZW5kb2JqCjE4NCAwIG9iago8PCAvVHlwZSAvQWN0aW9uCi9TIC9Hb1RvCi9EIFs1MyAwIFIgL1hZWiA3Mi4wIDQ2OS45OTggbnVsbF0KPj4KZW5kb2JqCjE4NSAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyAxMDQuMCAxODcuNjI5IDM1My40MSAxOTcuNjE5IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDE4NCAwIFIKL0ggL0kKCj4+CmVuZG9iagoxODYgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgNTM0LjkxNyAxODcuNjI5IDU0MS4yNzcgMTk3LjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAxODQgMCBSCi9IIC9JCgo+PgplbmRvYmoKMTg3IDAgb2JqCjw8IC9UeXBlIC9BY3Rpb24KL1MgL0dvVG8KL0QgWzUzIDAgUiAvWFlaIDcyLjAgNDA2LjAyMiBudWxsXQo+PgplbmRvYmoKMTg4IDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDEwNC4wIDE3NS42MjkgMzk2LjU1OSAxODUuNjE5IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDE4NyAwIFIKL0ggL0kKCj4+CmVuZG9iagoxODkgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgNTM0LjU3NSAxNzUuNjI5IDU0MC45MzUgMTg1LjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAxODcgMCBSCi9IIC9JCgo+PgplbmRvYmoKMTkwIDAgb2JqCjw8IC9UeXBlIC9BY3Rpb24KL1MgL0dvVG8KL0QgWzUzIDAgUiAvWFlaIDcyLjAgMzMwLjA0NiBudWxsXQo+PgplbmRvYmoKMTkxIDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDEwNC4wIDE2My42MjkgNDEzLjg3IDE3My42MTkgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgMTkwIDAgUgovSCAvSQoKPj4KZW5kb2JqCjE5MiAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyA1MzQuNDM4IDE2My42MjkgNTQwLjc5OCAxNzMuNjE5IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDE5MCAwIFIKL0ggL0kKCj4+CmVuZG9iagoxOTMgMCBvYmoKPDwgL1R5cGUgL0FjdGlvbgovUyAvR29UbwovRCBbNTMgMCBSIC9YWVogNzIuMCAyNTQuMDcgbnVsbF0KPj4KZW5kb2JqCjE5NCAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyAxMDQuMCAxNTEuNjI5IDM4Ny45NTMgMTYxLjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAxOTMgMCBSCi9IIC9JCgo+PgplbmRvYmoKMTk1IDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDUzNC42NDMgMTUxLjYyOSA1NDEuMDAzIDE2MS42MTkgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgMTkzIDAgUgovSCAvSQoKPj4KZW5kb2JqCjE5NiAwIG9iago8PCAvVHlwZSAvQWN0aW9uCi9TIC9Hb1RvCi9EIFs1MyAwIFIgL1hZWiA3Mi4wIDE3OC4wOTQgbnVsbF0KPj4KZW5kb2JqCjE5NyAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyAxMDQuMCAxMzkuNjI5IDM1My4yNzEgMTQ5LjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAxOTYgMCBSCi9IIC9JCgo+PgplbmRvYmoKMTk4IDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDUzNC45MTkgMTM5LjYyOSA1NDEuMjc5IDE0OS42MTkgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgMTk2IDAgUgovSCAvSQoKPj4KZW5kb2JqCjE5OSAwIG9iago8PCAvVHlwZSAvQWN0aW9uCi9TIC9Hb1RvCi9EIFs1MyAwIFIgL1hZWiA3Mi4wIDExNC4xMTggbnVsbF0KPj4KZW5kb2JqCjIwMCAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyAxMDQuMCAxMjcuNjI5IDM2MS4yOTkgMTM3LjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAxOTkgMCBSCi9IIC9JCgo+PgplbmRvYmoKMjAxIDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDUzNC44NTUgMTI3LjYyOSA1NDEuMjE1IDEzNy42MTkgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgMTk5IDAgUgovSCAvSQoKPj4KZW5kb2JqCjIwMiAwIG9iago8PCAvVHlwZSAvQWN0aW9uCi9TIC9Hb1RvCi9EIFs1NiAwIFIgL1hZWiA3Mi4wIDcwOC4wIG51bGxdCj4+CmVuZG9iagoyMDMgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgMTA0LjAgMTE1LjYyOSAzODMuMzgxIDEyNS42MTkgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgMjAyIDAgUgovSCAvSQoKPj4KZW5kb2JqCjIwNCAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyA1MzQuNjc5IDExNS42MjkgNTQxLjAzOSAxMjUuNjE5IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDIwMiAwIFIKL0ggL0kKCj4+CmVuZG9iagoyMDUgMCBvYmoKPDwgL1R5cGUgL0FjdGlvbgovUyAvR29UbwovRCBbNTYgMCBSIC9YWVogNzIuMCA2NDEuNDY2IG51bGxdCj4+CmVuZG9iagoyMDYgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgMTA0LjAgMTAzLjYyOSAzNjMuNzA5IDExMy42MTkgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgMjA1IDAgUgovSCAvSQoKPj4KZW5kb2JqCjIwNyAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyA1MzQuODM1IDEwMy42MjkgNTQxLjE5NSAxMTMuNjE5IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDIwNSAwIFIKL0ggL0kKCj4+CmVuZG9iagoyMDggMCBvYmoKPDwgL1R5cGUgL0FjdGlvbgovUyAvR29UbwovRCBbNTYgMCBSIC9YWVogNzIuMCA1NzQuOTMyIG51bGxdCj4+CmVuZG9iagoyMDkgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgMTA0LjAgOTEuNjI5IDQwMS40OSAxMDEuNjE5IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDIwOCAwIFIKL0ggL0kKCj4+CmVuZG9iagoyMTAgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgNTM0LjUzNyA5MS42MjkgNTQwLjg5NyAxMDEuNjE5IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDIwOCAwIFIKL0ggL0kKCj4+CmVuZG9iagoyMTEgMCBvYmoKPDwgL1R5cGUgL0FjdGlvbgovUyAvR29UbwovRCBbNTYgMCBSIC9YWVogNzIuMCA1MDguMzk4IG51bGxdCj4+CmVuZG9iagoyMTIgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsg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MSAwIFIKODMgMCBSCjg0IDAgUgo4NiAwIFIKODcgMCBSCjg5IDAgUgo5MCAwIFIKOTIgMCBSCjkzIDAgUgo5NSAwIFIKOTYgMCBSCjk4IDAgUgo5OSAwIFIKMTAxIDAgUgoxMDIgMCBSCjEwNCAwIFIKMTA1IDAgUgoxMDcgMCBSCjEwOCAwIFIKMTEwIDAgUgoxMTEgMCBSCjExMyAwIFIKMTE0IDAgUgoxMTYgMCBSCjExNyAwIFIKMTE5IDAgUgoxMjAgMCBSCjEyMiAwIFIKMTIzIDAgUgoxMjUgMCBSCjEyNiAwIFIKMTI4IDAgUgoxMjkgMCBSCjEzMSAwIFIKMTMyIDAgUgoxMzQgMCBSCjEzNSAwIFIKMTM3IDAgUgoxMzggMCBSCjE0MCAwIFIKMTQxIDAgUgoxNDMgMCBSCjE0NCAwIFIKMTQ2IDAgUgoxNDcgMCBSCjE0OSAwIFIKMTUwIDAgUgoxNTIgMCBSCjE1MyAwIFIKMTU1IDAgUgoxNTYgMCBSCjE1OCAwIFIKMTU5IDAgUgoxNjEgMCBSCjE2MiAwIFIKMTY0IDAgUgoxNjUgMCBSCjE2NyAwIFIKMTY4IDAgUgoxNzAgMCBSCjE3MSAwIFIKMTczIDAgUgoxNzQgMCBSCjE3NiAwIFIKMTc3IDAgUgoxNzkgMCBSCjE4MCAwIFIKMTgyIDAgUgoxODMgMCBSCjE4NSAwIFIKMTg2IDAgUgoxODggMCBSCjE4OSAwIFIKMTkxIDAgUgoxOTIgMCBSCjE5NCAwIFIKMTk1IDAgUgoxOTcgMCBSCjE5OCAwIFIKMjAwIDAgUgoyMDEgMCBSCjIwMyAwIFIKMjA0IDAgUgoyMDYgMCBSCjIwNyAwIFIKMjA5IDAgUgoyMTAgMCBSCjIxMiAwIFIKMjEzIDAgUgpdCmVuZG9iago1OSAwIG9iago8PAogIC9SZXNvdXJjZXMgMyAwIFIKICAvVHlwZSAvUGFnZQogIC9NZWRpYUJveCBbMCAwIDYxMiA3OTJdCiAgL0Nyb3BCb3ggWzAgMCA2MTIgNzkyXQogIC9CbGVlZEJveCBbMCAwIDYxMiA3OTJdCiAgL1RyaW1Cb3ggWzAgMCA2MTIgNzkyXQogIC9QYXJlbnQgMSAwIFIKICAvQW5ub3RzIDYyIDAgUgogIC9Db250ZW50cyAy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OCA3MTguOTk1IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDIzNSAwIFIKL0ggL0kKCj4+CmVuZG9iagoyMzggMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgNTM0LjYzMyA3MDkuMDA1IDU0MC45OTMgNzE4Ljk5NSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAyMzUgMCBSCi9IIC9JCgo+PgplbmRvYmoKMjM5IDAgb2JqCjw8IC9UeXBlIC9BY3Rpb24KL1MgL0dvVG8KL0QgWzU2IDAgUiAvWFlaIDcyLjAgMzUxLjMzIG51bGxdCj4+CmVuZG9iagoyNDAgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgMTA0LjAgNjk3LjAwNSAzNjYuNDc4IDcwNi45OTUgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgMjM5IDAgUgovSCAvSQoKPj4KZW5kb2JqCjI0MSAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyA1MzQuODEzIDY5Ny4wMDUgNTQxLjE3MyA3MDYuOTk1IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDIzOSAwIFIKL0ggL0kKCj4+CmVuZG9iagoyNDIgMCBvYmoKPDwgL1R5cGUgL0FjdGlvbgovUyAvR29UbwovRCBbNTYgMCBSIC9YWVogNzIuMCAyNzIuNzk2IG51bGxdCj4+CmVuZG9iagoyNDMgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgMTA0LjAgNjg1LjAwNSAzNTYuMDUgNjk0Ljk5NSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAyNDIgMCBSCi9IIC9JCgo+PgplbmRvYmoKMjQ0IDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDUzNC44OTcgNjg1LjAwNSA1NDEuMjU3IDY5NC45OTUgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgMjQyIDAgUgovSCAvSQoKPj4KZW5kb2JqCjI0NSAwIG9iago8PCAvVHlwZSAvQWN0aW9uCi9TIC9Hb1RvCi9EIFs1NiAwIFIgL1hZWiA3Mi4wIDE5NC4yNjIgbnVsbF0KPj4KZW5kb2JqCjI0NiAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyAxMDQuMCA2NzMuMDA1IDM5Mi40MTUgNjgyLjk5NSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAyNDUgMCBSCi9IIC9JCgo+PgplbmRvYmoKMjQ3IDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDUzNC42MDggNjczLjAwNSA1NDAuOTY4IDY4Mi45OTUgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgMjQ1IDAgUgovSCAvSQoKPj4KZW5kb2JqCjI0OCAwIG9iago8PCAvVHlwZSAvQWN0aW9uCi9TIC9Hb1RvCi9EIFs1NiAwIFIgL1hZWiA3Mi4wIDExNS43MjggbnVsbF0KPj4KZW5kb2JqCjI0OSAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyAxMDQuMCA2NjEuMDA1IDM3OC45MDkgNjcwLjk5NSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAyNDggMCBSCi9IIC9JCgo+PgplbmRvYmoKMjUwIDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDUzNC43MTUgNjYxLjAwNSA1NDEuMDc1IDY3MC45OTUgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgMjQ4IDAgUgovSCAvSQoKPj4KZW5kb2JqCjI1MSAwIG9iago8PCAvVHlwZSAvQWN0aW9uCi9TIC9Hb1RvCi9EIFsyMTYgMCBSIC9YWVogNzIuMCA2OTYuMCBudWxsXQo+PgplbmRvYmoKMjUyIDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDEwNC4wIDY0OS4wMDUgMzY2Ljg5NyA2NTguOTk1IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDI1MSAwIFIKL0ggL0kKCj4+CmVuZG9iagoyNTMgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgNTM0LjgxMSA2NDkuMDA1IDU0MS4xNzEgNjU4Ljk5NSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAyNTEgMCBSCi9IIC9JCgo+PgplbmRvYmoKMjU0IDAgb2JqCjw8IC9UeXBlIC9BY3Rpb24KL1MgL0dvVG8KL0QgWzIxNiAwIFIgL1hZWiA3Mi4wIDYzMC44NTkgbnVsbF0KPj4KZW5kb2JqCjI1NSAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyAxMDQuMCA2MzcuMDA1IDM4Mi4wMTcgNjQ2Ljk5NSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAyNTQgMCBSCi9IIC9JCgo+PgplbmRvYmoKMjU2IDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDUzNC42OTEgNjM3LjAwNSA1NDEuMDUxIDY0Ni45OTUgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgMjU0IDAgUgovSCAvSQoKPj4KZW5kb2JqCjI1NyAwIG9iago8PCAvVHlwZSAvQWN0aW9uCi9TIC9Hb1RvCi9EIFsyMTYgMCBSIC9YWVogNzIuMCA1NTMuNzE4IG51bGxdCj4+CmVuZG9iagoyNTggMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgMTA0LjAgNjI1LjAwNSAzNzkuNDk3IDYzNC45OTUgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgMjU3IDAgUgovSCAvSQoKPj4KZW5kb2JqCjI1OSAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyA1MzQuNzExIDYyNS4wMDUgNTQxLjA3MSA2MzQuOTk1IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDI1NyAwIFIKL0ggL0kKCj4+CmVuZG9iagoyNjAgMCBvYmoKPDwgL1R5cGUgL0FjdGlvbgovUyAvR29UbwovRCBbMjE2IDAgUiAvWFlaIDcyLjAgNDg4LjU3NyBudWxsXQo+PgplbmRvYmoKMjYxIDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDEwNC4wIDYxMy4wMDUgMzUxLjAyOSA2MjIuOTk1IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDI2MCAwIFIKL0ggL0kKCj4+CmVuZG9iagoyNjIgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgNTM0LjkzNiA2MTMuMDA1IDU0MS4yOTYgNjIyLjk5NSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAyNjAgMCBSCi9IIC9JCgo+PgplbmRvYmoKMjYzIDAgb2JqCjw8IC9UeXBlIC9BY3Rpb24KL1MgL0dvVG8KL0QgWzIxNiAwIFIgL1hZWiA3Mi4wIDQyMy40MzYgbnVsbF0KPj4KZW5kb2JqCjI2NCAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyAxMDQuMCA2MDEuMDA1IDQxNS45MDIgNjEwLjk5NSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAyNjMgMCBSCi9IIC9JCgo+PgplbmRvYmoKMjY1IDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDUzNC40MjIgNjAxLjAwNSA1NDAuNzgyIDYxMC45OTUgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgMjYzIDAgUgovSCAvSQoKPj4KZW5kb2JqCjI2NiAwIG9iago8PCAvVHlwZSAvQWN0aW9uCi9TIC9Hb1RvCi9EIFsyMTYgMCBSIC9YWVogNzIuMCAzNDYuMjk1IG51bGxdCj4+CmVuZG9iagoyNjcgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgMTA0LjAgNTg5LjAwNSA0MDIuNzI1IDU5OC45OTUgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgMjY2IDAgUgovSCAvSQoKPj4KZW5kb2JqCjI2OCAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyA1MzQuNTI3IDU4OS4wMDUgNTQwLjg4NyA1OTguOTk1IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDI2NiAwIFIKL0ggL0kKCj4+CmVuZG9iagoyNjkgMCBvYmoKPDwgL1R5cGUgL0FjdGlvbgovUyAvR29UbwovRCBbMjE2IDAgUiAvWFlaIDcyLjAgMjgxLjE1NCBudWxsXQo+PgplbmRvYmoKMjcwIDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDEwNC4wIDU3Ny4wMDUgNDE2LjA1MiA1ODYuOTk1IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDI2OSAwIFIKL0ggL0kKCj4+CmVuZG9iagoyNzEgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgNTM0LjQyMSA1NzcuMDA1IDU0MC43ODEgNTg2Ljk5NSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAyNjkgMCBSCi9IIC9JCgo+PgplbmRvYmoKMjcyIDAgb2JqCjw8IC9UeXBlIC9BY3Rpb24KL1MgL0dvVG8KL0QgWzIxNiAwIFIgL1hZWiA3Mi4wIDE5Mi4wMTMgbnVsbF0KPj4KZW5kb2JqCjI3MyAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyAxMDQuMCA1NjUuMDA1IDM3NS4zOTMgNTc0Ljk5NSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAyNzIgMCBSCi9IIC9JCgo+PgplbmRvYmoKMjc0IDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDUzNC43NDMgNTY1LjAwNSA1NDEuMTAzIDU3NC45OTUgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgMjcyIDAgUgovSCAvSQoKPj4KZW5kb2JqCjI3NSAwIG9iago8PCAvVHlwZSAvQWN0aW9uCi9TIC9Hb1RvCi9EIFsyMTYgMCBSIC9YWVogNzIuMCAxMTQuODcyIG51bGxdCj4+CmVuZG9iagoyNzYgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgMTA0LjAgNTUzLjAwNSA0MTEuNzU5IDU2Mi45OTUgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgMjc1IDAgUgovSCAvSQoKPj4KZW5kb2JqCjI3NyAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyA1MzQuNDU1IDU1My4wMDUgNTQwLjgxNSA1NjIuOTk1IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDI3NSAwIFIKL0ggL0kKCj4+CmVuZG9iagoyNzggMCBvYmoKPDwgL1R5cGUgL0FjdGlvbgovUyAvR29UbwovRCBbMjE5IDAgUiAvWFlaIDcyLjAgNjk2LjAgbnVsbF0KPj4KZW5kb2JqCjI3OSAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyAxMDQuMCA1NDEuMDA1IDM5OC4yNTIgNTUwLjk5NSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAyNzggMCBSCi9IIC9JCgo+PgplbmRvYmoKMjgwIDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDUzNC41NjEgNTQxLjAwNSA1NDAuOTIxIDU1MC45OTUgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgMjc4IDAgUgovSCAvSQoKPj4KZW5kb2JqCjI4MSAwIG9iago8PCAvVHlwZSAvQWN0aW9uCi9TIC9Hb1RvCi9EIFsyMTkgMCBSIC9YWVogNzIuMCA2MTkuOTk4IG51bGxdCj4+CmVuZG9iagoyODIgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgMTA0LjAgNTI5LjAwNSAzOTguODQgNTM4Ljk5NSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAyODEgMCBSCi9IIC9JCgo+PgplbmRvYmoKMjgzIDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDUzNC41NTcgNTI5LjAwNSA1NDAuOTE3IDUzOC45OTUgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgMjgxIDAgUgovSCAvSQoKPj4KZW5kb2JqCjI4NCAwIG9iago8PCAvVHlwZSAvQWN0aW9uCi9TIC9Hb1RvCi9EIFsyMTkgMCBSIC9YWVogNzIuMCA1NTUuOTk2IG51bGxdCj4+CmVuZG9iagoyODUgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgMTA0LjAgNTE3LjAwNSAzOTYuMTQxIDUyNi45OTUgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgMjg0IDAgUgovSCAvSQoKPj4KZW5kb2JqCjI4NiAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyA1MzQuNTc5IDUxNy4wMDUgNTQwLjkzOSA1MjYuOTk1IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDI4NCAwIFIKL0ggL0kKCj4+CmVuZG9iagoyODcgMCBvYmoKPDwgL1R5cGUgL0FjdGlvbgovUyAvR29UbwovRCBbMjE5IDAgUiAvWFlaIDcyLjAgNDc5Ljk5NCBudWxsXQo+PgplbmRvYmoKMjg4IDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDEwNC4wIDUwNS4wMDUgMzYwLjg4IDUxNC45OTUgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgMjg3IDAgUgovSCAvSQoKPj4KZW5kb2JqCjI4OSAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyA1MzQuODU4IDUwNS4wMDUgNTQxLjIxOCA1MTQuOTk1IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDI4NyAwIFIKL0ggL0kKCj4+CmVuZG9iagoyOTAgMCBvYmoKPDwgL1R5cGUgL0FjdGlvbgovUyAvR29UbwovRCBbMjE5IDAgUiAvWFlaIDcyLjAgNDE1Ljk5MiBudWxsXQo+PgplbmRvYmoKMjkxIDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDEwNC4wIDQ5My4wMDUgMzgyLjk2MyA1MDIuOTk1IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDI5MCAwIFIKL0ggL0kKCj4+CmVuZG9iagoyOTIgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgNTM0LjY4MyA0OTMuMDA1IDU0MS4wNDMgNTAyLjk5NSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAyOTAgMCBSCi9IIC9JCgo+PgplbmRvYmoKMjkzIDAgb2JqCjw8IC9UeXBlIC9BY3Rpb24KL1MgL0dvVG8KL0QgWzIxOSAwIFIgL1hZWiA3Mi4wIDM1MS45OSBudWxsXQo+PgplbmRvYmoKMjk0IDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDEwNC4wIDQ4MS4wMDUgMzYzLjI5MSA0OTAuOTk1IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDI5MyAwIFIKL0ggL0kKCj4+CmVuZG9iagoyOTUgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgNTM0LjgzOSA0ODEuMDA1IDU0MS4xOTkgNDkwLjk5NSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAyOTMgMCBSCi9IIC9JCgo+PgplbmRvYmoKMjk2IDAgb2JqCjw8IC9UeXBlIC9BY3Rpb24KL1MgL0dvVG8KL0QgWzIxOSAwIFIgL1hZWiA3Mi4wIDI4Ny45ODggbnVsbF0KPj4KZW5kb2JqCjI5NyAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyAxMDQuMCA0NjkuMDA1IDQwMS4wNzEgNDc4Ljk5NSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAyOTYgMCBSCi9IIC9JCgo+PgplbmRvYmoKMjk4IDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDUzNC41MzkgNDY5LjAwNSA1NDAuODk5IDQ3OC45OTUgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgMjk2IDAgUgovSCAvSQoKPj4KZW5kb2JqCjI5OSAwIG9iago8PCAvVHlwZSAvQWN0aW9uCi9TIC9Hb1RvCi9EIFsyMTkgMCBSIC9YWVogNzIuMCAyMjMuOTg2IG51bGxdCj4+CmVuZG9iagozMDAgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgMTA0LjAgNDU3LjAwNSAzOTYuMjkgNDY2Ljk5NSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAyOTkgMCBSCi9IIC9JCgo+PgplbmRvYmoKMzAxIDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDUzNC41NzcgNDU3LjAwNSA1NDAuOTM3IDQ2Ni45OTUgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgMjk5IDAgUgovSCAvSQoKPj4KZW5kb2JqCjMwMiAwIG9iago8PCAvVHlwZSAvQWN0aW9uCi9TIC9Hb1RvCi9EIFsyMTkgMCBSIC9YWVogNzIuMCAxMzUuOTg0IG51bGxdCj4+CmVuZG9iagozMDMgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgMTA0LjAgNDQ1LjAwNSAzNTUuNjMxIDQ1NC45OTUgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgMzAyIDAgUgovSCAvSQoKPj4KZW5kb2JqCjMwNCAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyA1MzQuOSA0NDUuMDA1IDU0MS4yNiA0NTQuOTk1IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDMwMiAwIFIKL0ggL0kKCj4+CmVuZG9iagozMDUgMCBvYmoKPDwgL1R5cGUgL0FjdGlvbgovUyAvR29UbwovRCBbMjIyIDAgUiAvWFlaIDcyLjAgNzIwLjAgbnVsbF0KPj4KZW5kb2JqCjMwNiAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyAxMDQuMCA0MzMuMDA1IDM5MS45NzIgNDQyLjk5NSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAzMDUgMCBSCi9IIC9JCgo+PgplbmRvYmoKMzA3IDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDUyOC4yMDIgNDMzLjAwNSA1NDAuOTIyIDQ0Mi45OTUgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgMzA1IDAgUgovSCAvSQoKPj4KZW5kb2JqCjMwOCAwIG9iago8PCAvVHlwZSAvQWN0aW9uCi9TIC9Hb1RvCi9EIFsyMjIgMCBSIC9YWVogNzIuMCA2NDguMzM4IG51bGxdCj4+CmVuZG9iagozMDkgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgMTA0LjAgNDIxLjAwNSAzNzguNDY2IDQzMC45OTUgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgMzA4IDAgUgovSCAvSQoKPj4KZW5kb2JqCjMxMCAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyA1MjguMzEgNDIxLjAwNSA1NDEuMDMgNDMwLjk5NSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAzMDggMCBSCi9IIC9JCgo+PgplbmRvYmoKMzExIDAgb2JqCjw8IC9UeXBlIC9BY3Rpb24KL1MgL0dvVG8KL0QgWzIyMiAwIFIgL1hZWiA3Mi4wIDU3MC4yOTggbnVsbF0KPj4KZW5kb2JqCjMxMiAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyAxMDQuMCA0MDkuMDA1IDM3OS4wNTMgNDE4Ljk5NSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAzMTEgMCBSCi9IIC9JCgo+PgplbmRvYmoKMzEzIDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDUyOC4zMDQgNDA5LjAwNSA1NDEuMDI0IDQxOC45OTUgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgMzExIDAgUgovSCAvSQoKPj4KZW5kb2JqCjMxNCAwIG9iago8PCAvVHlwZSAvQWN0aW9uCi9TIC9Hb1RvCi9EIFsyMjIgMCBSIC9YWVogNzIuMCA1MDQuMjU4IG51bGxdCj4+CmVuZG9iagozMTUgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgMTA0LjAgMzk3LjAwNSA0MTcuMjkyIDQwNi45OTUgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgMzE0IDAgUgovSCAvSQoKPj4KZW5kb2JqCjMxNiAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyA1MjguMDAyIDM5Ny4wMDUgNTQwLjcyMiA0MDYuOTk1IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDMxNCAwIFIKL0ggL0kKCj4+CmVuZG9iagozMTcgMCBvYmoKPDwgL1R5cGUgL0FjdGlvbgovUyAvR29UbwovRCBbMjIyIDAgUiAvWFlaIDcyLjAgNDM4LjIxOCBudWxsXQo+PgplbmRvYmoKMzE4IDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDEwNC4wIDM4NS4wMDUgMzg2LjEwNSAzOTQuOTk1IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDMxNyAwIFIKL0ggL0kKCj4+CmVuZG9iagozMTkgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgNTI4LjI0OCAzODUuMDA1IDU0MC45NjggMzk0Ljk5NSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAzMTcgMCBSCi9IIC9JCgo+PgplbmRvYmoKMzIwIDAgb2JqCjw8IC9UeXBlIC9BY3Rpb24KL1MgL0dvVG8KL0QgWzIyMiAwIFIgL1hZWiA3Mi4wIDM3Mi4xNzggbnVsbF0KPj4KZW5kb2JqCjMyMSAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyAxMDQuMCAzNzMuMDA1IDM0OS44NDkgMzgyLjk5NSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAzMjAgMCBSCi9IIC9JCgo+PgplbmRvYmoKMzIyIDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDUyOC41MzYgMzczLjAwNSA1NDEuMjU2IDM4Mi45OTUgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgMzIwIDAgUgovSCAvSQoKPj4KZW5kb2JqCjMyMyAwIG9iago8PCAvVHlwZSAvQWN0aW9uCi9TIC9Hb1RvCi9EIFsyMjIgMCBSIC9YWVogNzIuMCAzMDYuMTM4IG51bGxdCj4+CmVuZG9iagozMjQgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgMTA0LjAgMzYxLjAwNSAzOTIuOTk4IDM3MC45OTUgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgMzIzIDAgUgovSCAvSQoKPj4KZW5kb2JqCjMyNSAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyA1MjguMTk0IDM2MS4wMDUgNTQwLjkxNCAzNzAuOTk1IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDMyMyAwIFIKL0ggL0kKCj4+CmVuZG9iagozMjYgMCBvYmoKPDwgL1R5cGUgL0FjdGlvbgovUyAvR29UbwovRCBbMjIyIDAgUiAvWFlaIDcyLjAgMjI4LjA5OCBudWxsXQo+PgplbmRvYmoKMzI3IDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDEwNC4wIDM0OS4wMDUgNDEwLjMwOSAzNTguOTk1IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDMyNiAwIFIKL0ggL0kKCj4+CmVuZG9iagozMjggMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgNTI4LjA1NiAzNDkuMDA1IDU0MC43NzYgMzU4Ljk5NSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAzMjYgMCBSCi9IIC9JCgo+PgplbmRvYmoKMzI5IDAgb2JqCjw8IC9UeXBlIC9BY3Rpb24KL1MgL0dvVG8KL0QgWzIyMiAwIFIgL1hZWiA3Mi4wIDE1MC4wNTggbnVsbF0KPj4KZW5kb2JqCjMzMCAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyAxMDQuMCAzMzcuMDA1IDM4NC4zOTIgMzQ2Ljk5NSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAzMjkgMCBSCi9IIC9JCgo+PgplbmRvYmoKMzMxIDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDUyOC4yNjIgMzM3LjAwNSA1NDAuOTgyIDM0Ni45OTUgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgMzI5IDAgUgovSCAvSQoKPj4KZW5kb2JqCjMzMiAwIG9iago8PCAvVHlwZSAvQWN0aW9uCi9TIC9Hb1RvCi9EIFsyMjUgMCBSIC9YWVogNzIuMCA3MjAuMCBudWxsXQo+PgplbmRvYmoKMzMzIDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDEwNC4wIDMyNS4wMDUgMzQ5LjcxIDMzNC45OTUgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgMzMyIDAgUgovSCAvSQoKPj4KZW5kb2JqCjMzNCAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyA1MjguNTM4IDMyNS4wMDUgNTQxLjI1OCAzMzQuOTk1IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDMzMiAwIFIKL0ggL0kKCj4+CmVuZG9iagozMzUgMCBvYmoKPDwgL1R5cGUgL0FjdGlvbgovUyAvR29UbwovRCBbMjI1IDAgUiAvWFlaIDcyLjAgNjYyLjkxIG51bGxdCj4+CmVuZG9iagozMzYgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgMTA0LjAgMzEzLjAwNSAzNTcuNzM4IDMyMi45OTUgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgMzM1IDAgUgovSCAvSQoKPj4KZW5kb2JqCjMzNyAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyA1MjguNDc0IDMxMy4wMDUgNTQxLjE5NCAzMjIuOTk1IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDMzNSAwIFIKL0ggL0kKCj4+CmVuZG9iagozMzggMCBvYmoKPDwgL1R5cGUgL0FjdGlvbgovUyAvR29UbwovRCBbMjI1IDAgUiAvWFlaIDcyLjAgNjAwLjIxMyBudWxsXQo+PgplbmRvYmoKMzM5IDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDEwNC4wIDMwMS4wMDUgMzc5LjgyIDMxMC45OTUgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgMzM4IDAgUgovSCAvSQoKPj4KZW5kb2JqCjM0MCAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyA1MjguMjk4IDMwMS4wMDUgNTQxLjAxOCAzMTAuOTk1IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDMzOCAwIFIKL0ggL0kKCj4+CmVuZG9iagozNDEgMCBvYmoKPDwgL1R5cGUgL0FjdGlvbgovUyAvR29UbwovRCBbMjI1IDAgUiAvWFlaIDcyLjAgNTM3LjUxNiBudWxsXQo+PgplbmRvYmoKMzQyIDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDEwNC4wIDI4OS4wMDUgMzYwLjE0OCAyOTguOTk1IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDM0MSAwIFIKL0ggL0kKCj4+CmVuZG9iagozNDMgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgNTI4LjQ1NCAyODkuMDA1IDU0MS4xNzQgMjk4Ljk5NSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAzNDEgMCBSCi9IIC9JCgo+PgplbmRvYmoKMzQ0IDAgb2JqCjw8IC9UeXBlIC9BY3Rpb24KL1MgL0dvVG8KL0QgWzIyNSAwIFIgL1hZWiA3Mi4wIDQ3NC44MTkgbnVsbF0KPj4KZW5kb2JqCjM0NSAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyAxMDQuMCAyNzcuMDA1IDM5Ny45MjkgMjg2Ljk5NSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAzNDQgMCBSCi9IIC9JCgo+PgplbmRvYmoKMzQ2IDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDUyOC4xNTYgMjc3LjAwNSA1NDAuODc2IDI4Ni45OTUgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgMzQ0IDAgUgovSCAvSQoKPj4KZW5kb2JqCjM0NyAwIG9iago8PCAvVHlwZSAvQWN0aW9uCi9TIC9Hb1RvCi9EIFsyMjUgMCBSIC9YWVogNzIuMCA0MTIuMTIyIG51bGxdCj4+CmVuZG9iagozNDggMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgMTA0LjAgMjY1LjAwNSAzOTMuMTQ3IDI3NC45OTUgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgMzQ3IDAgUgovSCAvSQoKPj4KZW5kb2JqCjM0OSAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyA1MjguMTkyIDI2NS4wMDUgNTQwLjkxMiAyNzQuOTk1IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDM0NyAwIFIKL0ggL0kKCj4+CmVuZG9iagozNTAgMCBvYmoKPDwgL1R5cGUgL0FjdGlvbgovUyAvR29UbwovRCBbMjI1IDAgUiAvWFlaIDcyLjAgMzI1LjQyNSBudWxsXQo+PgplbmRvYmoKMzUxIDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDEwNC4wIDI1My4wMDUgMzg1Ljc2NyAyNjIuOTk1IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDM1MCAwIFIKL0ggL0kKCj4+CmVuZG9iagozNTIgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgNTI4LjI1MiAyNTMuMDA1IDU0MC45NzIgMjYyLjk5NSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAzNTAgMCBSCi9IIC9JCgo+PgplbmRvYmoKMzUzIDAgb2JqCjw8IC9UeXBlIC9BY3Rpb24KL1MgL0dvVG8KL0QgWzIyNSAwIFIgL1hZWiA3Mi4wIDI2Mi43MjggbnVsbF0KPj4KZW5kb2JqCjM1NCAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyAxMDQuMCAyNDEuMDA1IDM2Mi45MTcgMjUwLjk5NSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAzNTMgMCBSCi9IIC9JCgo+PgplbmRvYmoKMzU1IDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDUyOC40MzIgMjQxLjAwNSA1NDEuMTUyIDI1MC45OTUgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgMzUzIDAgUgovSCAvSQoKPj4KZW5kb2JqCjM1NiAwIG9iago8PCAvVHlwZSAvQWN0aW9uCi9TIC9Hb1RvCi9EIFsyMjUgMCBSIC9YWVogNzIuMCAxODguMDMxIG51bGxdCj4+CmVuZG9iagozNTcgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgMTA0LjAgMjI5LjAwNSAzNTIuNDg5IDIzOC45OTUgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgMzU2IDAgUgovSCAvSQoKPj4KZW5kb2JqCjM1OCAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyA1MjguNTE2IDIyOS4wMDUgNTQxLjIzNiAyMzguOTk1IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDM1NiAwIFIKL0ggL0kKCj4+CmVuZG9iagozNTkgMCBvYmoKPDwgL1R5cGUgL0FjdGlvbgovUyAvR29UbwovRCBbMjI1IDAgUiAvWFlaIDcyLjAgMTEzLjMzNCBudWxsXQo+PgplbmRvYmoKMzYwIDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDEwNC4wIDIxNy4wMDUgMzg4Ljg1NCAyMjYuOTk1IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDM1OSAwIFIKL0ggL0kKCj4+CmVuZG9iagozNjEgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgNTI4LjIyNiAyMTcuMDA1IDU0MC45NDYgMjI2Ljk5NSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAzNTkgMCBSCi9IIC9JCgo+PgplbmRvYmoKMzYyIDAgb2JqCjw8IC9UeXBlIC9BY3Rpb24KL1MgL0dvVG8KL0QgWzIyOCAwIFIgL1hZWiA3Mi4wIDY5Ni4wIG51bGxdCj4+CmVuZG9iagozNjMgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgMTA0LjAgMjA1LjAwNSAzNzUuMzQ4IDIxNC45OTUgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgMzYyIDAgUgovSCAvSQoKPj4KZW5kb2JqCjM2NCAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyA1MjguMzM0IDIwNS4wMDUgNTQxLjA1NCAyMTQuOTk1IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDM2MiAwIFIKL0ggL0kKCj4+CmVuZG9iagozNjUgMCBvYmoKPDwgL1R5cGUgL0FjdGlvbgovUyAvR29UbwovRCBbMjI4IDAgUiAvWFlaIDcyLjAgNjE5Ljk5OCBudWxsXQo+PgplbmRvYmoKMzY2IDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDEwNC4wIDE5My4wMDUgMzYzLjMzNiAyMDIuOTk1IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDM2NSAwIFIKL0ggL0kKCj4+CmVuZG9iagozNjcgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgNTI4LjQzIDE5My4wMDUgNTQxLjE1IDIwMi45OTUgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgMzY1IDAgUgovSCAvSQoKPj4KZW5kb2JqCjM2OCAwIG9iago8PCAvVHlwZSAvQWN0aW9uCi9TIC9Hb1RvCi9EIFsyMjggMCBSIC9YWVogNzIuMCA1NTUuOTk2IG51bGxdCj4+CmVuZG9iagozNjkgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgMTA0LjAgMTgxLjAwNSAzNzguNDU2IDE5MC45OTUgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgMzY4IDAgUgovSCAvSQoKPj4KZW5kb2JqCjM3MCAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyA1MjguMzEgMTgxLjAwNSA1NDEuMDMgMTkwLjk5NSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAzNjggMCBSCi9IIC9JCgo+PgplbmRvYmoKMzcxIDAgb2JqCjw8IC9UeXBlIC9BY3Rpb24KL1MgL0dvVG8KL0QgWzIyOCAwIFIgL1hZWiA3Mi4wIDQ3OS45OTQgbnVsbF0KPj4KZW5kb2JqCjM3MiAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyAxMDQuMCAxNjkuMDA1IDM3NS45MzYgMTc4Ljk5NSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAzNzEgMCBSCi9IIC9JCgo+PgplbmRvYmoKMzczIDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDUyOC4zMyAxNjkuMDA1IDU0MS4wNSAxNzguOTk1IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDM3MSAwIFIKL0ggL0kKCj4+CmVuZG9iagozNzQgMCBvYmoKPDwgL1R5cGUgL0FjdGlvbgovUyAvR29UbwovRCBbMjI4IDAgUiAvWFlaIDcyLjAgNDE1Ljk5MiBudWxsXQo+PgplbmRvYmoKMzc1IDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDEwNC4wIDE1Ny4wMDUgMzQ3LjQ2OCAxNjYuOTk1IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDM3NCAwIFIKL0ggL0kKCj4+CmVuZG9iagozNzYgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgNTI4LjU1NCAxNTcuMDA1IDU0MS4yNzQgMTY2Ljk5NSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAzNzQgMCBSCi9IIC9JCgo+PgplbmRvYmoKMzc3IDAgb2JqCjw8IC9UeXBlIC9BY3Rpb24KL1MgL0dvVG8KL0QgWzIyOCAwIFIgL1hZWiA3Mi4wIDM1MS45OSBudWxsXQo+PgplbmRvYmoKMzc4IDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDEwNC4wIDE0NS4wMDUgNDI0LjU1MyAxNTQuOTk1IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDM3NyAwIFIKL0ggL0kKCj4+CmVuZG9iagozNzkgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgNTI3Ljk0NCAxNDUuMDA1IDU0MC42NjQgMTU0Ljk5NSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAzNzcgMCBSCi9IIC9JCgo+PgplbmRvYmoKMzgwIDAgb2JqCjw8IC9UeXBlIC9BY3Rpb24KL1MgL0dvVG8KL0QgWzIyOCAwIFIgL1hZWiA3Mi4wIDI4Ny45ODggbnVsbF0KPj4KZW5kb2JqCjM4MSAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyAxMDQuMCAxMzMuMDA1IDM5Mi4zNTEgMTQyLjk5NSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAzODAgMCBSCi9IIC9JCgo+PgplbmRvYmoKMzgyIDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDUyOC4yIDEzMy4wMDUgNTQwLjkyIDE0Mi45OTUgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgMzgwIDAgUgovSCAvSQoKPj4KZW5kb2JqCjM4MyAwIG9iago8PCAvVHlwZSAvQWN0aW9uCi9TIC9Hb1RvCi9EIFsyMjggMCBSIC9YWVogNzIuMCAyMjMuOTg2IG51bGxdCj4+CmVuZG9iagozODQgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgMTA0LjAgMTIxLjAwNSA0MDAuMjU5IDEzMC45OTUgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgMzgzIDAgUgovSCAvSQoKPj4KZW5kb2JqCjM4NSAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyA1MjguMTM2IDEyMS4wMDUgNTQwLjg1NiAxMzAuOTk1IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDM4MyAwIFIKL0ggL0kKCj4+CmVuZG9iagozODYgMCBvYmoKPDwgL1R5cGUgL0FjdGlvbgovUyAvR29UbwovRCBbMjI4IDAgUiAvWFlaIDcyLjAgMTQ3Ljk4NCBudWxsXQo+PgplbmRvYmoKMzg3IDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDEwNC4wIDEwOS4wMDUgNDE3LjU3MSAxMTguOTk1IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDM4NiAwIFIKL0ggL0kKCj4+CmVuZG9iagozODggMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgNTI4LjAgMTA5LjAwNSA1NDAuNzIgMTE4Ljk5NSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAzODYgMCBSCi9IIC9JCgo+PgplbmRvYmoKMzg5IDAgb2JqCjw8IC9UeXBlIC9BY3Rpb24KL1MgL0dvVG8KL0QgWzIzMSAwIFIgL1hZWiA3Mi4wIDcyMC4wIG51bGxdCj4+CmVuZG9iagozOTAgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgMTA0LjAgOTcuMDA1IDM5MS42NTMgMTA2Ljk5NSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAzODkgMCBSCi9IIC9JCgo+PgplbmRvYmoKMzkxIDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDUyOC4yMDQgOTcuMDA1IDU0MC45MjQgMTA2Ljk5NSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAzODkgMCBSCi9IIC9JCgo+PgplbmRvYmoKMzkyIDAgb2JqCjw8IC9UeXBlIC9BY3Rpb24KL1MgL0dvVG8KL0QgWzIzMSAwIFIgL1hZWiA3Mi4wIDY0OS45MjYgbnVsbF0KPj4KZW5kb2JqCjM5MyAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyAxMDQuMCA4NS4wMDUgMzY0Ljk5OSA5NC45OTUgXQovQyBbIDAg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CjMwOSAwIFIKMzEwIDAgUgozMTIgMCBSCjMxMyAwIFIKMzE1IDAgUgozMTYgMCBSCjMxOCAwIFIKMzE5IDAgUgozMjEgMCBSCjMyMiAwIFIKMzI0IDAgUgozMjUgMCBSCjMyNyAwIFIKMzI4IDAgUgozMzAgMCBSCjMzMSAwIFIKMzMzIDAgUgozMzQgMCBSCjMzNiAwIFIKMzM3IDAgUgozMzkgMCBSCjM0MCAwIFIKMzQyIDAgUgozNDMgMCBSCjM0NSAwIFIKMzQ2IDAgUgozNDggMCBSCjM0OSAwIFIKMzUxIDAgUgozNTIgMCBSCjM1NCAwIFIKMzU1IDAgUgozNTcgMCBSCjM1OCAwIFIKMzYwIDAgUgozNjEgMCBSCjM2MyAwIFIKMzY0IDAgUgozNjYgMCBSCjM2NyAwIFIKMzY5IDAgUgozNzAgMCBSCjM3MiAwIFIKMzczIDAgUgozNzUgMCBSCjM3NiAwIFIKMzc4IDAgUgozNzkgMCBSCjM4MSAwIFIKMzgyIDAgUgozODQgMCBSCjM4NSAwIFIKMzg3IDAgUgozODggMCBSCjM5MCAwIFIKMzkxIDAgUgozOTMgMCBSCjM5NCAwIFIKMzk2IDAgUgozOTcgMCBSCl0KZW5kb2JqCjIzNCAwIG9iago8PAogIC9SZXNvdXJjZXMgMyAwIFIKICAvVHlwZSAvUGFnZQogIC9NZWRpYUJveCBbMCAwIDYxMiA3OTJdCiAgL0Nyb3BCb3ggWzAgMCA2MTIgNzkyXQogIC9CbGVlZEJveCBbMCAwIDYxMiA3OTJdCiAgL1RyaW1Cb3ggWzAgMCA2MTIgNzkyXQogIC9QYXJlbnQgMSAwIFIKICAvQW5ub3RzIDIzNyAwIFIKICAvQ29udGVudHMgMzk4IDAgUgo+PgoKZW5kb2JqCjM5OSAwIG9iagoxNjk3NwplbmRvYmoKNDAxIDAgb2JqCjw8IC9MZW5ndGggNDAyIDAgUiAvRmlsdGVyIC9GbGF0ZURlY29kZSA+PgpzdHJlYW0KeJztWMmO3DYQvesr+AORWdwJDBroNUhugzTgg+GTsx3cDiaX/H6KS3HR1h770HMwGoJEVrH2eir1ywCM4++ncLNesE+34SXvAbOCSZO3tGGSj04bzoHdWFzDCDyuPyP7ZFV488oQLUsq67/Z++HLwNnP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XQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgNDEzIDAgUgovSCAvSQoKPj4KZW5kb2JqCjQxNiAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyA1MjguMTk0IDcwOS4wMDUgNTQwLjkxNCA3MTguOTk1IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDQxMyAwIFIKL0ggL0kKCj4+CmVuZG9iago0MTcgMCBvYmoKPDwgL1R5cGUgL0FjdGlvbgovUyAvR29UbwovRCBbMjMxIDAgUiAvWFlaIDcyLjAgNDU3Ljk5OCBudWxsXQo+PgplbmRvYmoKNDE4IDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDEwNC4wIDY5Ny4wMDUgMzkxLjU0NCA3MDYuOTk1IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDQxNyAwIFIKL0ggL0kKCj4+CmVuZG9iago0MTkgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgNTI4LjIwNiA2OTcuMDA1IDU0MC45MjYgNzA2Ljk5NSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSA0MTcgMCBSCi9IIC9JCgo+PgplbmRvYmoKNDIwIDAgb2JqCjw8IC9UeXBlIC9BY3Rpb24KL1MgL0dvVG8KL0QgWzIzMSAwIFIgL1hZWiA3Mi4wIDM5NC4wMjIgbnVsbF0KPj4KZW5kb2JqCjQyMSAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyAxMDQuMCA2ODUuMDA1IDM3MC4xNzggNjk0Ljk5NSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSA0MjAgMCBSCi9IIC9JCgo+PgplbmRvYmoKNDIyIDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDUyOC4zNzQgNjg1LjAwNSA1NDEuMDk0IDY5NC45OTUgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgNDIwIDAgUgovSCAvSQoKPj4KZW5kb2JqCjQyMyAwIG9iago8PCAvVHlwZSAvQWN0aW9uCi9TIC9Hb1RvCi9EIFsyMzEgMCBSIC9YWVogNzIuMCAzMTguMDQ2IG51bGxdCj4+CmVuZG9iago0MjQgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgMTA0LjAgNjczLjAwNSAzNTkuNzUgNjgyLjk5NSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSA0MjMgMCBSCi9IIC9JCgo+PgplbmRvYmoKNDI1IDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDUyOC40NTggNjczLjAwNSA1NDEuMTc4IDY4Mi45OTUgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgNDIzIDAgUgovSCAvSQoKPj4KZW5kb2JqCjQyNiAwIG9iago8PCAvVHlwZSAvQWN0aW9uCi9TIC9Hb1RvCi9EIFsyMzEgMCBSIC9YWVogNzIuMCAyNTQuMDcgbnVsbF0KPj4KZW5kb2JqCjQyNyAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyAxMDQuMCA2NjEuMDA1IDM5Ni4xMTYgNjcwLjk5NSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSA0MjYgMCBSCi9IIC9JCgo+PgplbmRvYmoKNDI4IDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDUyOC4xNyA2NjEuMDA1IDU0MC44OSA2NzAuOTk1IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDQyNiAwIFIKL0ggL0kKCj4+CmVuZG9iago0MjkgMCBvYmoKPDwgL1R5cGUgL0FjdGlvbgovUyAvR29UbwovRCBbMjMxIDAgUiAvWFlaIDcyLjAgMTkwLjA5NCBudWxsXQo+PgplbmRvYmoKNDMwIDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDEwNC4wIDY0OS4wMDUgMzg1LjcxNyA2NTguOTk1IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDQyOSAwIFIKL0ggL0kKCj4+CmVuZG9iago0MzEgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgNTI4LjI1MiA2NDkuMDA1IDU0MC45NzIgNjU4Ljk5NSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSA0MjkgMCBSCi9IIC9JCgo+PgplbmRvYmoKNDMyIDAgb2JqCjw8IC9UeXBlIC9BY3Rpb24KL1MgL0dvVG8KL0QgWzIzMSAwIFIgL1hZWiA3Mi4wIDExNC4xMTggbnVsbF0KPj4KZW5kb2JqCjQzMyAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyAxMDQuMCA2MzcuMDA1IDM4My4xOTcgNjQ2Ljk5NSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSA0MzIgMCBSCi9IIC9JCgo+PgplbmRvYmoKNDM0IDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDUyOC4yNzIgNjM3LjAwNSA1NDAuOTkyIDY0Ni45OTUgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgNDMyIDAgUgovSCAvSQoKPj4KZW5kb2JqCjQzNSAwIG9iago8PCAvVHlwZSAvQWN0aW9uCi9TIC9Hb1RvCi9EIFs0MDAgMCBSIC9YWVogNzIuMCA3MDguMCBudWxsXQo+PgplbmRvYmoKNDM2IDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDEwNC4wIDYyNS4wMDUgMzcyLjM2IDYzNC45OTUgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgNDM1IDAgUgovSCAvSQoKPj4KZW5kb2JqCjQzNyAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyA1MjguMzU4IDYyNS4wMDUgNTQxLjA3OCA2MzQuOTk1IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDQzNSAwIFIKL0ggL0kKCj4+CmVuZG9iago0MzggMCBvYmoKPDwgL1R5cGUgL0FjdGlvbgovUyAvR29UbwovRCBbNDAwIDAgUiAvWFlaIDcyLjAgNjMxLjYgbnVsbF0KPj4KZW5kb2JqCjQzOSAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyAxMDQuMCA2MTMuMDA1IDM2Ny45MDcgNjIyLjk5NSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSA0MzggMCBSCi9IIC9JCgo+PgplbmRvYmoKNDQwIDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDUyOC4zOTIgNjEzLjAwNSA1NDEuMTEyIDYyMi45OTUgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgNDM4IDAgUgovSCAvSQoKPj4KZW5kb2JqCjQ0MSAwIG9iago8PCAvVHlwZSAvQWN0aW9uCi9TIC9Hb1RvCi9EIFs0MDAgMCBSIC9YWVogNzIuMCA1NTUuMiBudWxsXQo+PgplbmRvYmoKNDQyIDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDEwNC4wIDYwMS4wMDUgMzc5LjM4MiA2MTAuOTk1IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDQ0MSAwIFIKL0ggL0kKCj4+CmVuZG9iago0NDMgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgNTI4LjMwMiA2MDEuMDA1IDU0MS4wMjIgNjEwLjk5NSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSA0NDEgMCBSCi9IIC9JCgo+PgplbmRvYmoKNDQ0IDAgb2JqCjw8IC9UeXBlIC9BY3Rpb24KL1MgL0dvVG8KL0QgWzQwMCAwIFIgL1hZWiA3Mi4wIDQ3OC44IG51bGxdCj4+CmVuZG9iago0NDUgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgMTA0LjAgNTg5LjAwNSAyMDIuNDUzIDU5OC45OTUgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgNDQ0IDAgUgovSCAvSQoKPj4KZW5kb2JqCjQ0NiAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyA1MjkuNzA0IDU4OS4wMDUgNTQyLjQyNCA1OTguOTk1IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDQ0NCAwIFIKL0ggL0kKCj4+CmVuZG9iago0NDcgMCBvYmoKPDwgL1R5cGUgL0FjdGlvbgovUyAvR29UbwovRCBbNDAzIDAgUiAvWFlaIDcyLjAgNzIwLjAgbnVsbF0KPj4KZW5kb2JqCjQ0OCAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyA4MC4wIDU3Ny4wMDUgMTMwLjA4MSA1ODYuOTk1IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDQ0NyAwIFIKL0ggL0kKCj4+CmVuZG9iago0NDkgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgNTMwLjEwOCA1NzcuMDA1IDU0Mi44MjggNTg2Ljk5NSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSA0NDcgMCBSCi9IIC9JCgo+PgplbmRvYmoKNDUwIDAgb2JqCjw8IC9UeXBlIC9BY3Rpb24KL1MgL0dvVG8KL0QgWzQwNiAwIFIgL1hZWiA3Mi4wIDcyMC4wIG51bGxdCj4+CmVuZG9iago0NTEgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgODAuMCA1NjUuMDA1IDExOS4wMzYgNTc0Ljk5NSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSA0NTAgMCBSCi9IIC9JCgo+PgplbmRvYmoKNDUyIDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDUzMC4xOSA1NjUuMDA1IDU0Mi45MSA1NzQuOTk1IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDQ1MCAwIFIKL0ggL0kKCj4+CmVuZG9iago0NTMgMCBvYmoKPDwgL1R5cGUgL0FjdGlvbgovUyAvR29UbwovRCBbNDA2IDAgUiAvWFlaIDcyLjAgNjc4LjggbnVsbF0KPj4KZW5kb2JqCjQ1NCAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyAxMDQuMCA1NTMuMDA1IDE2Ny43ODMgNTYyLjk5NSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSA0NTMgMCBSCi9IIC9JCgo+PgplbmRvYmoKNDU1IDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDUyOS45OCA1NTMuMDA1IDU0Mi43IDU2Mi45OTUgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgNDUzIDAgUgovSCAvSQoKPj4KZW5kb2JqCjQ1NiAwIG9iago8PCAvVHlwZSAvQWN0aW9uCi9TIC9Hb1RvCi9EIFs0MDkgMCBSIC9YWVogNzIuMCA3MjAuMCBudWxsXQo+PgplbmRvYmoKNDU3IDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDgwLjAgNTQxLjAwNSAxNTQuNjE4IDU1MC45OTUgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgNDU2IDAgUgovSCAvSQoKPj4KZW5kb2JqCjQ1OCAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyA1MjkuOTI0IDU0MS4wMDUgNTQyLjY0NCA1NTAuOTk1IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDQ1NiAwIFIKL0ggL0kKCj4+CmVuZG9iago0NTkgMCBvYmoKPDwgL0xlbmd0aCA0NjAgMCBSIC9GaWx0ZXIgL0ZsYXRlRGVjb2RlID4+CnN0cmVhbQp4nN2dSY8kyXWE7/Ur8g8o6PsCEA2op2cE6TZQAzwQPFHbgU1hdNHfl5nH4l6VkQ17AgjNCMRwpqr8y8jYzM2fu7/3y5t/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L0VuY29kaW5nIC9JZGVudGl0eS1ICiAgL1RvVW5pY29kZSA0NzIgMCBSCiAgL0Rlc2NlbmRhbnRGb250cyBbNDcxIDAgUl0KPj4KCmVuZG9iago0NzEgMCBvYmoKPDwgL1R5cGUgL0ZvbnQKL0Jhc2VGb250IC9FQUFBQUIrRGVqYVZ1U2FucyAKL0NJRFRvR0lETWFwIC9JZGVudGl0eSAKL1N1YnR5cGUgL0NJREZvbnRUeXBlMgovQ0lEU3lzdGVtSW5mbyA8PCAvUmVnaXN0cnkgKEFkb2JlKSAvT3JkZXJpbmcgKFVDUykgL1N1cHBsZW1lbnQgMCA+PgovRm9udERlc2NyaXB0b3IgNDY3IDAgUgovRFcgMAovVyBbIDAgWzYwMCAzMTcgMzYwIDYwMyA0MTEgNjE1IDM1MiA2MTIgNTQ5IDMxNyA4NjIgNjM2IDU3NSAzOTIgNjMzIDU1NyAyNzcgNTIwIDY4NiA2MzQgNjM0IDYzNiA2MzMgNjExIDYzMyA2ODQgODE3IDc4NyA2MzQgNjM2IDYzMSAyNzcgNjM2IDk4OCA2MzYgNTc5IDYzNiA2OTQgNjM0IDYzNCA2MTAgNjg0IDc0OCA2OTggOTc0IDU5MSA1OTEgNjM0IDc4NyAyOTQgNzcwIDMzNiA4MzcgNTkxIDYzNiA2MzYgMjc3IDYzNiA2MzYgNzUxIDczMSA4MzcgMzE3IDYxMCA1MzAgNDU5IDU4OSA1MjQgMzkwIDM5MCAzMzYgNjg1IDUwMCA4MzcgODM3IDc3NCAyNzQgNjU1IDI5NCBdIF0KPj4KZW5kb2JqCjQ3MiAwIG9iago8PCAvTGVuZ3RoIDQ4NCAwIFIgL0ZpbHRlciAvRmxhdGVEZWNvZGUgPj4Kc3RyZWFtCnicXZTLbtswEEX3/gou00Ug8SUmQGCgcFDAiz5Qtx8gi5QjIJYEWV747yvxTBygAvy44nA4h5ecYrd/3ffdrIpf09Ac0qzaro9TugzXqUnqmE5dv9FGxa6ZReXv5lyPm2KZfLhd5nTe9+2gLFHxOkqkUsXv5c9lnm7q4WscjumLiqld3/+cYpq6/qQe/u4O97eH6zi+p3PqZ1Xmd6mP+bfYfa/HH/U5qSLnedzHJaibb4/L9M+IP7cxKZO1poZmiOky1k2a6v6UNi/l8mzVy7fl2a7Z/xsPMu3Y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YW0KZW5kb2JqCjQ3NSAwIG9iago8PCAvTGVuZ3RoIDQ4NiAwIFIgL0ZpbHRlciAvRmxhdGVEZWNvZGUgPj4Kc3RyZWFtCnicm8T4/0//zf8P+P///6EAAD2sCPsKZW5kc3RyZWFtCmVuZG9iago0NzYgMCBvYmoKPDwKICAvVHlwZSAvRm9udAogIC9TdWJ0eXBlIC9UeXBlMAogIC9CYXNlRm9udCAvRUFBQUFDK0RlamFWdVNhbnMtQm9sZAogIC9FbmNvZGluZyAvSWRlbnRpdHktSAogIC9Ub1VuaWNvZGUgNDc4IDAgUgogIC9EZXNjZW5kYW50Rm9udHMgWzQ3NyAwIFJdCj4+CgplbmRvYmoKNDc3IDAgb2JqCjw8IC9UeXBlIC9Gb250Ci9CYXNlRm9udCAvRUFBQUFDK0RlamFWdVNhbnMtQm9sZCAKL0NJRFRvR0lETWFwIC9JZGVudGl0eSAKL1N1YnR5cGUgL0NJREZvbnRUeXBlMgovQ0lEU3lzdGVtSW5mbyA8PCAvUmVnaXN0cnkgKEFkb2JlKSAvT3JkZXJpbmcgKFVDUykgL1N1cHBsZW1lbnQgMCA+PgovRm9udERlc2NyaXB0b3IgNDczIDAgUgovRFcgMAovVyBbIDAgWzYwMCAzNDggNDE1IDgzMCA2ODcgNTkyIDcxMSAxMDQxIDY3OCA3MTEgNDc4IDY3NCAzNDIgNzMyIDcxMSA4MzYgNzE1IDM0MiA2ODIgNjY1IDcxNSAzNzkgNzczIDQ5MyA1OTUgNjk1IDY5NSA2ODMgNzYyIDM5OSA2OTUgNjk1IDY5NSA2OTUgNzE1IDQzNSA3MzMgNjM3IDY0NSA3MTUgNjgzIDkyMyA4NTAgNzIwIDY5NSA2OTUgMTEwMyA2OTUgNzcwIDc3MyA4MzYgOTk1IDY1MSAzNDggNjUxIDcxNSA4NTAgMzcyIDgxMiA4MzcgMzc5IDgzNyA2OTUgMzQyIDM2NSBdIF0KPj4KZW5kb2JqCjQ3OCAwIG9iago8PCAvTGVuZ3RoIDQ4NyAwIFIgL0ZpbHRlciAvRmxhdGVEZWNvZGUgPj4Kc3RyZWFtCnicXZTbjpswEIbv8xS+3L1YgT0GNtIqUpWqUi56UNM+AMEmRdoAIuQib1/wN5tKRcrhx+Px/83YzvaHz4e+m032YxqaY5xN2/VhitfhNjXRnOK56zfWmdA1s6r03VzqcZMtk4/36xwvh74djBAVbqNGGpP9XP5c5+lunj6F4RSfTYjt+v77FOLU9Wfz9Ht/fLw93sbxPV5iP5s8vYt9SL/Z/ms9fqsv0WQpz8shLEHdfH9Zpv+L+HUfo3FJWzw0Q4jXsW7iVPfnuHnLl2dn3r4sz27N/t94sWXaqW3+1NMjvF2eXVJ2UXnucpRDBZQk5T3KJ1XqvAIlqDKpqkBVjGmWV5SObVERVTNPVzgxZlENaosKSRXqMzL2imrxibI5Y+S08JUNCr5Cx+ArTyjlq1DwOXxa+IoShU8PkcWndyh8So3Cp+Da4lOY5/Ap8Dl8CgwOnyU5nfpkdYdPT+UdPj18TvugWehDxeqOPnjNQh8qaB19KKi8g6/QFWAoNFIZyCIwFPgUGDxZBAZPBUX3EntCYKg0Cww1PkUZqIsog+ZUBvagwOA1UhmorsAguh49clRJ6JGDT7RH8Al8Jf3z8C3Q69HSMyQfJ+pxAi0mLe4q3Qm4s9gSLW3zccAMRSEvmdbTu95Cj6uhuU3TciukSyhdB+tF0PXxcZuNw7jOSp+/4Jky8QplbmRzdHJlYW0KZW5kb2JqCjQ3OSAwIG9iago4NzkwCmVuZG9iago0ODAgMCBvYmoKMjAKZW5kb2JqCjQ4MSAwIG9iagozNzYKZW5kb2JqCjQ4MiAwIG9iagoxNjA5OQplbmRvYmoKNDgzIDAgb2JqCjI3CmVuZG9iago0ODQgMCBvYmoKNTY3CmVuZG9iago0ODUgMCBvYmoKMTQ1NzgKZW5kb2JqCjQ4NiAwIG9iagoyMgplbmRvYmoKNDg3IDAgb2JqCjUxNgplbmRvYmoKMSAwIG9iago8PCAvVHlwZSAvUGFnZXMKL0NvdW50IDIzCi9LaWRzIFs4IDAgUiA1OSAwIFIgMjM0IDAgUiA0MTIgMCBSIDQzIDAgUiAxOCAwIFIgMjggMCBSIDMxIDAgUiAzNCAwIFIgNDAgMCBSIDUwIDAgUiA1MyAwIFIgNTYgMCBSIDIxNiAwIFIgMjE5IDAgUiAyMjIgMCBSIDIyNSAwIFIgMjI4IDAgUiAyMzEgMCBSIDQwMCAwIFIgNDAzIDAgUiA0MDYgMCBSIDQwOSAwIFIgXSA+PgplbmRvYmoKMiAwIG9iago8PAogIC9UeXBlIC9DYXRhbG9nCiAgL1BhZ2VzIDEgMCBSCiAgL0xhbmcgKGVuKQogIC9NZXRhZGF0YSA3IDAgUgogIC9QYWdlTGFiZWxzIDkgMCBSCj4+CgplbmRvYmoKMyAwIG9iago8PAogIC9Gb250IDw8CiAgL0YxOSA0NjQgMCBSCiAgL0YxNSA0NzAgMCBSCiAgL0YxNiA0NzYgMCBSCj4+CgogIC9Qcm9jU2V0IFsvUERGIC9JbWFnZUIgL0ltYWdlQyAvVGV4dF0KICAvWE9iamVjdCA8PAogIC9JbTEgMTAgMCBSCiAgL0ltMiAxMSAwIFIKICAvSW0zIDE5IDAgUgogIC9JbTQgMjAgMCBSCj4+CgogIC9Db2xvclNwYWNlIDw8IC9EZWZhdWx0UkdCIDYgMCBSID4+Cgo+PgoKZW5kb2JqCjkgMCBvYmoKPDwgL051bXMgWzAgPDwgL1AgKDEpID4+CiAxIDw8IC9QIChpaSkgPj4KIDIgPDwgL1AgKGlpaSkgPj4KIDMgPDwgL1AgKGl2KSA+PgogNCA8PCAvUCAodikgPj4KIDUgPDwgL1AgKHZpKSA+PgogNiA8PCAvUCAoMSkgPj4KIDcgPDwgL1AgKDIpID4+CiA4IDw8IC9QICgzKSA+PgogOSA8PCAvUCAoNCkgPj4KIDEwIDw8IC9QICg1KSA+PgogMTEgPDwgL1AgKDYpID4+CiAxMiA8PCAvUCAoNykgPj4KIDEzIDw8IC9QICg4KSA+PgogMTQgPDwgL1AgKDkpID4+CiAxNSA8PCAvUCAoMTApID4+CiAxNiA8PCAvUCAoMTEpID4+CiAxNyA8PCAvUCAoMTIpID4+CiAxOCA8PCAvUCAoMTMpID4+CiAxOSA8PCAvUCAoMTQpID4+CiAyMCA8PCAvUCAoMTUpID4+CiAyMSA8PCAvUCAoMTYpID4+CiAyMiA8PCAvUCAoMTcpID4+Cl0gPj4KCmVuZG9iagp4cmVmCjAgNDg4CjAwMDAwMDAwMDAgNjU1MzUgZiAKMDAwMDI5NTg1MSAwMDAwMCBuIAowMDAwMjk2MDc2IDAwMDAwIG4gCjAwMDAyOTYxODEgMDAwMDAgbiAKMDAwMDAwMDAxNSAwMDAwMCBuIAowMDAwMDAwMTQ1IDAwMDAwIG4gCjAwMDAwMDI4MjMgMDAwMDAgbiAKMDAwMDAwMjg1NiAwMDAwMCBuIAowMDAwMTA2MTc3IDAwMDAwIG4gCjAwMDAyOTY0MTYgMDAwMDAgbiAKMDAwMDAwMzgwNCAwMDAwMCBuIAowMDAwMDUyMzMxIDAwMDAwIG4gCjAwMDAxMDU1OTMgMDAwMDAgbiAKMDAwMDEwNTYxNCAwMDAwMCBuIAowMDAwMTA1NjM0IDAwMDAwIG4gCjAwMDAxMDU2NTYgMDAwMDAgbiAKMDAwMDEwNTY3OCAwMDAwMCBuIAowMDAwMTA2MzY5IDAwMDAwIG4gCjAwMDAxMjEwMTQgMDAwMDAgbiAKMDAwMDEwNjM4OSAwMDAwMCBuIAowMDAwMTEyNTYwIDAwMDAwIG4gCjAwMDAxMTk3NDAgMDAwMDAgbiAKMDAwMDExOTc2MSAwMDAwMCBuIAowMDAwMTE5NzgyIDAwMDAwIG4gCjAwMDAxMTk4NjcgMDAwMDAgbiAKMDAwMDEyMDk4NyAwMDAwMCBuIAowMDAwMTIwMDA1IDAwMDAwIG4gCjAwMDAxMjEyMjQgMDAwMDAgbiAKMDAwMDEyMjc3MyAwMDAwMCBuIAowMDAwMTIxMjQ0IDAwMDAwIG4gCjAwMDAxMjI5NjYgMDAwMDAgbiAKMDAwMDEyMzg1MCAwMDAwMCBuIAowMDAwMTIyOTg3IDAwMDAwIG4gCjAwMDAxMjQwNDMgMDAwMDAgbiAKMDAwMDEyNTU3MCAwMDAwMCBuIAowMDAwMTI0MDYzIDAwMDAwIG4gCjAwMDAxMjQxNTggMDAwMDAgbiAKMDAwMDEyNTU0MyAwMDAwMCBuIAowMDAwMTI0Mjk0IDAwMDAwIG4gCjAwMDAxMjU3ODAgMDAwMDAgbiAKMDAwMDEyNzc3OSAwMDAwMCBuIAowMDAwMTI1ODAxIDAwMDAwIG4gCjAwMDAxMjc5NzIgMDAwMDAgbiAKMDAwMDEyOTM0NCAwMDAwMCBuIAowMDAwMTI3OTkzIDAwMDAwIG4gCjAwMDAxMjgwNzEgMDAwMDAgbiAKMDAwMDEyOTMxMCAwMDAwMCBuIAowMDAwMTI4MjA4IDAwMDAwIG4gCjAwMDAxMjgzNDYgMDAwMDAgbiAKMDAwMDEyOTU1NCAwMDAwMCBuIAowMDAwMTMwODQ0IDAwMDAwIG4gCjAwMDAxMjk1NzQgMDAwMDAgbiAKMDAwMDEzMTAzNyAwMDAwMCBuIAowMDAwMTMyODA2IDAwMDAwIG4gCjAwMDAxMzEwNTggMDAwMDAgbiAKMDAwMDEzMjk5OSAwMDAwMCBuIAowMDAwMTM0NjU5IDAwMDAwIG4gCjAwMDAxMzMwMjAgMDAwMDAgbiAKMDAwMDEzNDg1MiAwMDAwMCBuIAowMDAwMTgyNTA3IDAwMDAwIG4gCjAwMDAxMzQ4NzMgMDAwMDAgbiAKMDAwMDEzNDk1MSAwMDAwMCBuIAowMDAwMTgxNjk3IDAwMDAwIG4gCjAwMDAxMzUwODcgMDAwMDAgbiAKMDAwMDEzNTIyNyAwMDAwMCBuIAowMDAwMTM1MzA1IDAwMDAwIG4gCjAwMDAxMzU0NDIgMDAwMDAgbiAKMDAwMDEzNTU4MiAwMDAwMCBuIAowMDAwMTM1NjYwIDAwMDAwIG4gCjAwMDAxMzU3OTggMDAwMDAgbiAKMDAwMDEzNTkzOCAwMDAwMCBuIAowMDAwMTM2MDE2IDAwMDAwIG4gCjAwMDAxMzYxNTQgMDAwMDAgbiAKMDAwMDEzNjI5NCAwMDAwMCBuIAowMDAwMTM2MzcyIDAwMDAwIG4gCjAwMDAxMzY1MTAgMDAwMDAgbiAKMDAwMDEzNjY1MCAwMDAwMCBuIAowMDAwMTM2NzI4IDAwMDAwIG4gCjAwMDAxMzY4NjYgMDAwMDAgbiAKMDAwMDEzNzAwNiAwMDAwMCBuIAowMDAwMTM3MDg0IDAwMDAwIG4gCjAwMDAxMzcyMjIgMDAwMDAgbiAKMDAwMDEzNzM2MiAwMDAwMCBuIAowMDAwMTM3NDQwIDAwMDAwIG4gCjAwMDAxMzc1NzggMDAwMDAgbiAKMDAwMDEzNzcxOCAwMDAwMCBuIAowMDAwMTM3Nzk2IDAwMDAwIG4gCjAwMDAxMzc5MzQgMDAwMDAgbiAKMDAwMDEzODA3NCAwMDAwMCBuIAowMDAwMTM4MTUyIDAwMDAwIG4gCjAwMDAxMzgyOTAgMDAwMDAgbiAKMDAwMDEzODQzMCAwMDAwMCBuIAowMDAwMTM4NTA4IDAwMDAwIG4gCjAwMDAxMzg2NDYgMDAwMDAgbiAKMDAwMDEzODc4NiAwMDAwMCBuIAowMDAwMTM4ODY0IDAwMDAwIG4gCjAwMDAxMzkwMDIgMDAwMDAgbiAKMDAwMDEzOTE0MiAwMDAwMCBuIAowMDAwMTM5MjIwIDAwMDAwIG4gCjAwMDAxMzkzNTggMDAwMDAgbiAKMDAwMDEzOTQ5OCAwMDAwMCBuIAowMDAwMTM5NTc3IDAwMDAwIG4gCjAwMDAxMzk3MTcgMDAwMDAgbiAKMDAwMDEzOTg1OSAwMDAwMCBuIAowMDAwMTM5OTM4IDAwMDAwIG4gCjAwMDAxNDAwNzggMDAwMDAgbiAKMDAwMDE0MDIyMCAwMDAwMCBuIAowMDAwMTQwMjk5IDAwMDAwIG4gCjAwMDAxNDA0MzkgMDAwMDAgbiAKMDAwMDE0MDU3OCAwMDAwMCBuIAowMDAwMTQwNjU3IDAwMDAwIG4gCjAwMDAxNDA3OTYgMDAwMDAgbiAKMDAwMDE0MDkzOCAwMDAwMCBuIAowMDAwMTQxMDE3IDAwMDAwIG4gCjAwMDAxNDExNTcgMDAwMDAgbiAKMDAwMDE0MTI5OSAwMDAwMCBuIAowMDAwMTQxMzc4IDAwMDAwIG4gCjAwMDAxNDE1MTggMDAwMDAgbiAKMDAwMDE0MTY2MCAwMDAwMCBuIAowMDAwMTQxNzM5IDAwMDAwIG4gCjAwMDAxNDE4NzkgMDAwMDAgbiAKMDAwMDE0MjAxOSAwMDAwMCBuIAowMDAwMTQyMDk4IDAwMDAwIG4gCjAwMDAxNDIyMzggMDAwMDAgbiAKMDAwMDE0MjM4MCAwMDAwMCBuIAowMDAwMTQyNDU5IDAwMDAwIG4gCjAwMDAxNDI1OTggMDAwMDAgbiAKMDAwMDE0Mjc0MCAwMDAwMCBuIAowMDAwMTQyODE5IDAwMDAwIG4gCjAwMDAxNDI5NTkgMDAwMDAgbiAKMDAwMDE0MzEwMSAwMDAwMCBuIAowMDAwMTQzMTgwIDAwMDAwIG4gCjAwMDAxNDMzMjAgMDAwMDAgbiAKMDAwMDE0MzQ2MiAwMDAwMCBuIAowMDAwMTQzNTQxIDAwMDAwIG4gCjAwMDAxNDM2ODAgMDAwMDAgbiAKMDAwMDE0MzgyMiAwMDAwMCBuIAowMDAwMTQzOTAxIDAwMDAwIG4gCjAwMDAxNDQwNDEgMDAwMDAgbiAKMDAwMDE0NDE4MyAwMDAwMCBuIAowMDAwMTQ0MjYyIDAwMDAwIG4gCjAwMDAxNDQ0MDIgMDAwMDAgbiAKMDAwMDE0NDU0MiAwMDAwMCBuIAowMDAwMTQ0NjIxIDAwMDAwIG4gCjAwMDAxNDQ3NTkgMDAwMDAgbiAKMDAwMDE0NDkwMSAwMDAwMCBuIAowMDAwMTQ0OTgyIDAwMDAwIG4gCjAwMDAxNDUxMjIgMDAwMDAgbiAKMDAwMDE0NTI2NCAwMDAwMCBuIAowMDAwMTQ1MzQ1IDAwMDAwIG4gCjAwMDAxNDU0ODUgMDAwMDAgbiAKMDAwMDE0NTYyNyAwMDAwMCBuIAowMDAwMTQ1NzA4IDAwMDAwIG4gCjAwMDAxNDU4NDggMDAwMDAgbiAKMDAwMDE0NTk5MCAwMDAwMCBuIAowMDAwMTQ2MDcxIDAwMDAwIG4gCjAwMDAxNDYyMTEgMDAwMDAgbiAKMDAwMDE0NjM1MyAwMDAwMCBuIAowMDAwMTQ2NDMzIDAwMDAwIG4gCjAwMDAxNDY1NzMgMDAwMDAgbiAKMDAwMDE0NjcxMyAwMDAwMCBuIAowMDAwMTQ2Nzk0IDAwMDAwIG4gCjAwMDAxNDY5MzMgMDAwMDAgbiAKMDAwMDE0NzA3NSAwMDAwMCBuIAowMDAwMTQ3MTU2IDAwMDAwIG4gCjAwMDAxNDcyOTYgMDAwMDAgbiAKMDAwMDE0NzQzOCAwMDAwMCBuIAowMDAwMTQ3NTE5IDAwMDAwIG4gCjAwMDAxNDc2NTkgMDAwMDAgbiAKMDAwMDE0NzgwMSAwMDAwMCBuIAowMDAwMTQ3ODgyIDAwMDAwIG4gCjAwMDAxNDgwMjIgMDAwMDAgbiAKMDAwMDE0ODE2NCAwMDAwMCBuIAowMDAwMTQ4MjQzIDAwMDAwIG4gCjAwMDAxNDgzODMgMDAwMDAgbiAKMDAwMDE0ODUyNSAwMDAwMCBuIAowMDAwMTQ4NjA2IDAwMDAwIG4gCjAwMDAxNDg3NDYgMDAwMDAgbiAKMDAwMDE0ODg4OCAwMDAwMCBuIAowMDAwMTQ4OTY4IDAwMDAwIG4gCjAwMDAxNDkxMDggMDAwMDAgbiAKMDAwMDE0OTI1MCAwMDAwMCBuIAowMDAwMTQ5MzMxIDAwMDAwIG4gCjAwMDAxNDk0NzEgMDAwMDAgbiAKMDAwMDE0OTYxMSAwMDAwMCBuIAowMDAwMTQ5NjkyIDAwMDAwIG4gCjAwMDAxNDk4MzEgMDAwMDAgbiAKMDAwMDE0OTk3MyAwMDAwMCBuIAowMDAwMTUwMDU0IDAwMDAwIG4gCjAwMDAxNTAxOTQgMDAwMDAgbiAKMDAwMDE1MDMzNiAwMDAwMCBuIAowMDAwMTUwNDE3IDAwMDAwIG4gCjAwMDAxNTA1NTYgMDAwMDAgbiAKMDAwMDE1MDY5OCAwMDAwMCBuIAowMDAwMTUwNzc4IDAwMDAwIG4gCjAwMDAxNTA5MTggMDAwMDAgbiAKMDAwMDE1MTA2MCAwMDAwMCBuIAowMDAwMTUxMTQxIDAwMDAwIG4gCjAwMDAxNTEyODEgMDAwMDAgbiAKMDAwMDE1MTQyMyAwMDAwMCBuIAowMDAwMTUxNTA0IDAwMDAwIG4gCjAwMDAxNTE2NDQgMDAwMDAgbiAKMDAwMDE1MTc4NiAwMDAwMCBuIAowMDAwMTUxODY1IDAwMDAwIG4gCjAwMDAxNTIwMDUgMDAwMDAgbiAKMDAwMDE1MjE0NyAwMDAwMCBuIAowMDAwMTUyMjI4IDAwMDAwIG4gCjAwMDAxNTIzNjggMDAwMDAgbiAKMDAwMDE1MjUxMCAwMDAwMCBuIAowMDAwMTUyNTkxIDAwMDAwIG4gCjAwMDAxNTI3MjkgMDAwMDAgbiAKMDAwMDE1Mjg3MCAwMDAwMCBuIAowMDAwMTUyOTUxIDAwMDAwIG4gCjAwMDAxNTMwODkgMDAwMDAgbiAKMDAwMDE1MzIyOSAwMDAwMCBuIAowMDAwMTgyNzE4IDAwMDAwIG4gCjAwMDAxODQ1NTUgMDAwMDAgbiAKMDAwMDE4Mjc0MSAwMDAwMCBuIAowMDAwMTg0NzUwIDAwMDAwIG4gCjAwMDAxODY1MDEgMDAwMDAgbiAKMDAwMDE4NDc3MiAwMDAwMCBuIAowMDAwMTg2Njk2IDAwMDAwIG4gCjAwMDAxODg0MjggMDAwMDAgbiAKMDAwMDE4NjcxOCAwMDAwMCBuIAowMDAwMTg4NjIzIDAwMDAwIG4gCjAwMDAxOTAyNjcgMDAwMDAgbiAKMDAwMDE4ODY0NSAwMDAwMCBuIAowMDAwMTkwNDYyIDAwMDAwIG4gCjAwMDAxOTIyMTcgMDAwMDAgbiAKMDAwMDE5MDQ4NCAwMDAwMCBuIAowMDAwMTkyNDEyIDAwMDAwIG4gCjAwMDAxOTQwMzMgMDAwMDAgbiAKMDAwMDE5MjQzNCAwMDAwMCBuIAowMDAwMTk0MjI4IDAwMDAwIG4gCjAwMDAyMzE3OTAgMDAwMDAgbiAKMDAwMDE5NDI1MCAwMDAwMCBuIAowMDAwMTk0MzMxIDAwMDAwIG4gCjAwMDAyMzA5MDUgMDAwMDAgbiAKMDAwMDE5NDQ3MSAwMDAwMCBuIAowMDAwMTk0NjEzIDAwMDAwIG4gCjAwMDAxOTQ2OTMgMDAwMDAgbiAKMDAwMDE5NDgzMyAwMDAwMCBuIAowMDAwMTk0OTc1IDAwMDAwIG4gCjAwMDAxOTUwNTYgMDAwMDAgbiAKMDAwMDE5NTE5NSAwMDAwMCBuIAowMDAwMTk1MzM3IDAwMDAwIG4gCjAwMDAxOTU0MTggMDAwMDAgbiAKMDAwMDE5NTU1OCAwMDAwMCBuIAowMDAwMTk1NzAwIDAwMDAwIG4gCjAwMDAxOTU3ODEgMDAwMDAgbiAKMDAwMDE5NTkyMSAwMDAwMCBuIAowMDAwMTk2MDYzIDAwMDAwIG4gCjAwMDAxOTYxNDMgMDAwMDAgbiAKMDAwMDE5NjI4MyAwMDAwMCBuIAowMDAwMTk2NDI1IDAwMDAwIG4gCjAwMDAxOTY1MDcgMDAwMDAgbiAKMDAwMDE5NjY0NyAwMDAwMCBuIAowMDAwMTk2Nzg5IDAwMDAwIG4gCjAwMDAxOTY4NzEgMDAwMDAgbiAKMDAwMDE5NzAxMSAwMDAwMCBuIAowMDAwMTk3MTUzIDAwMDAwIG4gCjAwMDAxOTcyMzUgMDAwMDAgbiAKMDAwMDE5NzM3NSAwMDAwMCBuIAowMDAwMTk3NTE3IDAwMDAwIG4gCjAwMDAxOTc1OTkgMDAwMDAgbiAKMDAwMDE5NzczOSAwMDAwMCBuIAowMDAwMTk3ODgxIDAwMDAwIG4gCjAwMDAxOTc5NjMgMDAwMDAgbiAKMDAwMDE5ODEwMyAwMDAwMCBuIAowMDAwMTk4MjQ1IDAwMDAwIG4gCjAwMDAxOTgzMjcgMDAwMDAgbiAKMDAwMDE5ODQ2NyAwMDAwMCBuIAowMDAwMTk4NjA5IDAwMDAwIG4gCjAwMDAxOTg2OTEgMDAwMDAgbiAKMDAwMDE5ODgzMSAwMDAwMCBuIAowMDAwMTk4OTczIDAwMDAwIG4gCjAwMDAxOTkwNTUgMDAwMDAgbiAKMDAwMDE5OTE5NSAwMDAwMCBuIAowMDAwMTk5MzM3IDAwMDAwIG4gCjAwMDAxOTk0MTcgMDAwMDAgbiAKMDAwMDE5OTU1NyAwMDAwMCBuIAowMDAwMTk5Njk5IDAwMDAwIG4gCjAwMDAxOTk3ODEgMDAwMDAgbiAKMDAwMDE5OTkyMCAwMDAwMCBuIAowMDAwMjAwMDYyIDAwMDAwIG4gCjAwMDAyMDAxNDQgMDAwMDAgbiAKMDAwMDIwMDI4NCAwMDAwMCBuIAowMDAwMjAwNDI2IDAwMDAwIG4gCjAwMDAyMDA1MDggMDAwMDAgbiAKMDAwMDIwMDY0NyAwMDAwMCBuIAowMDAwMjAwNzg5IDAwMDAwIG4gCjAwMDAyMDA4NzEgMDAwMDAgbiAKMDAwMDIwMTAxMSAwMDAwMCBuIAowMDAwMjAxMTUzIDAwMDAwIG4gCjAwMDAyMDEyMzQgMDAwMDAgbiAKMDAwMDIwMTM3NCAwMDAwMCBuIAowMDAwMjAxNTE2IDAwMDAwIG4gCjAwMDAyMDE1OTggMDAwMDAgbiAKMDAwMDIwMTczOCAwMDAwMCBuIAowMDAwMjAxODgwIDAwMDAwIG4gCjAwMDAyMDE5NjIgMDAwMDAgbiAKMDAwMDIwMjEwMSAwMDAwMCBuIAowMDAwMjAyMjQzIDAwMDAwIG4gCjAwMDAyMDIzMjUgMDAwMDAgbiAKMDAwMDIwMjQ2NSAwMDAwMCBuIAowMDAwMjAyNjA0IDAwMDAwIG4gCjAwMDAyMDI2ODQgMDAwMDAgbiAKMDAwMDIwMjgyNCAwMDAwMCBuIAowMDAwMjAyOTY2IDAwMDAwIG4gCjAwMDAyMDMwNDggMDAwMDAgbiAKMDAwMDIwMzE4OCAwMDAwMCBuIAowMDAwMjAzMzI4IDAwMDAwIG4gCjAwMDAyMDM0MTAgMDAwMDAgbiAKMDAwMDIwMzU1MCAwMDAwMCBuIAowMDAwMjAzNjkyIDAwMDAwIG4gCjAwMDAyMDM3NzQgMDAwMDAgbiAKMDAwMDIwMzkxNCAwMDAwMCBuIAowMDAwMjA0MDU2IDAwMDAwIG4gCjAwMDAyMDQxMzggMDAwMDAgbiAKMDAwMDIwNDI3OCAwMDAwMCBuIAowMDAwMjA0NDIwIDAwMDAwIG4gCjAwMDAyMDQ1MDIgMDAwMDAgbiAKMDAwMDIwNDY0MiAwMDAwMCBuIAowMDAwMjA0Nzg0IDAwMDAwIG4gCjAwMDAyMDQ4NjYgMDAwMDAgbiAKMDAwMDIwNTAwNiAwMDAwMCBuIAowMDAwMjA1MTQ4IDAwMDAwIG4gCjAwMDAyMDUyMzAgMDAwMDAgbiAKMDAwMDIwNTM3MCAwMDAwMCBuIAowMDAwMjA1NTEyIDAwMDAwIG4gCjAwMDAyMDU1OTQgMDAwMDAgbiAKMDAwMDIwNTczNCAwMDAwMCBuIAowMDAwMjA1ODc2IDAwMDAwIG4gCjAwMDAyMDU5NTYgMDAwMDAgbiAKMDAwMDIwNjA5NSAwMDAwMCBuIAowMDAwMjA2MjM3IDAwMDAwIG4gCjAwMDAyMDYzMTggMDAwMDAgbiAKMDAwMDIwNjQ1OCAwMDAwMCBuIAowMDAwMjA2NjAwIDAwMDAwIG4gCjAwMDAyMDY2ODIgMDAwMDAgbiAKMDAwMDIwNjgyMSAwMDAwMCBuIAowMDAwMjA2OTYzIDAwMDAwIG4gCjAwMDAyMDcwNDUgMDAwMDAgbiAKMDAwMDIwNzE4NSAwMDAwMCBuIAowMDAwMjA3MzI3IDAwMDAwIG4gCjAwMDAyMDc0MDkgMDAwMDAgbiAKMDAwMDIwNzU0OSAwMDAwMCBuIAowMDAwMjA3NjkxIDAwMDAwIG4gCjAwMDAyMDc3NzMgMDAwMDAgbiAKMDAwMDIwNzkxMyAwMDAwMCBuIAowMDAwMjA4MDU1IDAwMDAwIG4gCjAwMDAyMDgxMzcgMDAwMDAgbiAKMDAwMDIwODI3NyAwMDAwMCBuIAowMDAwMjA4NDE5IDAwMDAwIG4gCjAwMDAyMDg1MDEgMDAwMDAgbiAKMDAwMDIwODY0MSAwMDAwMCBuIAowMDAwMjA4NzgzIDAwMDAwIG4gCjAwMDAyMDg4NjUgMDAwMDAgbiAKMDAwMDIwOTAwNSAwMDAwMCBuIAowMDAwMjA5MTQ3IDAwMDAwIG4gCjAwMDAyMDkyMjkgMDAwMDAgbiAKMDAwMDIwOTM2OSAwMDAwMCBuIAowMDAwMjA5NTExIDAwMDAwIG4gCjAwMDAyMDk1OTEgMDAwMDAgbiAKMDAwMDIwOTczMSAwMDAwMCBuIAowMDAwMjA5ODczIDAwMDAwIG4gCjAwMDAyMDk5NTUgMDAwMDAgbiAKMDAwMDIxMDA5NSAwMDAwMCBuIAowMDAwMjEwMjM1IDAwMDAwIG4gCjAwMDAyMTAzMTcgMDAwMDAgbiAKMDAwMDIxMDQ1NyAwMDAwMCBuIAowMDAwMjEwNTk3IDAwMDAwIG4gCjAwMDAyMTA2NzkgMDAwMDAgbiAKMDAwMDIxMDgxOSAwMDAwMCBuIAowMDAwMjEwOTU5IDAwMDAwIG4gCjAwMDAyMTEwNDEgMDAwMDAgbiAKMDAwMDIxMTE4MSAwMDAwMCBuIAowMDAwMjExMzIzIDAwMDAwIG4gCjAwMDAyMTE0MDQgMDAwMDAgbiAKMDAwMDIxMTU0NCAwMDAwMCBuIAowMDAwMjExNjg2IDAwMDAwIG4gCjAwMDAyMTE3NjggMDAwMDAgbiAKMDAwMDIxMTkwOCAwMDAwMCBuIAowMDAwMjEyMDQ3IDAwMDAwIG4gCjAwMDAyMTIxMjkgMDAwMDAgbiAKMDAwMDIxMjI2OSAwMDAwMCBuIAowMDAwMjEyNDExIDAwMDAwIG4gCjAwMDAyMTI0OTMgMDAwMDAgbiAKMDAwMDIxMjYzMyAwMDAwMCBuIAowMDAwMjEyNzcyIDAwMDAwIG4gCjAwMDAyMTI4NTIgMDAwMDAgbiAKMDAwMDIxMjk5MSAwMDAwMCBuIAowMDAwMjEzMTMyIDAwMDAwIG4gCjAwMDAyMTMyMTQgMDAwMDAgbiAKMDAwMDIxMzM1MiAwMDAwMCBuIAowMDAwMjEzNDkyIDAwMDAwIG4gCjAwMDAyMTM1NzMgMDAwMDAgbiAKMDAwMDIxMzcxMCAwMDAwMCBuIAowMDAwMjEzODUwIDAwMDAwIG4gCjAwMDAyMzIwMDMgMDAwMDAgbiAKMDAwMDIzMzI4OSAwMDAwMCBuIAowMDAwMjMyMDI2IDAwMDAwIG4gCjAwMDAyMzM0ODQgMDAwMDAgbiAKMDAwMDIzNDUxMSAwMDAwMCBuIAowMDAwMjMzNTA2IDAwMDAwIG4gCjAwMDAyMzQ3MDYgMDAwMDAgbiAKMDAwMDIzNjIwNiAwMDAwMCBuIAowMDAwMjM0NzI3IDAwMDAwIG4gCjAwMDAyMzY0MDEgMDAwMDAgbiAKMDAwMDIzNzIyMyAwMDAwMCBuIAowMDAwMjM2NDIzIDAwMDAwIG4gCjAwMDAyMzc0MTggMDAwMDAgbiAKMDAwMDI1MDk5NSAwMDAwMCBuIAowMDAwMjM3NDM5IDAwMDAwIG4gCjAwMDAyMzc1MjEgMDAwMDAgbiAKMDAwMDI1MDczNCAwMDAwMCBuIAowMDAwMjM3NjYxIDAwMDAwIG4gCjAwMDAyMzc4MDMgMDAwMDAgbiAKMDAwMDIzNzg4NSAwMDAwMCBuIAowMDAwMjM4MDI1IDAwMDAwIG4gCjAwMDAyMzgxNjcgMDAwMDAgbiAKMDAwMDIzODI0OSAwMDAwMCBuIAowMDAwMjM4Mzg5IDAwMDAwIG4gCjAwMDAyMzg1MzEgMDAwMDAgbiAKMDAwMDIzODYxMyAwMDAwMCBuIAowMDAwMjM4NzUyIDAwMDAwIG4gCjAwMDAyMzg4OTQgMDAwMDAgbiAKMDAwMDIzODk3NSAwMDAwMCBuIAowMDAwMjM5MTE1IDAwMDAwIG4gCjAwMDAyMzkyNTUgMDAwMDAgbiAKMDAwMDIzOTMzNyAwMDAwMCBuIAowMDAwMjM5NDc3IDAwMDAwIG4gCjAwMDAyMzk2MTkgMDAwMDAgbiAKMDAwMDIzOTcwMSAwMDAwMCBuIAowMDAwMjM5ODQxIDAwMDAwIG4gCjAwMDAyMzk5ODMgMDAwMDAgbiAKMDAwMDI0MDA2MyAwMDAwMCBuIAowMDAwMjQwMjAyIDAwMDAwIG4gCjAwMDAyNDAzNDQgMDAwMDAgbiAKMDAwMDI0MDQyNCAwMDAwMCBuIAowMDAwMjQwNTY0IDAwMDAwIG4gCjAwMDAyNDA3MDYgMDAwMDAgbiAKMDAwMDI0MDc4NiAwMDAwMCBuIAowMDAwMjQwOTI2IDAwMDAwIG4gCjAwMDAyNDEwNjggMDAwMDAgbiAKMDAwMDI0MTE0OCAwMDAwMCBuIAowMDAwMjQxMjg4IDAwMDAwIG4gCjAwMDAyNDE0MzAgMDAwMDAgbiAKMDAwMDI0MTUxMCAwMDAwMCBuIAowMDAwMjQxNjQ5IDAwMDAwIG4gCjAwMDAyNDE3OTEgMDAwMDAgbiAKMDAwMDI0MTg3MSAwMDAwMCBuIAowMDAwMjQyMDEwIDAwMDAwIG4gCjAwMDAyNDIxNTAgMDAwMDAgbiAKMDAwMDI0MjIzMCAwMDAwMCBuIAowMDAwMjQyMzcwIDAwMDAwIG4gCjAwMDAyNDI1MDkgMDAwMDAgbiAKMDAwMDI0MjU4OSAwMDAwMCBuIAowMDAwMjQyNzI4IDAwMDAwIG4gCjAwMDAyNDI4NzAgMDAwMDAgbiAKMDAwMDI1MTIwOCAwMDAwMCBuIAowMDAwMjUxMjMwIDAwMDAwIG4gCjAwMDAyNTE0OTMgMDAwMDAgbiAKMDAwMDI2MDM4MiAwMDAwMCBuIAowMDAwMjYwNDgwIDAwMDAwIG4gCjAwMDAyNjA2NDUgMDAwMDAgbiAKMDAwMDI2MTAwNCAwMDAwMCBuIAowMDAwMjYxNDU4IDAwMDAwIG4gCjAwMDAyNjE3MTkgMDAwMDAgbiAKMDAwMDI3NzkxNyAwMDAwMCBuIAowMDAwMjc4MDIyIDAwMDAwIG4gCjAwMDAyNzgxODMgMDAwMDAgbiAKMDAwMDI3ODcyMiAwMDAwMCBuIAowMDAwMjc5MzY3IDAwMDAwIG4gCjAwMDAyNzk2MzMgMDAwMDAgbiAKMDAwMDI5NDMxMCAwMDAwMCBuIAowMDAwMjk0NDEwIDAwMDAwIG4gCjAwMDAyOTQ1NzYgMDAwMDAgbiAKMDAwMDI5NTA2NiAwMDAwMCBuIAowMDAwMjk1NjYwIDAwMDAwIG4gCjAwMDAyOTU2ODIgMDAwMDAgbiAKMDAwMDI5NTcwMiAwMDAwMCBuIAowMDAwMjk1NzIzIDAwMDAwIG4gCjAwMDAyOTU3NDYgMDAwMDAgbiAKMDAwMDI5NTc2NiAwMDAwMCBuIAowMDAwMjk1Nzg3IDAwMDAwIG4gCjAwMDAyOTU4MTAgMDAwMDAgbiAKMDAwMDI5NTgzMCAwMDAwMCBuIAp0cmFpbGVyCjw8CiAgL1Jvb3QgMiAwIFIKICAvSW5mbyA0IDAgUgogIC9JRCBbPEE4QkQxODJGNTJCREVCMEVERDc2OUI1NUVGRTdGQUYyPiA8QThCRDE4MkY1MkJERUIwRURENzY5QjU1RUZFN0ZBRjI+XQogIC9TaXplIDQ4OAo+PgpzdGFydHhyZWYKMjk2ODQwCiUlRU9GCg==