<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>123134</bug_id>
          
          <creation_ts>2013-10-21 20:17:22 -0700</creation_ts>
          <short_desc>New flakiness dashboard should hyperlink test names, WebKit revisions, and bubbles</short_desc>
          <delta_ts>2013-10-21 21:41:16 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit Website</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ryosuke Niwa">rniwa</reporter>
          <assigned_to name="Ryosuke Niwa">rniwa</assigned_to>
          <cc>ap</cc>
    
    <cc>commit-queue</cc>
    
    <cc>joepeck</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>timothy</cc>
    
    <cc>zan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>942141</commentid>
    <comment_count>0</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-10-21 20:17:22 -0700</bug_when>
    <thetext>Linkify everything!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>942143</commentid>
    <comment_count>1</comment_count>
      <attachid>214810</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-10-21 20:47:25 -0700</bug_when>
    <thetext>Created attachment 214810
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>942147</commentid>
    <comment_count>2</comment_count>
      <attachid>214810</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-10-21 21:41:14 -0700</bug_when>
    <thetext>Comment on attachment 214810
Patch

Clearing flags on attachment: 214810

Committed r157775: &lt;http://trac.webkit.org/changeset/157775&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>942148</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-10-21 21:41:16 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>214810</attachid>
            <date>2013-10-21 20:47:25 -0700</date>
            <delta_ts>2013-10-21 21:41:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>fix123134</filename>
            <type>text/plain</type>
            <size>26809</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYnNpdGVzL3Rlc3QtcmVzdWx0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
c2l0ZXMvdGVzdC1yZXN1bHRzL0NoYW5nZUxvZwkocmV2aXNpb24gMTU3Nzc0KQorKysgV2Vic2l0
ZXMvdGVzdC1yZXN1bHRzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDQ1IEBA
CiAyMDEzLTEwLTIxICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgogCisgICAgICAg
IE5ldyBmbGFraW5lc3MgZGFzaGJvYXJkIHNob3VsZCBoeXBlcmxpbmsgdGVzdCBuYW1lcywgV2Vi
S2l0IHJldmlzaW9ucywgYW5kIGJ1YmJsZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTEyMzEzNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIENvcGllZCBhZG1pbi5jc3MsIGFkbWluLWhlYWRlci5waHAsIGFk
bWluLWZvb3Rlci5waHAsIGJ1aWxkZXJzLnBocCwgcmVwb3NpdG9yaWVzLnBocCBmcm9tIFdlYktp
dCBQZXJmIE1vbml0b3IuCisgICAgICAgIChVbmZvcnR1bmF0ZWx5IFdlYktpdCBQZXJmIE1vbml0
b3IgaGFzbid0IGJlZW4gY29tbWl0dGVkIGludG8gV2ViS2l0IHJlcG9zaXRvcnkganVzdCB5ZXQu
KQorCisgICAgICAgIFVwZGF0ZWQgdmFyaW91cyBwYXJ0cyBvZiBpbmRleC5odG1sIHRvIGxpbmtp
ZnkgdGVzdCBuYW1lcywgYnVpbGQgbnVtYmVycywgYW5kIGJ1YmJsZXMgKHRvIHJlc3VsdHMgcGFn
ZSkuCisKKyAgICAgICAgKiBhZG1pbi9hZG1pbi5jc3M6IEFkZGVkLgorICAgICAgICAqIGFkbWlu
L2J1aWxkZXJzLnBocDogQWRkZWQuCisgICAgICAgICogYWRtaW4vaW5kZXgucGhwOiBSZW1vdmVk
IHRoZSBkdXBsaWNhdGVkIGNvZGUgbm93IHRoYXQgaXQgdXNlcyBhZG1pbi1oZWFkZXIucGhwLgor
ICAgICAgICAqIGFkbWluL3JlcG9zaXRvcmllcy5waHA6IEFkZGVkLgorICAgICAgICAqIGFwaS9t
YW5pZmVzdC5waHA6IFVzZSBjYW1lbENhc2UgZm9yIGJsYW1lX3VybCBhbmQgYnVpbGRfdXJsIHRv
IGJlIGNvbnNpc3RlbnQgd2l0aCBvdGhlciBKU09OIHByb3BlcnRpZXMuCisgICAgICAgIEFsc28g
ZXhwb3J0ZWQgdGVzdENhdGVnb3JpZXMgZnJvbSBjb25maWcgc28gdGhhdCB3ZSBjYW4gbGlua2lm
eSB0ZXN0IG5hbWVzIGluIHRoZSBkYXNoYm9hcmQuCisgICAgICAgICogaW5jbHVkZS9hZG1pbi1m
b290ZXIucGhwOiBBZGRlZC4KKyAgICAgICAgKiBpbmNsdWRlL2FkbWluLWhlYWRlci5waHA6IEFk
ZGVkLgorICAgICAgICAqIGluY2x1ZGUvY29uZmlnLmpzb246IEFkZGVkIHRlc3QgY2F0ZWdvcmll
cy4gVGhpcyBhdm9pZHMgaGFyZC1jb2RpbmcgdGhlIFVSTCB0byB0cmFjIGluIHBocC9qcy4KKyAg
ICAgICAgKiBpbmNsdWRlL2luaXQtZGF0YWJhc2Uuc3FsOiBBZGRlZCBuYW1lIGFuZCBidWlsZF91
cmwgdG8gYnVpbGRlcnMgdGFibGUgYW5kIGNhdGVnb3J5IHRvIHRlc3RzLgorICAgICAgICAqIGlu
Y2x1ZGUvdGVzdC1yZXN1bHRzLnBocDogQXNzdW1lIHRoZSB0ZXN0IGNhdGVnb3J5IHRvIGJlIExh
eW91dFRlc3QgZm9yIG5vdy4KKworICAgICAgICAqIGluZGV4Lmh0bWw6CisgICAgICAgIChUZXN0
UmVzdWx0c1ZpZXcpOiBJbml0aWFsaXplIF9idWlsZGVycywgX3NsYXZlcywgX3JlcG9zaXRvcmll
cywgX3Rlc3RDYXRlZ29yaWVzIGFzIGRpY3Rpb25hcmllcyBhcyBpbnRlbmRlZC4KKyAgICAgICAg
KFRlc3RSZXN1bHRzVmlldy5zZXRUZXN0Q2F0ZWdvcmllcyk6IEFkZGVkLgorICAgICAgICAoVGVz
dFJlc3VsdHNWaWV3Ll9jcmVhdGVSZXN1bHRDZWxsKTogRHluYW1pY2FsbHkgcmVzb2x2ZSBVUkxz
IG9mIHJlc3VsdHMgcGFnZSBhbmQgYW5kIGJ1aWxkIHBhZ2UuCisgICAgICAgIChUZXN0UmVzdWx0
c1ZpZXcuX3BvcHVsYXRlVGVzdFBhbmUpOiBMaW5raWZ5IHRoZSB0ZXN0IG5hbWUuIFVuZm9ydHVu
YXRlbHkgd2UgZG9uJ3QgaGF2ZSBhIHRlc3Qgb2JqZWN0IGFueXdoZXJlLgorICAgICAgICBXZSBu
ZWVkIHRvIGZpZ3VyZSBvdXQgYSB3YXkgdG8gZmluZCB0aGUgdGVzdCBvYmplY3QgaGVyZSBldmVu
dHVhbGx5LiBGb3Igbm93LCBoYXJkLWNvZGluZyAiTGF5b3V0VGVzdCIgd29ya3MuCisgICAgICAg
IChUZXN0UmVzdWx0c1ZpZXcuX2xpbmtpZmllZFRlc3ROYW1lKTogQWRkZWQuCisgICAgICAgIChU
ZXN0UmVzdWx0c1ZpZXcuX2NyZWF0ZUJ1aWxkc0FuZENvbXB1dGVTbG93bmVzc09mUmVzdWx0cyk6
IFRha2VzIGJ1aWxkZXJJZCB0byBzZXQgImJ1aWxkZXIiIHByb3BlcnR5IG9uIGVhY2gKKyAgICAg
ICAgcmVzdWx0IG9iamVjdCBhcyBpdCdzIHVzZWQgYnkgQnVpbGQgY2xhc3MuCisgICAgICAgIChU
ZXN0UmVzdWx0c1ZpZXcuX3BvcHVsYXRlQnVpbGRlclBhbmUpOgorICAgICAgICAoZmV0Y2hNYW5p
Z2VzdCk6CisKKyAgICAgICAgKiBqcy9idWlsZC5qczoKKyAgICAgICAgKEJ1aWxkLmJ1aWxkVXJs
KTogU3VwcG9ydCAkYnVpbGRlck5hbWUgc28gdGhhdCB3ZSBkb24ndCBoYXZlIHRvIGtlZXAgcmVw
ZWF0aW5nIGJ1aWxkZXIgbmFtZXMgaW4gdGhlIGRhdGFiYXNlLgorICAgICAgICAoQnVpbGQucmV2
aXNpb24pOiBEb24ndCBhY2Nlc3MgWzBdIGlmIHJldmlzaW9uc1tyZXBvc2l0b3J5SWRdIHdhcyB1
bmRlZmluZWQuCisKKzIwMTMtMTAtMjEgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+
CisKICAgICAgICAgTmV3IGZsYWtpbmVzcyBkYXNoYm9hcmQgc2hvdWxkIGFsaWduIHJlc3VsdHMg
YnkgcmV2aXNpb24gbnVtYmVycwogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTIzMTI5CiAKSW5kZXg6IFdlYnNpdGVzL3Rlc3QtcmVzdWx0cy9hZG1pbi9h
ZG1pbi5jc3MKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2Vic2l0ZXMvdGVzdC1yZXN1bHRzL2FkbWluL2FkbWlu
LmNzcwkocmV2aXNpb24gMCkKKysrIFdlYnNpdGVzL3Rlc3QtcmVzdWx0cy9hZG1pbi9hZG1pbi5j
c3MJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw1NCBAQAordGFibGUgeworICAgIGZvbnQtc2l6
ZTogc21hbGw7Cit9CisKK3RhYmxlLCB0ZCB7CisgICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBz
ZTsKKyAgICBib3JkZXI6IHNvbGlkIDFweCAjY2NjOworfQorCit0ZCB7CisgICAgcGFkZGluZzog
NXB4OworfQorCit0ZCBwcmUgeworICAgIG1heC1oZWlnaHQ6IDMwZW07CisgICAgb3ZlcmZsb3c6
IHNjcm9sbDsKKyAgICBtYXJnaW46IDA7CisgICAgcGFkZGluZzogMDsKK30KKwordGJvZHkub2Rk
IHsKKyAgICBiYWNrZ3JvdW5kOiAjZjZmNmY2OworfQorCisuYWN0aW9uLWZpZWxkLCAubm90aWNl
IHsKKyAgICBtaW4td2lkdGg6IDUwZXg7CisgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOworICAg
IG1hcmdpbjogMWVtIDBweDsKKyAgICBtYXJnaW4tcmlnaHQ6IDFlbTsKKyAgICBib3JkZXI6IHNv
bGlkIDFweCAjY2NjOworICAgIGJvcmRlci1yYWRpdXM6IDVweDsKKyAgICBwYWRkaW5nOiA1cHg7
Cit9CisKKy5hY3Rpb24tZmllbGQgaDIgeworICAgIGZvbnQtc2l6ZTogMWVtOworICAgIGZvbnQt
d2VpZ2h0OiBub3JtYWw7CisgICAgcGFkZGluZzogMDsKKyAgICBtYXJnaW46IDAgMCAxZW0gMDsK
K30KKworZm9ybSB7CisgICAgZGlzcGxheTogaW5saW5lOworfQorCitsYWJlbCB7CisgICAgZGlz
cGxheTogaW5saW5lLWJsb2NrOworfQorCitwcmUgeworICAgIHdoaXRlLXNwYWNlOiBwcmUtd3Jh
cDsKKyAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7CisgICAgd29yZC1icmVhazogYnJlYWstYWxs
OworfQpJbmRleDogV2Vic2l0ZXMvdGVzdC1yZXN1bHRzL2FkbWluL2J1aWxkZXJzLnBocAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJzaXRlcy90ZXN0LXJlc3VsdHMvYWRtaW4vYnVpbGRlcnMucGhwCShyZXZp
c2lvbiAwKQorKysgV2Vic2l0ZXMvdGVzdC1yZXN1bHRzL2FkbWluL2J1aWxkZXJzLnBocAkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxLDMyIEBACis8P3BocAorCityZXF1aXJlKCcuLi9pbmNsdWRl
L2FkbWluLWhlYWRlci5waHAnKTsKKworaWYgKCRkYikgeworCisgICAgaWYgKCRhY3Rpb24gPT0g
J2FkZCcpIHsKKyAgICAgICAgaWYgKCRkYi0+aW5zZXJ0X3JvdygnYnVpbGRlcnMnLCBOVUxMLCBh
cnJheSgKKyAgICAgICAgICAgICduYW1lJyA9PiAkX1BPU1RbJ25hbWUnXSwgJ3Bhc3N3b3JkX2hh
c2gnID0+IGhhc2goJ3NoYTI1NicsICRfUE9TVFsncGFzc3dvcmQnXSksICdidWlsZF91cmwnID0+
IGFycmF5X2dldCgkX1BPU1QsICdidWlsZF91cmwnKSkpKSB7CisgICAgICAgICAgICBub3RpY2Uo
J0luc2VydGVkIHRoZSBuZXcgYnVpbGRlci4nKTsKKyAgICAgICAgICAgIHJlZ2VuZXJhdGVfbWFu
aWZlc3QoKTsKKyAgICAgICAgfSBlbHNlCisgICAgICAgICAgICBub3RpY2UoJ0NvdWxkIG5vdCBh
ZGQgdGhlIGJ1aWxkZXIuJyk7CisgICAgfSBlbHNlIGlmICgkYWN0aW9uID09ICd1cGRhdGUnKSB7
CisgICAgICAgIGlmICh1cGRhdGVfZmllbGQoJ2J1aWxkZXJzJywgTlVMTCwgJ25hbWUnKSB8fCB1
cGRhdGVfZmllbGQoJ2J1aWxkZXJzJywgTlVMTCwgJ2J1aWxkX3VybCcpKQorICAgICAgICAgICAg
cmVnZW5lcmF0ZV9tYW5pZmVzdCgpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBub3RpY2Uo
J0ludmFsaWQgcGFyYW1ldGVycy4nKTsKKyAgICB9CisKKyAgICAkcGFnZSA9IG5ldyBBZG1pbmlz
dHJhdGl2ZVBhZ2UoJGRiLCAnYnVpbGRlcnMnLCBOVUxMLCBhcnJheSgKKyAgICAgICAgJ21hc3Rl
cicgPT4gYXJyYXkoKSwKKyAgICAgICAgJ25hbWUnID0+IGFycmF5KCdzaXplJyA9PiA1MCwgJ2Vk
aXRpbmdfbW9kZScgPT4gJ3N0cmluZycpLAorICAgICAgICAnYnVpbGRfdXJsJyA9PiBhcnJheSgn
bGFiZWwnID0+ICdCdWlsZCBVUkwnLCAnc2l6ZScgPT4gMTAwLCAnZWRpdGluZ19tb2RlJyA9PiAn
dXJsJyksCisgICAgKSk7CisKKyAgICAkcGFnZS0+cmVuZGVyX3RhYmxlKCduYW1lJyk7Cit9CisK
K3JlcXVpcmUoJy4uL2luY2x1ZGUvYWRtaW4tZm9vdGVyLnBocCcpOworCis/PgpJbmRleDogV2Vi
c2l0ZXMvdGVzdC1yZXN1bHRzL2FkbWluL2luZGV4LnBocAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJzaXRl
cy90ZXN0LXJlc3VsdHMvYWRtaW4vaW5kZXgucGhwCShyZXZpc2lvbiAxNTc3NzIpCisrKyBXZWJz
aXRlcy90ZXN0LXJlc3VsdHMvYWRtaW4vaW5kZXgucGhwCSh3b3JraW5nIGNvcHkpCkBAIC0xLDM0
ICsxLDkgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTx0aXRsZT5XZWJLaXQg
VGVzdCBSZXN1bHRzPC90aXRsZT4KLTxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iL2NvbW1v
bi5jc3MiPgotPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KLQotLnVuZmV0Y2hlZCB7Ci0gICAgY29s
b3I6IGdyYXk7Ci19Ci0KLTwvc3R5bGU+Ci08L2hlYWQ+Ci08Ym9keT4KLTxoZWFkZXIgaWQ9InRp
dGxlIj4KLTxoMT48YSBocmVmPSIvIj5XZWJLaXQgVGVzdCBSZXN1bHRzPC9hPjwvaDE+Ci08dWw+
Ci0gICAgPGxpPjxhIGhyZWY9Ii9hZG1pbi91cGRhdGUtbWFzdGVyIj5VcGRhdGUgTWFzdGVyPC9h
PjwvbGk+Ci08L3VsPgotPC9oZWFkZXI+Ci0KLTxkaXYgaWQ9Im1haW5Db250ZW50cyI+Ci08cD48
c3Ryb25nPkZJWE1FOiBUaGlzIHBhZ2UgaXMgYnJva2VuITwvc3Ryb25nPjwvcD4KIDw/cGhwCiAK
LXJlcXVpcmVfb25jZSgnLi4vaW5jbHVkZS9kYi5waHAnKTsKLXJlcXVpcmVfb25jZSgnLi4vaW5j
bHVkZS90ZXN0LXJlc3VsdHMucGhwJyk7CitpbmNsdWRlKCcuLi9pbmNsdWRlL2FkbWluLWhlYWRl
ci5waHAnKTsKK2luY2x1ZGUoJy4uL2luY2x1ZGUvdGVzdC1yZXN1bHRzLnBocCcpOwogCi1mdW5j
dGlvbiBub3RpY2UoJG1lc3NhZ2UpIHsKLSAgICBlY2hvICI8cCBjbGFzcz0nbm90aWNlJz4kbWVz
c2FnZTwvcD4iOwotfQorbm90aWNlKCJGSVhNRTogVGhpcyBwYWdlIGlzIGJyb2tlbiEiKTsKIAog
ZGVmaW5lKCdNQVhfRkVUQ0hfQ09VTlQnLCAxMCk7CiAKSW5kZXg6IFdlYnNpdGVzL3Rlc3QtcmVz
dWx0cy9hZG1pbi9yZXBvc2l0b3JpZXMucGhwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYnNpdGVzL3Rlc3Qt
cmVzdWx0cy9hZG1pbi9yZXBvc2l0b3JpZXMucGhwCShyZXZpc2lvbiAwKQorKysgV2Vic2l0ZXMv
dGVzdC1yZXN1bHRzL2FkbWluL3JlcG9zaXRvcmllcy5waHAJKHdvcmtpbmcgY29weSkKQEAgLTAs
MCArMSwyNiBAQAorPD9waHAKKworaW5jbHVkZSgnLi4vaW5jbHVkZS9hZG1pbi1oZWFkZXIucGhw
Jyk7CisKK2lmICgkZGIpIHsKKyAgICBpZiAoJGFjdGlvbiA9PSAndXBkYXRlJykgeworICAgICAg
ICBpZiAodXBkYXRlX2ZpZWxkKCdyZXBvc2l0b3JpZXMnLCBOVUxMLCAnbmFtZScpCisgICAgICAg
ICAgICB8fCB1cGRhdGVfZmllbGQoJ3JlcG9zaXRvcmllcycsIE5VTEwsICd1cmwnKQorICAgICAg
ICAgICAgfHwgdXBkYXRlX2ZpZWxkKCdyZXBvc2l0b3JpZXMnLCBOVUxMLCAnYmxhbWVfdXJsJykp
CisgICAgICAgICAgICByZWdlbmVyYXRlX21hbmlmZXN0KCk7CisgICAgICAgIGVsc2UKKyAgICAg
ICAgICAgIG5vdGljZSgnSW52YWxpZCBwYXJhbWV0ZXJzLicpOworICAgIH0KKworICAgICRwYWdl
ID0gbmV3IEFkbWluaXN0cmF0aXZlUGFnZSgkZGIsICdyZXBvc2l0b3JpZXMnLCBOVUxMLCBhcnJh
eSgKKyAgICAgICAgJ25hbWUnID0+IGFycmF5KCdlZGl0aW5nX21vZGUnID0+ICdzdHJpbmcnKSwK
KyAgICAgICAgJ3VybCcgPT4gYXJyYXkoJ2xhYmVsJyA9PiAnUmV2aXNpb24gVVJMIChBdCByZXZp
c2lvbiAkMSknLCAnZWRpdGluZ19tb2RlJyA9PiAndXJsJyksCisgICAgICAgICdibGFtZV91cmwn
ID0+IGFycmF5KCdsYWJlbCcgPT4gJ0JsYW1lIFVSTCAoRnJvbSByZXZpc2lvbiAkMSB0byByZXZp
c2lvbiAkMiknLCAnZWRpdGluZ19tb2RlJyA9PiAndXJsJykKKyAgICApKTsKKworICAgICRwYWdl
LT5yZW5kZXJfdGFibGUoJ25hbWUnKTsKK30KKworaW5jbHVkZSgnLi4vaW5jbHVkZS9hZG1pbi1m
b290ZXIucGhwJyk7CisKKz8+CkluZGV4OiBXZWJzaXRlcy90ZXN0LXJlc3VsdHMvYXBpL21hbmlm
ZXN0LnBocAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJzaXRlcy90ZXN0LXJlc3VsdHMvYXBpL21hbmlmZXN0
LnBocAkocmV2aXNpb24gMTU3NzcyKQorKysgV2Vic2l0ZXMvdGVzdC1yZXN1bHRzL2FwaS9tYW5p
ZmVzdC5waHAJKHdvcmtpbmcgY29weSkKQEAgLTQsOSArNCwxNyBAQAogCiAkZGIgPSBjb25uZWN0
KCk7CiAKKyRyZXBvc2l0b3JpZXMgPSAkZGItPmZldGNoX3RhYmxlKCdyZXBvc2l0b3JpZXMnKTsK
K2ZvcmVhY2ggKCRyZXBvc2l0b3JpZXMgYXMgJiR2YWx1ZSkKKyAgICAkdmFsdWVbJ2JsYW1lVXJs
J10gPSAkdmFsdWVbJ2JsYW1lX3VybCddOworCiskYnVpbGRlcnMgPSAkZGItPmZldGNoX3RhYmxl
KCdidWlsZGVycycpOworZm9yZWFjaCAoJGJ1aWxkZXJzIGFzICYkdmFsdWUpCisgICAgJHZhbHVl
WydidWlsZFVybCddID0gJHZhbHVlWydidWlsZF91cmwnXTsKKwogZXhpdF93aXRoX3N1Y2Nlc3Mo
YXJyYXkoJ3Rlc3RzJyA9PiAkZGItPmZldGNoX3RhYmxlKCd0ZXN0cycpLAotICAgICdidWlsZGVy
cycgPT4gJGRiLT5mZXRjaF90YWJsZSgnYnVpbGRlcnMnKSwKKyAgICAnYnVpbGRlcnMnID0+ICRi
dWlsZGVycywKICAgICAnc2xhdmVzJyA9PiAkZGItPmZldGNoX3RhYmxlKCdzbGF2ZXMnKSwKLSAg
ICAncmVwb3NpdG9yaWVzJyA9PiAkZGItPmZldGNoX3RhYmxlKCdyZXBvc2l0b3JpZXMnKSkpOwot
CisgICAgJ3JlcG9zaXRvcmllcycgPT4gJHJlcG9zaXRvcmllcywKKyAgICAndGVzdENhdGVnb3Jp
ZXMnID0+IGNvbmZpZygndGVzdENhdGVnb3JpZXMnKSkpOwogPz4KSW5kZXg6IFdlYnNpdGVzL3Rl
c3QtcmVzdWx0cy9pbmNsdWRlL2FkbWluLWZvb3Rlci5waHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vic2l0
ZXMvdGVzdC1yZXN1bHRzL2luY2x1ZGUvYWRtaW4tZm9vdGVyLnBocAkocmV2aXNpb24gMCkKKysr
IFdlYnNpdGVzL3Rlc3QtcmVzdWx0cy9pbmNsdWRlL2FkbWluLWZvb3Rlci5waHAJKHdvcmtpbmcg
Y29weSkKQEAgLTAsMCArMSw0IEBACis8L2Rpdj4KKworPC9ib2R5PgorPC9odG1sPgpJbmRleDog
V2Vic2l0ZXMvdGVzdC1yZXN1bHRzL2luY2x1ZGUvYWRtaW4taGVhZGVyLnBocAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJzaXRlcy90ZXN0LXJlc3VsdHMvaW5jbHVkZS9hZG1pbi1oZWFkZXIucGhwCShyZXZp
c2lvbiAwKQorKysgV2Vic2l0ZXMvdGVzdC1yZXN1bHRzL2luY2x1ZGUvYWRtaW4taGVhZGVyLnBo
cAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDIyNCBAQAorPD9waHAKKworcmVxdWlyZV9vbmNl
KCdkYi5waHAnKTsKKworPz48IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8dGl0bGU+
V2ViS2l0IFRlc3QgUmVzdWx0czwvdGl0bGU+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9
Ii9jb21tb24uY3NzIj4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iL2FkbWluL2FkbWlu
LmNzcyI+Cis8L2hlYWQ+Cis8Ym9keT4KKzxoZWFkZXIgaWQ9InRpdGxlIj4KKzxoMT48YSBocmVm
PSIvIj5XZWJLaXQgUGVyZiBNb25pdG9yPC9hPjwvaDE+Cis8dWw+CisgICAgPGxpPjxhIGhyZWY9
Ii9hZG1pbi8iPkFkbWluPC9hPjwvbGk+CisgICAgPGxpPjxhIGhyZWY9Ii9hZG1pbi9idWlsZGVy
cyI+QnVpbGRlcnM8L2E+PC9saT4KKyAgICA8bGk+PGEgaHJlZj0iL2FkbWluL3JlcG9zaXRvcmll
cyI+UmVwb3NpdG9yaWVzPC9hPjwvbGk+Cis8L3VsPgorPC9oZWFkZXI+CisKKzxkaXYgaWQ9Im1h
aW5Db250ZW50cyI+Cis8P3BocAorCitmdW5jdGlvbiByZWdlbmVyYXRlX21hbmlmZXN0KCkgewor
ICAgIC8vIG1hbmlmZXN0LnBocCBkb2Vzbid0IG5lZWQgdG8gYmUgcmVnZW5lcmF0ZWQgYnV0IFdl
YktpdCBQZXJmIE1vbml0b3IgZ2VuZXJhdGVzIGEgc3RhdGljIG1hbmlmZXN0Lmpzb24uCit9CisK
K2Z1bmN0aW9uIG5vdGljZSgkbWVzc2FnZSkgeworICAgIGVjaG8gIjxwIGNsYXNzPSdub3RpY2Un
PiRtZXNzYWdlPC9wPiI7Cit9CisKKyRkYiA9IG5ldyBEYXRhYmFzZTsKK2lmICghJGRiLT5jb25u
ZWN0KCkpIHsKKyAgICBub3RpY2UoJ0ZhaWxlZCB0byBjb25uZWN0IHRvIHRoZSBkYXRhYmFzZScp
OworICAgICRkYiA9IE5VTEw7Cit9IGVsc2UKKyAgICAkYWN0aW9uID0gYXJyYXlfa2V5X2V4aXN0
cygnYWN0aW9uJywgJF9QT1NUKSA/ICRfUE9TVFsnYWN0aW9uJ10gOiBOVUxMOworCitmdW5jdGlv
biBleGVjdXRlX3F1ZXJ5X2FuZF9leHBlY3Rfb25lX3Jvd190b19iZV9hZmZlY3RlZCgkcXVlcnks
ICRwYXJhbXMsICRzdWNjZXNzX21lc3NhZ2UsICRmYWlsdXJlX21lc3NhZ2UpIHsKKyAgICBnbG9i
YWwgJGRiOworCisgICAgZm9yZWFjaCAoJHBhcmFtcyBhcyAmJHBhcmFtKSB7CisgICAgICAgIGlm
ICgkcGFyYW0gPT0gJycpCisgICAgICAgICAgICAkcGFyYW0gPSBOVUxMOworICAgIH0KKworICAg
ICRhZmZlY3RlZF9yb3dzID0gJGRiLT5xdWVyeV9hbmRfZ2V0X2FmZmVjdGVkX3Jvd3MoJHF1ZXJ5
LCAkcGFyYW1zKTsKKyAgICBpZiAoJGFmZmVjdGVkX3Jvd3MpIHsKKyAgICAgICAgYXNzZXJ0KCck
YWZmZWN0ZWRfcm93cyA9PSAxJyk7CisgICAgICAgIG5vdGljZSgkc3VjY2Vzc19tZXNzYWdlKTsK
KyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorCisgICAgbm90aWNlKCRmYWlsdXJlX21lc3Nh
Z2UpOworICAgIHJldHVybiBmYWxzZTsKK30KKworZnVuY3Rpb24gdXBkYXRlX2ZpZWxkKCR0YWJs
ZSwgJHByZWZpeCwgJGZpZWxkX25hbWUpIHsKKyAgICBnbG9iYWwgJGRiOworCisgICAgaWYgKCFh
cnJheV9rZXlfZXhpc3RzKCdpZCcsICRfUE9TVCkgfHwgIWFycmF5X2tleV9leGlzdHMoJGZpZWxk
X25hbWUsICRfUE9TVCkpCisgICAgICAgIHJldHVybiBGQUxTRTsKKworICAgICRpZCA9IGludHZh
bCgkX1BPU1RbJ2lkJ10pOworICAgICRwcmVmaXhlZF9maWVsZF9uYW1lID0gJHByZWZpeCAuICRm
aWVsZF9uYW1lOworICAgICRpZF9maWVsZF9uYW1lID0gJHByZWZpeCA/ICRwcmVmaXggLiAnX2lk
JyA6ICdpZCc7CisKKyAgICBleGVjdXRlX3F1ZXJ5X2FuZF9leHBlY3Rfb25lX3Jvd190b19iZV9h
ZmZlY3RlZCgiVVBEQVRFICR0YWJsZSBTRVQgJHByZWZpeGVkX2ZpZWxkX25hbWUgPSBcJDIgV0hF
UkUgJGlkX2ZpZWxkX25hbWUgPSBcJDEiLAorICAgICAgICBhcnJheSgkaWQsICRfUE9TVFskZmll
bGRfbmFtZV0pLAorICAgICAgICAiVXBkYXRlZCB0aGUgJHByZWZpeCAkaWQiLAorICAgICAgICAi
Q291bGQgbm90IHVwZGF0ZSAkcHJlZml4ICRpZCIpOworCisgICAgcmV0dXJuIFRSVUU7Cit9CisK
K2NsYXNzIEFkbWluaXN0cmF0aXZlUGFnZSB7CisgICAgcHJpdmF0ZSAkdGFibGU7CisgICAgcHJp
dmF0ZSAkcHJlZml4OworICAgIHByaXZhdGUgJGNvbHVtbl90b19iZV9vcmRlcmVkX2J5OworICAg
IHByaXZhdGUgJGNvbHVtbl9pbmZvOworCisgICAgZnVuY3Rpb24gX19jb25zdHJ1Y3QoJGRiLCAk
dGFibGUsICRwcmVmaXgsICRjb2x1bW5faW5mbykgeworICAgICAgICAkdGhpcy0+ZGIgPSAkZGI7
CisgICAgICAgICR0aGlzLT50YWJsZSA9ICR0YWJsZTsKKyAgICAgICAgJHRoaXMtPnByZWZpeCA9
ICRwcmVmaXggPyAkcHJlZml4IC4gJ18nIDogJyc7CisgICAgICAgICR0aGlzLT5jb2x1bW5faW5m
byA9ICRjb2x1bW5faW5mbzsKKyAgICB9CisKKyAgICBwcml2YXRlIGZ1bmN0aW9uIG5hbWVfdG9f
dGl0bGVjYXNlKCRuYW1lKSB7CisgICAgICAgIHJldHVybiB1Y3dvcmRzKHN0cl9yZXBsYWNlKCdf
JywgJyAnLCAkbmFtZSkpOworICAgIH0KKworICAgIHByaXZhdGUgZnVuY3Rpb24gY29sdW1uX2xh
YmVsKCRuYW1lKSB7CisgICAgICAgIHJldHVybiBhcnJheV9nZXQoJHRoaXMtPmNvbHVtbl9pbmZv
WyRuYW1lXSwgJ2xhYmVsJywgJHRoaXMtPm5hbWVfdG9fdGl0bGVjYXNlKCRuYW1lKSk7CisgICAg
fQorCisgICAgcHJpdmF0ZSBmdW5jdGlvbiByZW5kZXJfZm9ybV9jb250cm9sX2Zvcl9jb2x1bW4o
JGVkaXRpbmdfbW9kZSwgJG5hbWUsICR2YWx1ZSA9ICcnLCAkc2hvd191cGRhdGVfYnV0dG9uX2lm
X25lZWRlZCA9IEZBTFNFLCAkc2l6ZSA9IE5VTEwpIHsKKyAgICAgICAgaWYgKCRlZGl0aW5nX21v
ZGUgPT0gJ3RleHQnKSB7CisgICAgICAgICAgICBlY2hvIDw8PCBFTkQKKzx0ZXh0YXJlYSBuYW1l
PSIkbmFtZSIgcm93cz0iNyIgY29scz0iNTAiPiR2YWx1ZTwvdGV4dGFyZWE+PGJyPgorRU5EOwor
ICAgICAgICAgICAgaWYgKCRzaG93X3VwZGF0ZV9idXR0b25faWZfbmVlZGVkKSB7CisgICAgICAg
ICAgICAgICAgZWNobyA8PDwgRU5ECisKKzxidXR0b24gdHlwZT0ic3VibWl0IiBuYW1lPSJhY3Rp
b24iIHZhbHVlPSJ1cGRhdGUiPlVwZGF0ZTwvYnV0dG9uPgorRU5EOworICAgICAgICAgICAgfQor
ICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisKKyAgICAgICAgaWYgKCRlZGl0aW5nX21v
ZGUgPT0gJ3VybCcpIHsKKyAgICAgICAgICAgIGlmICghJHNpemUpCisgICAgICAgICAgICAgICAg
JHNpemUgPSA3MDsKKyAgICAgICAgICAgIGVjaG8gPDw8IEVORAorPGlucHV0IHR5cGU9InRleHQi
IG5hbWU9IiRuYW1lIiB2YWx1ZT0iJHZhbHVlIiBzaXplPSIkc2l6ZSI+CitFTkQ7CisgICAgICAg
ICAgICByZXR1cm47CisgICAgICAgIH0KKworICAgICAgICAkc2l6ZUlmRXhpdHMgPSAkc2l6ZSA/
ICIgc2l6ZT1cIiRzaXplXCIiIDogJyc7CisgICAgICAgIGVjaG8gPDw8IEVORAorPGlucHV0IHR5
cGU9InRleHQiIG5hbWU9IiRuYW1lIiB2YWx1ZT0iJHZhbHVlIiRzaXplSWZFeGl0cz4KK0VORDsK
KyAgICB9CisKKyAgICBmdW5jdGlvbiByZW5kZXJfdGFibGUoJGNvbHVtbl90b19iZV9vcmRlcmVk
X2J5KSB7CisgICAgICAgICRjb2x1bW5fbmFtZXMgPSBhcnJheV9rZXlzKCR0aGlzLT5jb2x1bW5f
aW5mbyk7CisgICAgICAgICRsYWJlbHMgPSBhcnJheSgpOworICAgICAgICBmb3JlYWNoICgkY29s
dW1uX25hbWVzIGFzICRuYW1lKSB7CisgICAgICAgICAgICBpZiAoYXJyYXlfZ2V0KCR0aGlzLT5j
b2x1bW5faW5mb1skbmFtZV0sICdwcmVfaW5zZXJ0aW9uJykpCisgICAgICAgICAgICAgICAgY29u
dGludWU7CisgICAgICAgICAgICBhcnJheV9wdXNoKCRsYWJlbHMsIGh0bWxzcGVjaWFsY2hhcnMo
JHRoaXMtPmNvbHVtbl9sYWJlbCgkbmFtZSkpKTsKKyAgICAgICAgfQorCisKKyAgICAgICAgJGhl
YWRlcnMgPSBqb2luKCc8L3RkPjx0ZD4nLCAkbGFiZWxzKTsKKyAgICAgICAgZWNobyA8PDwgRU5E
Cis8dGFibGU+Cis8dGhlYWQ+PHRyPjx0ZD5JRDwvdGQ+PHRkPiRoZWFkZXJzPC90ZD48L3RyPjwv
dGhlYWQ+Cis8dGJvZHk+CisKK0VORDsKKworICAgICAgICBhc3NlcnQoY3R5cGVfYWxudW1fdW5k
ZXJzY29yZSgkY29sdW1uX3RvX2JlX29yZGVyZWRfYnkpKTsKKyAgICAgICAgJHJvd3MgPSAkdGhp
cy0+ZGItPmZldGNoX3RhYmxlKCR0aGlzLT50YWJsZSwgJHRoaXMtPnByZWZpeCAuICRjb2x1bW5f
dG9fYmVfb3JkZXJlZF9ieSk7CisgICAgICAgIGlmICgkcm93cykgeworICAgICAgICAgICAgZm9y
ZWFjaCAoJHJvd3MgYXMgJHJvdykgeworICAgICAgICAgICAgICAgICRpZCA9IGludHZhbCgkcm93
WyR0aGlzLT5wcmVmaXggLiAnaWQnXSk7CisgICAgICAgICAgICAgICAgZWNobyAiPHRyPlxuPHRk
PiRpZDwvdGQ+XG4iOworICAgICAgICAgICAgICAgIGZvcmVhY2ggKCRjb2x1bW5fbmFtZXMgYXMg
JG5hbWUpIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKGFycmF5X2dldCgkdGhpcy0+Y29sdW1u
X2luZm9bJG5hbWVdLCAncHJlX2luc2VydGlvbicpKQorICAgICAgICAgICAgICAgICAgICAgICAg
Y29udGludWU7CisKKyAgICAgICAgICAgICAgICAgICAgJGN1c3RvbSA9IGFycmF5X2dldCgkdGhp
cy0+Y29sdW1uX2luZm9bJG5hbWVdLCAnY3VzdG9tJyk7CisgICAgICAgICAgICAgICAgICAgIGlm
ICgkY3VzdG9tKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBlY2hvICI8dGQ+IjsKKyAgICAg
ICAgICAgICAgICAgICAgICAgICRjdXN0b20oJHJvdyk7CisgICAgICAgICAgICAgICAgICAgICAg
ICBlY2hvICI8L3RkPlxuIjsKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAg
ICAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICAgICAgJHZhbHVlID0gaHRtbHNw
ZWNpYWxjaGFycygkcm93WyR0aGlzLT5wcmVmaXggLiAkbmFtZV0sIEVOVF9RVU9URVMpOworICAg
ICAgICAgICAgICAgICAgICAkZWRpdGluZ19tb2RlID0gYXJyYXlfZ2V0KCR0aGlzLT5jb2x1bW5f
aW5mb1skbmFtZV0sICdlZGl0aW5nX21vZGUnKTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKCEk
ZWRpdGluZ19tb2RlKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBlY2hvICI8dGQ+JHZhbHVl
PC90ZD5cbiI7CisgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAg
ICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgICAgIGVjaG8gPDw8IEVORAorPHRkPgorPGZv
cm0gbWV0aG9kPSJQT1NUIj4KKzxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImlkIiB2YWx1ZT0i
JGlkIj4KKzxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImFjdGlvbiIgdmFsdWU9InVwZGF0ZSI+
CisKK0VORDsKKyAgICAgICAgICAgICAgICAgICAgJHNpemUgPSBhcnJheV9nZXQoJHRoaXMtPmNv
bHVtbl9pbmZvWyRuYW1lXSwgJ3NpemUnKTsKKyAgICAgICAgICAgICAgICAgICAgJHRoaXMtPnJl
bmRlcl9mb3JtX2NvbnRyb2xfZm9yX2NvbHVtbigkZWRpdGluZ19tb2RlLCAkbmFtZSwgJHZhbHVl
LCBUUlVFLCAkc2l6ZSk7CisgICAgICAgICAgICAgICAgICAgIGVjaG8gIjwvZm9ybT48L3RkPlxu
IjsKKworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBlY2hvICI8L3RyPlxuIjsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICBlY2hvIDw8PCBFTkQKKzwvdGJvZHk+
Cis8L3RhYmxlPgorRU5EOworICAgIH0KKworICAgIGZ1bmN0aW9uIHJlbmRlcl9mb3JtX3RvX2Fk
ZCgkdGl0bGUgPSBOVUxMKSB7CisKKyAgICAgICAgaWYgKCEkdGl0bGUpICMgQ2FuJ3QgdXNlIHRo
ZSB0YWJsZSBuYW1lIHNpbmNlIGl0IG5lZWRzIHRvIGJlIHNpbmd1bGFyLgorICAgICAgICAgICAg
JHRpdGxlID0gJ05ldyAnIC4gJHRoaXMtPm5hbWVfdG9fdGl0bGVjYXNlKCR0aGlzLT5wcmVmaXgp
OworCitlY2hvIDw8PCBFTkQKKzxzZWN0aW9uIGNsYXNzPSJhY3Rpb24tZmllbGQiPgorPGgyPiR0
aXRsZTwvaDI+Cis8Zm9ybSBtZXRob2Q9IlBPU1QiPgorCitFTkQ7CisgICAgICAgIGZvcmVhY2gg
KGFycmF5X2tleXMoJHRoaXMtPmNvbHVtbl9pbmZvKSBhcyAkbmFtZSkgeworICAgICAgICAgICAg
JGVkaXRpbmdfbW9kZSA9IGFycmF5X2dldCgkdGhpcy0+Y29sdW1uX2luZm9bJG5hbWVdLCAnZWRp
dGluZ19tb2RlJyk7CisgICAgICAgICAgICBpZiAoYXJyYXlfZ2V0KCR0aGlzLT5jb2x1bW5faW5m
b1skbmFtZV0sICdjdXN0b20nKSB8fCAhJGVkaXRpbmdfbW9kZSkKKyAgICAgICAgICAgICAgICBj
b250aW51ZTsKKworICAgICAgICAgICAgJGxhYmVsID0gaHRtbHNwZWNpYWxjaGFycygkdGhpcy0+
Y29sdW1uX2xhYmVsKCRuYW1lKSk7CisgICAgICAgICAgICBlY2hvICI8bGFiZWw+JGxhYmVsPGJy
PlxuIjsKKyAgICAgICAgICAgICR0aGlzLT5yZW5kZXJfZm9ybV9jb250cm9sX2Zvcl9jb2x1bW4o
JGVkaXRpbmdfbW9kZSwgJG5hbWUpOworICAgICAgICAgICAgZWNobyAiPC9sYWJlbD48YnI+XG4i
OworICAgICAgICB9CisKK2VjaG8gPDw8IEVORAorCis8YnV0dG9uIHR5cGU9InN1Ym1pdCIgbmFt
ZT0iYWN0aW9uIiB2YWx1ZT0iYWRkIj5BZGQ8L2J1dHRvbj4KKzwvZm9ybT4KKzwvc2VjdGlvbj4K
K0VORDsKKworICAgIH0KKworfQorCis/PgpJbmRleDogV2Vic2l0ZXMvdGVzdC1yZXN1bHRzL2lu
Y2x1ZGUvY29uZmlnLmpzb24KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vic2l0ZXMvdGVzdC1yZXN1bHRzL2lu
Y2x1ZGUvY29uZmlnLmpzb24JKHJldmlzaW9uIDE1Nzc3MikKKysrIFdlYnNpdGVzL3Rlc3QtcmVz
dWx0cy9pbmNsdWRlL2NvbmZpZy5qc29uCSh3b3JraW5nIGNvcHkpCkBAIC0xMSw1ICsxMSwxMCBA
QAogICAgICJtYXN0ZXJzIjogWwogICAgICAgICAiYnVpbGQud2Via2l0Lm9yZyIsCiAgICAgICAg
ICJidWlsZC1zYWZhcmkuYXBwbGUuY29tIgotICAgIF0KKyAgICBdLAorICAgICJ0ZXN0Q2F0ZWdv
cmllcyI6IHsKKyAgICAgICAgIkxheW91dFRlc3QiOiB7CisgICAgICAgICAgICAidXJsIjogImh0
dHBzOi8vdHJhYy53ZWJraXQub3JnL2Jyb3dzZXIvdHJ1bmsvTGF5b3V0VGVzdHMvJHRlc3ROYW1l
IgorICAgICAgICB9CisgICAgfQogfQpJbmRleDogV2Vic2l0ZXMvdGVzdC1yZXN1bHRzL2luY2x1
ZGUvaW5pdC1kYXRhYmFzZS5zcWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vic2l0ZXMvdGVzdC1yZXN1bHRz
L2luY2x1ZGUvaW5pdC1kYXRhYmFzZS5zcWwJKHJldmlzaW9uIDE1Nzc3MikKKysrIFdlYnNpdGVz
L3Rlc3QtcmVzdWx0cy9pbmNsdWRlL2luaXQtZGF0YWJhc2Uuc3FsCSh3b3JraW5nIGNvcHkpCkBA
IC05LDcgKzksOCBAQAogQ1JFQVRFIFRBQkxFIGJ1aWxkZXJzICgKICAgICBpZCBzZXJpYWwgUFJJ
TUFSWSBLRVksCiAgICAgbWFzdGVyIHZhcmNoYXIoNjQpIE5PVCBOVUxMLAotICAgIG5hbWUgdmFy
Y2hhcig2NCkgTk9UIE5VTEwgVU5JUVVFKTsKKyAgICBuYW1lIHZhcmNoYXIoNjQpIE5PVCBOVUxM
IFVOSVFVRSwKKyAgICBidWlsZF91cmwgdmFyY2hhcigxMDI0KSk7CiAKIENSRUFURSBUQUJMRSBy
ZXBvc2l0b3JpZXMgKAogICAgIGlkIHNlcmlhbCBQUklNQVJZIEtFWSwKQEAgLTQ0LDYgKzQ1LDcg
QEAKIENSRUFURSBUQUJMRSB0ZXN0cyAoCiAgICAgaWQgc2VyaWFsIFBSSU1BUlkgS0VZLAogICAg
IG5hbWUgdmFyY2hhcigxMDI0KSBOT1QgTlVMTCBVTklRVUUsCisgICAgY2F0ZWdvcnkgdmFyY2hh
cig2NCkgTk9UIE5VTEwsCiAgICAgcmVmdGVzdF90eXBlIHZhcmNoYXIoNjQpKTsKIAogQ1JFQVRF
IFRBQkxFIHJlc3VsdHMgKApJbmRleDogV2Vic2l0ZXMvdGVzdC1yZXN1bHRzL2luY2x1ZGUvdGVz
dC1yZXN1bHRzLnBocAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJzaXRlcy90ZXN0LXJlc3VsdHMvaW5jbHVk
ZS90ZXN0LXJlc3VsdHMucGhwCShyZXZpc2lvbiAxNTc3NzIpCisrKyBXZWJzaXRlcy90ZXN0LXJl
c3VsdHMvaW5jbHVkZS90ZXN0LXJlc3VsdHMucGhwCSh3b3JraW5nIGNvcHkpCkBAIC03MCw5ICs3
MCwxMSBAQAogICAgICAgICByZXF1aXJlX2Zvcm1hdCgndGVzdF9tb2RpZmllcnMnLCAkbW9kaWZp
ZXJzLCAnL15bQS1aYS16MC05IFwuXC9dKyQvJyk7CiAgICAgZWxzZQogICAgICAgICAkbW9kaWZp
ZXJzID0gTlVMTDsKKyAgICAkY2F0ZWdvcnkgPSAnTGF5b3V0VGVzdCc7IC8vIEZJWE1FOiBTdXBw
b3J0IG90aGVyIHRlc3QgY2F0ZWdvcmllcy4KIAogICAgICR0ZXN0X2lkID0gJGRiLT5zZWxlY3Rf
b3JfaW5zZXJ0X3JvdygndGVzdHMnLCBOVUxMLAotICAgICAgICBhcnJheSgnbmFtZScgPT4gJGZ1
bGxfbmFtZSksIGFycmF5KCduYW1lJyA9PiAkZnVsbF9uYW1lLCAncmVmdGVzdF90eXBlJyA9PiBq
c29uX2VuY29kZShhcnJheV9nZXQoJHRlc3RzLCAncmVmdGVzdF90eXBlJykpKSk7CisgICAgICAg
IGFycmF5KCduYW1lJyA9PiAkZnVsbF9uYW1lKSwKKyAgICAgICAgYXJyYXkoJ25hbWUnID0+ICRm
dWxsX25hbWUsICdyZWZ0ZXN0X3R5cGUnID0+IGpzb25fZW5jb2RlKGFycmF5X2dldCgkdGVzdHMs
ICdyZWZ0ZXN0X3R5cGUnKSksICdjYXRlZ29yeScgPT4gJGNhdGVnb3J5KSk7CiAKICAgICAkZGIt
Pmluc2VydF9yb3coJ3Jlc3VsdHMnLCBOVUxMLCBhcnJheSgndGVzdCcgPT4gJHRlc3RfaWQsICdi
dWlsZCcgPT4gJGJ1aWxkX2lkLAogICAgICAgICAnZXhwZWN0ZWQnID0+ICR0ZXN0c1snZXhwZWN0
ZWQnXSwgJ2FjdHVhbCcgPT4gJHRlc3RzWydhY3R1YWwnXSwKSW5kZXg6IFdlYnNpdGVzL3Rlc3Qt
cmVzdWx0cy9pbmRleC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYnNpdGVzL3Rlc3QtcmVzdWx0cy9p
bmRleC5odG1sCShyZXZpc2lvbiAxNTc3NzIpCisrKyBXZWJzaXRlcy90ZXN0LXJlc3VsdHMvaW5k
ZXguaHRtbAkod29ya2luZyBjb3B5KQpAQCAtNTUsOSArNTUsMTAgQEAKICAgICB0aGlzLl9jdXJy
ZW50QnVpbGRlckZhaWx1cmVUeXBlID0gbnVsbDsKICAgICB0aGlzLl9jdXJyZW50QnVpbGRlckRh
eXMgPSBudWxsOwogICAgIHRoaXMuX29sZEhhc2ggPSBudWxsOwotICAgIHRoaXMuX2J1aWxkZXJz
ID0gW107Ci0gICAgdGhpcy5fc2xhdmVzID0gW107Ci0gICAgdGhpcy5fcmVwb3NpdG9yaWVzID0g
W107CisgICAgdGhpcy5fYnVpbGRlcnMgPSB7fTsKKyAgICB0aGlzLl9zbGF2ZXMgPSB7fTsKKyAg
ICB0aGlzLl9yZXBvc2l0b3JpZXMgPSB7fTsKKyAgICB0aGlzLl90ZXN0Q2F0ZWdvcmllcyA9IHt9
OwogfSk7CiAKIFRlc3RSZXN1bHRzVmlldy5zZXRBdmFpbGFibGVUZXN0cyA9IGZ1bmN0aW9uIChh
dmFpbGFibGVUZXN0cykgewpAQCAtNzYsNiArNzcsMTAgQEAKICAgICB0aGlzLl9yZXBvc2l0b3Jp
ZXMgPSByZXBvc2l0b3JpZXM7CiB9CiAKK1Rlc3RSZXN1bHRzVmlldy5zZXRUZXN0Q2F0ZWdvcmll
cyA9IGZ1bmN0aW9uICh0ZXN0Q2F0ZWdvcmllcykgeworICAgIHRoaXMuX3Rlc3RDYXRlZ29yaWVz
ID0gdGVzdENhdGVnb3JpZXM7Cit9CisKIFRlc3RSZXN1bHRzVmlldy5zaG93VG9vbHRpcCA9IGZ1
bmN0aW9uIChhbmNob3IsIGNvbnRlbnRFbGVtZW50KSB7CiAgICAgdmFyIHRvb2x0aXBDb250YWlu
ZXIgPSB0aGlzLl90b29sdGlwQ29udGFpbmVyOwogICAgIHRvb2x0aXBDb250YWluZXIuc3R5bGUu
ZGlzcGxheSA9IG51bGw7CkBAIC05NSw0MyArMTAwLDQ0IEBACiAgICAgdG9vbHRpcENvbnRhaW5l
ci5zdHlsZS50b3AgPSAocG9zaXRpb24ueSAtIGNvbnRlbnRFbGVtZW50LmNsaWVudEhlaWdodCAt
IDUpICsgJ3B4JzsKIH0KIAotVGVzdFJlc3VsdHNWaWV3Ll91cmxGcm9tQnVpbGRlciA9IGZ1bmN0
aW9uICh1cmxUeXBlLCBtYXN0ZXIsIGJ1aWxkZXIsIHJldmlzaW9uLCBidWlsZCkgewotICAgIC8v
IEZJWE1FOiBXZSBzaG91bGQgcHJvYmFibHkgbWFrZSB0aGlzIGNvbmZpZ3VyYWJsZSBvciBmZXRj
aCBmcm9tIGJ1aWxkYm90IGNvbmZpZ3VyYXJhdGlvbi4KLSAgICByZXR1cm4gewotICAgICAgICAi
YnVpbGQiOiAiaHR0cDovLyRtYXN0ZXIvYnVpbGRlcnMvJGJ1aWxkZXIvYnVpbGRzLyRidWlsZCIs
Ci0gICAgICAgICJyZXN1bHQiOiAiaHR0cDovLyRtYXN0ZXIvcmVzdWx0cy8kYnVpbGRlci9yJHJl
dmlzaW9uJTIwKCRidWlsZCkvcmVzdWx0cy5odG1sIgotICAgIH1bdXJsVHlwZV0ucmVwbGFjZSgv
XCRtYXN0ZXIvZywgbWFzdGVyKS5yZXBsYWNlKC9cJGJ1aWxkZXIvZywgYnVpbGRlcikKLSAgICAg
ICAgLnJlcGxhY2UoL1wkcmV2aXNpb24vZywgcmV2aXNpb24pLnJlcGxhY2UoL1wkYnVpbGQvZywg
YnVpbGQpOwotfQotCiBUZXN0UmVzdWx0c1ZpZXcuX2NyZWF0ZVJlc3VsdENlbGwgPSBmdW5jdGlv
biAobWFzdGVyLCBidWlsZGVyLCByZXN1bHQsIHByZXZpb3VzUmVzdWx0KSB7CiAgICAgdmFyIGJ1
aWxkVGltZSA9IHJlc3VsdFsnYnVpbGRUaW1lJ107Ci0gICAgdmFyIHJldmlzaW9uID0gcmVzdWx0
WydyZXZpc2lvbiddOworICAgIHZhciByZXZpc2lvbnMgPSByZXN1bHRbJ3JldmlzaW9ucyddOwog
ICAgIHZhciBzbGF2ZSA9IHJlc3VsdFsnc2xhdmUnXTsKLSAgICB2YXIgYnVpbGQgPSByZXN1bHRb
J2J1aWxkTnVtYmVyJ107CisgICAgdmFyIGJ1aWxkTnVtYmVyID0gcmVzdWx0WydidWlsZE51bWJl
ciddOwogICAgIHZhciBhY3R1YWwgPSByZXN1bHRbJ2FjdHVhbCddOwogICAgIHZhciBleHBlY3Rl
ZCA9IHJlc3VsdFsnZXhwZWN0ZWQnXTsKICAgICB2YXIgdGltZUlmU2xvdyA9IHJlc3VsdC5pc1Ns
b3cgPyByZXN1bHQucm91bmRlZFRpbWUgOiAnJzsKLSAgICB2YXIgYW5jaG9yID0gZWxlbWVudCgn
YScsIHsnaHJlZic6IHRoaXMuX3VybEZyb21CdWlsZGVyKCdyZXN1bHQnLCBtYXN0ZXIsIGJ1aWxk
ZXIsIHJldmlzaW9uLCBidWlsZCl9LCBbdGltZUlmU2xvd10pOworCisgICAgLy8gRklYTUU6IFdl
IHNob3VsZG4ndCBiZSBoYXJkLWNvZGluZyBXZWJLaXQgcmV2aXNpb25zIGhlcmUuCisgICAgdmFy
IHdlYmtpdFJlcG9zaXRvcnlJZDsKKyAgICBmb3IgKHZhciByZXBvc2l0b3J5SWQgaW4gVGVzdFJl
c3VsdHNWaWV3Ll9yZXBvc2l0b3JpZXMpIHsKKyAgICAgICAgaWYgKFRlc3RSZXN1bHRzVmlldy5f
cmVwb3NpdG9yaWVzW3JlcG9zaXRvcnlJZF0ubmFtZSA9PSAnV2ViS2l0JykKKyAgICAgICAgICAg
IHdlYmtpdFJlcG9zaXRvcnlJZCA9IHJlcG9zaXRvcnlJZDsKKyAgICB9CisgICAgdmFyIHdlYmtp
dFJldmlzaW9uID0gcmVzdWx0LmJ1aWxkLnJldmlzaW9uKHdlYmtpdFJlcG9zaXRvcnlJZCk7Cisg
ICAgdmFyIHJlc3VsdHNQYWdlID0gd2Via2l0UmV2aXNpb24gPyAiaHR0cDovLyIgKyBtYXN0ZXIg
KyAiL3Jlc3VsdHMvIiArIGJ1aWxkZXIgKyAiL3IiICsgd2Via2l0UmV2aXNpb24gKyAiJTIwKCIg
KyBidWlsZE51bWJlciArICIpL3Jlc3VsdHMuaHRtbCIKKyAgICAgICAgOiAnamF2YXNjcmlwdDph
bGVydCgiQ291bGQgbm8gcmVzb2x2ZSBXZWJLaXQgcmV2aXNpb24iKSc7CisKKyAgICB2YXIgYW5j
aG9yID0gZWxlbWVudCgnYScsIHsnaHJlZic6IHJlc3VsdHNQYWdlIH0sIFt0aW1lSWZTbG93XSk7
CiAgICAgYW5jaG9yLm9ubW91c2VlbnRlciA9IGZ1bmN0aW9uICgpIHsKLSAgICAgICAgdmFyIHJl
cG9zaXRvcnlCeUlkID0gVGVzdFJlc3VsdHNWaWV3Ll9yZXBvc2l0b3JpZXM7CiAgICAgICAgIHZh
ciBmb3JtYXR0ZWRSZXZpc2lvbnMgPSByZXN1bHQuYnVpbGQuZm9ybWF0dGVkUmV2aXNpb25zKHBy
ZXZpb3VzUmVzdWx0ID8gcHJldmlvdXNSZXN1bHQuYnVpbGQgOiBudWxsKTsKLSAgICAgICAgdmFy
IHJldmlzaW9uRGVzY3JpcHRpb24gPSAnJzsKKyAgICAgICAgdmFyIHJldmlzaW9uRGVzY3JpcHRp
b24gPSBbXTsKICAgICAgICAgZm9yICh2YXIgcmVwb3NpdG9yeU5hbWUgaW4gZm9ybWF0dGVkUmV2
aXNpb25zKSB7CiAgICAgICAgICAgICB2YXIgcmV2aXNpb24gPSBmb3JtYXR0ZWRSZXZpc2lvbnNb
cmVwb3NpdG9yeU5hbWVdOwotICAgICAgICAgICAgaWYgKHJldmlzaW9uRGVzY3JpcHRpb24pCi0g
ICAgICAgICAgICAgICAgcmV2aXNpb25EZXNjcmlwdGlvbiArPSAnLCAnOworICAgICAgICAgICAg
aWYgKHJldmlzaW9uRGVzY3JpcHRpb24ubGVuZ3RoKQorICAgICAgICAgICAgICAgIHJldmlzaW9u
RGVzY3JpcHRpb24ucHVzaCgnLCAnKTsKICAgICAgICAgICAgIGlmIChyZXZpc2lvbi51cmwpCi0g
ICAgICAgICAgICAgICAgcmV2aXNpb25EZXNjcmlwdGlvbiArPSByZXBvc2l0b3J5TmFtZSArICc6
ICcgKyByZXZpc2lvbi51cmw7CisgICAgICAgICAgICAgICAgcmV2aXNpb25EZXNjcmlwdGlvbi5w
dXNoKGVsZW1lbnQoJ2EnLCB7J2hyZWYnOiByZXZpc2lvbi51cmx9LCBbcmV2aXNpb24ubGFiZWxd
KSk7CiAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgcmV2aXNpb25EZXNjcmlwdGlv
biArPSByZXZpc2lvbi5sYWJlbDsKKyAgICAgICAgICAgICAgICByZXZpc2lvbkRlc2NyaXB0aW9u
LnB1c2gocmV2aXNpb24ubGFiZWwpOwogICAgICAgICB9CiAKICAgICAgICAgVGVzdFJlc3VsdHNW
aWV3LnNob3dUb29sdGlwKGFuY2hvciwgZWxlbWVudCgnZGl2JywgeydjbGFzcyc6ICd0b29sdGlw
J30sIFsKICAgICAgICAgICAgIGVsZW1lbnQoJ3VsJywgWwogICAgICAgICAgICAgICAgIGVsZW1l
bnQoJ2xpJywgWydCdWlsZCBUaW1lOiAnICsgcmVzdWx0LmJ1aWxkLmZvcm1hdHRlZEJ1aWxkVGlt
ZSgpXSksCi0gICAgICAgICAgICAgICAgZWxlbWVudCgnbGknLCBbJ1JldmlzaW9uOiAnICsgIHJl
dmlzaW9uRGVzY3JpcHRpb25dKSwKLSAgICAgICAgICAgICAgICBlbGVtZW50KCdsaScsIFsnQnVp
bGQ6ICcsIGVsZW1lbnQoJ2EnLCB7J2hyZWYnOiBUZXN0UmVzdWx0c1ZpZXcuX3VybEZyb21CdWls
ZGVyKCdidWlsZCcsIG1hc3RlciwgYnVpbGRlciwgcmV2aXNpb24sIGJ1aWxkKX0sIFtidWlsZF0p
XSksCisgICAgICAgICAgICAgICAgZWxlbWVudCgnbGknLCBbJ1JldmlzaW9uOiAnXS5jb25jYXQo
cmV2aXNpb25EZXNjcmlwdGlvbikpLAorICAgICAgICAgICAgICAgIGVsZW1lbnQoJ2xpJywgWydC
dWlsZDogJywgZWxlbWVudCgnYScsIHsnaHJlZic6IHJlc3VsdC5idWlsZC5idWlsZFVybCgpfSwg
W2J1aWxkTnVtYmVyXSldKSwKICAgICAgICAgICAgICAgICBlbGVtZW50KCdsaScsIFsnQWN0dWFs
OiAnICsgYWN0dWFsXSksCiAgICAgICAgICAgICAgICAgZWxlbWVudCgnbGknLCBbJ0V4cGVjdGVk
OiAnICsgZXhwZWN0ZWRdKSwKICAgICAgICAgICAgIF0pCkBAIC0xNDQsMTQgKzE1MCwxNSBAQAog
fQogCiBUZXN0UmVzdWx0c1ZpZXcuX3BvcHVsYXRlVGVzdFBhbmUgPSBmdW5jdGlvbih0ZXN0TmFt
ZSwgcmVzdWx0cywgc2VjdGlvbikgewotICAgIHZhciB0YWJsZSA9IGVsZW1lbnQoJ3RhYmxlJywg
eydjbGFzcyc6ICdyZXN1bHRzVGFibGUnfSwgW2VsZW1lbnQoJ2NhcHRpb24nLCBbdGVzdE5hbWVd
KV0pOworICAgIHZhciB0ZXN0ID0ge25hbWU6IHRlc3ROYW1lLCBjYXRlZ29yeTogJ0xheW91dFRl
c3QnfTsgLy8gRklYTUU6IFVzZSB0aGUgcmVhbCB0ZXN0IG9iamVjdC4KKyAgICB2YXIgdGFibGUg
PSBlbGVtZW50KCd0YWJsZScsIHsnY2xhc3MnOiAncmVzdWx0c1RhYmxlJ30sIFtlbGVtZW50KCdj
YXB0aW9uJywgW3RoaXMuX2xpbmtpZmllZFRlc3ROYW1lKHRlc3QpXSldKTsKICAgICB0YWJsZS5h
cHBlbmRDaGlsZCh0aGlzLl9jcmVhdGVUZXN0UmVzdWx0SGVhZGVyKCdCdWlsZGVyJykpOwogCiAg
ICAgdmFyIHJlc3VsdHNCeUJ1aWxkZXIgPSByZXN1bHRzWydidWlsZGVycyddOwogICAgIHZhciBi
dWlsZFRpbWVzID0gbmV3IEFycmF5KCk7CiAgICAgZm9yICh2YXIgYnVpbGRlcklkIGluIHJlc3Vs
dHNCeUJ1aWxkZXIpIHsKICAgICAgICAgdmFyIHJlc3VsdHMgPSByZXN1bHRzQnlCdWlsZGVyW2J1
aWxkZXJJZF07Ci0gICAgICAgIHRoaXMuX2NyZWF0ZUJ1aWxkc0FuZENvbXB1dGVTbG93bmVzc09m
UmVzdWx0cyhyZXN1bHRzKTsKKyAgICAgICAgdGhpcy5fY3JlYXRlQnVpbGRzQW5kQ29tcHV0ZVNs
b3duZXNzT2ZSZXN1bHRzKGJ1aWxkZXJJZCwgcmVzdWx0cyk7CiAgICAgICAgIGZvciAodmFyIGkg
PSAwOyBpIDwgcmVzdWx0cy5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgdmFyIHRpbWUgPSBy
ZXN1bHRzW2ldLmJ1aWxkLnRpbWUoKTsKICAgICAgICAgICAgIGlmIChidWlsZFRpbWVzLmluZGV4
T2YodGltZSkgPCAwKQpAQCAtMTY4LDYgKzE3NSwxNCBAQAogICAgIHNlY3Rpb24uYXBwZW5kQ2hp
bGQodGFibGUpOwogfQogCitUZXN0UmVzdWx0c1ZpZXcuX2xpbmtpZmllZFRlc3ROYW1lID0gZnVu
Y3Rpb24gKHRlc3QpIHsKKyAgICB2YXIgY2F0ZWdvcnkgPSB0aGlzLl90ZXN0Q2F0ZWdvcmllc1t0
ZXN0LmNhdGVnb3J5XTsKKyAgICBpZiAoIWNhdGVnb3J5KQorICAgICAgICByZXR1cm4gdGVzdC5u
YW1lOworCisgICAgcmV0dXJuIGVsZW1lbnQoJ2EnLCB7J2hyZWYnOiBjYXRlZ29yeS51cmwucmVw
bGFjZSgvXCR0ZXN0TmFtZS9nLCB0ZXN0Lm5hbWUpfSwgW3Rlc3QubmFtZV0pOworfQorCiBUZXN0
UmVzdWx0c1ZpZXcuX2NyZWF0ZVRlc3RSZXN1bHRIZWFkZXIgPSBmdW5jdGlvbiAobGFiZWxGb3JG
aXJzdENvbHVtbikgewogICAgIHJldHVybiBlbGVtZW50KCd0aGVhZCcsIFtlbGVtZW50KCd0cics
IFsKICAgICAgICAgZWxlbWVudCgndGgnLCBbbGFiZWxGb3JGaXJzdENvbHVtbl0pLApAQCAtMTc2
LDkgKzE5MSwxMCBAQAogICAgICAgICBlbGVtZW50KCd0aCcsIFsnU2xvd2VzdCddKV0pXSk7CiB9
CiAKLVRlc3RSZXN1bHRzVmlldy5fY3JlYXRlQnVpbGRzQW5kQ29tcHV0ZVNsb3duZXNzT2ZSZXN1
bHRzID0gZnVuY3Rpb24gKHJlc3VsdHMpIHsKK1Rlc3RSZXN1bHRzVmlldy5fY3JlYXRlQnVpbGRz
QW5kQ29tcHV0ZVNsb3duZXNzT2ZSZXN1bHRzID0gZnVuY3Rpb24gKGJ1aWxkZXJJZCwgcmVzdWx0
cykgewogICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcmVzdWx0cy5sZW5ndGg7IGkrKykgewogICAg
ICAgICB2YXIgcmVzdWx0ID0gcmVzdWx0c1tpXTsKKyAgICAgICAgcmVzdWx0LmJ1aWxkZXIgPSBi
dWlsZGVySWQ7CiAgICAgICAgIHJlc3VsdC5idWlsZCA9IG5ldyBUZXN0QnVpbGQodGhpcy5fcmVw
b3NpdG9yaWVzLCB0aGlzLl9idWlsZGVycywgcmVzdWx0KTsKICAgICAgICAgcmVzdWx0LnJvdW5k
ZWRUaW1lID0gcmVzdWx0LnRpbWUgPiAxMDAwMCA/IE1hdGgucm91bmQocmVzdWx0LnRpbWUgLyAx
MDAwKSA6IE1hdGgucm91bmQocmVzdWx0LnRpbWUgLyAxMDApIC8gMTA7CiAgICAgICAgIHJlc3Vs
dC5pc1Nsb3cgPSByZXN1bHQudGltZSA+IDEwMDA7CkBAIC0yMjQsNyArMjQwLDcgQEAKICAgICAg
ICAgc2xvd2VzdFRpbWUgPSAnJzsKIAogICAgIHJldHVybiBlbGVtZW50KCd0cicsIFsKLSAgICAg
ICAgZWxlbWVudCgndGgnLCBbJycgKyB0aXRsZV0pLAorICAgICAgICBlbGVtZW50KCd0aCcsIFt0
aXRsZV0pLAogICAgICAgICBlbGVtZW50KCd0ZCcsIHsnY2xhc3MnOiAnbW9kaWZpZXJzJ30sIGZv
cm1hdHRlZE1vZGlmaWVycyksCiAgICAgICAgIGVsZW1lbnQoJ3RkJywgeydjbGFzcyc6ICdleHBl
Y3RlZCd9LCBbc29ydGVkUmVzdWx0c1swXS5leHBlY3RlZF0pLAogICAgICAgICBlbGVtZW50KCd0
ZCcsIHsnY2xhc3MnOiAnc2xvd2VzdFRpbWUnfSwgW3Nsb3dlc3RUaW1lXSksCkBAIC0zMzAsOCAr
MzQ2LDggQEAKICAgICAgICAgdmFyIHJlc3VsdHMgPSByZXN1bHRzQnlUZXN0c1t0ZXN0SWRdOwog
ICAgICAgICBpZiAoIXJlc3VsdHMubGVuZ3RoIHx8ICF0aGlzLl9tYXRjaGVzRmFpbHVyZVR5cGUo
cmVzdWx0cywgZmFpbHVyZVR5cGUsIHRoaXMuX2F2YWlsYWJsZVRlc3RzW3Rlc3RJZF0ubmFtZSkp
CiAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgdGhpcy5fY3JlYXRlQnVpbGRzQW5kQ29t
cHV0ZVNsb3duZXNzT2ZSZXN1bHRzKHJlc3VsdHNCeVRlc3RzW3Rlc3RJZF0pOwotICAgICAgICB0
YWJsZS5hcHBlbmRDaGlsZCh0aGlzLl9jcmVhdGVUZXN0UmVzdWx0Um93KHRoaXMuX2F2YWlsYWJs
ZVRlc3RzW3Rlc3RJZF0ubmFtZSwgcmVzdWx0c0J5VGVzdHNbdGVzdElkXSwgYnVpbGRlcikpOwor
ICAgICAgICB0aGlzLl9jcmVhdGVCdWlsZHNBbmRDb21wdXRlU2xvd25lc3NPZlJlc3VsdHMoYnVp
bGRlcklkLCByZXN1bHRzQnlUZXN0c1t0ZXN0SWRdKTsKKyAgICAgICAgdGFibGUuYXBwZW5kQ2hp
bGQodGhpcy5fY3JlYXRlVGVzdFJlc3VsdFJvdyh0aGlzLl9saW5raWZpZWRUZXN0TmFtZSh0aGlz
Ll9hdmFpbGFibGVUZXN0c1t0ZXN0SWRdKSwgcmVzdWx0c0J5VGVzdHNbdGVzdElkXSwgYnVpbGRl
cikpOwogICAgIH0KICAgICBzZWN0aW9uLmFwcGVuZENoaWxkKHRhYmxlKTsKIH0KQEAgLTQ2MSw2
ICs0NzcsNyBAQAogICAgIFRlc3RSZXN1bHRzVmlldy5zZXRCdWlsZGVycyhtYXBCeUlkKHJlc3Bv
bnNlWydidWlsZGVycyddKSk7CiAgICAgVGVzdFJlc3VsdHNWaWV3LnNldFNsYXZlcyhtYXBCeUlk
KHJlc3BvbnNlWydzbGF2ZXMnXSkpOwogICAgIFRlc3RSZXN1bHRzVmlldy5zZXRSZXBvc2l0b3Jp
ZXMobWFwQnlJZChyZXNwb25zZVsncmVwb3NpdG9yaWVzJ10pKTsKKyAgICBUZXN0UmVzdWx0c1Zp
ZXcuc2V0VGVzdENhdGVnb3JpZXMocmVzcG9uc2VbJ3Rlc3RDYXRlZ29yaWVzJ10pOwogICAgIC8v
IEZJWE1FOiBVcGRhdGluZyBsb2NhdGlvbi5ocmVmIHNob3VsZG4ndCBiZSBUZXN0UmVzdWx0c1Zp
ZXcncyByZXNwb25zaWJpbGl0eS4KICAgICB2YXIgcGFyc2VkU3RhdGVzID0gVGVzdFJlc3VsdHNW
aWV3LmxvYWRUZXN0c0Zyb21Mb2NhdGlvbkhhc2goKTsKICAgICBpZiAocGFyc2VkU3RhdGVzWydi
dWlsZGVyJ10pIHsKSW5kZXg6IFdlYnNpdGVzL3Rlc3QtcmVzdWx0cy9qcy9idWlsZC5qcwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJzaXRlcy90ZXN0LXJlc3VsdHMvanMvYnVpbGQuanMJKHJldmlzaW9uIDE1
Nzc3MikKKysrIFdlYnNpdGVzL3Rlc3QtcmVzdWx0cy9qcy9idWlsZC5qcwkod29ya2luZyBjb3B5
KQpAQCAtMTgsMTAgKzE4LDE2IEBACiAgICAgdGhpcy5idWlsZGVyID0gZnVuY3Rpb24gKCkgeyBy
ZXR1cm4gYnVpbGRlcnNbcmF3UnVuLmJ1aWxkZXJdLm5hbWU7IH0KICAgICB0aGlzLmJ1aWxkTnVt
YmVyID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gcmF3UnVuLmJ1aWxkTnVtYmVyOyB9CiAgICAgdGhp
cy5idWlsZFVybCA9IGZ1bmN0aW9uICgpIHsKLSAgICAgICAgdmFyIHRlbXBsYXRlID0gYnVpbGRl
cnNbcmF3UnVuLmJ1aWxkZXJdLmJ1aWxkVXJsOwotICAgICAgICByZXR1cm4gdGVtcGxhdGUgPyB0
ZW1wbGF0ZS5yZXBsYWNlKC9cJGJ1aWxkTnVtYmVyL2csIHRoaXMuYnVpbGROdW1iZXIoKSkgOiBu
dWxsOworICAgICAgICB2YXIgYnVpbGRlckRhdGEgPSBidWlsZGVyc1tyYXdSdW4uYnVpbGRlcl07
CisgICAgICAgIHZhciB0ZW1wbGF0ZSA9IGJ1aWxkZXJEYXRhLmJ1aWxkVXJsOworICAgICAgICBp
ZiAoIXRlbXBsYXRlKQorICAgICAgICAgICAgcmV0dXJuIG51bGw7CisgICAgICAgIHJldHVybiB0
ZW1wbGF0ZS5yZXBsYWNlKC9cJGJ1aWxkZXJOYW1lL2csIGJ1aWxkZXJEYXRhLm5hbWUpLnJlcGxh
Y2UoL1wkYnVpbGROdW1iZXIvZywgdGhpcy5idWlsZE51bWJlcigpKTsKICAgICB9Ci0gICAgdGhp
cy5yZXZpc2lvbiA9IGZ1bmN0aW9uKHJlcG9zaXRvcnlJZCkgeyByZXR1cm4gcmV2aXNpb25zW3Jl
cG9zaXRvcnlJZF1bMF07IH0KKyAgICB0aGlzLnJldmlzaW9uID0gZnVuY3Rpb24ocmVwb3NpdG9y
eUlkKSB7CisgICAgICAgIHZhciByZXBvc2l0b3J5ID0gcmV2aXNpb25zW3JlcG9zaXRvcnlJZF07
CisgICAgICAgIHJldHVybiByZXBvc2l0b3J5ID8gcmVwb3NpdG9yeVswXSA6IG51bGw7CisgICAg
fQogICAgIHRoaXMuZm9ybWF0dGVkUmV2aXNpb25zID0gZnVuY3Rpb24gKHByZXZpb3VzQnVpbGQp
IHsKICAgICAgICAgdmFyIHJlc3VsdCA9IHt9OwogICAgICAgICBmb3IgKHZhciByZXBvc2l0b3J5
SWQgaW4gcmV2aXNpb25zKSB7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>