<?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>32464</bug_id>
          
          <creation_ts>2009-12-11 23:45:46 -0800</creation_ts>
          <short_desc>[bzt] Kill LandingSequence</short_desc>
          <delta_ts>2009-12-14 21:21:46 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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>
          
          <blocked>32406</blocked>
    
    <blocked>32467</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Adam Barth">abarth</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>eric</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>171048</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-12-11 23:45:46 -0800</bug_when>
    <thetext>It&apos;s dead Jim.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>171050</commentid>
    <comment_count>1</comment_count>
      <attachid>44728</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-12-11 23:47:01 -0800</bug_when>
    <thetext>Created attachment 44728
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>171055</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2009-12-11 23:57:00 -0800</bug_when>
    <thetext>style-queue ran check-webkit-style on attachment 44728 without any errors.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>171622</commentid>
    <comment_count>3</comment_count>
      <attachid>44728</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-12-14 16:17:43 -0800</bug_when>
    <thetext>Comment on attachment 44728
Patch

Now we&apos;ll need to test the input/output state of each command.  Seems this would be easier to test if they were in fact exactly that.  input = {} and output = {}.  Do we ever need output to persist across comamnds?  e.g. that command1 produces output that command3 uses, but command2 ignores?  Donno.

Spacing?
 196         state = {&quot;patch&quot;: patch}

I would have put spaces after { and before }... but maybe the PEP says something here?  Also I would have put a space before :

Seems like Command should expose a run_and_handle_errors method, which calls through to the _sequence method.

Looks OK though.  Would be good to figure out what the official spacing is supposed to be, since your spacing here is inconsistent with at least the code that I have written in modules/*.py</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>171691</commentid>
    <comment_count>4</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-12-14 21:21:08 -0800</bug_when>
    <thetext>Ok.  I&apos;ll fix the spacing thing at the end.  It&apos;s going to conflict otherwise.  We discussed the input/output thing in person.  That&apos;s to make the steps more loosely coupled.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>171692</commentid>
    <comment_count>5</comment_count>
      <attachid>44728</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-12-14 21:21:41 -0800</bug_when>
    <thetext>Comment on attachment 44728
Patch

Clearing flags on attachment: 44728

Committed r52129: &lt;http://trac.webkit.org/changeset/52129&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>171693</commentid>
    <comment_count>6</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-12-14 21:21:46 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>44728</attachid>
            <date>2009-12-11 23:47:01 -0800</date>
            <delta_ts>2009-12-14 21:21:41 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-32464-20091211234659.patch</filename>
            <type>text/plain</type>
            <size>28688</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZwppbmRleCAzNGJjY2FmLi45NjA0YWUyIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9DaGFuZ2VM
b2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMDktMTIt
MTEgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbYnp0XSBLaWxsIExhbmRpbmdTZXF1ZW5jZQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzI0NjQKKwor
ICAgICAgICBSZW1vdmVzIExhbmRpbmdTZXF1ZW5jZSBpbiBmYXZvciBvZiBTdGVwU2VxdWVuY2Uu
ICBUaGlzIHJlcXVpcmVkCisgICAgICAgIGNoYW5naW5nIHRoZSBTdGVwIEFQSSBzbGlnaHRseSB0
byBjYXJyeSBhIGdlbmVyYWwgbm90aW9uIG9mIHN0YXRlCisgICAgICAgIGluc3RlYWQgb2YgY2Fy
cnlpbmcgcGF0Y2hlcyBzcGVjaWZpY2FsbHkuCisKKyAgICAgICAgKiBTY3JpcHRzL21vZHVsZXMv
YnVpbGRzdGVwcy5weToKKyAgICAgICAgKiBTY3JpcHRzL21vZHVsZXMvY29tbWFuZHMvZG93bmxv
YWQucHk6CisgICAgICAgICogU2NyaXB0cy9tb2R1bGVzL2NvbW1hbmRzL3F1ZXVlcy5weToKKyAg
ICAgICAgKiBTY3JpcHRzL21vZHVsZXMvbGFuZGluZ3NlcXVlbmNlLnB5OiBSZW1vdmVkLgorICAg
ICAgICAqIFNjcmlwdHMvbW9kdWxlcy9zdGVwc2VxdWVuY2UucHk6CisKIDIwMDktMTItMTEgIFlh
ZWwgQWhhcm9uICA8eWFlbC5haGFyb25Abm9raWEuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQg
YnVpbGQgZml4IGZvciBRdCB2ZXJzaW9ucyA8IDQuNi4gCmRpZmYgLS1naXQgYS9XZWJLaXRUb29s
cy9TY3JpcHRzL21vZHVsZXMvYnVpbGRzdGVwcy5weSBiL1dlYktpdFRvb2xzL1NjcmlwdHMvbW9k
dWxlcy9idWlsZHN0ZXBzLnB5CmluZGV4IDQyNWI5MTIuLmQwOGY2MzUgMTAwNjQ0Ci0tLSBhL1dl
YktpdFRvb2xzL1NjcmlwdHMvbW9kdWxlcy9idWlsZHN0ZXBzLnB5CisrKyBiL1dlYktpdFRvb2xz
L1NjcmlwdHMvbW9kdWxlcy9idWlsZHN0ZXBzLnB5CkBAIC00NywxMyArNDcsMTMgQEAgY2xhc3Mg
Q29tbWFuZE9wdGlvbnMob2JqZWN0KToKICAgICB0ZXN0ID0gbWFrZV9vcHRpb24oIi0tbm8tdGVz
dCIsIGFjdGlvbj0ic3RvcmVfZmFsc2UiLCBkZXN0PSJ0ZXN0IiwgZGVmYXVsdD1UcnVlLCBoZWxw
PSJDb21taXQgd2l0aG91dCBydW5uaW5nIHJ1bi13ZWJraXQtdGVzdHMuIikKICAgICBjbG9zZV9i
dWcgPSBtYWtlX29wdGlvbigiLS1uby1jbG9zZSIsIGFjdGlvbj0ic3RvcmVfZmFsc2UiLCBkZXN0
PSJjbG9zZV9idWciLCBkZWZhdWx0PVRydWUsIGhlbHA9IkxlYXZlIGJ1ZyBvcGVuIGFmdGVyIGxh
bmRpbmcuIikKICAgICBwb3J0ID0gbWFrZV9vcHRpb24oIi0tcG9ydCIsIGFjdGlvbj0ic3RvcmUi
LCBkZXN0PSJwb3J0IiwgZGVmYXVsdD1Ob25lLCBoZWxwPSJTcGVjaWZ5IGEgcG9ydCAoZS5nLiwg
bWFjLCBxdCwgZ3RrLCAuLi4pLiIpCisgICAgcmV2aWV3ZXIgPSBtYWtlX29wdGlvbigiLXIiLCAi
LS1yZXZpZXdlciIsIGFjdGlvbj0ic3RvcmUiLCB0eXBlPSJzdHJpbmciLCBkZXN0PSJyZXZpZXdl
ciIsIGhlbHA9IlVwZGF0ZSBDaGFuZ2VMb2dzIHRvIHNheSBSZXZpZXdlZCBieSBSRVZJRVdFUi4i
KQogCiAKIGNsYXNzIEFic3RyYWN0U3RlcChvYmplY3QpOgotICAgIGRlZiBfX2luaXRfXyhzZWxm
LCB0b29sLCBvcHRpb25zLCBwYXRjaD1Ob25lKToKKyAgICBkZWYgX19pbml0X18oc2VsZiwgdG9v
bCwgb3B0aW9ucyk6CiAgICAgICAgIHNlbGYuX3Rvb2wgPSB0b29sCiAgICAgICAgIHNlbGYuX29w
dGlvbnMgPSBvcHRpb25zCi0gICAgICAgIHNlbGYuX3BhdGNoID0gcGF0Y2gKICAgICAgICAgc2Vs
Zi5fcG9ydCA9IE5vbmUKIAogICAgIGRlZiBfcnVuX3NjcmlwdChzZWxmLCBzY3JpcHRfbmFtZSwg
cXVpZXQ9RmFsc2UsIHBvcnQ9V2ViS2l0UG9ydCk6CkBAIC03MSwxOCArNzEsMTggQEAgY2xhc3Mg
QWJzdHJhY3RTdGVwKG9iamVjdCk6CiAgICAgZGVmIG9wdGlvbnMoY2xzKToKICAgICAgICAgcmV0
dXJuIFtdCiAKLSAgICBkZWYgcnVuKHNlbGYsIHRvb2wpOgorICAgIGRlZiBydW4oc2VsZiwgc3Rh
dGUpOgogICAgICAgICByYWlzZSBOb3RJbXBsZW1lbnRlZEVycm9yLCAic3ViY2xhc3NlcyBtdXN0
IGltcGxlbWVudCIKIAogCiBjbGFzcyBQcmVwYXJlQ2hhbmdlbG9nU3RlcChBYnN0cmFjdFN0ZXAp
OgotICAgIGRlZiBydW4oc2VsZik6CisgICAgZGVmIHJ1bihzZWxmLCBzdGF0ZSk6CiAgICAgICAg
IHNlbGYuX3J1bl9zY3JpcHQoInByZXBhcmUtQ2hhbmdlTG9nIikKIAogCiBjbGFzcyBDbGVhbldv
cmtpbmdEaXJlY3RvcnlTdGVwKEFic3RyYWN0U3RlcCk6Ci0gICAgZGVmIF9faW5pdF9fKHNlbGYs
IHRvb2wsIG9wdGlvbnMsIHBhdGNoPU5vbmUsIGFsbG93X2xvY2FsX2NvbW1pdHM9RmFsc2UpOgot
ICAgICAgICBBYnN0cmFjdFN0ZXAuX19pbml0X18oc2VsZiwgdG9vbCwgb3B0aW9ucywgcGF0Y2gp
CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIHRvb2wsIG9wdGlvbnMsIGFsbG93X2xvY2FsX2NvbW1p
dHM9RmFsc2UpOgorICAgICAgICBBYnN0cmFjdFN0ZXAuX19pbml0X18oc2VsZiwgdG9vbCwgb3B0
aW9ucykKICAgICAgICAgc2VsZi5fYWxsb3dfbG9jYWxfY29tbWl0cyA9IGFsbG93X2xvY2FsX2Nv
bW1pdHMKIAogICAgIEBjbGFzc21ldGhvZApAQCAtOTIsNyArOTIsNyBAQCBjbGFzcyBDbGVhbldv
cmtpbmdEaXJlY3RvcnlTdGVwKEFic3RyYWN0U3RlcCk6CiAgICAgICAgICAgICBDb21tYW5kT3B0
aW9ucy5jbGVhbiwKICAgICAgICAgXQogCi0gICAgZGVmIHJ1bihzZWxmKToKKyAgICBkZWYgcnVu
KHNlbGYsIHN0YXRlKToKICAgICAgICAgb3MuY2hkaXIoc2VsZi5fdG9vbC5zY20oKS5jaGVja291
dF9yb290KQogICAgICAgICBpZiBub3Qgc2VsZi5fYWxsb3dfbG9jYWxfY29tbWl0czoKICAgICAg
ICAgICAgIHNlbGYuX3Rvb2wuc2NtKCkuZW5zdXJlX25vX2xvY2FsX2NvbW1pdHMoc2VsZi5fb3B0
aW9ucy5mb3JjZV9jbGVhbikKQEAgLTEwOCw3ICsxMDgsNyBAQCBjbGFzcyBVcGRhdGVTdGVwKEFi
c3RyYWN0U3RlcCk6CiAgICAgICAgICAgICBDb21tYW5kT3B0aW9ucy5wb3J0LAogICAgICAgICBd
CiAKLSAgICBkZWYgcnVuKHNlbGYpOgorICAgIGRlZiBydW4oc2VsZiwgc3RhdGUpOgogICAgICAg
ICBpZiBub3Qgc2VsZi5fb3B0aW9ucy51cGRhdGU6CiAgICAgICAgICAgICByZXR1cm4KICAgICAg
ICAgbG9nKCJVcGRhdGluZyB3b3JraW5nIGRpcmVjdG9yeSIpCkBAIC0xMjIsOSArMTIyLDkgQEAg
Y2xhc3MgQXBwbHlQYXRjaFN0ZXAoQWJzdHJhY3RTdGVwKToKICAgICAgICAgICAgIENvbW1hbmRP
cHRpb25zLm5vbl9pbnRlcmFjdGl2ZSwKICAgICAgICAgXQogCi0gICAgZGVmIHJ1bihzZWxmKToK
LSAgICAgICAgbG9nKCJQcm9jZXNzaW5nIHBhdGNoICVzIGZyb20gYnVnICVzLiIgJSAoc2VsZi5f
cGF0Y2hbImlkIl0sIHNlbGYuX3BhdGNoWyJidWdfaWQiXSkpCi0gICAgICAgIHNlbGYuX3Rvb2wu
c2NtKCkuYXBwbHlfcGF0Y2goc2VsZi5fcGF0Y2gsIGZvcmNlPXNlbGYuX29wdGlvbnMubm9uX2lu
dGVyYWN0aXZlKQorICAgIGRlZiBydW4oc2VsZiwgc3RhdGUpOgorICAgICAgICBsb2coIlByb2Nl
c3NpbmcgcGF0Y2ggJXMgZnJvbSBidWcgJXMuIiAlIChzdGF0ZVsicGF0Y2giXVsiaWQiXSwgc3Rh
dGVbInBhdGNoIl1bImJ1Z19pZCJdKSkKKyAgICAgICAgc2VsZi5fdG9vbC5zY20oKS5hcHBseV9w
YXRjaChzdGF0ZVsicGF0Y2giXSwgZm9yY2U9c2VsZi5fb3B0aW9ucy5ub25faW50ZXJhY3RpdmUp
CiAKIAogY2xhc3MgRW5zdXJlQnVpbGRlcnNBcmVHcmVlblN0ZXAoQWJzdHJhY3RTdGVwKToKQEAg
LTEzNCw3ICsxMzQsNyBAQCBjbGFzcyBFbnN1cmVCdWlsZGVyc0FyZUdyZWVuU3RlcChBYnN0cmFj
dFN0ZXApOgogICAgICAgICAgICAgQ29tbWFuZE9wdGlvbnMuY2hlY2tfYnVpbGRlcnMsCiAgICAg
ICAgIF0KIAotICAgIGRlZiBydW4oc2VsZik6CisgICAgZGVmIHJ1bihzZWxmLCBzdGF0ZSk6CiAg
ICAgICAgIGlmIG5vdCBzZWxmLl9vcHRpb25zLmNoZWNrX2J1aWxkZXJzOgogICAgICAgICAgICAg
cmV0dXJuCiAgICAgICAgIHJlZF9idWlsZGVyc19uYW1lcyA9IHNlbGYuX3Rvb2wuYnVpbGRib3Qu
cmVkX2NvcmVfYnVpbGRlcnNfbmFtZXMoKQpAQCAtMTQ0LDYgKzE0NCw0MSBAQCBjbGFzcyBFbnN1
cmVCdWlsZGVyc0FyZUdyZWVuU3RlcChBYnN0cmFjdFN0ZXApOgogICAgICAgICBlcnJvcigiQnVp
bGRlcnMgWyVzXSBhcmUgcmVkLCBwbGVhc2UgZG8gbm90IGNvbW1pdC5cblNlZSBodHRwOi8vJXMu
XG5QYXNzIC0taWdub3JlLWJ1aWxkZXJzIHRvIGJ5cGFzcyB0aGlzIGNoZWNrLiIgJSAoIiwgIi5q
b2luKHJlZF9idWlsZGVyc19uYW1lcyksIHNlbGYuX3Rvb2wuYnVpbGRib3QuYnVpbGRib3RfaG9z
dCkpCiAKIAorY2xhc3MgVXBkYXRlQ2hhbmdlbG9nc1dpdGhSZXZpZXdlclN0ZXAoQWJzdHJhY3RT
dGVwKToKKyAgICBAY2xhc3NtZXRob2QKKyAgICBkZWYgb3B0aW9ucyhjbHMpOgorICAgICAgICBy
ZXR1cm4gWworICAgICAgICAgICAgQ29tbWFuZE9wdGlvbnMucmV2aWV3ZXIsCisgICAgICAgIF0K
KworICAgIGRlZiBndWVzc19yZXZpZXdlcl9mcm9tX2J1ZyhzZWxmLCBidWdfaWQpOgorICAgICAg
ICBwYXRjaGVzID0gc2VsZi5fdG9vbC5idWdzLmZldGNoX3Jldmlld2VkX3BhdGNoZXNfZnJvbV9i
dWcoYnVnX2lkKQorICAgICAgICBpZiBsZW4ocGF0Y2hlcykgIT0gMToKKyAgICAgICAgICAgIGxv
ZygiJXMgb24gYnVnICVzLCBjYW5ub3QgaW5mZXIgcmV2aWV3ZXIuIiAlIChwbHVyYWxpemUoInJl
dmlld2VkIHBhdGNoIiwgbGVuKHBhdGNoZXMpKSwgYnVnX2lkKSkKKyAgICAgICAgICAgIHJldHVy
biBOb25lCisgICAgICAgIHBhdGNoID0gcGF0Y2hlc1swXQorICAgICAgICByZXZpZXdlciA9IHBh
dGNoWyJyZXZpZXdlciJdCisgICAgICAgIGxvZygiR3Vlc3NpbmcgXCIlc1wiIGFzIHJldmlld2Vy
IGZyb20gYXR0YWNobWVudCAlcyBvbiBidWcgJXMuIiAlIChyZXZpZXdlciwgcGF0Y2hbImlkIl0s
IGJ1Z19pZCkpCisgICAgICAgIHJldHVybiByZXZpZXdlcgorCisgICAgZGVmIHJ1bihzZWxmLCBz
dGF0ZSk6CisgICAgICAgIGJ1Z19pZCA9IHN0YXRlWyJwYXRjaCJdWyJidWdfaWQiXQorICAgICAg
ICByZXZpZXdlciA9IHNlbGYuX29wdGlvbnMucmV2aWV3ZXIKKyAgICAgICAgaWYgbm90IHJldmll
d2VyOgorICAgICAgICAgICAgaWYgbm90IGJ1Z19pZDoKKyAgICAgICAgICAgICAgICBsb2coIk5v
IGJ1ZyBpZCBwcm92aWRlZCBhbmQgLS1yZXZpZXdlcj0gbm90IHByb3ZpZGVkLiAgTm90IHVwZGF0
aW5nIENoYW5nZUxvZ3Mgd2l0aCByZXZpZXdlci4iKQorICAgICAgICAgICAgICAgIHJldHVybgor
ICAgICAgICAgICAgcmV2aWV3ZXIgPSBzZWxmLmd1ZXNzX3Jldmlld2VyX2Zyb21fYnVnKGJ1Z19p
ZCkKKworICAgICAgICBpZiBub3QgcmV2aWV3ZXI6CisgICAgICAgICAgICBsb2coIkZhaWxlZCB0
byBndWVzcyByZXZpZXdlciBmcm9tIGJ1ZyAlcyBhbmQgLS1yZXZpZXdlcj0gbm90IHByb3ZpZGVk
LiAgTm90IHVwZGF0aW5nIENoYW5nZUxvZ3Mgd2l0aCByZXZpZXdlci4iICUgYnVnX2lkKQorICAg
ICAgICAgICAgcmV0dXJuCisKKyAgICAgICAgb3MuY2hkaXIoc2VsZi5fdG9vbC5zY20oKS5jaGVj
a291dF9yb290KQorICAgICAgICBmb3IgY2hhbmdlbG9nX3BhdGggaW4gc2VsZi5fdG9vbC5zY20o
KS5tb2RpZmllZF9jaGFuZ2Vsb2dzKCk6CisgICAgICAgICAgICBDaGFuZ2VMb2coY2hhbmdlbG9n
X3BhdGgpLnNldF9yZXZpZXdlcihyZXZpZXdlcikKKworCiBjbGFzcyBCdWlsZFN0ZXAoQWJzdHJh
Y3RTdGVwKToKICAgICBAY2xhc3NtZXRob2QKICAgICBkZWYgb3B0aW9ucyhjbHMpOgpAQCAtMTUy
LDcgKzE4Nyw3IEBAIGNsYXNzIEJ1aWxkU3RlcChBYnN0cmFjdFN0ZXApOgogICAgICAgICAgICAg
Q29tbWFuZE9wdGlvbnMucXVpZXQsCiAgICAgICAgIF0KIAotICAgIGRlZiBydW4oc2VsZik6Cisg
ICAgZGVmIHJ1bihzZWxmLCBzdGF0ZSk6CiAgICAgICAgIGlmIG5vdCBzZWxmLl9vcHRpb25zLmJ1
aWxkOgogICAgICAgICAgICAgcmV0dXJuCiAgICAgICAgIGxvZygiQnVpbGRpbmcgV2ViS2l0IikK
QEAgLTE2MCw3ICsxOTUsNyBAQCBjbGFzcyBCdWlsZFN0ZXAoQWJzdHJhY3RTdGVwKToKIAogCiBj
bGFzcyBDaGVja1N0eWxlU3RlcChBYnN0cmFjdFN0ZXApOgotICAgIGRlZiBydW4oc2VsZik6Cisg
ICAgZGVmIHJ1bihzZWxmLCBzdGF0ZSk6CiAgICAgICAgIHNlbGYuX3J1bl9zY3JpcHQoImNoZWNr
LXdlYmtpdC1zdHlsZSIpCiAKIApAQCAtMTc1LDcgKzIxMCw3IEBAIGNsYXNzIFJ1blRlc3RzU3Rl
cChBYnN0cmFjdFN0ZXApOgogICAgICAgICAgICAgQ29tbWFuZE9wdGlvbnMucG9ydCwKICAgICAg
ICAgXQogCi0gICAgZGVmIHJ1bihzZWxmKToKKyAgICBkZWYgcnVuKHNlbGYsIHN0YXRlKToKICAg
ICAgICAgaWYgbm90IHNlbGYuX29wdGlvbnMuYnVpbGQ6CiAgICAgICAgICAgICByZXR1cm4KICAg
ICAgICAgaWYgbm90IHNlbGYuX29wdGlvbnMudGVzdDoKQEAgLTE5MCwxNSArMjI1LDE1IEBAIGNs
YXNzIFJ1blRlc3RzU3RlcChBYnN0cmFjdFN0ZXApOgogCiAKIGNsYXNzIENvbW1pdFN0ZXAoQWJz
dHJhY3RTdGVwKToKLSAgICBkZWYgcnVuKHNlbGYpOgorICAgIGRlZiBydW4oc2VsZiwgc3RhdGUp
OgogICAgICAgICBjb21taXRfbWVzc2FnZSA9IHNlbGYuX3Rvb2wuc2NtKCkuY29tbWl0X21lc3Nh
Z2VfZm9yX3RoaXNfY29tbWl0KCkKLSAgICAgICAgcmV0dXJuIHNlbGYuX3Rvb2wuc2NtKCkuY29t
bWl0X3dpdGhfbWVzc2FnZShjb21taXRfbWVzc2FnZS5tZXNzYWdlKCkpCisgICAgICAgIHN0YXRl
WyJjb21taXRfdGV4dCJdID0gIHNlbGYuX3Rvb2wuc2NtKCkuY29tbWl0X3dpdGhfbWVzc2FnZShj
b21taXRfbWVzc2FnZS5tZXNzYWdlKCkpCiAKIAogY2xhc3MgQ2xvc2VQYXRjaFN0ZXAoQWJzdHJh
Y3RTdGVwKToKLSAgICBkZWYgcnVuKHNlbGYsIGNvbW1pdF9sb2cpOgotICAgICAgICBjb21tZW50
X3RleHQgPSBidWdfY29tbWVudF9mcm9tX2NvbW1pdF90ZXh0KHNlbGYuX3Rvb2wuc2NtKCksIGNv
bW1pdF9sb2cpCi0gICAgICAgIHNlbGYuX3Rvb2wuYnVncy5jbGVhcl9hdHRhY2htZW50X2ZsYWdz
KHNlbGYuX3BhdGNoWyJpZCJdLCBjb21tZW50X3RleHQpCisgICAgZGVmIHJ1bihzZWxmLCBzdGF0
ZSk6CisgICAgICAgIGNvbW1lbnRfdGV4dCA9IGJ1Z19jb21tZW50X2Zyb21fY29tbWl0X3RleHQo
c2VsZi5fdG9vbC5zY20oKSwgc3RhdGVbImNvbW1pdF90ZXh0Il0pCisgICAgICAgIHNlbGYuX3Rv
b2wuYnVncy5jbGVhcl9hdHRhY2htZW50X2ZsYWdzKHN0YXRlWyJwYXRjaCJdWyJpZCJdLCBjb21t
ZW50X3RleHQpCiAKIAogY2xhc3MgQ2xvc2VCdWdTdGVwKEFic3RyYWN0U3RlcCk6CkBAIC0yMDgs
MTggKzI0Myw0MSBAQCBjbGFzcyBDbG9zZUJ1Z1N0ZXAoQWJzdHJhY3RTdGVwKToKICAgICAgICAg
ICAgIENvbW1hbmRPcHRpb25zLmNsb3NlX2J1ZywKICAgICAgICAgXQogCi0gICAgZGVmIHJ1bihz
ZWxmKToKKyAgICBkZWYgcnVuKHNlbGYsIHN0YXRlKToKICAgICAgICAgaWYgbm90IHNlbGYuX29w
dGlvbnMuY2xvc2VfYnVnOgogICAgICAgICAgICAgcmV0dXJuCiAgICAgICAgICMgQ2hlY2sgdG8g
bWFrZSBzdXJlIHRoZXJlIGFyZSBubyByPyBvciByKyBwYXRjaGVzIG9uIHRoZSBidWcgYmVmb3Jl
IGNsb3NpbmcuCiAgICAgICAgICMgQXNzdW1lIHRoYXQgci0gcGF0Y2hlcyBhcmUganVzdCBwcmV2
aW91cyBwYXRjaGVzIHNvbWVvbmUgZm9yZ290IHRvIG9ic29sZXRlLgotICAgICAgICBwYXRjaGVz
ID0gc2VsZi5fdG9vbC5idWdzLmZldGNoX3BhdGNoZXNfZnJvbV9idWcoc2VsZi5fcGF0Y2hbImJ1
Z19pZCJdKQorICAgICAgICBwYXRjaGVzID0gc2VsZi5fdG9vbC5idWdzLmZldGNoX3BhdGNoZXNf
ZnJvbV9idWcoc3RhdGVbInBhdGNoIl1bImJ1Z19pZCJdKQogICAgICAgICBmb3IgcGF0Y2ggaW4g
cGF0Y2hlczoKICAgICAgICAgICAgIHJldmlld19mbGFnID0gcGF0Y2guZ2V0KCJyZXZpZXciKQog
ICAgICAgICAgICAgaWYgcmV2aWV3X2ZsYWcgPT0gIj8iIG9yIHJldmlld19mbGFnID09ICIrIjoK
ICAgICAgICAgICAgICAgICBsb2coIk5vdCBjbG9zaW5nIGJ1ZyAlcyBhcyBhdHRhY2htZW50ICVz
IGhhcyByZXZpZXc9JXMuICBBc3N1bWluZyB0aGVyZSBhcmUgbW9yZSBwYXRjaGVzIHRvIGxhbmQg
ZnJvbSB0aGlzIGJ1Zy4iICUgKHBhdGNoWyJidWdfaWQiXSwgcGF0Y2hbImlkIl0sIHJldmlld19m
bGFnKSkKICAgICAgICAgICAgICAgICByZXR1cm4KLSAgICAgICAgc2VsZi5fdG9vbC5idWdzLmNs
b3NlX2J1Z19hc19maXhlZChzZWxmLl9wYXRjaFsiYnVnX2lkIl0sICJBbGwgcmV2aWV3ZWQgcGF0
Y2hlcyBoYXZlIGJlZW4gbGFuZGVkLiAgQ2xvc2luZyBidWcuIikKKyAgICAgICAgc2VsZi5fdG9v
bC5idWdzLmNsb3NlX2J1Z19hc19maXhlZChzdGF0ZVsicGF0Y2giXVsiYnVnX2lkIl0sICJBbGwg
cmV2aWV3ZWQgcGF0Y2hlcyBoYXZlIGJlZW4gbGFuZGVkLiAgQ2xvc2luZyBidWcuIikKKworCitj
bGFzcyBDbG9zZUJ1Z0ZvckxhbmREaWZmU3RlcChBYnN0cmFjdFN0ZXApOgorICAgIEBjbGFzc21l
dGhvZAorICAgIGRlZiBvcHRpb25zKGNscyk6CisgICAgICAgIHJldHVybiBbCisgICAgICAgICAg
ICBDb21tYW5kT3B0aW9ucy5jbG9zZV9idWcsCisgICAgICAgIF0KKworICAgIGRlZiBydW4oc2Vs
Ziwgc3RhdGUpOgorICAgICAgICBjb21tZW50X3RleHQgPSBidWdfY29tbWVudF9mcm9tX2NvbW1p
dF90ZXh0KHNlbGYuX3Rvb2wuc2NtKCksIHN0YXRlWyJjb21taXRfdGV4dCJdKQorICAgICAgICBi
dWdfaWQgPSBzdGF0ZVsicGF0Y2giXVsiYnVnX2lkIl0KKyAgICAgICAgaWYgYnVnX2lkOgorICAg
ICAgICAgICAgbG9nKCJVcGRhdGluZyBidWcgJXMiICUgYnVnX2lkKQorICAgICAgICAgICAgaWYg
c2VsZi5fb3B0aW9ucy5jbG9zZV9idWc6CisgICAgICAgICAgICAgICAgc2VsZi5fdG9vbC5idWdz
LmNsb3NlX2J1Z19hc19maXhlZChidWdfaWQsIGNvbW1lbnRfdGV4dCkKKyAgICAgICAgICAgIGVs
c2U6CisgICAgICAgICAgICAgICAgIyBGSVhNRTogV2Ugc2hvdWxkIGEgc21hcnQgd2F5IHRvIGZp
Z3VyZSBvdXQgaWYgdGhlIHBhdGNoIGlzIGF0dGFjaGVkCisgICAgICAgICAgICAgICAgIyB0byB0
aGUgYnVnLCBhbmQgaWYgc28gb2Jzb2xldGUgaXQuCisgICAgICAgICAgICAgICAgc2VsZi5fdG9v
bC5idWdzLnBvc3RfY29tbWVudF90b19idWcoYnVnX2lkLCBjb21tZW50X3RleHQpCisgICAgICAg
IGVsc2U6CisgICAgICAgICAgICBsb2coY29tbWVudF90ZXh0KQorICAgICAgICAgICAgbG9nKCJO
byBidWcgaWQgcHJvdmlkZWQuIikKIAogCiAjIEZJWE1FOiBUaGlzIGNsYXNzIGlzIGEgZGlub3Nh
dXIgYW5kIHNob3VsZCBiZSBleHRpbmN0IHNvb24uCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9T
Y3JpcHRzL21vZHVsZXMvY29tbWFuZHMvZG93bmxvYWQucHkgYi9XZWJLaXRUb29scy9TY3JpcHRz
L21vZHVsZXMvY29tbWFuZHMvZG93bmxvYWQucHkKaW5kZXggMmFjZDY5Zi4uOWE4NWFlZiAxMDA2
NDQKLS0tIGEvV2ViS2l0VG9vbHMvU2NyaXB0cy9tb2R1bGVzL2NvbW1hbmRzL2Rvd25sb2FkLnB5
CisrKyBiL1dlYktpdFRvb2xzL1NjcmlwdHMvbW9kdWxlcy9jb21tYW5kcy9kb3dubG9hZC5weQpA
QCAtMzMsMTIgKzMzLDEyIEBAIGltcG9ydCBvcwogZnJvbSBvcHRwYXJzZSBpbXBvcnQgbWFrZV9v
cHRpb24KIAogZnJvbSBtb2R1bGVzLmJ1Z3ppbGxhIGltcG9ydCBwYXJzZV9idWdfaWQKLWZyb20g
bW9kdWxlcy5idWlsZHN0ZXBzIGltcG9ydCBDb21tYW5kT3B0aW9ucywgQnVpbGRTdGVwcywgRW5z
dXJlQnVpbGRlcnNBcmVHcmVlblN0ZXAsIENsZWFuV29ya2luZ0RpcmVjdG9yeVN0ZXAsIFVwZGF0
ZVN0ZXAsIEFwcGx5UGF0Y2hTdGVwLCBCdWlsZFN0ZXAsIENoZWNrU3R5bGVTdGVwLCBQcmVwYXJl
Q2hhbmdlbG9nU3RlcAorIyBGSVhNRTogVGhpcyBsaXN0IGlzIHJlZGljdWxvdXMuICBXZSBuZWVk
IHRvIGxlYXJuIHRoZSB3YXlzIG9mIF9fYWxsX18uCitmcm9tIG1vZHVsZXMuYnVpbGRzdGVwcyBp
bXBvcnQgQ29tbWFuZE9wdGlvbnMsIEJ1aWxkU3RlcHMsIEVuc3VyZUJ1aWxkZXJzQXJlR3JlZW5T
dGVwLCBVcGRhdGVDaGFuZ2Vsb2dzV2l0aFJldmlld2VyU3RlcCwgQ2xlYW5Xb3JraW5nRGlyZWN0
b3J5U3RlcCwgVXBkYXRlU3RlcCwgQXBwbHlQYXRjaFN0ZXAsIEJ1aWxkU3RlcCwgQ2hlY2tTdHls
ZVN0ZXAsIFJ1blRlc3RzU3RlcCwgQ29tbWl0U3RlcCwgQ2xvc2VQYXRjaFN0ZXAsIENsb3NlQnVn
U3RlcCwgQ2xvc2VCdWdGb3JMYW5kRGlmZlN0ZXAsIFByZXBhcmVDaGFuZ2Vsb2dTdGVwCiBmcm9t
IG1vZHVsZXMuY2hhbmdlbG9ncyBpbXBvcnQgQ2hhbmdlTG9nCiBmcm9tIG1vZHVsZXMuY29tbWVu
dHMgaW1wb3J0IGJ1Z19jb21tZW50X2Zyb21fY29tbWl0X3RleHQKIGZyb20gbW9kdWxlcy5leGVj
dXRpdmUgaW1wb3J0IFNjcmlwdEVycm9yCiBmcm9tIG1vZHVsZXMuZ3JhbW1hciBpbXBvcnQgcGx1
cmFsaXplCi1mcm9tIG1vZHVsZXMubGFuZGluZ3NlcXVlbmNlIGltcG9ydCBMYW5kaW5nU2VxdWVu
Y2UKIGZyb20gbW9kdWxlcy5sb2dnaW5nIGltcG9ydCBlcnJvciwgbG9nCiBmcm9tIG1vZHVsZXMu
bXVsdGljb21tYW5kdG9vbCBpbXBvcnQgQ29tbWFuZAogZnJvbSBtb2R1bGVzLnN0ZXBzZXF1ZW5j
ZSBpbXBvcnQgU3RlcFNlcXVlbmNlCkBAIC0xMDEsOSArMTAxLDkgQEAgY2xhc3MgV2ViS2l0QXBw
bHlpbmdTY3JpcHRzOgogICAgIEBzdGF0aWNtZXRob2QKICAgICBkZWYgc2V0dXBfZm9yX3BhdGNo
X2FwcGx5KHRvb2wsIG9wdGlvbnMpOgogICAgICAgICBjbGVhbl9zdGVwID0gQ2xlYW5Xb3JraW5n
RGlyZWN0b3J5U3RlcCh0b29sLCBvcHRpb25zLCBhbGxvd19sb2NhbF9jb21taXRzPVRydWUpCi0g
ICAgICAgIGNsZWFuX3N0ZXAucnVuKCkKKyAgICAgICAgY2xlYW5fc3RlcC5ydW4oe30pCiAgICAg
ICAgIHVwZGF0ZV9zdGVwID0gVXBkYXRlU3RlcCh0b29sLCBvcHRpb25zKQotICAgICAgICB1cGRh
dGVfc3RlcC5ydW4oKQorICAgICAgICB1cGRhdGVfc3RlcC5ydW4oe30pCiAKICAgICBAc3RhdGlj
bWV0aG9kCiAgICAgZGVmIGFwcGx5X3BhdGNoZXNfd2l0aF9vcHRpb25zKHNjbSwgcGF0Y2hlcywg
b3B0aW9ucyk6CkBAIC0xMTgsODAgKzExOCwyOSBAQCBjbGFzcyBXZWJLaXRBcHBseWluZ1Njcmlw
dHM6CiAgICAgICAgICAgICAgICAgc2NtLmNvbW1pdF9sb2NhbGx5X3dpdGhfbWVzc2FnZShjb21t
aXRfbWVzc2FnZS5tZXNzYWdlKCkgb3IgcGF0Y2hbIm5hbWUiXSkKIAogCi1jbGFzcyBMYW5kRGlm
ZlNlcXVlbmNlKExhbmRpbmdTZXF1ZW5jZSk6Ci0gICAgZGVmIHJ1bihzZWxmKToKLSAgICAgICAg
c2VsZi5jaGVja19idWlsZGVycygpCi0gICAgICAgIHNlbGYuYnVpbGQoKQotICAgICAgICBzZWxm
LnRlc3QoKQotICAgICAgICBjb21taXRfbG9nID0gc2VsZi5jb21taXQoKQotICAgICAgICBzZWxm
LmNsb3NlX2J1Zyhjb21taXRfbG9nKQotCi0gICAgZGVmIGNsb3NlX2J1ZyhzZWxmLCBjb21taXRf
bG9nKToKLSAgICAgICAgY29tbWVudF90ZXN0ID0gYnVnX2NvbW1lbnRfZnJvbV9jb21taXRfdGV4
dChzZWxmLl90b29sLnNjbSgpLCBjb21taXRfbG9nKQotICAgICAgICBidWdfaWQgPSBzZWxmLl9w
YXRjaFsiYnVnX2lkIl0KLSAgICAgICAgaWYgYnVnX2lkOgotICAgICAgICAgICAgbG9nKCJVcGRh
dGluZyBidWcgJXMiICUgYnVnX2lkKQotICAgICAgICAgICAgaWYgc2VsZi5fb3B0aW9ucy5jbG9z
ZV9idWc6Ci0gICAgICAgICAgICAgICAgc2VsZi5fdG9vbC5idWdzLmNsb3NlX2J1Z19hc19maXhl
ZChidWdfaWQsIGNvbW1lbnRfdGVzdCkKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAg
ICAgIyBGSVhNRTogV2Ugc2hvdWxkIGEgc21hcnQgd2F5IHRvIGZpZ3VyZSBvdXQgaWYgdGhlIHBh
dGNoIGlzIGF0dGFjaGVkCi0gICAgICAgICAgICAgICAgIyB0byB0aGUgYnVnLCBhbmQgaWYgc28g
b2Jzb2xldGUgaXQuCi0gICAgICAgICAgICAgICAgc2VsZi5fdG9vbC5idWdzLnBvc3RfY29tbWVu
dF90b19idWcoYnVnX2lkLCBjb21tZW50X3Rlc3QpCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAg
ICBsb2coY29tbWVudF90ZXN0KQotICAgICAgICAgICAgbG9nKCJObyBidWcgaWQgcHJvdmlkZWQu
IikKLQotCiBjbGFzcyBMYW5kRGlmZihDb21tYW5kKToKICAgICBuYW1lID0gImxhbmQtZGlmZiIK
ICAgICBzaG93X2luX21haW5faGVscCA9IFRydWUKICAgICBkZWYgX19pbml0X18oc2VsZik6Ci0g
ICAgICAgIG9wdGlvbnMgPSBbCi0gICAgICAgICAgICBtYWtlX29wdGlvbigiLXIiLCAiLS1yZXZp
ZXdlciIsIGFjdGlvbj0ic3RvcmUiLCB0eXBlPSJzdHJpbmciLCBkZXN0PSJyZXZpZXdlciIsIGhl
bHA9IlVwZGF0ZSBDaGFuZ2VMb2dzIHRvIHNheSBSZXZpZXdlZCBieSBSRVZJRVdFUi4iKSwKLSAg
ICAgICAgXQotICAgICAgICBvcHRpb25zICs9IEJ1aWxkU3RlcHMuYnVpbGRfb3B0aW9ucygpCi0g
ICAgICAgIG9wdGlvbnMgKz0gQnVpbGRTdGVwcy5sYW5kX29wdGlvbnMoKQotICAgICAgICBDb21t
YW5kLl9faW5pdF9fKHNlbGYsICJMYW5kIHRoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5IGRp
ZmYgYW5kIHVwZGF0ZXMgdGhlIGFzc29jaWF0ZWQgYnVnIGlmIGFueSIsICJbQlVHSURdIiwgb3B0
aW9ucz1vcHRpb25zKQotCi0gICAgZGVmIGd1ZXNzX3Jldmlld2VyX2Zyb21fYnVnKHNlbGYsIGJ1
Z3MsIGJ1Z19pZCk6Ci0gICAgICAgIHBhdGNoZXMgPSBidWdzLmZldGNoX3Jldmlld2VkX3BhdGNo
ZXNfZnJvbV9idWcoYnVnX2lkKQotICAgICAgICBpZiBsZW4ocGF0Y2hlcykgIT0gMToKLSAgICAg
ICAgICAgIGxvZygiJXMgb24gYnVnICVzLCBjYW5ub3QgaW5mZXIgcmV2aWV3ZXIuIiAlIChwbHVy
YWxpemUoInJldmlld2VkIHBhdGNoIiwgbGVuKHBhdGNoZXMpKSwgYnVnX2lkKSkKLSAgICAgICAg
ICAgIHJldHVybiBOb25lCi0gICAgICAgIHBhdGNoID0gcGF0Y2hlc1swXQotICAgICAgICByZXZp
ZXdlciA9IHBhdGNoWyJyZXZpZXdlciJdCi0gICAgICAgIGxvZygiR3Vlc3NpbmcgXCIlc1wiIGFz
IHJldmlld2VyIGZyb20gYXR0YWNobWVudCAlcyBvbiBidWcgJXMuIiAlIChyZXZpZXdlciwgcGF0
Y2hbImlkIl0sIGJ1Z19pZCkpCi0gICAgICAgIHJldHVybiByZXZpZXdlcgotCi0gICAgZGVmIHVw
ZGF0ZV9jaGFuZ2Vsb2dzX3dpdGhfcmV2aWV3ZXIoc2VsZiwgcmV2aWV3ZXIsIGJ1Z19pZCwgdG9v
bCk6Ci0gICAgICAgIGlmIG5vdCByZXZpZXdlcjoKLSAgICAgICAgICAgIGlmIG5vdCBidWdfaWQ6
Ci0gICAgICAgICAgICAgICAgbG9nKCJObyBidWcgaWQgcHJvdmlkZWQgYW5kIC0tcmV2aWV3ZXI9
IG5vdCBwcm92aWRlZC4gIE5vdCB1cGRhdGluZyBDaGFuZ2VMb2dzIHdpdGggcmV2aWV3ZXIuIikK
LSAgICAgICAgICAgICAgICByZXR1cm4KLSAgICAgICAgICAgIHJldmlld2VyID0gc2VsZi5ndWVz
c19yZXZpZXdlcl9mcm9tX2J1Zyh0b29sLmJ1Z3MsIGJ1Z19pZCkKLQotICAgICAgICBpZiBub3Qg
cmV2aWV3ZXI6Ci0gICAgICAgICAgICBsb2coIkZhaWxlZCB0byBndWVzcyByZXZpZXdlciBmcm9t
IGJ1ZyAlcyBhbmQgLS1yZXZpZXdlcj0gbm90IHByb3ZpZGVkLiAgTm90IHVwZGF0aW5nIENoYW5n
ZUxvZ3Mgd2l0aCByZXZpZXdlci4iICUgYnVnX2lkKQotICAgICAgICAgICAgcmV0dXJuCi0KLSAg
ICAgICAgZm9yIGNoYW5nZWxvZ19wYXRoIGluIHRvb2wuc2NtKCkubW9kaWZpZWRfY2hhbmdlbG9n
cygpOgotICAgICAgICAgICAgQ2hhbmdlTG9nKGNoYW5nZWxvZ19wYXRoKS5zZXRfcmV2aWV3ZXIo
cmV2aWV3ZXIpCisgICAgICAgIHNlbGYuX3NlcXVlbmNlID0gU3RlcFNlcXVlbmNlKFsKKyAgICAg
ICAgICAgIEVuc3VyZUJ1aWxkZXJzQXJlR3JlZW5TdGVwLAorICAgICAgICAgICAgVXBkYXRlQ2hh
bmdlbG9nc1dpdGhSZXZpZXdlclN0ZXAsCisgICAgICAgICAgICBFbnN1cmVCdWlsZGVyc0FyZUdy
ZWVuU3RlcCwKKyAgICAgICAgICAgIEJ1aWxkU3RlcCwKKyAgICAgICAgICAgIFJ1blRlc3RzU3Rl
cCwKKyAgICAgICAgICAgIENvbW1pdFN0ZXAsCisgICAgICAgICAgICBDbG9zZUJ1Z0ZvckxhbmRE
aWZmU3RlcCwKKyAgICAgICAgXSkKKyAgICAgICAgQ29tbWFuZC5fX2luaXRfXyhzZWxmLCAiTGFu
ZCB0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeSBkaWZmIGFuZCB1cGRhdGVzIHRoZSBhc3Nv
Y2lhdGVkIGJ1ZyBpZiBhbnkiLCAiW0JVR0lEXSIsIG9wdGlvbnM9c2VsZi5fc2VxdWVuY2Uub3B0
aW9ucygpKQogCiAgICAgZGVmIGV4ZWN1dGUoc2VsZiwgb3B0aW9ucywgYXJncywgdG9vbCk6CiAg
ICAgICAgIGJ1Z19pZCA9IChhcmdzIGFuZCBhcmdzWzBdKSBvciBwYXJzZV9idWdfaWQodG9vbC5z
Y20oKS5jcmVhdGVfcGF0Y2goKSkKLQotICAgICAgICBFbnN1cmVCdWlsZGVyc0FyZUdyZWVuU3Rl
cCh0b29sLCBvcHRpb25zKS5ydW4oKQotCi0gICAgICAgIG9zLmNoZGlyKHRvb2wuc2NtKCkuY2hl
Y2tvdXRfcm9vdCkKLSAgICAgICAgc2VsZi51cGRhdGVfY2hhbmdlbG9nc193aXRoX3Jldmlld2Vy
KG9wdGlvbnMucmV2aWV3ZXIsIGJ1Z19pZCwgdG9vbCkKLQogICAgICAgICBmYWtlX3BhdGNoID0g
ewogICAgICAgICAgICAgImlkIjogTm9uZSwKLSAgICAgICAgICAgICJidWdfaWQiOiBidWdfaWQK
KyAgICAgICAgICAgICJidWdfaWQiOiBidWdfaWQsCiAgICAgICAgIH0KLQotICAgICAgICBzZXF1
ZW5jZSA9IExhbmREaWZmU2VxdWVuY2UoZmFrZV9wYXRjaCwgb3B0aW9ucywgdG9vbCkKLSAgICAg
ICAgc2VxdWVuY2UucnVuKCkKKyAgICAgICAgc3RhdGUgPSB7InBhdGNoIjogZmFrZV9wYXRjaH0K
KyAgICAgICAgc2VsZi5fc2VxdWVuY2UucnVuX2FuZF9oYW5kbGVfZXJyb3JzKHRvb2wsIG9wdGlv
bnMsIHN0YXRlKQogCiAKIGNsYXNzIEFic3RyYWN0UGF0Y2hQcm9jZXNzaW5nQ29tbWFuZChDb21t
YW5kKToKQEAgLTI0Miw4ICsxOTEsMTAgQEAgY2xhc3MgQ2hlY2tTdHlsZShBYnN0cmFjdFBhdGNo
UHJvY2Vzc2luZ0NvbW1hbmQpOgogICAgIGRlZiBfcHJlcGFyZV90b19wcm9jZXNzKHNlbGYsIG9w
dGlvbnMsIGFyZ3MsIHRvb2wpOgogICAgICAgICBwYXNzCiAKKyAgICAjIEZJWE1FOiBBZGQgYSBi
YXNlIGNsYXNzIHRvIHNoYXJlIHRoaXMgY29kZS4KICAgICBkZWYgX3Byb2Nlc3NfcGF0Y2goc2Vs
ZiwgcGF0Y2gsIG9wdGlvbnMsIGFyZ3MsIHRvb2wpOgotICAgICAgICBzZWxmLl9zZXF1ZW5jZS5y
dW5fYW5kX2hhbmRsZV9lcnJvcnModG9vbCwgb3B0aW9ucywgcGF0Y2gpCisgICAgICAgIHN0YXRl
ID0geyJwYXRjaCI6IHBhdGNofQorICAgICAgICBzZWxmLl9zZXF1ZW5jZS5ydW5fYW5kX2hhbmRs
ZV9lcnJvcnModG9vbCwgb3B0aW9ucywgc3RhdGUpCiAKIAogY2xhc3MgQnVpbGRBdHRhY2htZW50
KEFic3RyYWN0UGF0Y2hQcm9jZXNzaW5nQ29tbWFuZCk6CkBAIC0yNjQsMjQgKzIxNSwzNSBAQCBj
bGFzcyBCdWlsZEF0dGFjaG1lbnQoQWJzdHJhY3RQYXRjaFByb2Nlc3NpbmdDb21tYW5kKToKICAg
ICBkZWYgX3ByZXBhcmVfdG9fcHJvY2VzcyhzZWxmLCBvcHRpb25zLCBhcmdzLCB0b29sKToKICAg
ICAgICAgcGFzcwogCisgICAgIyBGSVhNRTogQWRkIGEgYmFzZSBjbGFzcyB0byBzaGFyZSB0aGlz
IGNvZGUuCiAgICAgZGVmIF9wcm9jZXNzX3BhdGNoKHNlbGYsIHBhdGNoLCBvcHRpb25zLCBhcmdz
LCB0b29sKToKLSAgICAgICAgc2VsZi5fc2VxdWVuY2UucnVuX2FuZF9oYW5kbGVfZXJyb3JzKHRv
b2wsIG9wdGlvbnMsIHBhdGNoKQorICAgICAgICBzdGF0ZSA9IHsicGF0Y2giOiBwYXRjaH0KKyAg
ICAgICAgc2VsZi5fc2VxdWVuY2UucnVuX2FuZF9oYW5kbGVfZXJyb3JzKHRvb2wsIG9wdGlvbnMs
IHN0YXRlKQogCiAKIGNsYXNzIEFic3RyYWN0UGF0Y2hMYW5kaW5nQ29tbWFuZChBYnN0cmFjdFBh
dGNoUHJvY2Vzc2luZ0NvbW1hbmQpOgogICAgIGRlZiBfX2luaXRfXyhzZWxmLCBoZWxwX3RleHQs
IGFyZ3NfZGVzY3JpcHRpb24pOgotICAgICAgICBvcHRpb25zID0gQnVpbGRTdGVwcy5jbGVhbmlu
Z19vcHRpb25zKCkKLSAgICAgICAgb3B0aW9ucyArPSBCdWlsZFN0ZXBzLmJ1aWxkX29wdGlvbnMo
KQotICAgICAgICBvcHRpb25zICs9IEJ1aWxkU3RlcHMubGFuZF9vcHRpb25zKCkKLSAgICAgICAg
QWJzdHJhY3RQYXRjaFByb2Nlc3NpbmdDb21tYW5kLl9faW5pdF9fKHNlbGYsIGhlbHBfdGV4dCwg
YXJnc19kZXNjcmlwdGlvbiwgb3B0aW9ucykKKyAgICAgICAgc2VsZi5fc2VxdWVuY2UgPSBTdGVw
U2VxdWVuY2UoWworICAgICAgICAgICAgQ2xlYW5Xb3JraW5nRGlyZWN0b3J5U3RlcCwKKyAgICAg
ICAgICAgIFVwZGF0ZVN0ZXAsCisgICAgICAgICAgICBBcHBseVBhdGNoU3RlcCwKKyAgICAgICAg
ICAgIEVuc3VyZUJ1aWxkZXJzQXJlR3JlZW5TdGVwLAorICAgICAgICAgICAgQnVpbGRTdGVwLAor
ICAgICAgICAgICAgUnVuVGVzdHNTdGVwLAorICAgICAgICAgICAgQ29tbWl0U3RlcCwKKyAgICAg
ICAgICAgIENsb3NlUGF0Y2hTdGVwLAorICAgICAgICAgICAgQ2xvc2VCdWdTdGVwLAorICAgICAg
ICBdKQorICAgICAgICBBYnN0cmFjdFBhdGNoUHJvY2Vzc2luZ0NvbW1hbmQuX19pbml0X18oc2Vs
ZiwgaGVscF90ZXh0LCBhcmdzX2Rlc2NyaXB0aW9uLCBzZWxmLl9zZXF1ZW5jZS5vcHRpb25zKCkp
CiAKICAgICBkZWYgX3ByZXBhcmVfdG9fcHJvY2VzcyhzZWxmLCBvcHRpb25zLCBhcmdzLCB0b29s
KToKICAgICAgICAgIyBDaGVjayB0aGUgdHJlZSBzdGF0dXMgZmlyc3Qgc28gd2UgY2FuIGZhaWwg
ZWFybHkuCi0gICAgICAgIEVuc3VyZUJ1aWxkZXJzQXJlR3JlZW5TdGVwKHRvb2wsIG9wdGlvbnMp
LnJ1bigpCisgICAgICAgIEVuc3VyZUJ1aWxkZXJzQXJlR3JlZW5TdGVwKHRvb2wsIG9wdGlvbnMp
LnJ1bih7fSkKIAorICAgICMgRklYTUU6IEFkZCBhIGJhc2UgY2xhc3MgdG8gc2hhcmUgdGhpcyBj
b2RlLgogICAgIGRlZiBfcHJvY2Vzc19wYXRjaChzZWxmLCBwYXRjaCwgb3B0aW9ucywgYXJncywg
dG9vbCk6Ci0gICAgICAgIHNlcXVlbmNlID0gTGFuZGluZ1NlcXVlbmNlKHBhdGNoLCBvcHRpb25z
LCB0b29sKQotICAgICAgICBzZXF1ZW5jZS5ydW5fYW5kX2hhbmRsZV9lcnJvcnMoKQorICAgICAg
ICBzdGF0ZSA9IHsicGF0Y2giOiBwYXRjaH0KKyAgICAgICAgc2VsZi5fc2VxdWVuY2UucnVuX2Fu
ZF9oYW5kbGVfZXJyb3JzKHRvb2wsIG9wdGlvbnMsIHN0YXRlKQogCiAKIGNsYXNzIExhbmRBdHRh
Y2htZW50KEFic3RyYWN0UGF0Y2hMYW5kaW5nQ29tbWFuZCk6CkBAIC0zMjgsNyArMjkwLDcgQEAg
Y2xhc3MgUm9sbG91dChDb21tYW5kKToKIAogICAgICAgICAjIFNlY29uZCwgbWFrZSBuZXcgQ2hh
bmdlTG9nIGVudHJpZXMgZm9yIHRoaXMgcm9sbG91dC4KICAgICAgICAgIyBUaGlzIGNvdWxkIG1v
dmUgdG8gcHJlcGFyZS1DaGFuZ2VMb2cgYnkgYWRkaW5nIGEgLS1yZXZlcnQ9IG9wdGlvbi4KLSAg
ICAgICAgUHJlcGFyZUNoYW5nZWxvZ1N0ZXAodG9vbCwgTm9uZSkucnVuKCkKKyAgICAgICAgUHJl
cGFyZUNoYW5nZWxvZ1N0ZXAodG9vbCwgTm9uZSkucnVuKHt9KQogICAgICAgICBmb3IgY2hhbmdl
bG9nX3BhdGggaW4gY2hhbmdlbG9nX3BhdGhzOgogICAgICAgICAgICAgQ2hhbmdlTG9nKGNoYW5n
ZWxvZ19wYXRoKS51cGRhdGVfZm9yX3JldmVydChyZXZpc2lvbikKIApAQCAtMzU0LDggKzMxNiw4
IEBAIGNsYXNzIFJvbGxvdXQoQ29tbWFuZCk6CiAgICAgICAgICAgICBlbHNlOgogICAgICAgICAg
ICAgICAgIGxvZygiRmFpbGVkIHRvIHBhcnNlIGJ1ZyBudW1iZXIgZnJvbSBkaWZmLiAgTm8gYnVn
cyB3aWxsIGJlIHVwZGF0ZWQvcmVvcGVuZWQgYWZ0ZXIgdGhlIHJvbGxvdXQuIikKIAotICAgICAg
ICBDbGVhbldvcmtpbmdEaXJlY3RvcnlTdGVwKHRvb2wsIG9wdGlvbnMpLnJ1bigpCi0gICAgICAg
IFVwZGF0ZVN0ZXAodG9vbCwgb3B0aW9ucykucnVuKCkKKyAgICAgICAgQ2xlYW5Xb3JraW5nRGly
ZWN0b3J5U3RlcCh0b29sLCBvcHRpb25zKS5ydW4oe30pCisgICAgICAgIFVwZGF0ZVN0ZXAodG9v
bCwgb3B0aW9ucykucnVuKHt9KQogICAgICAgICB0b29sLnNjbSgpLmFwcGx5X3JldmVyc2VfZGlm
ZihyZXZpc2lvbikKICAgICAgICAgc2VsZi5fY3JlYXRlX2NoYW5nZWxvZ3NfZm9yX3JldmVydCh0
b29sLCByZXZpc2lvbikKIApkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvU2NyaXB0cy9tb2R1bGVz
L2NvbW1hbmRzL3F1ZXVlcy5weSBiL1dlYktpdFRvb2xzL1NjcmlwdHMvbW9kdWxlcy9jb21tYW5k
cy9xdWV1ZXMucHkKaW5kZXggNTNiOWU0OC4uZWY4M2E2NyAxMDA2NDQKLS0tIGEvV2ViS2l0VG9v
bHMvU2NyaXB0cy9tb2R1bGVzL2NvbW1hbmRzL3F1ZXVlcy5weQorKysgYi9XZWJLaXRUb29scy9T
Y3JpcHRzL21vZHVsZXMvY29tbWFuZHMvcXVldWVzLnB5CkBAIC0zNSwxMSArMzUsMTEgQEAgZnJv
bSBvcHRwYXJzZSBpbXBvcnQgbWFrZV9vcHRpb24KIAogZnJvbSBtb2R1bGVzLmV4ZWN1dGl2ZSBp
bXBvcnQgU2NyaXB0RXJyb3IKIGZyb20gbW9kdWxlcy5ncmFtbWFyIGltcG9ydCBwbHVyYWxpemUK
LWZyb20gbW9kdWxlcy5sYW5kaW5nc2VxdWVuY2UgaW1wb3J0IExhbmRpbmdTZXF1ZW5jZSwgTGFu
ZGluZ1NlcXVlbmNlRXJyb3JIYW5kbGVyCiBmcm9tIG1vZHVsZXMubG9nZ2luZyBpbXBvcnQgZXJy
b3IsIGxvZwogZnJvbSBtb2R1bGVzLm11bHRpY29tbWFuZHRvb2wgaW1wb3J0IENvbW1hbmQKIGZy
b20gbW9kdWxlcy5wYXRjaGNvbGxlY3Rpb24gaW1wb3J0IFBlcnNpc3RlbnRQYXRjaENvbGxlY3Rp
b24sIFBlcnNpc3RlbnRQYXRjaENvbGxlY3Rpb25EZWxlZ2F0ZQogZnJvbSBtb2R1bGVzLnN0YXR1
c2JvdCBpbXBvcnQgU3RhdHVzQm90Citmcm9tIG1vZHVsZXMuc3RlcHNlcXVlbmNlIGltcG9ydCBT
dGVwU2VxdWVuY2VFcnJvckhhbmRsZXIKIGZyb20gbW9kdWxlcy53b3JrcXVldWUgaW1wb3J0IFdv
cmtRdWV1ZSwgV29ya1F1ZXVlRGVsZWdhdGUKIAogY2xhc3MgQWJzdHJhY3RRdWV1ZShDb21tYW5k
LCBXb3JrUXVldWVEZWxlZ2F0ZSk6CkBAIC0xMDQsNyArMTA0LDcgQEAgY2xhc3MgQWJzdHJhY3RR
dWV1ZShDb21tYW5kLCBXb3JrUXVldWVEZWxlZ2F0ZSk6CiAgICAgICAgIHJldHVybiB3b3JrX3F1
ZXVlLnJ1bigpCiAKIAotY2xhc3MgQ29tbWl0UXVldWUoQWJzdHJhY3RRdWV1ZSwgTGFuZGluZ1Nl
cXVlbmNlRXJyb3JIYW5kbGVyKToKK2NsYXNzIENvbW1pdFF1ZXVlKEFic3RyYWN0UXVldWUsIFN0
ZXBTZXF1ZW5jZUVycm9ySGFuZGxlcik6CiAgICAgbmFtZSA9ICJjb21taXQtcXVldWUiCiAgICAg
ZGVmIF9faW5pdF9fKHNlbGYpOgogICAgICAgICBBYnN0cmFjdFF1ZXVlLl9faW5pdF9fKHNlbGYp
CkBAIC0xMzYsMTQgKzEzNiwxNCBAQCBjbGFzcyBDb21taXRRdWV1ZShBYnN0cmFjdFF1ZXVlLCBM
YW5kaW5nU2VxdWVuY2VFcnJvckhhbmRsZXIpOgogICAgIGRlZiBoYW5kbGVfdW5leHBlY3RlZF9l
cnJvcihzZWxmLCBwYXRjaCwgbWVzc2FnZSk6CiAgICAgICAgIHNlbGYudG9vbC5idWdzLnJlamVj
dF9wYXRjaF9mcm9tX2NvbW1pdF9xdWV1ZShwYXRjaFsiaWQiXSwgbWVzc2FnZSkKIAotICAgICMg
TGFuZGluZ1NlcXVlbmNlRXJyb3JIYW5kbGVyIG1ldGhvZHMKKyAgICAjIFN0ZXBTZXF1ZW5jZUVy
cm9ySGFuZGxlciBtZXRob2RzCiAKICAgICBAY2xhc3NtZXRob2QKLSAgICBkZWYgaGFuZGxlX3Nj
cmlwdF9lcnJvcihjbHMsIHRvb2wsIHBhdGNoLCBzY3JpcHRfZXJyb3IpOgotICAgICAgICB0b29s
LmJ1Z3MucmVqZWN0X3BhdGNoX2Zyb21fY29tbWl0X3F1ZXVlKHBhdGNoWyJpZCJdLCBzY3JpcHRf
ZXJyb3IubWVzc2FnZV93aXRoX291dHB1dCgpKQorICAgIGRlZiBoYW5kbGVfc2NyaXB0X2Vycm9y
KGNscywgdG9vbCwgc3RhdGUsIHNjcmlwdF9lcnJvcik6CisgICAgICAgIHRvb2wuYnVncy5yZWpl
Y3RfcGF0Y2hfZnJvbV9jb21taXRfcXVldWUoc3RhdGVbInBhdGNoIl1bImlkIl0sIHNjcmlwdF9l
cnJvci5tZXNzYWdlX3dpdGhfb3V0cHV0KCkpCiAKIAotY2xhc3MgQWJzdHJhY3RSZXZpZXdRdWV1
ZShBYnN0cmFjdFF1ZXVlLCBQZXJzaXN0ZW50UGF0Y2hDb2xsZWN0aW9uRGVsZWdhdGUsIExhbmRp
bmdTZXF1ZW5jZUVycm9ySGFuZGxlcik6CitjbGFzcyBBYnN0cmFjdFJldmlld1F1ZXVlKEFic3Ry
YWN0UXVldWUsIFBlcnNpc3RlbnRQYXRjaENvbGxlY3Rpb25EZWxlZ2F0ZSwgU3RlcFNlcXVlbmNl
RXJyb3JIYW5kbGVyKToKICAgICBkZWYgX19pbml0X18oc2VsZiwgb3B0aW9ucz1Ob25lKToKICAg
ICAgICAgQWJzdHJhY3RRdWV1ZS5fX2luaXRfXyhzZWxmLCBvcHRpb25zKQogCkBAIC0xNzksMTAg
KzE3OSwxMCBAQCBjbGFzcyBBYnN0cmFjdFJldmlld1F1ZXVlKEFic3RyYWN0UXVldWUsIFBlcnNp
c3RlbnRQYXRjaENvbGxlY3Rpb25EZWxlZ2F0ZSwgTGFuZAogICAgIGRlZiBoYW5kbGVfdW5leHBl
Y3RlZF9lcnJvcihzZWxmLCBwYXRjaCwgbWVzc2FnZSk6CiAgICAgICAgIGxvZyhtZXNzYWdlKQog
Ci0gICAgIyBMYW5kaW5nU2VxdWVuY2VFcnJvckhhbmRsZXIgbWV0aG9kcworICAgICMgU3RlcFNl
cXVlbmNlRXJyb3JIYW5kbGVyIG1ldGhvZHMKIAogICAgIEBjbGFzc21ldGhvZAotICAgIGRlZiBo
YW5kbGVfc2NyaXB0X2Vycm9yKGNscywgdG9vbCwgcGF0Y2gsIHNjcmlwdF9lcnJvcik6CisgICAg
ZGVmIGhhbmRsZV9zY3JpcHRfZXJyb3IoY2xzLCB0b29sLCBzdGF0ZSwgc2NyaXB0X2Vycm9yKToK
ICAgICAgICAgbG9nKHNjcmlwdF9lcnJvci5tZXNzYWdlX3dpdGhfb3V0cHV0KCkpCiAKIApAQCAt
MjA1LDEyICsyMDUsMTIgQEAgY2xhc3MgU3R5bGVRdWV1ZShBYnN0cmFjdFJldmlld1F1ZXVlKToK
ICAgICAgICAgICAgIHJhaXNlIGUKIAogICAgIEBjbGFzc21ldGhvZAotICAgIGRlZiBoYW5kbGVf
c2NyaXB0X2Vycm9yKGNscywgdG9vbCwgcGF0Y2gsIHNjcmlwdF9lcnJvcik6CisgICAgZGVmIGhh
bmRsZV9zY3JpcHRfZXJyb3IoY2xzLCB0b29sLCBzdGF0ZSwgc2NyaXB0X2Vycm9yKToKICAgICAg
ICAgY29tbWFuZCA9IHNjcmlwdF9lcnJvci5zY3JpcHRfYXJncwogICAgICAgICBpZiB0eXBlKGNv
bW1hbmQpIGlzIGxpc3Q6CiAgICAgICAgICAgICBjb21tYW5kID0gY29tbWFuZFswXQogICAgICAg
ICAjIEZJWE1FOiBXZSBzaG91bGRuJ3QgbmVlZCB0byB1c2UgYSByZWdleHAgaGVyZS4gIFNjcmlw
dEVycm9yIHNob3VsZAogICAgICAgICAjICAgICAgICBoYXZlIGEgYmV0dGVyIEFQSS4KICAgICAg
ICAgaWYgcmUuc2VhcmNoKCJjaGVjay13ZWJraXQtc3R5bGUiLCBjb21tYW5kKToKLSAgICAgICAg
ICAgIG1lc3NhZ2UgPSAiQXR0YWNobWVudCAlcyBkaWQgbm90IHBhc3MgJXM6XG5cbiVzIiAlIChw
YXRjaFsiaWQiXSwgY2xzLm5hbWUsIHNjcmlwdF9lcnJvci5tZXNzYWdlX3dpdGhfb3V0cHV0KG91
dHB1dF9saW1pdD01KjEwMjQpKQotICAgICAgICAgICAgdG9vbC5idWdzLnBvc3RfY29tbWVudF90
b19idWcocGF0Y2hbImJ1Z19pZCJdLCBtZXNzYWdlLCBjYz1jbHMud2F0Y2hlcnMpCisgICAgICAg
ICAgICBtZXNzYWdlID0gIkF0dGFjaG1lbnQgJXMgZGlkIG5vdCBwYXNzICVzOlxuXG4lcyIgJSAo
c3RhdGVbInBhdGNoIl1bImlkIl0sIGNscy5uYW1lLCBzY3JpcHRfZXJyb3IubWVzc2FnZV93aXRo
X291dHB1dChvdXRwdXRfbGltaXQ9NSoxMDI0KSkKKyAgICAgICAgICAgIHRvb2wuYnVncy5wb3N0
X2NvbW1lbnRfdG9fYnVnKHN0YXRlWyJwYXRjaCJdWyJidWdfaWQiXSwgbWVzc2FnZSwgY2M9Y2xz
LndhdGNoZXJzKQpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvU2NyaXB0cy9tb2R1bGVzL2xhbmRp
bmdzZXF1ZW5jZS5weSBiL1dlYktpdFRvb2xzL1NjcmlwdHMvbW9kdWxlcy9sYW5kaW5nc2VxdWVu
Y2UucHkKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDkwNjgzZjQuLjAwMDAwMDAKLS0t
IGEvV2ViS2l0VG9vbHMvU2NyaXB0cy9tb2R1bGVzL2xhbmRpbmdzZXF1ZW5jZS5weQorKysgL2Rl
di9udWxsCkBAIC0xLDExMyArMCwwIEBACi0jIS91c3IvYmluL2VudiBweXRob24KLSMgQ29weXJp
Z2h0IChjKSAyMDA5LCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotIyBDb3B5cmln
aHQgKGMpIDIwMDkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotIwotIyBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKLSMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zIGFyZQotIyBtZXQ6Ci0jIAotIyAgICAgKiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotIyBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0j
ICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUKLSMgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgotIyBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCi0jIGRpc3RyaWJ1dGlvbi4KLSMgICAgICog
TmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwotIyBj
b250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRl
cml2ZWQgZnJvbQotIyB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRl
biBwZXJtaXNzaW9uLgotIyAKLSMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09Q
WVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwotIyAiQVMgSVMiIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAotIyBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IKLSMgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQKLSMgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCi0jIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKLSMgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsCi0jIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWQotIyBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0jIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotIyBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgotCi1mcm9tIG1vZHVsZXMuY29tbWVudHMgaW1wb3J0IGJ1Z19jb21tZW50X2Zyb21f
Y29tbWl0X3RleHQKLWZyb20gbW9kdWxlcy5leGVjdXRpdmUgaW1wb3J0IFNjcmlwdEVycm9yCi1m
cm9tIG1vZHVsZXMubG9nZ2luZyBpbXBvcnQgbG9nCi1mcm9tIG1vZHVsZXMuc2NtIGltcG9ydCBD
aGVja291dE5lZWRzVXBkYXRlCi1mcm9tIG1vZHVsZXMud2Via2l0cG9ydCBpbXBvcnQgV2ViS2l0
UG9ydAotZnJvbSBtb2R1bGVzLndvcmtxdWV1ZSBpbXBvcnQgV29ya1F1ZXVlCi1mcm9tIG1vZHVs
ZXMuYnVpbGRzdGVwcyBpbXBvcnQgQ2xlYW5Xb3JraW5nRGlyZWN0b3J5U3RlcCwgVXBkYXRlU3Rl
cCwgQXBwbHlQYXRjaFN0ZXAsIEVuc3VyZUJ1aWxkZXJzQXJlR3JlZW5TdGVwLCBCdWlsZFN0ZXAs
IFJ1blRlc3RzU3RlcCwgQ29tbWl0U3RlcCwgQ2xvc2VQYXRjaFN0ZXAsIENsb3NlQnVnU3RlcAot
Ci0KLWNsYXNzIExhbmRpbmdTZXF1ZW5jZUVycm9ySGFuZGxlcigpOgotICAgIEBjbGFzc21ldGhv
ZAotICAgIGRlZiBoYW5kbGVfc2NyaXB0X2Vycm9yKGNscywgdG9vbCwgcGF0Y2gsIHNjcmlwdF9l
cnJvcik6Ci0gICAgICAgIHJhaXNlIE5vdEltcGxlbWVudGVkRXJyb3IsICJzdWJjbGFzc2VzIG11
c3QgaW1wbGVtZW50IgotCi0jIEZJWE1FOiBUaGlzIGNsYXNzIGlzIHNsb3dpbmcgYmVpbmcga2ls
bGVkIGFuZCByZXBsYWNlZCB3aXRoIFN0ZXBTZXF1ZW5jZS4KLWNsYXNzIExhbmRpbmdTZXF1ZW5j
ZToKLSAgICBkZWYgX19pbml0X18oc2VsZiwgcGF0Y2gsIG9wdGlvbnMsIHRvb2wpOgotICAgICAg
ICBzZWxmLl9wYXRjaCA9IHBhdGNoCi0gICAgICAgIHNlbGYuX29wdGlvbnMgPSBvcHRpb25zCi0g
ICAgICAgIHNlbGYuX3Rvb2wgPSB0b29sCi0gICAgICAgIHNlbGYuX3BvcnQgPSBXZWJLaXRQb3J0
LnBvcnQoc2VsZi5fb3B0aW9ucy5wb3J0KQotCi0gICAgZGVmIHJ1bihzZWxmKToKLSAgICAgICAg
c2VsZi5jbGVhbigpCi0gICAgICAgIHNlbGYudXBkYXRlKCkKLSAgICAgICAgc2VsZi5hcHBseV9w
YXRjaCgpCi0gICAgICAgIHNlbGYuY2hlY2tfYnVpbGRlcnMoKQotICAgICAgICBzZWxmLmJ1aWxk
KCkKLSAgICAgICAgc2VsZi50ZXN0KCkKLSAgICAgICAgY29tbWl0X2xvZyA9IHNlbGYuY29tbWl0
KCkKLSAgICAgICAgc2VsZi5jbG9zZV9wYXRjaChjb21taXRfbG9nKQotICAgICAgICBzZWxmLmNs
b3NlX2J1ZygpCi0KLSAgICBkZWYgcnVuX2FuZF9oYW5kbGVfZXJyb3JzKHNlbGYpOgotICAgICAg
ICB0cnk6Ci0gICAgICAgICAgICBzZWxmLnJ1bigpCi0gICAgICAgIGV4Y2VwdCBDaGVja291dE5l
ZWRzVXBkYXRlLCBlOgotICAgICAgICAgICAgbG9nKCJDb21taXQgZmFpbGVkIGJlY2F1c2UgdGhl
IGNoZWNrb3V0IGlzIG91dCBvZiBkYXRlLiAgUGxlYXNlIHVwZGF0ZSBhbmQgdHJ5IGFnYWluLiIp
Ci0gICAgICAgICAgICBsb2coIllvdSBjYW4gcGFzcyAtLW5vLWJ1aWxkIHRvIHNraXAgYnVpbGRp
bmcvdGVzdGluZyBhZnRlciB1cGRhdGUgaWYgeW91IGJlbGlldmUgdGhlIG5ldyBjb21taXRzIGRp
ZCBub3QgYWZmZWN0IHRoZSByZXN1bHRzLiIpCi0gICAgICAgICAgICBXb3JrUXVldWUuZXhpdF9h
ZnRlcl9oYW5kbGVkX2Vycm9yKGUpCi0gICAgICAgIGV4Y2VwdCBTY3JpcHRFcnJvciwgZToKLSAg
ICAgICAgICAgIGlmIG5vdCBzZWxmLl9vcHRpb25zLnF1aWV0OgotICAgICAgICAgICAgICAgIGxv
ZyhlLm1lc3NhZ2Vfd2l0aF9vdXRwdXQoKSkKLSAgICAgICAgICAgIGlmIHNlbGYuX29wdGlvbnMu
cGFyZW50X2NvbW1hbmQ6Ci0gICAgICAgICAgICAgICAgY29tbWFuZCA9IHNlbGYuX3Rvb2wuY29t
bWFuZF9ieV9uYW1lKHNlbGYuX29wdGlvbnMucGFyZW50X2NvbW1hbmQpCi0gICAgICAgICAgICAg
ICAgY29tbWFuZC5oYW5kbGVfc2NyaXB0X2Vycm9yKHNlbGYuX3Rvb2wsIHNlbGYuX3BhdGNoLCBl
KQotICAgICAgICAgICAgV29ya1F1ZXVlLmV4aXRfYWZ0ZXJfaGFuZGxlZF9lcnJvcihlKQotCi0g
ICAgZGVmIGNsZWFuKHNlbGYpOgotICAgICAgICBzdGVwID0gQ2xlYW5Xb3JraW5nRGlyZWN0b3J5
U3RlcChzZWxmLl90b29sLCBzZWxmLl9vcHRpb25zKQotICAgICAgICBzdGVwLnJ1bigpCi0KLSAg
ICBkZWYgdXBkYXRlKHNlbGYpOgotICAgICAgICBzdGVwID0gVXBkYXRlU3RlcChzZWxmLl90b29s
LCBzZWxmLl9vcHRpb25zKQotICAgICAgICBzdGVwLnJ1bigpCi0KLSAgICBkZWYgYXBwbHlfcGF0
Y2goc2VsZik6Ci0gICAgICAgIHN0ZXAgPSBBcHBseVBhdGNoU3RlcChzZWxmLl90b29sLCBzZWxm
Ll9vcHRpb25zLCBzZWxmLl9wYXRjaCkKLSAgICAgICAgc3RlcC5ydW4oKQotCi0gICAgZGVmIGNo
ZWNrX2J1aWxkZXJzKHNlbGYpOgotICAgICAgICBzdGVwID0gRW5zdXJlQnVpbGRlcnNBcmVHcmVl
blN0ZXAoc2VsZi5fdG9vbCwgc2VsZi5fb3B0aW9ucykKLSAgICAgICAgc3RlcC5ydW4oKQotCi0g
ICAgZGVmIGJ1aWxkKHNlbGYpOgotICAgICAgICBzdGVwID0gQnVpbGRTdGVwKHNlbGYuX3Rvb2ws
IHNlbGYuX29wdGlvbnMpCi0gICAgICAgIHN0ZXAucnVuKCkKLQotICAgIGRlZiB0ZXN0KHNlbGYp
OgotICAgICAgICBzdGVwID0gUnVuVGVzdHNTdGVwKHNlbGYuX3Rvb2wsIHNlbGYuX29wdGlvbnMp
Ci0gICAgICAgIHN0ZXAucnVuKCkKLQotICAgIGRlZiBjb21taXQoc2VsZik6Ci0gICAgICAgIHN0
ZXAgPSBDb21taXRTdGVwKHNlbGYuX3Rvb2wsIHNlbGYuX29wdGlvbnMpCi0gICAgICAgIHJldHVy
biBzdGVwLnJ1bigpCi0KLSAgICBkZWYgY2xvc2VfcGF0Y2goc2VsZiwgY29tbWl0X2xvZyk6Ci0g
ICAgICAgIHN0ZXAgPSBDbG9zZVBhdGNoU3RlcChzZWxmLl90b29sLCBzZWxmLl9vcHRpb25zLCBz
ZWxmLl9wYXRjaCkKLSAgICAgICAgc3RlcC5ydW4oY29tbWl0X2xvZykKLQotICAgIGRlZiBjbG9z
ZV9idWcoc2VsZik6Ci0gICAgICAgIHN0ZXAgPSBDbG9zZUJ1Z1N0ZXAoc2VsZi5fdG9vbCwgc2Vs
Zi5fb3B0aW9ucywgc2VsZi5fcGF0Y2gpCi0gICAgICAgIHN0ZXAucnVuKCkKZGlmZiAtLWdpdCBh
L1dlYktpdFRvb2xzL1NjcmlwdHMvbW9kdWxlcy9zdGVwc2VxdWVuY2UucHkgYi9XZWJLaXRUb29s
cy9TY3JpcHRzL21vZHVsZXMvc3RlcHNlcXVlbmNlLnB5CmluZGV4IDZmMDg1YzkuLjBlNDNjMzQg
MTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL1NjcmlwdHMvbW9kdWxlcy9zdGVwc2VxdWVuY2UucHkK
KysrIGIvV2ViS2l0VG9vbHMvU2NyaXB0cy9tb2R1bGVzL3N0ZXBzZXF1ZW5jZS5weQpAQCAtMzMs
NiArMzMsMTIgQEAgZnJvbSBtb2R1bGVzLnNjbSBpbXBvcnQgQ2hlY2tvdXROZWVkc1VwZGF0ZQog
ZnJvbSBtb2R1bGVzLndvcmtxdWV1ZSBpbXBvcnQgV29ya1F1ZXVlCiAKIAorY2xhc3MgU3RlcFNl
cXVlbmNlRXJyb3JIYW5kbGVyKCk6CisgICAgQGNsYXNzbWV0aG9kCisgICAgZGVmIGhhbmRsZV9z
Y3JpcHRfZXJyb3IoY2xzLCB0b29sLCBwYXRjaCwgc2NyaXB0X2Vycm9yKToKKyAgICAgICAgcmFp
c2UgTm90SW1wbGVtZW50ZWRFcnJvciwgInN1YmNsYXNzZXMgbXVzdCBpbXBsZW1lbnQiCisKKwog
Y2xhc3MgU3RlcFNlcXVlbmNlKG9iamVjdCk6CiAgICAgZGVmIF9faW5pdF9fKHNlbGYsIHN0ZXBz
KToKICAgICAgICAgc2VsZi5fc3RlcHMgPSBzdGVwcwpAQCAtNDgsMTMgKzU0LDE1IEBAIGNsYXNz
IFN0ZXBTZXF1ZW5jZShvYmplY3QpOgogICAgICAgICBjb2xsZWN0ZWRfb3B0aW9ucyA9IHNvcnRl
ZChzZXQoY29sbGVjdGVkX29wdGlvbnMpKQogICAgICAgICByZXR1cm4gY29sbGVjdGVkX29wdGlv
bnMKIAotICAgIGRlZiBfcnVuKHNlbGYsIHRvb2wsIG9wdGlvbnMsIHBhdGNoKToKKyAgICBkZWYg
X3J1bihzZWxmLCB0b29sLCBvcHRpb25zLCBzdGF0ZSk6CiAgICAgICAgIGZvciBzdGVwIGluIHNl
bGYuX3N0ZXBzOgotICAgICAgICAgICAgc3RlcCh0b29sLCBvcHRpb25zLCBwYXRjaCkucnVuKCkK
KyAgICAgICAgICAgIHN0ZXAodG9vbCwgb3B0aW9ucykucnVuKHN0YXRlKQogCi0gICAgZGVmIHJ1
bl9hbmRfaGFuZGxlX2Vycm9ycyhzZWxmLCB0b29sLCBvcHRpb25zLCBwYXRjaD1Ob25lKToKKyAg
ICBkZWYgcnVuX2FuZF9oYW5kbGVfZXJyb3JzKHNlbGYsIHRvb2wsIG9wdGlvbnMsIHN0YXRlPU5v
bmUpOgorICAgICAgICBpZiBub3Qgc3RhdGU6CisgICAgICAgICAgICBzdGF0ZSA9IHt9CiAgICAg
ICAgIHRyeToKLSAgICAgICAgICAgIHNlbGYuX3J1bih0b29sLCBvcHRpb25zLCBwYXRjaCkKKyAg
ICAgICAgICAgIHNlbGYuX3J1bih0b29sLCBvcHRpb25zLCBzdGF0ZSkKICAgICAgICAgZXhjZXB0
IENoZWNrb3V0TmVlZHNVcGRhdGUsIGU6CiAgICAgICAgICAgICBsb2coIkNvbW1pdCBmYWlsZWQg
YmVjYXVzZSB0aGUgY2hlY2tvdXQgaXMgb3V0IG9mIGRhdGUuICBQbGVhc2UgdXBkYXRlIGFuZCB0
cnkgYWdhaW4uIikKICAgICAgICAgICAgIGxvZygiWW91IGNhbiBwYXNzIC0tbm8tYnVpbGQgdG8g
c2tpcCBidWlsZGluZy90ZXN0aW5nIGFmdGVyIHVwZGF0ZSBpZiB5b3UgYmVsaWV2ZSB0aGUgbmV3
IGNvbW1pdHMgZGlkIG5vdCBhZmZlY3QgdGhlIHJlc3VsdHMuIikKQEAgLTY0LDUgKzcyLDUgQEAg
Y2xhc3MgU3RlcFNlcXVlbmNlKG9iamVjdCk6CiAgICAgICAgICAgICAgICAgbG9nKGUubWVzc2Fn
ZV93aXRoX291dHB1dCgpKQogICAgICAgICAgICAgaWYgb3B0aW9ucy5wYXJlbnRfY29tbWFuZDoK
ICAgICAgICAgICAgICAgICBjb21tYW5kID0gdG9vbC5jb21tYW5kX2J5X25hbWUob3B0aW9ucy5w
YXJlbnRfY29tbWFuZCkKLSAgICAgICAgICAgICAgICBjb21tYW5kLmhhbmRsZV9zY3JpcHRfZXJy
b3IodG9vbCwgcGF0Y2gsIGUpCisgICAgICAgICAgICAgICAgY29tbWFuZC5oYW5kbGVfc2NyaXB0
X2Vycm9yKHRvb2wsIHN0YXRlLCBlKQogICAgICAgICAgICAgV29ya1F1ZXVlLmV4aXRfYWZ0ZXJf
aGFuZGxlZF9lcnJvcihlKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>