<?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>150371</bug_id>
          
          <creation_ts>2015-10-20 13:46:47 -0700</creation_ts>
          <short_desc>REGRESSION(r191306): &quot;May have caused a significant warm PLT regression&quot; (Requested by cdumez_ on #webkit).</short_desc>
          <delta_ts>2015-10-20 13:48:30 -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>New Bugs</component>
          <version>WebKit 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>
          
          <blocked>150221</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Commit Bot">commit-queue</reporter>
          <assigned_to name="WebKit Commit Bot">commit-queue</assigned_to>
          <cc>cdumez</cc>
    
    <cc>darin</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1134989</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-10-20 13:46:47 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/191306 broke the build:
&quot;May have caused a significant warm PLT regression&quot; (Requested by cdumez_ on #webkit).

This is an automatic bug report generated by webkitbot. If this bug
report was created because of a flaky test, please file a bug for the flaky
test (if we don&apos;t already have one on file) and dup this bug against that bug
so that we can track how often these flaky tests fail.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1134991</commentid>
    <comment_count>1</comment_count>
      <attachid>263613</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-10-20 13:47:20 -0700</bug_when>
    <thetext>Created attachment 263613
ROLLOUT of r191306

Any committer can land this patch automatically by marking it commit-queue+.  The commit-queue will build and test the patch before landing to ensure that the rollout will be successful.  This process takes approximately 15 minutes.

If you would like to land the rollout faster, you can use the following command:

  webkit-patch land-attachment ATTACHMENT_ID

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1134993</commentid>
    <comment_count>2</comment_count>
      <attachid>263613</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-10-20 13:48:26 -0700</bug_when>
    <thetext>Comment on attachment 263613
ROLLOUT of r191306

Clearing flags on attachment: 263613

Committed r191354: &lt;http://trac.webkit.org/changeset/191354&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1134994</commentid>
    <comment_count>3</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-10-20 13:48:30 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>263613</attachid>
            <date>2015-10-20 13:47:20 -0700</date>
            <delta_ts>2015-10-20 13:48:26 -0700</delta_ts>
            <desc>ROLLOUT of r191306</desc>
            <filename>bug-150371-20151020134637.patch</filename>
            <type>text/plain</type>
            <size>31775</size>
            <attacher name="WebKit Commit Bot">commit-queue</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkxMzUzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZjc0MjU1OWJlYjUyZGYz
ZWM4M2ViOTcyOWY2NzczZjhiNWVlOGVlYS4uOThiNjAwYmQxNjhlNDRiYmYxOTcyMjhlMGNjZThl
NDRmNDVkZmFhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE1LTEwLTIwICBDb21t
aXQgUXVldWUgIDxjb21taXQtcXVldWVAd2Via2l0Lm9yZz4KKworICAgICAgICBVbnJldmlld2Vk
LCByb2xsaW5nIG91dCByMTkxMzA2LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTUwMzcxCisKKyAgICAgICAgIk1heSBoYXZlIGNhdXNlZCBhIHNpZ25p
ZmljYW50IHdhcm0gUExUIHJlZ3Jlc3Npb24iIChSZXF1ZXN0ZWQKKyAgICAgICAgYnkgY2R1bWV6
XyBvbiAjd2Via2l0KS4KKworICAgICAgICBSZXZlcnRlZCBjaGFuZ2VzZXQ6CisKKyAgICAgICAg
IltXSzJdIEdlbmVyYWxpemUgTmV0d29ya0NhY2hlU3RvcmFnZSBBUEkgc28gaXQgY2FuIHN0b3Jl
CisgICAgICAgIGRpZmZlcmVudCB0eXBlcyBvZiBtZXRhZGF0YSIKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1MDIyMQorICAgICAgICBodHRwOi8vdHJh
Yy53ZWJraXQub3JnL2NoYW5nZXNldC8xOTEzMDYKKwogMjAxNS0xMC0yMCAgVGltIEhvcnRvbiAg
PHRpbW90aHlfaG9ydG9uQGFwcGxlLmNvbT4KIAogICAgICAgICBUcnkgdG8gZml4IHRoZSBidWls
ZCBieSBkaXNhYmxpbmcgTUFDX0dFU1RVUkVfRVZFTlRTIG9uIDEwLjkgYW5kIDEwLjEwCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGUu
Y3BwIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlLmNw
cAppbmRleCA0MDQzMTdiMGQ2NTc4NDY1OTgzMTVkYTBkZjNjZjgwOWE1NjkxOGY5Li5hZjg3NDkz
NTU1MWRhZDU0NjYwMTBmZWEyYTY5M2UzNWY5M2U4M2FiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGUuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZS5jcHAKQEAgLTM5LDcgKzM5
LDYgQEAKICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlUmVxdWVzdC5oPgogI2luY2x1ZGUgPFdl
YkNvcmUvUmVzb3VyY2VSZXNwb25zZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvU2hhcmVkQnVmZmVy
Lmg+Ci0jaW5jbHVkZSA8d3RmL01haW5UaHJlYWQuaD4KICNpbmNsdWRlIDx3dGYvTmV2ZXJEZXN0
cm95ZWQuaD4KICNpbmNsdWRlIDx3dGYvUnVuTG9vcC5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0
cmluZ0J1aWxkZXIuaD4KQEAgLTUxLDEzICs1MCw2IEBACiBuYW1lc3BhY2UgV2ViS2l0IHsKIG5h
bWVzcGFjZSBOZXR3b3JrQ2FjaGUgewogCi1zdGF0aWMgY29uc3QgQXRvbWljU3RyaW5nJiByZXNv
dXJjZVR5cGUoKQotewotICAgIEFTU0VSVChXVEY6OmlzTWFpblRocmVhZCgpKTsKLSAgICBzdGF0
aWMgTmV2ZXJEZXN0cm95ZWQ8Y29uc3QgQXRvbWljU3RyaW5nPiByZXNvdXJjZSgicmVzb3VyY2Ui
LCBBdG9taWNTdHJpbmc6OkNvbnN0cnVjdEZyb21MaXRlcmFsKTsKLSAgICByZXR1cm4gcmVzb3Vy
Y2U7Ci19Ci0KIENhY2hlJiBzaW5nbGV0b24oKQogewogICAgIHN0YXRpYyBOZXZlckRlc3Ryb3ll
ZDxDYWNoZT4gaW5zdGFuY2U7CkBAIC0xMjEsNyArMTEzLDcgQEAgc3RhdGljIEtleSBtYWtlQ2Fj
aGVLZXkoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0KQogICAgIC8vIEZJ
WE1FOiBUaGlzIGltcGxlbWVudHMgbWluaW1hbCBSYW5nZSBoZWFkZXIgZGlzayBjYWNoZSBzdXBw
b3J0LiBXZSBkb24ndCBwYXJzZQogICAgIC8vIHJhbmdlcyBzbyBvbmx5IHRoZSBzYW1lIGV4YWN0
IHJhbmdlIHJlcXVlc3Qgd2lsbCBiZSBzZXJ2ZWQgZnJvbSB0aGUgY2FjaGUuCiAgICAgU3RyaW5n
IHJhbmdlID0gcmVxdWVzdC5odHRwSGVhZGVyRmllbGQoV2ViQ29yZTo6SFRUUEhlYWRlck5hbWU6
OlJhbmdlKTsKLSAgICByZXR1cm4geyBwYXJ0aXRpb24sIHJlc291cmNlVHlwZSgpLCByYW5nZSwg
cmVxdWVzdC51cmwoKS5zdHJpbmcoKSB9OworICAgIHJldHVybiB7IHBhcnRpdGlvbiwgcmFuZ2Us
IHJlcXVlc3QudXJsKCkuc3RyaW5nKCkgfTsKIH0KIAogc3RhdGljIFN0cmluZyBoZWFkZXJWYWx1
ZUZvclZhcnkoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBT
dHJpbmcmIGhlYWRlck5hbWUpCkBAIC00ODAsNyArNDcyLDcgQEAgdm9pZCBDYWNoZTo6dHJhdmVy
c2Uoc3RkOjpmdW5jdGlvbjx2b2lkIChjb25zdCBFbnRyeSopPiYmIHRyYXZlcnNlSGFuZGxlcikK
IHsKICAgICBBU1NFUlQoaXNFbmFibGVkKCkpOwogCi0gICAgbV9zdG9yYWdlLT50cmF2ZXJzZShy
ZXNvdXJjZVR5cGUoKSwgMCwgW3RyYXZlcnNlSGFuZGxlcl0oY29uc3QgU3RvcmFnZTo6UmVjb3Jk
KiByZWNvcmQsIGNvbnN0IFN0b3JhZ2U6OlJlY29yZEluZm8mKSB7CisgICAgbV9zdG9yYWdlLT50
cmF2ZXJzZSgwLCBbdHJhdmVyc2VIYW5kbGVyXShjb25zdCBTdG9yYWdlOjpSZWNvcmQqIHJlY29y
ZCwgY29uc3QgU3RvcmFnZTo6UmVjb3JkSW5mbyYpIHsKICAgICAgICAgaWYgKCFyZWNvcmQpIHsK
ICAgICAgICAgICAgIHRyYXZlcnNlSGFuZGxlcihudWxscHRyKTsKICAgICAgICAgICAgIHJldHVy
bjsKQEAgLTUxNyw3ICs1MDksNyBAQCB2b2lkIENhY2hlOjpkdW1wQ29udGVudHNUb0ZpbGUoKQog
ICAgIFRvdGFscyB0b3RhbHM7CiAgICAgYXV0byBmbGFncyA9IFN0b3JhZ2U6OlRyYXZlcnNlRmxh
Zzo6Q29tcHV0ZVdvcnRoIHwgU3RvcmFnZTo6VHJhdmVyc2VGbGFnOjpTaGFyZUNvdW50OwogICAg
IHNpemVfdCBjYXBhY2l0eSA9IG1fc3RvcmFnZS0+Y2FwYWNpdHkoKTsKLSAgICBtX3N0b3JhZ2Ut
PnRyYXZlcnNlKHJlc291cmNlVHlwZSgpLCBmbGFncywgW2ZkLCB0b3RhbHMsIGNhcGFjaXR5XShj
b25zdCBTdG9yYWdlOjpSZWNvcmQqIHJlY29yZCwgY29uc3QgU3RvcmFnZTo6UmVjb3JkSW5mbyYg
aW5mbykgbXV0YWJsZSB7CisgICAgbV9zdG9yYWdlLT50cmF2ZXJzZShmbGFncywgW2ZkLCB0b3Rh
bHMsIGNhcGFjaXR5XShjb25zdCBTdG9yYWdlOjpSZWNvcmQqIHJlY29yZCwgY29uc3QgU3RvcmFn
ZTo6UmVjb3JkSW5mbyYgaW5mbykgbXV0YWJsZSB7CiAgICAgICAgIGlmICghcmVjb3JkKSB7CiAg
ICAgICAgICAgICBTdHJpbmdCdWlsZGVyIGVwaWxvZ3VlOwogICAgICAgICAgICAgZXBpbG9ndWUu
YXBwZW5kTGl0ZXJhbCgie31cbl0sXG4iKTsKQEAgLTU3NSw4ICs1NjcsNyBAQCB2b2lkIENhY2hl
OjpjbGVhcihzdGQ6OmNocm9ubzo6c3lzdGVtX2Nsb2NrOjp0aW1lX3BvaW50IG1vZGlmaWVkU2lu
Y2UsIHN0ZDo6ZnVuYwogICAgICAgICBSdW5Mb29wOjptYWluKCkuZGlzcGF0Y2goY29tcGxldGlv
bkhhbmRsZXIpOwogICAgICAgICByZXR1cm47CiAgICAgfQotICAgIFN0cmluZyBhbnlUeXBlOwot
ICAgIG1fc3RvcmFnZS0+Y2xlYXIoYW55VHlwZSwgbW9kaWZpZWRTaW5jZSwgV1RGOjptb3ZlKGNv
bXBsZXRpb25IYW5kbGVyKSk7CisgICAgbV9zdG9yYWdlLT5jbGVhcihtb2RpZmllZFNpbmNlLCBX
VEY6Om1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKIAogICAgIGRlbGV0ZUR1bXBGaWxlKCk7CiB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3Jr
Q2FjaGVLZXkuY3BwIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29y
a0NhY2hlS2V5LmNwcAppbmRleCBiODI4ZDQ5NWNlMTgwZWI2ZWNlMzIyODc5YmE5YzU5MzdmMWUw
NTVlLi4wYjkxYmFlZjk4YzZmNWEyMTEyOGRjOWU3ZGQ4MzhiZjc5ZWJmNzBlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVLZXkuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZUtl
eS5jcHAKQEAgLTM4LDE2ICszOCwxNCBAQCBuYW1lc3BhY2UgTmV0d29ya0NhY2hlIHsKIAogS2V5
OjpLZXkoY29uc3QgS2V5JiBvKQogICAgIDogbV9wYXJ0aXRpb24oby5tX3BhcnRpdGlvbi5pc29s
YXRlZENvcHkoKSkKLSAgICAsIG1fdHlwZShvLm1fdHlwZS5pc29sYXRlZENvcHkoKSkKICAgICAs
IG1faWRlbnRpZmllcihvLm1faWRlbnRpZmllci5pc29sYXRlZENvcHkoKSkKICAgICAsIG1fcmFu
Z2Uoby5tX3JhbmdlLmlzb2xhdGVkQ29weSgpKQogICAgICwgbV9oYXNoKG8ubV9oYXNoKQogewog
fQogCi1LZXk6OktleShjb25zdCBTdHJpbmcmIHBhcnRpdGlvbiwgY29uc3QgU3RyaW5nJiB0eXBl
LCBjb25zdCBTdHJpbmcmIHJhbmdlLCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIpCitLZXk6Oktl
eShjb25zdCBTdHJpbmcmIHBhcnRpdGlvbiwgY29uc3QgU3RyaW5nJiByYW5nZSwgY29uc3QgU3Ry
aW5nJiBpZGVudGlmaWVyKQogICAgIDogbV9wYXJ0aXRpb24ocGFydGl0aW9uLmlzb2xhdGVkQ29w
eSgpKQotICAgICwgbV90eXBlKHR5cGUuaXNvbGF0ZWRDb3B5KCkpCiAgICAgLCBtX2lkZW50aWZp
ZXIoaWRlbnRpZmllci5pc29sYXRlZENvcHkoKSkKICAgICAsIG1fcmFuZ2UocmFuZ2UuaXNvbGF0
ZWRDb3B5KCkpCiAgICAgLCBtX2hhc2goY29tcHV0ZUhhc2goKSkKQEAgLTU3LDcgKzU1LDYgQEAg
S2V5OjpLZXkoY29uc3QgU3RyaW5nJiBwYXJ0aXRpb24sIGNvbnN0IFN0cmluZyYgdHlwZSwgY29u
c3QgU3RyaW5nJiByYW5nZSwgY29uc3QKIEtleSYgS2V5OjpvcGVyYXRvcj0oY29uc3QgS2V5JiBv
dGhlcikKIHsKICAgICBtX3BhcnRpdGlvbiA9IG90aGVyLm1fcGFydGl0aW9uLmlzb2xhdGVkQ29w
eSgpOwotICAgIG1fdHlwZSA9IG90aGVyLm1fdHlwZS5pc29sYXRlZENvcHkoKTsKICAgICBtX2lk
ZW50aWZpZXIgPSBvdGhlci5tX2lkZW50aWZpZXIuaXNvbGF0ZWRDb3B5KCk7CiAgICAgbV9yYW5n
ZSA9IG90aGVyLm1fcmFuZ2UuaXNvbGF0ZWRDb3B5KCk7CiAgICAgbV9oYXNoID0gb3RoZXIubV9o
YXNoOwpAQCAtODYsNyArODMsNiBAQCBLZXk6Okhhc2hUeXBlIEtleTo6Y29tcHV0ZUhhc2goKSBj
b25zdAogICAgIC8vIFNIQTEganVzdCBoYXBwZW5zIHRvIGJlIHN1aXRhYmx5IHNpemVkLCBmYXN0
IGFuZCBhdmFpbGFibGUuCiAgICAgU0hBMSBzaGExOwogICAgIGhhc2hTdHJpbmcoc2hhMSwgbV9w
YXJ0aXRpb24pOwotICAgIGhhc2hTdHJpbmcoc2hhMSwgbV90eXBlKTsKICAgICBoYXNoU3RyaW5n
KHNoYTEsIG1faWRlbnRpZmllcik7CiAgICAgaGFzaFN0cmluZyhzaGExLCBtX3JhbmdlKTsKICAg
ICBTSEExOjpEaWdlc3QgaGFzaDsKQEAgLTEyOCwxMyArMTI0LDEyIEBAIGJvb2wgS2V5OjpzdHJp
bmdUb0hhc2goY29uc3QgU3RyaW5nJiBzdHJpbmcsIEhhc2hUeXBlJiBoYXNoKQogCiBib29sIEtl
eTo6b3BlcmF0b3I9PShjb25zdCBLZXkmIG90aGVyKSBjb25zdAogewotICAgIHJldHVybiBtX2hh
c2ggPT0gb3RoZXIubV9oYXNoICYmIG1fcGFydGl0aW9uID09IG90aGVyLm1fcGFydGl0aW9uICYm
IG1fdHlwZSA9PSBvdGhlci5tX3R5cGUgJiYgbV9pZGVudGlmaWVyID09IG90aGVyLm1faWRlbnRp
ZmllciAmJiBtX3JhbmdlID09IG90aGVyLm1fcmFuZ2U7CisgICAgcmV0dXJuIG1faGFzaCA9PSBv
dGhlci5tX2hhc2ggJiYgbV9wYXJ0aXRpb24gPT0gb3RoZXIubV9wYXJ0aXRpb24gJiYgbV9pZGVu
dGlmaWVyID09IG90aGVyLm1faWRlbnRpZmllciAmJiBtX3JhbmdlID09IG90aGVyLm1fcmFuZ2U7
CiB9CiAKIHZvaWQgS2V5OjplbmNvZGUoRW5jb2RlciYgZW5jb2RlcikgY29uc3QKIHsKICAgICBl
bmNvZGVyIDw8IG1fcGFydGl0aW9uOwotICAgIGVuY29kZXIgPDwgbV90eXBlOwogICAgIGVuY29k
ZXIgPDwgbV9pZGVudGlmaWVyOwogICAgIGVuY29kZXIgPDwgbV9yYW5nZTsKICAgICBlbmNvZGVy
IDw8IG1faGFzaDsKQEAgLTE0Miw3ICsxMzcsNyBAQCB2b2lkIEtleTo6ZW5jb2RlKEVuY29kZXIm
IGVuY29kZXIpIGNvbnN0CiAKIGJvb2wgS2V5OjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlciwgS2V5
JiBrZXkpCiB7Ci0gICAgcmV0dXJuIGRlY29kZXIuZGVjb2RlKGtleS5tX3BhcnRpdGlvbikgJiYg
ZGVjb2Rlci5kZWNvZGUoa2V5Lm1fdHlwZSkgJiYgZGVjb2Rlci5kZWNvZGUoa2V5Lm1faWRlbnRp
ZmllcikgJiYgZGVjb2Rlci5kZWNvZGUoa2V5Lm1fcmFuZ2UpICYmIGRlY29kZXIuZGVjb2RlKGtl
eS5tX2hhc2gpOworICAgIHJldHVybiBkZWNvZGVyLmRlY29kZShrZXkubV9wYXJ0aXRpb24pICYm
IGRlY29kZXIuZGVjb2RlKGtleS5tX2lkZW50aWZpZXIpICYmIGRlY29kZXIuZGVjb2RlKGtleS5t
X3JhbmdlKSAmJiBkZWNvZGVyLmRlY29kZShrZXkubV9oYXNoKTsKIH0KIAogfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlS2V5Lmgg
Yi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVLZXkuaApp
bmRleCBlNjMzYjY1MTQwZTRkY2IwN2Q4YmM3MDkwZTk4OGVhMDQ0NzIxYTI3Li4yY2RhZTMwNWZi
MTIzN2E1YzFiOGFhYzM2N2U0MTIzMWY2YWI4NzIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVLZXkuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVLZXkuaApAQCAtNDQsNyArNDQs
NyBAQCBwdWJsaWM6CiAgICAgS2V5KCkgeyB9CiAgICAgS2V5KGNvbnN0IEtleSYpOwogICAgIEtl
eShLZXkmJikgPSBkZWZhdWx0OwotICAgIEtleShjb25zdCBTdHJpbmcmIHBhcnRpdGlvbiwgY29u
c3QgU3RyaW5nJiB0eXBlLCBjb25zdCBTdHJpbmcmIHJhbmdlLCBjb25zdCBTdHJpbmcmIGlkZW50
aWZpZXIpOworICAgIEtleShjb25zdCBTdHJpbmcmIHBhcnRpdGlvbiwgY29uc3QgU3RyaW5nJiBy
YW5nZSwgY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyKTsKIAogICAgIEtleSYgb3BlcmF0b3I9KGNv
bnN0IEtleSYpOwogICAgIEtleSYgb3BlcmF0b3I9KEtleSYmKSA9IGRlZmF1bHQ7CkBAIC01Myw3
ICs1Myw2IEBAIHB1YmxpYzoKIAogICAgIGNvbnN0IFN0cmluZyYgcGFydGl0aW9uKCkgY29uc3Qg
eyByZXR1cm4gbV9wYXJ0aXRpb247IH0KICAgICBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIoKSBj
b25zdCB7IHJldHVybiBtX2lkZW50aWZpZXI7IH0KLSAgICBjb25zdCBTdHJpbmcmIHR5cGUoKSBj
b25zdCB7IHJldHVybiBtX3R5cGU7IH0KIAogICAgIEhhc2hUeXBlIGhhc2goKSBjb25zdCB7IHJl
dHVybiBtX2hhc2g7IH0KIApAQCAtNzIsNyArNzEsNiBAQCBwcml2YXRlOgogICAgIEhhc2hUeXBl
IGNvbXB1dGVIYXNoKCkgY29uc3Q7CiAKICAgICBTdHJpbmcgbV9wYXJ0aXRpb247Ci0gICAgU3Ry
aW5nIG1fdHlwZTsKICAgICBTdHJpbmcgbV9pZGVudGlmaWVyOwogICAgIFN0cmluZyBtX3Jhbmdl
OwogICAgIEhhc2hUeXBlIG1faGFzaDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdv
cmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVN0YXRpc3RpY3MuY3BwIGIvU291cmNlL1dlYktp
dDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3RhdGlzdGljcy5jcHAKaW5kZXgg
NzMxMDcyZGNkMjMwOTlmOWIzZjkwYjgzMWUyOTI2OTY5YzRhZDE0ZS4uZmJlMTQ1ZWFhNWJjNDEy
NTNiZjc4YWVmZmQ3MjUxNWU1OGYxNTI5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0
d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3RhdGlzdGljcy5jcHAKKysrIGIvU291cmNl
L1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3RhdGlzdGljcy5jcHAK
QEAgLTE0NCwxMCArMTQ0LDcgQEAgdm9pZCBTdGF0aXN0aWNzOjpib290c3RyYXBGcm9tTmV0d29y
a0NhY2hlKGNvbnN0IFN0cmluZyYgbmV0d29ya0NhY2hlUGF0aCkKICAgICBMT0coTmV0d29ya0Nh
Y2hlLCAiKE5ldHdvcmtQcm9jZXNzKSBCb290c3RyYXBwaW5nIHRoZSBuZXR3b3JrIGNhY2hlIHN0
YXRpc3RpY3MgZGF0YWJhc2UgZnJvbSB0aGUgbmV0d29yayBjYWNoZS4uLiIpOwogCiAgICAgVmVj
dG9yPFN0cmluZ0NhcHR1cmU+IGhhc2hlczsKLSAgICB0cmF2ZXJzZVJlY29yZHNGaWxlcyhuZXR3
b3JrQ2FjaGVQYXRoLCBBU0NJSUxpdGVyYWwoInJlc291cmNlIiksIFsmaGFzaGVzXShjb25zdCBT
dHJpbmcmIGZpbGVOYW1lLCBjb25zdCBTdHJpbmcmIGhhc2hTdHJpbmcsIGNvbnN0IFN0cmluZyYg
dHlwZSwgYm9vbCBpc0JvZHlCbG9iLCBjb25zdCBTdHJpbmcmIHJlY29yZERpcmVjdG9yeVBhdGgp
IHsKLSAgICAgICAgaWYgKGlzQm9keUJsb2IpCi0gICAgICAgICAgICByZXR1cm47Ci0KKyAgICB0
cmF2ZXJzZVJlY29yZHNGaWxlcyhuZXR3b3JrQ2FjaGVQYXRoLCBbJmhhc2hlc10oY29uc3QgU3Ry
aW5nJiBoYXNoU3RyaW5nLCBjb25zdCBTdHJpbmcmKSB7CiAgICAgICAgIEtleTo6SGFzaFR5cGUg
aGFzaDsKICAgICAgICAgaWYgKCFLZXk6OnN0cmluZ1RvSGFzaChoYXNoU3RyaW5nLCBoYXNoKSkK
ICAgICAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQ
cm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVN0b3JhZ2UuY3BwIGIvU291cmNlL1dlYktpdDIvTmV0
d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3RvcmFnZS5jcHAKaW5kZXggZTQ3NTAxNTk1
ZWU4ZGM1ODRkNzYxNzg4OGYxMTRlNTJhYWE3MWRiNi4uYmM4NGJhMmZlZGIzN2Q1YzE3ZDE0ZTdm
MmVjNWMwOGYyN2YxY2Y5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nl
c3MvY2FjaGUvTmV0d29ya0NhY2hlU3RvcmFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvTmV0
d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3RvcmFnZS5jcHAKQEAgLTQ2LDcgKzQ2LDcg
QEAgbmFtZXNwYWNlIE5ldHdvcmtDYWNoZSB7CiBzdGF0aWMgY29uc3QgY2hhciB2ZXJzaW9uRGly
ZWN0b3J5UHJlZml4W10gPSAiVmVyc2lvbiAiOwogc3RhdGljIGNvbnN0IGNoYXIgcmVjb3Jkc0Rp
cmVjdG9yeU5hbWVbXSA9ICJSZWNvcmRzIjsKIHN0YXRpYyBjb25zdCBjaGFyIGJsb2JzRGlyZWN0
b3J5TmFtZVtdID0gIkJsb2JzIjsKLXN0YXRpYyBjb25zdCBjaGFyIGJsb2JTdWZmaXhbXSA9ICIt
YmxvYiI7CitzdGF0aWMgY29uc3QgY2hhciBib2R5UG9zdGZpeFtdID0gIi1ib2R5IjsKIAogc3Rh
dGljIGRvdWJsZSBjb21wdXRlUmVjb3JkV29ydGgoRmlsZVRpbWVzKTsKIApAQCAtMTEzLDEzICsx
MTMsMTEgQEAgcHVibGljOgogc3RydWN0IFN0b3JhZ2U6OlRyYXZlcnNlT3BlcmF0aW9uIHsKICAg
ICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKLSAgICBUcmF2ZXJzZU9wZXJhdGlv
bihjb25zdCBTdHJpbmcmIHR5cGUsIFRyYXZlcnNlRmxhZ3MgZmxhZ3MsIGNvbnN0IFRyYXZlcnNl
SGFuZGxlciYgaGFuZGxlcikKLSAgICAgICAgOiB0eXBlKHR5cGUpCi0gICAgICAgICwgZmxhZ3Mo
ZmxhZ3MpCisgICAgVHJhdmVyc2VPcGVyYXRpb24oVHJhdmVyc2VGbGFncyBmbGFncywgY29uc3Qg
VHJhdmVyc2VIYW5kbGVyJiBoYW5kbGVyKQorICAgICAgICA6IGZsYWdzKGZsYWdzKQogICAgICAg
ICAsIGhhbmRsZXIoaGFuZGxlcikKICAgICB7IH0KIAotICAgIGNvbnN0IFN0cmluZyB0eXBlOwog
ICAgIGNvbnN0IFRyYXZlcnNlRmxhZ3MgZmxhZ3M7CiAgICAgY29uc3QgVHJhdmVyc2VIYW5kbGVy
IGhhbmRsZXI7CiAKQEAgLTE1Myw0OSArMTUxLDI3IEBAIHN0YXRpYyBTdHJpbmcgbWFrZUJsb2JE
aXJlY3RvcnlQYXRoKGNvbnN0IFN0cmluZyYgYmFzZURpcmVjdG9yeVBhdGgpCiAgICAgcmV0dXJu
IFdlYkNvcmU6OnBhdGhCeUFwcGVuZGluZ0NvbXBvbmVudChtYWtlVmVyc2lvbmVkRGlyZWN0b3J5
UGF0aChiYXNlRGlyZWN0b3J5UGF0aCksIGJsb2JzRGlyZWN0b3J5TmFtZSk7CiB9CiAKLXZvaWQg
dHJhdmVyc2VSZWNvcmRzRmlsZXMoY29uc3QgU3RyaW5nJiByZWNvcmRzUGF0aCwgY29uc3QgU3Ry
aW5nJiBleHBlY3RlZFR5cGUsIGNvbnN0IHN0ZDo6ZnVuY3Rpb248dm9pZCAoY29uc3QgU3RyaW5n
JiBmaWxlTmFtZSwgY29uc3QgU3RyaW5nJiBoYXNoU3RyaW5nLCBjb25zdCBTdHJpbmcmIHR5cGUs
IGJvb2wgaXNCb2R5QmxvYiwgY29uc3QgU3RyaW5nJiByZWNvcmREaXJlY3RvcnlQYXRoKT4mIGZ1
bmN0aW9uKQordm9pZCB0cmF2ZXJzZVJlY29yZHNGaWxlcyhjb25zdCBTdHJpbmcmIHJlY29yZHNQ
YXRoLCBjb25zdCBzdGQ6OmZ1bmN0aW9uPHZvaWQgKGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmlu
ZyYpPiYgZnVuY3Rpb24pCiB7Ci0gICAgdHJhdmVyc2VEaXJlY3RvcnkocmVjb3Jkc1BhdGgsIFsm
cmVjb3Jkc1BhdGgsICZmdW5jdGlvbiwgJmV4cGVjdGVkVHlwZV0oY29uc3QgU3RyaW5nJiBwYXJ0
aXRpb25OYW1lLCBEaXJlY3RvcnlFbnRyeVR5cGUgZW50cnlUeXBlKSB7Ci0gICAgICAgIGlmIChl
bnRyeVR5cGUgIT0gRGlyZWN0b3J5RW50cnlUeXBlOjpEaXJlY3RvcnkpCisgICAgdHJhdmVyc2VE
aXJlY3RvcnkocmVjb3Jkc1BhdGgsIFsmcmVjb3Jkc1BhdGgsICZmdW5jdGlvbl0oY29uc3QgU3Ry
aW5nJiBzdWJkaXJOYW1lLCBEaXJlY3RvcnlFbnRyeVR5cGUgdHlwZSkgeworICAgICAgICBpZiAo
dHlwZSAhPSBEaXJlY3RvcnlFbnRyeVR5cGU6OkRpcmVjdG9yeSkKICAgICAgICAgICAgIHJldHVy
bjsKLSAgICAgICAgU3RyaW5nIHBhcnRpdGlvblBhdGggPSBXZWJDb3JlOjpwYXRoQnlBcHBlbmRp
bmdDb21wb25lbnQocmVjb3Jkc1BhdGgsIHBhcnRpdGlvbk5hbWUpOwotICAgICAgICB0cmF2ZXJz
ZURpcmVjdG9yeShwYXJ0aXRpb25QYXRoLCBbJmZ1bmN0aW9uLCAmcGFydGl0aW9uUGF0aCwgJmV4
cGVjdGVkVHlwZV0oY29uc3QgU3RyaW5nJiBhY3R1YWxUeXBlLCBEaXJlY3RvcnlFbnRyeVR5cGUg
ZW50cnlUeXBlKSB7Ci0gICAgICAgICAgICBpZiAoZW50cnlUeXBlICE9IERpcmVjdG9yeUVudHJ5
VHlwZTo6RGlyZWN0b3J5KQotICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAgIGlm
ICghYWN0dWFsVHlwZS5pc0VtcHR5KCkgJiYgZXhwZWN0ZWRUeXBlICE9IGFjdHVhbFR5cGUpCisg
ICAgICAgIFN0cmluZyBwYXJ0aXRpb25QYXRoID0gV2ViQ29yZTo6cGF0aEJ5QXBwZW5kaW5nQ29t
cG9uZW50KHJlY29yZHNQYXRoLCBzdWJkaXJOYW1lKTsKKyAgICAgICAgdHJhdmVyc2VEaXJlY3Rv
cnkocGFydGl0aW9uUGF0aCwgWyZmdW5jdGlvbiwgJnBhcnRpdGlvblBhdGhdKGNvbnN0IFN0cmlu
ZyYgZmlsZU5hbWUsIERpcmVjdG9yeUVudHJ5VHlwZSB0eXBlKSB7CisgICAgICAgICAgICBpZiAo
dHlwZSAhPSBEaXJlY3RvcnlFbnRyeVR5cGU6OkZpbGUpCiAgICAgICAgICAgICAgICAgcmV0dXJu
OwotICAgICAgICAgICAgU3RyaW5nIHJlY29yZERpcmVjdG9yeVBhdGggPSBXZWJDb3JlOjpwYXRo
QnlBcHBlbmRpbmdDb21wb25lbnQocGFydGl0aW9uUGF0aCwgYWN0dWFsVHlwZSk7Ci0gICAgICAg
ICAgICB0cmF2ZXJzZURpcmVjdG9yeShwYXJ0aXRpb25QYXRoLCBbJmZ1bmN0aW9uLCAmcmVjb3Jk
RGlyZWN0b3J5UGF0aCwgJmFjdHVhbFR5cGVdKGNvbnN0IFN0cmluZyYgZmlsZU5hbWUsIERpcmVj
dG9yeUVudHJ5VHlwZSBlbnRyeVR5cGUpIHsKLSAgICAgICAgICAgICAgICBpZiAoZW50cnlUeXBl
ICE9IERpcmVjdG9yeUVudHJ5VHlwZTo6RmlsZSB8fCBmaWxlTmFtZS5sZW5ndGgoKSA8IEtleTo6
aGFzaFN0cmluZ0xlbmd0aCgpKQotICAgICAgICAgICAgICAgICAgICByZXR1cm47Ci0KLSAgICAg
ICAgICAgICAgICBTdHJpbmcgaGFzaFN0cmluZyA9IGZpbGVOYW1lLnN1YnN0cmluZygwLCBLZXk6
Omhhc2hTdHJpbmdMZW5ndGgoKSk7Ci0gICAgICAgICAgICAgICAgYXV0byBpc0JvZHlCbG9iID0g
ZmlsZU5hbWUubGVuZ3RoKCkgPiBLZXk6Omhhc2hTdHJpbmdMZW5ndGgoKSAmJiBmaWxlTmFtZS5l
bmRzV2l0aChibG9iU3VmZml4KTsKLSAgICAgICAgICAgICAgICBmdW5jdGlvbihmaWxlTmFtZSwg
aGFzaFN0cmluZywgYWN0dWFsVHlwZSwgaXNCb2R5QmxvYiwgcmVjb3JkRGlyZWN0b3J5UGF0aCk7
Ci0gICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIGZ1bmN0aW9uKGZpbGVOYW1lLCBwYXJ0aXRp
b25QYXRoKTsKICAgICAgICAgfSk7CiAgICAgfSk7CiB9CiAKIHN0YXRpYyB2b2lkIGRlbGV0ZUVt
cHR5UmVjb3Jkc0RpcmVjdG9yaWVzKGNvbnN0IFN0cmluZyYgcmVjb3Jkc1BhdGgpCiB7Ci0gICAg
dHJhdmVyc2VEaXJlY3RvcnkocmVjb3Jkc1BhdGgsIFsmcmVjb3Jkc1BhdGhdKGNvbnN0IFN0cmlu
ZyYgcGFydGl0aW9uTmFtZSwgRGlyZWN0b3J5RW50cnlUeXBlIHR5cGUpIHsKKyAgICB0cmF2ZXJz
ZURpcmVjdG9yeShyZWNvcmRzUGF0aCwgWyZyZWNvcmRzUGF0aF0oY29uc3QgU3RyaW5nJiBzdWJk
aXJOYW1lLCBEaXJlY3RvcnlFbnRyeVR5cGUgdHlwZSkgewogICAgICAgICBpZiAodHlwZSAhPSBE
aXJlY3RvcnlFbnRyeVR5cGU6OkRpcmVjdG9yeSkKICAgICAgICAgICAgIHJldHVybjsKLQotICAg
ICAgICAvLyBEZWxldGUgW3R5cGVdIHN1Yi1mb2xkZXJzLgotICAgICAgICBTdHJpbmcgcGFydGl0
aW9uUGF0aCA9IFdlYkNvcmU6OnBhdGhCeUFwcGVuZGluZ0NvbXBvbmVudChyZWNvcmRzUGF0aCwg
cGFydGl0aW9uTmFtZSk7Ci0gICAgICAgIHRyYXZlcnNlRGlyZWN0b3J5KHBhcnRpdGlvblBhdGgs
IFsmcGFydGl0aW9uUGF0aF0oY29uc3QgU3RyaW5nJiBzdWJkaXJOYW1lLCBEaXJlY3RvcnlFbnRy
eVR5cGUgZW50cnlUeXBlKSB7Ci0gICAgICAgICAgICBpZiAoZW50cnlUeXBlICE9IERpcmVjdG9y
eUVudHJ5VHlwZTo6RGlyZWN0b3J5KQotICAgICAgICAgICAgICAgIHJldHVybjsKLQotICAgICAg
ICAgICAgLy8gTGV0IHN5c3RlbSBmaWd1cmUgb3V0IGlmIGl0IGlzIHJlYWxseSBlbXB0eS4KLSAg
ICAgICAgICAgIFdlYkNvcmU6OmRlbGV0ZUVtcHR5RGlyZWN0b3J5KFdlYkNvcmU6OnBhdGhCeUFw
cGVuZGluZ0NvbXBvbmVudChwYXJ0aXRpb25QYXRoLCBzdWJkaXJOYW1lKSk7Ci0gICAgICAgIH0p
OwotCi0gICAgICAgIC8vIERlbGV0ZSBbUGFydGl0aW9uXSBmb2xkZXJzLgogICAgICAgICAvLyBM
ZXQgc3lzdGVtIGZpZ3VyZSBvdXQgaWYgaXQgaXMgcmVhbGx5IGVtcHR5LgotICAgICAgICBXZWJD
b3JlOjpkZWxldGVFbXB0eURpcmVjdG9yeShXZWJDb3JlOjpwYXRoQnlBcHBlbmRpbmdDb21wb25l
bnQocmVjb3Jkc1BhdGgsIHBhcnRpdGlvbk5hbWUpKTsKKyAgICAgICAgV2ViQ29yZTo6ZGVsZXRl
RW1wdHlEaXJlY3RvcnkoV2ViQ29yZTo6cGF0aEJ5QXBwZW5kaW5nQ29tcG9uZW50KHJlY29yZHNQ
YXRoLCBzdWJkaXJOYW1lKSk7CiAgICAgfSk7CiB9CiAKQEAgLTI0OSwxMyArMjI1LDE0IEBAIHZv
aWQgU3RvcmFnZTo6c3luY2hyb25pemUoKQogCiAgICAgYmFja2dyb3VuZElPUXVldWUoKS5kaXNw
YXRjaChbdGhpc10gewogICAgICAgICBhdXRvIHJlY29yZEZpbHRlciA9IHN0ZDo6bWFrZV91bmlx
dWU8Q29udGVudHNGaWx0ZXI+KCk7Ci0gICAgICAgIGF1dG8gYmxvYkZpbHRlciA9IHN0ZDo6bWFr
ZV91bmlxdWU8Q29udGVudHNGaWx0ZXI+KCk7CisgICAgICAgIGF1dG8gYm9keUZpbHRlciA9IHN0
ZDo6bWFrZV91bmlxdWU8Q29udGVudHNGaWx0ZXI+KCk7CiAgICAgICAgIHNpemVfdCByZWNvcmRz
U2l6ZSA9IDA7CiAgICAgICAgIHVuc2lnbmVkIGNvdW50ID0gMDsKLSAgICAgICAgU3RyaW5nIGFu
eVR5cGU7Ci0gICAgICAgIHRyYXZlcnNlUmVjb3Jkc0ZpbGVzKHJlY29yZHNQYXRoKCksIGFueVR5
cGUsIFsmcmVjb3JkRmlsdGVyLCAmYmxvYkZpbHRlciwgJnJlY29yZHNTaXplLCAmY291bnRdKGNv
bnN0IFN0cmluZyYgZmlsZU5hbWUsIGNvbnN0IFN0cmluZyYgaGFzaFN0cmluZywgY29uc3QgU3Ry
aW5nJiB0eXBlLCBib29sIGlzQm9keUJsb2IsIGNvbnN0IFN0cmluZyYgcmVjb3JkRGlyZWN0b3J5
UGF0aCkgewotICAgICAgICAgICAgYXV0byBmaWxlUGF0aCA9IFdlYkNvcmU6OnBhdGhCeUFwcGVu
ZGluZ0NvbXBvbmVudChyZWNvcmREaXJlY3RvcnlQYXRoLCBmaWxlTmFtZSk7CisgICAgICAgIHRy
YXZlcnNlUmVjb3Jkc0ZpbGVzKHJlY29yZHNQYXRoKCksIFsmcmVjb3JkRmlsdGVyLCAmYm9keUZp
bHRlciwgJnJlY29yZHNTaXplLCAmY291bnRdKGNvbnN0IFN0cmluZyYgZmlsZU5hbWUsIGNvbnN0
IFN0cmluZyYgcGFydGl0aW9uUGF0aCkgeworICAgICAgICAgICAgYXV0byBmaWxlUGF0aCA9IFdl
YkNvcmU6OnBhdGhCeUFwcGVuZGluZ0NvbXBvbmVudChwYXJ0aXRpb25QYXRoLCBmaWxlTmFtZSk7
CiAKKyAgICAgICAgICAgIGJvb2wgaXNCb2R5ID0gZmlsZU5hbWUuZW5kc1dpdGgoYm9keVBvc3Rm
aXgpOworICAgICAgICAgICAgU3RyaW5nIGhhc2hTdHJpbmcgPSBpc0JvZHkgPyBmaWxlTmFtZS5z
dWJzdHJpbmcoMCwgS2V5OjpoYXNoU3RyaW5nTGVuZ3RoKCkpIDogZmlsZU5hbWU7CiAgICAgICAg
ICAgICBLZXk6Okhhc2hUeXBlIGhhc2g7CiAgICAgICAgICAgICBpZiAoIUtleTo6c3RyaW5nVG9I
YXNoKGhhc2hTdHJpbmcsIGhhc2gpKSB7CiAgICAgICAgICAgICAgICAgV2ViQ29yZTo6ZGVsZXRl
RmlsZShmaWxlUGF0aCk7CkBAIC0yNjcsMzMgKzI0NCwzMSBAQCB2b2lkIFN0b3JhZ2U6OnN5bmNo
cm9uaXplKCkKICAgICAgICAgICAgICAgICBXZWJDb3JlOjpkZWxldGVGaWxlKGZpbGVQYXRoKTsK
ICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIGlm
IChpc0JvZHlCbG9iKSB7Ci0gICAgICAgICAgICAgICAgYmxvYkZpbHRlci0+YWRkKGhhc2gpOwor
ICAgICAgICAgICAgaWYgKGlzQm9keSkgeworICAgICAgICAgICAgICAgIGJvZHlGaWx0ZXItPmFk
ZChoYXNoKTsKICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICB9Ci0KICAgICAg
ICAgICAgIHJlY29yZEZpbHRlci0+YWRkKGhhc2gpOwogICAgICAgICAgICAgcmVjb3Jkc1NpemUg
Kz0gZmlsZVNpemU7CiAgICAgICAgICAgICArK2NvdW50OwogICAgICAgICB9KTsKIAogICAgICAg
ICBhdXRvKiByZWNvcmRGaWx0ZXJQdHIgPSByZWNvcmRGaWx0ZXIucmVsZWFzZSgpOwotICAgICAg
ICBhdXRvKiBibG9iRmlsdGVyUHRyID0gYmxvYkZpbHRlci5yZWxlYXNlKCk7Ci0gICAgICAgIFJ1
bkxvb3A6Om1haW4oKS5kaXNwYXRjaChbdGhpcywgcmVjb3JkRmlsdGVyUHRyLCBibG9iRmlsdGVy
UHRyLCByZWNvcmRzU2l6ZV0geworICAgICAgICBhdXRvKiBib2R5RmlsdGVyUHRyID0gYm9keUZp
bHRlci5yZWxlYXNlKCk7CisgICAgICAgIFJ1bkxvb3A6Om1haW4oKS5kaXNwYXRjaChbdGhpcywg
cmVjb3JkRmlsdGVyUHRyLCBib2R5RmlsdGVyUHRyLCByZWNvcmRzU2l6ZV0gewogICAgICAgICAg
ICAgYXV0byByZWNvcmRGaWx0ZXIgPSBzdGQ6OnVuaXF1ZV9wdHI8Q29udGVudHNGaWx0ZXI+KHJl
Y29yZEZpbHRlclB0cik7Ci0gICAgICAgICAgICBhdXRvIGJsb2JGaWx0ZXIgPSBzdGQ6OnVuaXF1
ZV9wdHI8Q29udGVudHNGaWx0ZXI+KGJsb2JGaWx0ZXJQdHIpOworICAgICAgICAgICAgYXV0byBi
b2R5RmlsdGVyID0gc3RkOjp1bmlxdWVfcHRyPENvbnRlbnRzRmlsdGVyPihib2R5RmlsdGVyUHRy
KTsKIAotICAgICAgICAgICAgZm9yIChhdXRvJiByZWNvcmRGaWx0ZXJLZXkgOiBtX3JlY29yZEZp
bHRlckhhc2hlc0FkZGVkRHVyaW5nU3luY2hyb25pemF0aW9uKQotICAgICAgICAgICAgICAgIHJl
Y29yZEZpbHRlci0+YWRkKHJlY29yZEZpbHRlcktleSk7CisgICAgICAgICAgICBmb3IgKGF1dG8m
IGhhc2ggOiBtX3JlY29yZEZpbHRlckhhc2hlc0FkZGVkRHVyaW5nU3luY2hyb25pemF0aW9uKQor
ICAgICAgICAgICAgICAgIHJlY29yZEZpbHRlci0+YWRkKGhhc2gpOwogICAgICAgICAgICAgbV9y
ZWNvcmRGaWx0ZXJIYXNoZXNBZGRlZER1cmluZ1N5bmNocm9uaXphdGlvbi5jbGVhcigpOwogCi0g
ICAgICAgICAgICBmb3IgKGF1dG8mIGhhc2ggOiBtX2Jsb2JGaWx0ZXJIYXNoZXNBZGRlZER1cmlu
Z1N5bmNocm9uaXphdGlvbikKLSAgICAgICAgICAgICAgICBibG9iRmlsdGVyLT5hZGQoaGFzaCk7
Ci0gICAgICAgICAgICBtX2Jsb2JGaWx0ZXJIYXNoZXNBZGRlZER1cmluZ1N5bmNocm9uaXphdGlv
bi5jbGVhcigpOworICAgICAgICAgICAgZm9yIChhdXRvJiBoYXNoIDogbV9ib2R5RmlsdGVySGFz
aGVzQWRkZWREdXJpbmdTeW5jaHJvbml6YXRpb24pCisgICAgICAgICAgICAgICAgYm9keUZpbHRl
ci0+YWRkKGhhc2gpOworICAgICAgICAgICAgbV9ib2R5RmlsdGVySGFzaGVzQWRkZWREdXJpbmdT
eW5jaHJvbml6YXRpb24uY2xlYXIoKTsKIAogICAgICAgICAgICAgbV9yZWNvcmRGaWx0ZXIgPSBX
VEY6Om1vdmUocmVjb3JkRmlsdGVyKTsKLSAgICAgICAgICAgIG1fYmxvYkZpbHRlciA9IFdURjo6
bW92ZShibG9iRmlsdGVyKTsKKyAgICAgICAgICAgIG1fYm9keUZpbHRlciA9IFdURjo6bW92ZShi
b2R5RmlsdGVyKTsKICAgICAgICAgICAgIG1fYXBwcm94aW1hdGVSZWNvcmRzU2l6ZSA9IHJlY29y
ZHNTaXplOwogICAgICAgICAgICAgbV9zeW5jaHJvbml6YXRpb25JblByb2dyZXNzID0gZmFsc2U7
CiAgICAgICAgIH0pOwpAQCAtMzAyLDcgKzI3Nyw3IEBAIHZvaWQgU3RvcmFnZTo6c3luY2hyb25p
emUoKQogCiAgICAgICAgIGRlbGV0ZUVtcHR5UmVjb3Jkc0RpcmVjdG9yaWVzKHJlY29yZHNQYXRo
KCkpOwogCi0gICAgICAgIExPRyhOZXR3b3JrQ2FjaGVTdG9yYWdlLCAiKE5ldHdvcmtQcm9jZXNz
KSBjYWNoZSBzeW5jaHJvbml6YXRpb24gY29tcGxldGVkIHNpemU9JXp1IGNvdW50PSV1IiwgcmVj
b3Jkc1NpemUsIGNvdW50KTsKKyAgICAgICAgTE9HKE5ldHdvcmtDYWNoZVN0b3JhZ2UsICIoTmV0
d29ya1Byb2Nlc3MpIGNhY2hlIHN5bmNocm9uaXphdGlvbiBjb21wbGV0ZWQgc2l6ZT0lenUgY291
bnQ9JWQiLCByZWNvcmRzU2l6ZSwgY291bnQpOwogICAgIH0pOwogfQogCkBAIC0zMjQsMzIgKzI5
OSwzMCBAQCBib29sIFN0b3JhZ2U6Om1heUNvbnRhaW4oY29uc3QgS2V5JiBrZXkpIGNvbnN0CiAg
ICAgcmV0dXJuICFtX3JlY29yZEZpbHRlciB8fCBtX3JlY29yZEZpbHRlci0+bWF5Q29udGFpbihr
ZXkuaGFzaCgpKTsKIH0KIAotYm9vbCBTdG9yYWdlOjptYXlDb250YWluQmxvYihjb25zdCBLZXkm
IGtleSkgY29uc3QKK1N0cmluZyBTdG9yYWdlOjpwYXJ0aXRpb25QYXRoRm9yS2V5KGNvbnN0IEtl
eSYga2V5KSBjb25zdAogewotICAgIEFTU0VSVChSdW5Mb29wOjppc01haW4oKSk7Ci0gICAgcmV0
dXJuICFtX2Jsb2JGaWx0ZXIgfHwgbV9ibG9iRmlsdGVyLT5tYXlDb250YWluKGtleS5oYXNoKCkp
OworICAgIEFTU0VSVCgha2V5LnBhcnRpdGlvbigpLmlzRW1wdHkoKSk7CisgICAgcmV0dXJuIFdl
YkNvcmU6OnBhdGhCeUFwcGVuZGluZ0NvbXBvbmVudChyZWNvcmRzUGF0aCgpLCBrZXkucGFydGl0
aW9uKCkpOwogfQogCi1TdHJpbmcgU3RvcmFnZTo6cmVjb3JkRGlyZWN0b3J5UGF0aEZvcktleShj
b25zdCBLZXkmIGtleSkgY29uc3QKK3N0YXRpYyBTdHJpbmcgZmlsZU5hbWVGb3JLZXkoY29uc3Qg
S2V5JiBrZXkpCiB7Ci0gICAgQVNTRVJUKCFrZXkucGFydGl0aW9uKCkuaXNFbXB0eSgpKTsKLSAg
ICBBU1NFUlQoIWtleS50eXBlKCkuaXNFbXB0eSgpKTsKLSAgICByZXR1cm4gV2ViQ29yZTo6cGF0
aEJ5QXBwZW5kaW5nQ29tcG9uZW50KFdlYkNvcmU6OnBhdGhCeUFwcGVuZGluZ0NvbXBvbmVudChy
ZWNvcmRzUGF0aCgpLCBrZXkucGFydGl0aW9uKCkpLCBrZXkudHlwZSgpKTsKKyAgICByZXR1cm4g
a2V5Lmhhc2hBc1N0cmluZygpOwogfQogCiBTdHJpbmcgU3RvcmFnZTo6cmVjb3JkUGF0aEZvcktl
eShjb25zdCBLZXkmIGtleSkgY29uc3QKIHsKLSAgICByZXR1cm4gV2ViQ29yZTo6cGF0aEJ5QXBw
ZW5kaW5nQ29tcG9uZW50KHJlY29yZERpcmVjdG9yeVBhdGhGb3JLZXkoa2V5KSwga2V5Lmhhc2hB
c1N0cmluZygpKTsKKyAgICByZXR1cm4gV2ViQ29yZTo6cGF0aEJ5QXBwZW5kaW5nQ29tcG9uZW50
KHBhcnRpdGlvblBhdGhGb3JLZXkoa2V5KSwgZmlsZU5hbWVGb3JLZXkoa2V5KSk7CiB9CiAKLXN0
YXRpYyBTdHJpbmcgYmxvYlBhdGhGb3JSZWNvcmRQYXRoKGNvbnN0IFN0cmluZyYgcmVjb3JkUGF0
aCkKK3N0YXRpYyBTdHJpbmcgYm9keVBhdGhGb3JSZWNvcmRQYXRoKGNvbnN0IFN0cmluZyYgcmVj
b3JkUGF0aCkKIHsKLSAgICByZXR1cm4gcmVjb3JkUGF0aCArIGJsb2JTdWZmaXg7CisgICAgcmV0
dXJuIHJlY29yZFBhdGggKyBib2R5UG9zdGZpeDsKIH0KIAotU3RyaW5nIFN0b3JhZ2U6OmJsb2JQ
YXRoRm9yS2V5KGNvbnN0IEtleSYga2V5KSBjb25zdAorU3RyaW5nIFN0b3JhZ2U6OmJvZHlQYXRo
Rm9yS2V5KGNvbnN0IEtleSYga2V5KSBjb25zdAogewotICAgIHJldHVybiBibG9iUGF0aEZvclJl
Y29yZFBhdGgocmVjb3JkUGF0aEZvcktleShrZXkpKTsKKyAgICByZXR1cm4gYm9keVBhdGhGb3JS
ZWNvcmRQYXRoKHJlY29yZFBhdGhGb3JLZXkoa2V5KSk7CiB9CiAKIHN0cnVjdCBSZWNvcmRNZXRh
RGF0YSB7CkBAIC00NzksMjAgKzQ1MiwyMCBAQCBzdGF0aWMgRGF0YSBlbmNvZGVSZWNvcmRNZXRh
RGF0YShjb25zdCBSZWNvcmRNZXRhRGF0YSYgbWV0YURhdGEpCiAKIE9wdGlvbmFsPEJsb2JTdG9y
YWdlOjpCbG9iPiBTdG9yYWdlOjpzdG9yZUJvZHlBc0Jsb2IoV3JpdGVPcGVyYXRpb24mIHdyaXRl
T3BlcmF0aW9uKQogewotICAgIGF1dG8gYmxvYlBhdGggPSBibG9iUGF0aEZvcktleSh3cml0ZU9w
ZXJhdGlvbi5yZWNvcmQua2V5KTsKKyAgICBhdXRvIGJvZHlQYXRoID0gYm9keVBhdGhGb3JLZXko
d3JpdGVPcGVyYXRpb24ucmVjb3JkLmtleSk7CiAKICAgICAvLyBTdG9yZSB0aGUgYm9keS4KLSAg
ICBhdXRvIGJsb2IgPSBtX2Jsb2JTdG9yYWdlLmFkZChibG9iUGF0aCwgd3JpdGVPcGVyYXRpb24u
cmVjb3JkLmJvZHkpOworICAgIGF1dG8gYmxvYiA9IG1fYmxvYlN0b3JhZ2UuYWRkKGJvZHlQYXRo
LCB3cml0ZU9wZXJhdGlvbi5yZWNvcmQuYm9keSk7CiAgICAgaWYgKGJsb2IuZGF0YS5pc051bGwo
KSkKICAgICAgICAgcmV0dXJuIHsgfTsKIAogICAgICsrd3JpdGVPcGVyYXRpb24uYWN0aXZlQ291
bnQ7CiAKICAgICBSdW5Mb29wOjptYWluKCkuZGlzcGF0Y2goW3RoaXMsIGJsb2IsICZ3cml0ZU9w
ZXJhdGlvbl0gewotICAgICAgICBpZiAobV9ibG9iRmlsdGVyKQotICAgICAgICAgICAgbV9ibG9i
RmlsdGVyLT5hZGQod3JpdGVPcGVyYXRpb24ucmVjb3JkLmtleS5oYXNoKCkpOworICAgICAgICBp
ZiAobV9ib2R5RmlsdGVyKQorICAgICAgICAgICAgbV9ib2R5RmlsdGVyLT5hZGQod3JpdGVPcGVy
YXRpb24ucmVjb3JkLmtleS5oYXNoKCkpOwogICAgICAgICBpZiAobV9zeW5jaHJvbml6YXRpb25J
blByb2dyZXNzKQotICAgICAgICAgICAgbV9ibG9iRmlsdGVySGFzaGVzQWRkZWREdXJpbmdTeW5j
aHJvbml6YXRpb24uYXBwZW5kKHdyaXRlT3BlcmF0aW9uLnJlY29yZC5rZXkuaGFzaCgpKTsKKyAg
ICAgICAgICAgIG1fYm9keUZpbHRlckhhc2hlc0FkZGVkRHVyaW5nU3luY2hyb25pemF0aW9uLmFw
cGVuZCh3cml0ZU9wZXJhdGlvbi5yZWNvcmQua2V5Lmhhc2goKSk7CiAKICAgICAgICAgaWYgKHdy
aXRlT3BlcmF0aW9uLm1hcHBlZEJvZHlIYW5kbGVyKQogICAgICAgICAgICAgd3JpdGVPcGVyYXRp
b24ubWFwcGVkQm9keUhhbmRsZXIoYmxvYi5kYXRhKTsKQEAgLTU1MCw3ICs1MjMsNyBAQCB2b2lk
IFN0b3JhZ2U6OnJlbW92ZShjb25zdCBLZXkmIGtleSkKIAogICAgIHNlcmlhbEJhY2tncm91bmRJ
T1F1ZXVlKCkuZGlzcGF0Y2goW3RoaXMsIGtleV0gewogICAgICAgICBXZWJDb3JlOjpkZWxldGVG
aWxlKHJlY29yZFBhdGhGb3JLZXkoa2V5KSk7Ci0gICAgICAgIG1fYmxvYlN0b3JhZ2UucmVtb3Zl
KGJsb2JQYXRoRm9yS2V5KGtleSkpOworICAgICAgICBtX2Jsb2JTdG9yYWdlLnJlbW92ZShib2R5
UGF0aEZvcktleShrZXkpKTsKICAgICB9KTsKIH0KIApAQCAtNTczLDcgKzU0Niw3IEBAIHZvaWQg
U3RvcmFnZTo6ZGlzcGF0Y2hSZWFkT3BlcmF0aW9uKHN0ZDo6dW5pcXVlX3B0cjxSZWFkT3BlcmF0
aW9uPiByZWFkT3BlcmF0aW9uCiAgICAgY29uc3QgYXV0byByZWFkVGltZW91dCA9IDE1MDBfbXM7
CiAgICAgbV9yZWFkT3BlcmF0aW9uVGltZW91dFRpbWVyLnN0YXJ0T25lU2hvdChyZWFkVGltZW91
dCk7CiAKLSAgICBib29sIHNob3VsZEdldEJvZHlCbG9iID0gbWF5Q29udGFpbkJsb2IocmVhZE9w
ZXJhdGlvbi5rZXkpOworICAgIGJvb2wgc2hvdWxkR2V0Qm9keUJsb2IgPSAhbV9ib2R5RmlsdGVy
IHx8IG1fYm9keUZpbHRlci0+bWF5Q29udGFpbihyZWFkT3BlcmF0aW9uLmtleS5oYXNoKCkpOwog
CiAgICAgaW9RdWV1ZSgpLmRpc3BhdGNoKFt0aGlzLCAmcmVhZE9wZXJhdGlvbiwgc2hvdWxkR2V0
Qm9keUJsb2JdIHsKICAgICAgICAgYXV0byByZWNvcmRQYXRoID0gcmVjb3JkUGF0aEZvcktleShy
ZWFkT3BlcmF0aW9uLmtleSk7CkBAIC01OTAsOSArNTYzLDkgQEAgdm9pZCBTdG9yYWdlOjpkaXNw
YXRjaFJlYWRPcGVyYXRpb24oc3RkOjp1bmlxdWVfcHRyPFJlYWRPcGVyYXRpb24+IHJlYWRPcGVy
YXRpb24KICAgICAgICAgfSk7CiAKICAgICAgICAgaWYgKHNob3VsZEdldEJvZHlCbG9iKSB7Ci0g
ICAgICAgICAgICAvLyBSZWFkIHRoZSBibG9iIGluIHBhcmFsbGVsIHdpdGggdGhlIHJlY29yZCBy
ZWFkLgotICAgICAgICAgICAgYXV0byBibG9iUGF0aCA9IGJsb2JQYXRoRm9yS2V5KHJlYWRPcGVy
YXRpb24ua2V5KTsKLSAgICAgICAgICAgIHJlYWRPcGVyYXRpb24ucmVzdWx0Qm9keUJsb2IgPSBt
X2Jsb2JTdG9yYWdlLmdldChibG9iUGF0aCk7CisgICAgICAgICAgICAvLyBSZWFkIHRoZSBib2R5
IGJsb2IgaW4gcGFyYWxsZWwgd2l0aCB0aGUgcmVjb3JkIHJlYWQuCisgICAgICAgICAgICBhdXRv
IGJvZHlQYXRoID0gYm9keVBhdGhGb3JLZXkocmVhZE9wZXJhdGlvbi5rZXkpOworICAgICAgICAg
ICAgcmVhZE9wZXJhdGlvbi5yZXN1bHRCb2R5QmxvYiA9IG1fYmxvYlN0b3JhZ2UuZ2V0KGJvZHlQ
YXRoKTsKICAgICAgICAgICAgIGZpbmlzaFJlYWRPcGVyYXRpb24ocmVhZE9wZXJhdGlvbik7CiAg
ICAgICAgIH0KICAgICB9KTsKQEAgLTYwMSw3ICs1NzQsNyBAQCB2b2lkIFN0b3JhZ2U6OmRpc3Bh
dGNoUmVhZE9wZXJhdGlvbihzdGQ6OnVuaXF1ZV9wdHI8UmVhZE9wZXJhdGlvbj4gcmVhZE9wZXJh
dGlvbgogdm9pZCBTdG9yYWdlOjpmaW5pc2hSZWFkT3BlcmF0aW9uKFJlYWRPcGVyYXRpb24mIHJl
YWRPcGVyYXRpb24pCiB7CiAgICAgQVNTRVJUKHJlYWRPcGVyYXRpb24uYWN0aXZlQ291bnQpOwot
ICAgIC8vIFJlY29yZCBhbmQgYmxvYiByZWFkcyBtdXN0IGZpbmlzaC4KKyAgICAvLyBSZWNvcmQg
YW5kIGJvZHkgYmxvYiByZWFkcyBtdXN0IGZpbmlzaC4KICAgICBpZiAoLS1yZWFkT3BlcmF0aW9u
LmFjdGl2ZUNvdW50KQogICAgICAgICByZXR1cm47CiAKQEAgLTcwOCwxNyArNjgxLDE3IEBAIHZv
aWQgU3RvcmFnZTo6ZGlzcGF0Y2hXcml0ZU9wZXJhdGlvbihzdGQ6OnVuaXF1ZV9wdHI8V3JpdGVP
cGVyYXRpb24+IHdyaXRlT3BlcmF0CiAgICAgYWRkVG9SZWNvcmRGaWx0ZXIod3JpdGVPcGVyYXRp
b24ucmVjb3JkLmtleSk7CiAKICAgICBiYWNrZ3JvdW5kSU9RdWV1ZSgpLmRpc3BhdGNoKFt0aGlz
LCAmd3JpdGVPcGVyYXRpb25dIHsKLSAgICAgICAgYXV0byByZWNvcmREaXJlY3RvclBhdGggPSBy
ZWNvcmREaXJlY3RvcnlQYXRoRm9yS2V5KHdyaXRlT3BlcmF0aW9uLnJlY29yZC5rZXkpOworICAg
ICAgICBhdXRvIHBhcnRpdGlvblBhdGggPSBwYXJ0aXRpb25QYXRoRm9yS2V5KHdyaXRlT3BlcmF0
aW9uLnJlY29yZC5rZXkpOwogICAgICAgICBhdXRvIHJlY29yZFBhdGggPSByZWNvcmRQYXRoRm9y
S2V5KHdyaXRlT3BlcmF0aW9uLnJlY29yZC5rZXkpOwogCi0gICAgICAgIFdlYkNvcmU6Om1ha2VB
bGxEaXJlY3RvcmllcyhyZWNvcmREaXJlY3RvclBhdGgpOworICAgICAgICBXZWJDb3JlOjptYWtl
QWxsRGlyZWN0b3JpZXMocGFydGl0aW9uUGF0aCk7CiAKICAgICAgICAgKyt3cml0ZU9wZXJhdGlv
bi5hY3RpdmVDb3VudDsKIAogICAgICAgICBib29sIHNob3VsZFN0b3JlQXNCbG9iID0gc2hvdWxk
U3RvcmVCb2R5QXNCbG9iKHdyaXRlT3BlcmF0aW9uLnJlY29yZC5ib2R5KTsKLSAgICAgICAgYXV0
byBibG9iID0gc2hvdWxkU3RvcmVBc0Jsb2IgPyBzdG9yZUJvZHlBc0Jsb2Iod3JpdGVPcGVyYXRp
b24pIDogTnVsbG9wdDsKKyAgICAgICAgYXV0byBib2R5QmxvYiA9IHNob3VsZFN0b3JlQXNCbG9i
ID8gc3RvcmVCb2R5QXNCbG9iKHdyaXRlT3BlcmF0aW9uKSA6IE51bGxvcHQ7CiAKLSAgICAgICAg
YXV0byByZWNvcmREYXRhID0gZW5jb2RlUmVjb3JkKHdyaXRlT3BlcmF0aW9uLnJlY29yZCwgYmxv
Yik7CisgICAgICAgIGF1dG8gcmVjb3JkRGF0YSA9IGVuY29kZVJlY29yZCh3cml0ZU9wZXJhdGlv
bi5yZWNvcmQsIGJvZHlCbG9iKTsKIAogICAgICAgICBhdXRvIGNoYW5uZWwgPSBJT0NoYW5uZWw6
Om9wZW4ocmVjb3JkUGF0aCwgSU9DaGFubmVsOjpUeXBlOjpDcmVhdGUpOwogICAgICAgICBzaXpl
X3QgcmVjb3JkU2l6ZSA9IHJlY29yZERhdGEuc2l6ZSgpOwpAQCAtNzk3LDMwICs3NzAsMjggQEAg
dm9pZCBTdG9yYWdlOjpzdG9yZShjb25zdCBSZWNvcmQmIHJlY29yZCwgTWFwcGVkQm9keUhhbmRs
ZXImJiBtYXBwZWRCb2R5SGFuZGxlcikKICAgICBtX3dyaXRlT3BlcmF0aW9uRGlzcGF0Y2hUaW1l
ci5zdGFydE9uZVNob3QoaW5pdGlhbFdyaXRlRGVsYXkpOwogfQogCi12b2lkIFN0b3JhZ2U6OnRy
YXZlcnNlKGNvbnN0IFN0cmluZyYgdHlwZSwgVHJhdmVyc2VGbGFncyBmbGFncywgVHJhdmVyc2VI
YW5kbGVyJiYgdHJhdmVyc2VIYW5kbGVyKQordm9pZCBTdG9yYWdlOjp0cmF2ZXJzZShUcmF2ZXJz
ZUZsYWdzIGZsYWdzLCBUcmF2ZXJzZUhhbmRsZXImJiB0cmF2ZXJzZUhhbmRsZXIpCiB7CiAgICAg
QVNTRVJUKFJ1bkxvb3A6OmlzTWFpbigpKTsKICAgICBBU1NFUlQodHJhdmVyc2VIYW5kbGVyKTsK
ICAgICAvLyBBdm9pZCBub24tdGhyZWFkIHNhZmUgc3RkOjpmdW5jdGlvbiBjb3BpZXMuCiAKLSAg
ICBhdXRvIHRyYXZlcnNlT3BlcmF0aW9uUHRyID0gc3RkOjptYWtlX3VuaXF1ZTxUcmF2ZXJzZU9w
ZXJhdGlvbj4odHlwZSwgZmxhZ3MsIFdURjo6bW92ZSh0cmF2ZXJzZUhhbmRsZXIpKTsKKyAgICBh
dXRvIHRyYXZlcnNlT3BlcmF0aW9uUHRyID0gc3RkOjptYWtlX3VuaXF1ZTxUcmF2ZXJzZU9wZXJh
dGlvbj4oZmxhZ3MsIFdURjo6bW92ZSh0cmF2ZXJzZUhhbmRsZXIpKTsKICAgICBhdXRvJiB0cmF2
ZXJzZU9wZXJhdGlvbiA9ICp0cmF2ZXJzZU9wZXJhdGlvblB0cjsKICAgICBtX2FjdGl2ZVRyYXZl
cnNlT3BlcmF0aW9ucy5hZGQoV1RGOjptb3ZlKHRyYXZlcnNlT3BlcmF0aW9uUHRyKSk7CiAKICAg
ICBpb1F1ZXVlKCkuZGlzcGF0Y2goW3RoaXMsICZ0cmF2ZXJzZU9wZXJhdGlvbl0gewotICAgICAg
ICB0cmF2ZXJzZVJlY29yZHNGaWxlcyhyZWNvcmRzUGF0aCgpLCB0cmF2ZXJzZU9wZXJhdGlvbi50
eXBlLCBbdGhpcywgJnRyYXZlcnNlT3BlcmF0aW9uXShjb25zdCBTdHJpbmcmIGZpbGVOYW1lLCBj
b25zdCBTdHJpbmcmIGhhc2hTdHJpbmcsIGNvbnN0IFN0cmluZyYgdHlwZSwgYm9vbCBpc0JvZHlC
bG9iLCBjb25zdCBTdHJpbmcmIHJlY29yZERpcmVjdG9yeVBhdGgpIHsKLSAgICAgICAgICAgIEFT
U0VSVCh0eXBlID09IHRyYXZlcnNlT3BlcmF0aW9uLnR5cGUpOwotICAgICAgICAgICAgaWYgKGlz
Qm9keUJsb2IpCisgICAgICAgIHRyYXZlcnNlUmVjb3Jkc0ZpbGVzKHJlY29yZHNQYXRoKCksIFt0
aGlzLCAmdHJhdmVyc2VPcGVyYXRpb25dKGNvbnN0IFN0cmluZyYgZmlsZU5hbWUsIGNvbnN0IFN0
cmluZyYgcGFydGl0aW9uUGF0aCkgeworICAgICAgICAgICAgaWYgKGZpbGVOYW1lLmxlbmd0aCgp
ICE9IEtleTo6aGFzaFN0cmluZ0xlbmd0aCgpKQogICAgICAgICAgICAgICAgIHJldHVybjsKLQot
ICAgICAgICAgICAgYXV0byByZWNvcmRQYXRoID0gV2ViQ29yZTo6cGF0aEJ5QXBwZW5kaW5nQ29t
cG9uZW50KHJlY29yZERpcmVjdG9yeVBhdGgsIGZpbGVOYW1lKTsKKyAgICAgICAgICAgIGF1dG8g
cmVjb3JkUGF0aCA9IFdlYkNvcmU6OnBhdGhCeUFwcGVuZGluZ0NvbXBvbmVudChwYXJ0aXRpb25Q
YXRoLCBmaWxlTmFtZSk7CiAKICAgICAgICAgICAgIGRvdWJsZSB3b3J0aCA9IC0xOwogICAgICAg
ICAgICAgaWYgKHRyYXZlcnNlT3BlcmF0aW9uLmZsYWdzICYgVHJhdmVyc2VGbGFnOjpDb21wdXRl
V29ydGgpCiAgICAgICAgICAgICAgICAgd29ydGggPSBjb21wdXRlUmVjb3JkV29ydGgoZmlsZVRp
bWVzKHJlY29yZFBhdGgpKTsKICAgICAgICAgICAgIHVuc2lnbmVkIGJvZHlTaGFyZUNvdW50ID0g
MDsKICAgICAgICAgICAgIGlmICh0cmF2ZXJzZU9wZXJhdGlvbi5mbGFncyAmIFRyYXZlcnNlRmxh
Zzo6U2hhcmVDb3VudCkKLSAgICAgICAgICAgICAgICBib2R5U2hhcmVDb3VudCA9IG1fYmxvYlN0
b3JhZ2Uuc2hhcmVDb3VudChibG9iUGF0aEZvclJlY29yZFBhdGgocmVjb3JkUGF0aCkpOworICAg
ICAgICAgICAgICAgIGJvZHlTaGFyZUNvdW50ID0gbV9ibG9iU3RvcmFnZS5zaGFyZUNvdW50KGJv
ZHlQYXRoRm9yUmVjb3JkUGF0aChyZWNvcmRQYXRoKSk7CiAKICAgICAgICAgICAgIHN0ZDo6dW5p
cXVlX2xvY2s8TG9jaz4gbG9jayh0cmF2ZXJzZU9wZXJhdGlvbi5hY3RpdmVNdXRleCk7CiAgICAg
ICAgICAgICArK3RyYXZlcnNlT3BlcmF0aW9uLmFjdGl2ZUNvdW50OwpAQCAtODg1LDI0ICs4NTYs
MjQgQEAgdm9pZCBTdG9yYWdlOjpzZXRDYXBhY2l0eShzaXplX3QgY2FwYWNpdHkpCiAgICAgc2hy
aW5rSWZOZWVkZWQoKTsKIH0KIAotdm9pZCBTdG9yYWdlOjpjbGVhcihjb25zdCBTdHJpbmcmIHR5
cGUsIHN0ZDo6Y2hyb25vOjpzeXN0ZW1fY2xvY2s6OnRpbWVfcG9pbnQgbW9kaWZpZWRTaW5jZVRp
bWUsIHN0ZDo6ZnVuY3Rpb248dm9pZCAoKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKK3ZvaWQgU3Rv
cmFnZTo6Y2xlYXIoc3RkOjpjaHJvbm86OnN5c3RlbV9jbG9jazo6dGltZV9wb2ludCBtb2RpZmll
ZFNpbmNlVGltZSwgc3RkOjpmdW5jdGlvbjx2b2lkICgpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQog
ewogICAgIEFTU0VSVChSdW5Mb29wOjppc01haW4oKSk7CiAgICAgTE9HKE5ldHdvcmtDYWNoZVN0
b3JhZ2UsICIoTmV0d29ya1Byb2Nlc3MpIGNsZWFyaW5nIGNhY2hlIik7CiAKICAgICBpZiAobV9y
ZWNvcmRGaWx0ZXIpCiAgICAgICAgIG1fcmVjb3JkRmlsdGVyLT5jbGVhcigpOwotICAgIGlmICht
X2Jsb2JGaWx0ZXIpCi0gICAgICAgIG1fYmxvYkZpbHRlci0+Y2xlYXIoKTsKKyAgICBpZiAobV9i
b2R5RmlsdGVyKQorICAgICAgICBtX2JvZHlGaWx0ZXItPmNsZWFyKCk7CiAgICAgbV9hcHByb3hp
bWF0ZVJlY29yZHNTaXplID0gMDsKIAogICAgIC8vIEF2b2lkIG5vbi10aHJlYWQgc2FmZSBzdGQ6
OmZ1bmN0aW9uIGNvcGllcy4KICAgICBhdXRvKiBjb21wbGV0aW9uSGFuZGxlclB0ciA9IGNvbXBs
ZXRpb25IYW5kbGVyID8gbmV3IHN0ZDo6ZnVuY3Rpb248dm9pZCAoKT4oV1RGOjptb3ZlKGNvbXBs
ZXRpb25IYW5kbGVyKSkgOiBudWxscHRyOwotICAgIFN0cmluZ0NhcHR1cmUgdHlwZUNhcHR1cmUo
dHlwZSk7Ci0gICAgaW9RdWV1ZSgpLmRpc3BhdGNoKFt0aGlzLCBtb2RpZmllZFNpbmNlVGltZSwg
Y29tcGxldGlvbkhhbmRsZXJQdHIsIHR5cGVDYXB0dXJlXSB7CisKKyAgICBpb1F1ZXVlKCkuZGlz
cGF0Y2goW3RoaXMsIG1vZGlmaWVkU2luY2VUaW1lLCBjb21wbGV0aW9uSGFuZGxlclB0cl0gewog
ICAgICAgICBhdXRvIHJlY29yZHNQYXRoID0gdGhpcy0+cmVjb3Jkc1BhdGgoKTsKLSAgICAgICAg
dHJhdmVyc2VSZWNvcmRzRmlsZXMocmVjb3Jkc1BhdGgsIHR5cGVDYXB0dXJlLnN0cmluZygpLCBb
bW9kaWZpZWRTaW5jZVRpbWVdKGNvbnN0IFN0cmluZyYgZmlsZU5hbWUsIGNvbnN0IFN0cmluZyYg
aGFzaFN0cmluZywgY29uc3QgU3RyaW5nJiB0eXBlLCBib29sIGlzQm9keUJsb2IsIGNvbnN0IFN0
cmluZyYgcmVjb3JkRGlyZWN0b3J5UGF0aCkgewotICAgICAgICAgICAgYXV0byBmaWxlUGF0aCA9
IFdlYkNvcmU6OnBhdGhCeUFwcGVuZGluZ0NvbXBvbmVudChyZWNvcmREaXJlY3RvcnlQYXRoLCBm
aWxlTmFtZSk7CisgICAgICAgIHRyYXZlcnNlUmVjb3Jkc0ZpbGVzKHJlY29yZHNQYXRoLCBbbW9k
aWZpZWRTaW5jZVRpbWVdKGNvbnN0IFN0cmluZyYgZmlsZU5hbWUsIGNvbnN0IFN0cmluZyYgcGFy
dGl0aW9uUGF0aCkgeworICAgICAgICAgICAgYXV0byBmaWxlUGF0aCA9IFdlYkNvcmU6OnBhdGhC
eUFwcGVuZGluZ0NvbXBvbmVudChwYXJ0aXRpb25QYXRoLCBmaWxlTmFtZSk7CiAgICAgICAgICAg
ICBpZiAobW9kaWZpZWRTaW5jZVRpbWUgPiBzdGQ6OmNocm9ubzo6c3lzdGVtX2Nsb2NrOjp0aW1l
X3BvaW50OjptaW4oKSkgewogICAgICAgICAgICAgICAgIGF1dG8gdGltZXMgPSBmaWxlVGltZXMo
ZmlsZVBhdGgpOwogICAgICAgICAgICAgICAgIGlmICh0aW1lcy5tb2RpZmljYXRpb24gPCBtb2Rp
ZmllZFNpbmNlVGltZSkKQEAgLTkxMyw3ICs4ODQsNyBAQCB2b2lkIFN0b3JhZ2U6OmNsZWFyKGNv
bnN0IFN0cmluZyYgdHlwZSwgc3RkOjpjaHJvbm86OnN5c3RlbV9jbG9jazo6dGltZV9wb2ludCBt
bwogCiAgICAgICAgIGRlbGV0ZUVtcHR5UmVjb3Jkc0RpcmVjdG9yaWVzKHJlY29yZHNQYXRoKTsK
IAotICAgICAgICAvLyBUaGlzIGNsZWFucyB1bnJlZmVyZW5jZWQgYmxvYnMuCisgICAgICAgIC8v
IFRoaXMgY2xlYW5zIHVucmVmZXJlbmNlcyBibG9icy4KICAgICAgICAgbV9ibG9iU3RvcmFnZS5z
eW5jaHJvbml6ZSgpOwogCiAgICAgICAgIGlmIChjb21wbGV0aW9uSGFuZGxlclB0cikgewpAQCAt
OTc5LDE2ICs5NTAsMTQgQEAgdm9pZCBTdG9yYWdlOjpzaHJpbmsoKQogCiAgICAgYmFja2dyb3Vu
ZElPUXVldWUoKS5kaXNwYXRjaChbdGhpc10gewogICAgICAgICBhdXRvIHJlY29yZHNQYXRoID0g
dGhpcy0+cmVjb3Jkc1BhdGgoKTsKLSAgICAgICAgU3RyaW5nIGFueVR5cGU7Ci0gICAgICAgIHRy
YXZlcnNlUmVjb3Jkc0ZpbGVzKHJlY29yZHNQYXRoLCBhbnlUeXBlLCBbdGhpc10oY29uc3QgU3Ry
aW5nJiBmaWxlTmFtZSwgY29uc3QgU3RyaW5nJiBoYXNoU3RyaW5nLCBjb25zdCBTdHJpbmcmIHR5
cGUsIGJvb2wgaXNCb2R5QmxvYiwgY29uc3QgU3RyaW5nJiByZWNvcmREaXJlY3RvcnlQYXRoKSB7
Ci0gICAgICAgICAgICBpZiAoaXNCb2R5QmxvYikKKyAgICAgICAgdHJhdmVyc2VSZWNvcmRzRmls
ZXMocmVjb3Jkc1BhdGgsIFt0aGlzXShjb25zdCBTdHJpbmcmIGZpbGVOYW1lLCBjb25zdCBTdHJp
bmcmIHBhcnRpdGlvblBhdGgpIHsKKyAgICAgICAgICAgIGlmIChmaWxlTmFtZS5sZW5ndGgoKSAh
PSBLZXk6Omhhc2hTdHJpbmdMZW5ndGgoKSkKICAgICAgICAgICAgICAgICByZXR1cm47Ci0KLSAg
ICAgICAgICAgIGF1dG8gcmVjb3JkUGF0aCA9IFdlYkNvcmU6OnBhdGhCeUFwcGVuZGluZ0NvbXBv
bmVudChyZWNvcmREaXJlY3RvcnlQYXRoLCBmaWxlTmFtZSk7Ci0gICAgICAgICAgICBhdXRvIGJs
b2JQYXRoID0gYmxvYlBhdGhGb3JSZWNvcmRQYXRoKHJlY29yZFBhdGgpOworICAgICAgICAgICAg
YXV0byByZWNvcmRQYXRoID0gV2ViQ29yZTo6cGF0aEJ5QXBwZW5kaW5nQ29tcG9uZW50KHBhcnRp
dGlvblBhdGgsIGZpbGVOYW1lKTsKKyAgICAgICAgICAgIGF1dG8gYm9keVBhdGggPSBib2R5UGF0
aEZvclJlY29yZFBhdGgocmVjb3JkUGF0aCk7CiAKICAgICAgICAgICAgIGF1dG8gdGltZXMgPSBm
aWxlVGltZXMocmVjb3JkUGF0aCk7Ci0gICAgICAgICAgICB1bnNpZ25lZCBib2R5U2hhcmVDb3Vu
dCA9IG1fYmxvYlN0b3JhZ2Uuc2hhcmVDb3VudChibG9iUGF0aCk7CisgICAgICAgICAgICB1bnNp
Z25lZCBib2R5U2hhcmVDb3VudCA9IG1fYmxvYlN0b3JhZ2Uuc2hhcmVDb3VudChib2R5UGF0aCk7
CiAgICAgICAgICAgICBhdXRvIHByb2JhYmlsaXR5ID0gZGVsZXRpb25Qcm9iYWJpbGl0eSh0aW1l
cywgYm9keVNoYXJlQ291bnQpOwogCiAgICAgICAgICAgICBib29sIHNob3VsZERlbGV0ZSA9IHJh
bmRvbU51bWJlcigpIDwgcHJvYmFiaWxpdHk7CkBAIC05OTcsNyArOTY2LDcgQEAgdm9pZCBTdG9y
YWdlOjpzaHJpbmsoKQogCiAgICAgICAgICAgICBpZiAoc2hvdWxkRGVsZXRlKSB7CiAgICAgICAg
ICAgICAgICAgV2ViQ29yZTo6ZGVsZXRlRmlsZShyZWNvcmRQYXRoKTsKLSAgICAgICAgICAgICAg
ICBtX2Jsb2JTdG9yYWdlLnJlbW92ZShibG9iUGF0aCk7CisgICAgICAgICAgICAgICAgbV9ibG9i
U3RvcmFnZS5yZW1vdmUoYm9keVBhdGgpOwogICAgICAgICAgICAgfQogICAgICAgICB9KTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0Nh
Y2hlU3RvcmFnZS5oIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29y
a0NhY2hlU3RvcmFnZS5oCmluZGV4IDVmN2RiZTUxNTAwMDZiY2VhMTdjNDg2OWQ0Y2YwYjEwZDk3
MjYyMzYuLjM2ZGMxZDlhMmYzYmZiZjM5ZThhMTMyNjdkODBkODRjNTc2ZWE2NzIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVN0b3Jh
Z2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2Fj
aGVTdG9yYWdlLmgKQEAgLTY1LDcgKzY1LDcgQEAgcHVibGljOgogICAgIHZvaWQgc3RvcmUoY29u
c3QgUmVjb3JkJiwgTWFwcGVkQm9keUhhbmRsZXImJik7CiAKICAgICB2b2lkIHJlbW92ZShjb25z
dCBLZXkmKTsKLSAgICB2b2lkIGNsZWFyKGNvbnN0IFN0cmluZyYgdHlwZSwgc3RkOjpjaHJvbm86
OnN5c3RlbV9jbG9jazo6dGltZV9wb2ludCBtb2RpZmllZFNpbmNlVGltZSwgc3RkOjpmdW5jdGlv
bjx2b2lkICgpPiYmIGNvbXBsZXRpb25IYW5kbGVyKTsKKyAgICB2b2lkIGNsZWFyKHN0ZDo6Y2hy
b25vOjpzeXN0ZW1fY2xvY2s6OnRpbWVfcG9pbnQgbW9kaWZpZWRTaW5jZVRpbWUsIHN0ZDo6ZnVu
Y3Rpb248dm9pZCAoKT4mJiBjb21wbGV0aW9uSGFuZGxlcik7CiAKICAgICBzdHJ1Y3QgUmVjb3Jk
SW5mbyB7CiAgICAgICAgIHNpemVfdCBib2R5U2l6ZTsKQEAgLTgwLDEzICs4MCwxMyBAQCBwdWJs
aWM6CiAgICAgdHlwZWRlZiB1bnNpZ25lZCBUcmF2ZXJzZUZsYWdzOwogICAgIHR5cGVkZWYgc3Rk
OjpmdW5jdGlvbjx2b2lkIChjb25zdCBSZWNvcmQqLCBjb25zdCBSZWNvcmRJbmZvJik+IFRyYXZl
cnNlSGFuZGxlcjsKICAgICAvLyBOdWxsIHJlY29yZCBzaWduYWxzIGVuZC4KLSAgICB2b2lkIHRy
YXZlcnNlKGNvbnN0IFN0cmluZyYgdHlwZSwgVHJhdmVyc2VGbGFncywgVHJhdmVyc2VIYW5kbGVy
JiYpOworICAgIHZvaWQgdHJhdmVyc2UoVHJhdmVyc2VGbGFncywgVHJhdmVyc2VIYW5kbGVyJiYp
OwogCiAgICAgdm9pZCBzZXRDYXBhY2l0eShzaXplX3QpOwogICAgIHNpemVfdCBjYXBhY2l0eSgp
IGNvbnN0IHsgcmV0dXJuIG1fY2FwYWNpdHk7IH0KICAgICBzaXplX3QgYXBwcm94aW1hdGVTaXpl
KCkgY29uc3Q7CiAKLSAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgdmVyc2lvbiA9IDU7CisgICAg
c3RhdGljIGNvbnN0IHVuc2lnbmVkIHZlcnNpb24gPSA0OwogCiAgICAgU3RyaW5nIGJhc2VQYXRo
KCkgY29uc3Q7CiAgICAgU3RyaW5nIHZlcnNpb25QYXRoKCkgY29uc3Q7CkBAIC05Nyw5ICs5Nyw5
IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgU3RvcmFnZShjb25zdCBTdHJpbmcmIGRpcmVjdG9y
eVBhdGgpOwogCi0gICAgU3RyaW5nIHJlY29yZERpcmVjdG9yeVBhdGhGb3JLZXkoY29uc3QgS2V5
JikgY29uc3Q7CisgICAgU3RyaW5nIHBhcnRpdGlvblBhdGhGb3JLZXkoY29uc3QgS2V5JikgY29u
c3Q7CiAgICAgU3RyaW5nIHJlY29yZFBhdGhGb3JLZXkoY29uc3QgS2V5JikgY29uc3Q7Ci0gICAg
U3RyaW5nIGJsb2JQYXRoRm9yS2V5KGNvbnN0IEtleSYpIGNvbnN0OworICAgIFN0cmluZyBib2R5
UGF0aEZvcktleShjb25zdCBLZXkmKSBjb25zdDsKIAogICAgIHZvaWQgc3luY2hyb25pemUoKTsK
ICAgICB2b2lkIGRlbGV0ZU9sZFZlcnNpb25zKCk7CkBAIC0xMjksNyArMTI5LDYgQEAgcHJpdmF0
ZToKICAgICBXb3JrUXVldWUmIHNlcmlhbEJhY2tncm91bmRJT1F1ZXVlKCkgeyByZXR1cm4gbV9z
ZXJpYWxCYWNrZ3JvdW5kSU9RdWV1ZS5nZXQoKTsgfQogCiAgICAgYm9vbCBtYXlDb250YWluKGNv
bnN0IEtleSYpIGNvbnN0OwotICAgIGJvb2wgbWF5Q29udGFpbkJsb2IoY29uc3QgS2V5JikgY29u
c3Q7CiAKICAgICB2b2lkIGFkZFRvUmVjb3JkRmlsdGVyKGNvbnN0IEtleSYpOwogCkBAIC0xNDIs
MTMgKzE0MSwxMyBAQCBwcml2YXRlOgogICAgIC8vIDJeMTggYml0IGZpbHRlciBjYW4gc3VwcG9y
dCB1cCB0byAyNjAwMCBlbnRyaWVzIHdpdGggZmFsc2UgcG9zaXRpdmUgcmF0ZSA8IDElLgogICAg
IHVzaW5nIENvbnRlbnRzRmlsdGVyID0gQmxvb21GaWx0ZXI8MTg+OwogICAgIHN0ZDo6dW5pcXVl
X3B0cjxDb250ZW50c0ZpbHRlcj4gbV9yZWNvcmRGaWx0ZXI7Ci0gICAgc3RkOjp1bmlxdWVfcHRy
PENvbnRlbnRzRmlsdGVyPiBtX2Jsb2JGaWx0ZXI7CisgICAgc3RkOjp1bmlxdWVfcHRyPENvbnRl
bnRzRmlsdGVyPiBtX2JvZHlGaWx0ZXI7CiAKICAgICBib29sIG1fc3luY2hyb25pemF0aW9uSW5Q
cm9ncmVzcyB7IGZhbHNlIH07CiAgICAgYm9vbCBtX3Nocmlua0luUHJvZ3Jlc3MgeyBmYWxzZSB9
OwogCiAgICAgVmVjdG9yPEtleTo6SGFzaFR5cGU+IG1fcmVjb3JkRmlsdGVySGFzaGVzQWRkZWRE
dXJpbmdTeW5jaHJvbml6YXRpb247Ci0gICAgVmVjdG9yPEtleTo6SGFzaFR5cGU+IG1fYmxvYkZp
bHRlckhhc2hlc0FkZGVkRHVyaW5nU3luY2hyb25pemF0aW9uOworICAgIFZlY3RvcjxLZXk6Okhh
c2hUeXBlPiBtX2JvZHlGaWx0ZXJIYXNoZXNBZGRlZER1cmluZ1N5bmNocm9uaXphdGlvbjsKIAog
ICAgIHN0YXRpYyBjb25zdCBpbnQgbWF4aW11bVJldHJpZXZlUHJpb3JpdHkgPSA0OwogICAgIERl
cXVlPHN0ZDo6dW5pcXVlX3B0cjxSZWFkT3BlcmF0aW9uPj4gbV9wZW5kaW5nUmVhZE9wZXJhdGlv
bnNCeVByaW9yaXR5W21heGltdW1SZXRyaWV2ZVByaW9yaXR5ICsgMV07CkBAIC0xNzAsNyArMTY5
LDcgQEAgcHJpdmF0ZToKIH07CiAKIC8vIEZJWE1FOiBSZW1vdmUsIHVzZWQgYnkgTmV0d29ya0Nh
Y2hlU3RhdGlzdGljcyBvbmx5Lgotdm9pZCB0cmF2ZXJzZVJlY29yZHNGaWxlcyhjb25zdCBTdHJp
bmcmIHJlY29yZHNQYXRoLCBjb25zdCBTdHJpbmcmIHR5cGUsIGNvbnN0IHN0ZDo6ZnVuY3Rpb248
dm9pZCAoY29uc3QgU3RyaW5nJiBmaWxlTmFtZSwgY29uc3QgU3RyaW5nJiBoYXNoU3RyaW5nLCBj
b25zdCBTdHJpbmcmIHR5cGUsIGJvb2wgaXNCb2R5QmxvYiwgY29uc3QgU3RyaW5nJiByZWNvcmRE
aXJlY3RvcnlQYXRoKT4mKTsKK3ZvaWQgdHJhdmVyc2VSZWNvcmRzRmlsZXMoY29uc3QgU3RyaW5n
JiByZWNvcmRzUGF0aCwgY29uc3Qgc3RkOjpmdW5jdGlvbjx2b2lkIChjb25zdCBTdHJpbmcmLCBj
b25zdCBTdHJpbmcmKT4mKTsKIAogfQogfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>