<?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>183195</bug_id>
          
          <creation_ts>2018-02-27 21:32:36 -0800</creation_ts>
          <short_desc>Replace TrustedImmPtr(0) with TrustedImmPtr(nullptr)</short_desc>
          <delta_ts>2018-02-27 21:42:31 -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>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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Keith Miller">keith_miller</reporter>
          <assigned_to name="Keith Miller">keith_miller</assigned_to>
          <cc>ews-watchlist</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1402522</commentid>
    <comment_count>0</comment_count>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2018-02-27 21:32:36 -0800</bug_when>
    <thetext>Replace TrustedImmPtr(0) with TrustedImmPtr(nullptr)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1402523</commentid>
    <comment_count>1</comment_count>
      <attachid>334727</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2018-02-27 21:33:00 -0800</bug_when>
    <thetext>Created attachment 334727
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1402524</commentid>
    <comment_count>2</comment_count>
      <attachid>334727</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2018-02-27 21:36:57 -0800</bug_when>
    <thetext>Comment on attachment 334727
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1402525</commentid>
    <comment_count>3</comment_count>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2018-02-27 21:41:33 -0800</bug_when>
    <thetext>Committed r229087: &lt;https://trac.webkit.org/changeset/229087&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1402526</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-02-27 21:42:31 -0800</bug_when>
    <thetext>&lt;rdar://problem/37970264&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>334727</attachid>
            <date>2018-02-27 21:33:00 -0800</date>
            <delta_ts>2018-02-27 21:36:57 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-183195-20180227213259.patch</filename>
            <type>text/plain</type>
            <size>43941</size>
            <attacher name="Keith Miller">keith_miller</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI5MDc5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAw
YmJkYWU1YWFmOGVjNWE2M2Q5OTFjOTY0MjUyYzQyNmRjNmNlOGNmLi42MTc3M2E3NDA0NDM2ZjBk
ZGE3ZDFmYWU2ODlkMmM4YTBiNmVkZDM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw4OSBAQAorMjAxOC0wMi0yNyAgS2VpdGggTWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxl
LmNvbT4KKworICAgICAgICBSZXBsYWNlIFRydXN0ZWRJbW1QdHIoMCkgd2l0aCBUcnVzdGVkSW1t
UHRyKG51bGxwdHIpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xODMxOTUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIGFzc2VtYmxlci9BYnN0cmFjdE1hY3JvQXNzZW1ibGVyLmg6CisgICAgICAgIChKU0M6
OkFic3RyYWN0TWFjcm9Bc3NlbWJsZXI6OlRydXN0ZWRJbW1QdHI6OlRydXN0ZWRJbW1QdHIpOgor
ICAgICAgICAqIGFzc2VtYmxlci9NYWNyb0Fzc2VtYmxlci5oOgorICAgICAgICAoSlNDOjpNYWNy
b0Fzc2VtYmxlcjo6cGF0Y2hhYmxlQnJhbmNoUHRyKToKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3Nl
bWJsZXI6OnBhdGNoYWJsZUJyYW5jaFB0cldpdGhQYXRjaCk6CisgICAgICAgICogYXNzZW1ibGVy
L01hY3JvQXNzZW1ibGVyQVJNLmg6CisgICAgICAgIChKU0M6Ok1hY3JvQXNzZW1ibGVyQVJNOjpi
cmFuY2hQdHJXaXRoUGF0Y2gpOgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlckFSTTo6c3Rv
cmVQdHJXaXRoUGF0Y2gpOgorICAgICAgICAqIGFzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckFSTTY0
Lmg6CisgICAgICAgIChKU0M6Ok1hY3JvQXNzZW1ibGVyQVJNNjQ6OmNhbGwpOgorICAgICAgICAo
SlNDOjpNYWNyb0Fzc2VtYmxlckFSTTY0Ojp0YWlsUmVjdXJzaXZlQ2FsbCk6CisgICAgICAgIChK
U0M6Ok1hY3JvQXNzZW1ibGVyQVJNNjQ6OmJyYW5jaFB0cldpdGhQYXRjaCk6CisgICAgICAgIChK
U0M6Ok1hY3JvQXNzZW1ibGVyQVJNNjQ6OnBhdGNoYWJsZUJyYW5jaFB0cldpdGhQYXRjaCk6Cisg
ICAgICAgIChKU0M6Ok1hY3JvQXNzZW1ibGVyQVJNNjQ6OnN0b3JlUHRyV2l0aFBhdGNoKToKKyAg
ICAgICAgKiBhc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk12Ny5oOgorICAgICAgICAoSlNDOjpN
YWNyb0Fzc2VtYmxlckFSTXY3OjpicmFuY2hQdHJXaXRoUGF0Y2gpOgorICAgICAgICAoSlNDOjpN
YWNyb0Fzc2VtYmxlckFSTXY3OjpwYXRjaGFibGVCcmFuY2hQdHIpOgorICAgICAgICAoSlNDOjpN
YWNyb0Fzc2VtYmxlckFSTXY3OjpwYXRjaGFibGVCcmFuY2hQdHJXaXRoUGF0Y2gpOgorICAgICAg
ICAoSlNDOjpNYWNyb0Fzc2VtYmxlckFSTXY3OjpzdG9yZVB0cldpdGhQYXRjaCk6CisgICAgICAg
ICogYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyTUlQUy5oOgorICAgICAgICAoSlNDOjpNYWNyb0Fz
c2VtYmxlck1JUFM6OmJyYW5jaFB0cldpdGhQYXRjaCk6CisgICAgICAgIChKU0M6Ok1hY3JvQXNz
ZW1ibGVyTUlQUzo6c3RvcmVQdHJXaXRoUGF0Y2gpOgorICAgICAgICAqIGFzc2VtYmxlci9NYWNy
b0Fzc2VtYmxlclg4Ni5oOgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlclg4Njo6YnJhbmNo
UHRyV2l0aFBhdGNoKToKKyAgICAgICAgKiBhc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJYODZfNjQu
aDoKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJYODZfNjQ6OmNhbGxXaXRoU2xvd1BhdGhS
ZXR1cm5UeXBlKToKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJYODZfNjQ6OmNhbGwpOgor
ICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlclg4Nl82NDo6dGFpbFJlY3Vyc2l2ZUNhbGwpOgor
ICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlclg4Nl82NDo6bWFrZVRhaWxSZWN1cnNpdmVDYWxs
KToKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJYODZfNjQ6OmJyYW5jaFB0cldpdGhQYXRj
aCk6CisgICAgICAgICogYnl0ZWNvZGUvQWNjZXNzQ2FzZS5jcHA6CisgICAgICAgIChKU0M6OkFj
Y2Vzc0Nhc2U6OmdlbmVyYXRlSW1wbCk6CisgICAgICAgICogZGZnL0RGR1NwZWN1bGF0aXZlSklU
LmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6ZW1pdEFsbG9jYXRlUmF3
T2JqZWN0KToKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZVRvTG93
ZXJDYXNlKToKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZU1ha2VS
b3BlKToKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZUdldFR5cGVk
QXJyYXlCeXRlT2Zmc2V0KToKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y29t
cGlsZU5ld0Z1bmN0aW9uQ29tbW9uKToKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJ
VDo6Y29tcGlsZUNyZWF0ZURpcmVjdEFyZ3VtZW50cyk6CisgICAgICAgIChKU0M6OkRGRzo6U3Bl
Y3VsYXRpdmVKSVQ6OmNvbXBpbGVOZXdBcnJheVdpdGhTcHJlYWQpOgorICAgICAgICAoSlNDOjpE
Rkc6OlNwZWN1bGF0aXZlSklUOjpjb21waWxlQXJyYXlTbGljZSk6CisgICAgICAgIChKU0M6OkRG
Rzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVBbGxvY2F0ZVByb3BlcnR5U3RvcmFnZSk6CisgICAg
ICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVSZWFsbG9jYXRlUHJvcGVydHlT
dG9yYWdlKToKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZU5ld1R5
cGVkQXJyYXlXaXRoU2l6ZSk6CisgICAgICAgICogZGZnL0RGR1NwZWN1bGF0aXZlSklULmg6Cisg
ICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OlRydXN0ZWRJbW1QdHI6OlRydXN0ZWRJ
bW1QdHIpOgorICAgICAgICAqIGRmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcDoKKyAgICAg
ICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZSk6CisgICAgICAgIChKU0M6OkRG
Rzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVBbGxvY2F0ZU5ld0FycmF5V2l0aFNpemUpOgorICAg
ICAgICAqIGRmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpT
cGVjdWxhdGl2ZUpJVDo6ZW1pdENhbGwpOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZl
SklUOjpjb21waWxlKToKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y29tcGls
ZUFsbG9jYXRlTmV3QXJyYXlXaXRoU2l6ZSk6CisgICAgICAgICogZGZnL0RGR1RodW5rcy5jcHA6
CisgICAgICAgIChKU0M6OkRGRzo6b3NyRXhpdEdlbmVyYXRpb25UaHVua0dlbmVyYXRvcik6Cisg
ICAgICAgICogZnRsL0ZUTExvd2VyREZHVG9CMy5jcHA6CisgICAgICAgIChKU0M6OkZUTDo6REZH
OjpMb3dlckRGR1RvQjM6OmNvbXBpbGVDYWxsT3JDb25zdHJ1Y3QpOgorICAgICAgICAoSlNDOjpG
VEw6OkRGRzo6TG93ZXJERkdUb0IzOjpjb21waWxlVGFpbENhbGwpOgorICAgICAgICAoSlNDOjpG
VEw6OkRGRzo6TG93ZXJERkdUb0IzOjpjb21waWxlQ2FsbE9yQ29uc3RydWN0VmFyYXJncyk6Cisg
ICAgICAgICogZnRsL0ZUTFRodW5rcy5jcHA6CisgICAgICAgIChKU0M6OkZUTDo6Z2VuZXJpY0dl
bmVyYXRpb25UaHVua0dlbmVyYXRvcik6CisgICAgICAgICogaml0L0Fzc2VtYmx5SGVscGVycy5j
cHA6CisgICAgICAgIChKU0M6OkFzc2VtYmx5SGVscGVyczo6ZGVidWdDYWxsKToKKyAgICAgICAg
KEpTQzo6QXNzZW1ibHlIZWxwZXJzOjpzYW5pdGl6ZVN0YWNrSW5saW5lKToKKyAgICAgICAgKiBq
aXQvSW50cmluc2ljRW1pdHRlci5jcHA6CisgICAgICAgIChKU0M6OkludHJpbnNpY0dldHRlckFj
Y2Vzc0Nhc2U6OmVtaXRJbnRyaW5zaWNHZXR0ZXIpOgorICAgICAgICAqIGppdC9KSVRDYWxsLmNw
cDoKKyAgICAgICAgKEpTQzo6SklUOjpjb21waWxlT3BDYWxsKToKKyAgICAgICAgKiBqaXQvSklU
Q2FsbDMyXzY0LmNwcDoKKyAgICAgICAgKEpTQzo6SklUOjpjb21waWxlT3BDYWxsKToKKyAgICAg
ICAgKiBqaXQvU2NyYXRjaFJlZ2lzdGVyQWxsb2NhdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6U2Ny
YXRjaFJlZ2lzdGVyQWxsb2NhdG9yOjpyZXN0b3JlVXNlZFJlZ2lzdGVyc0Zyb21TY3JhdGNoQnVm
ZmVyRm9yQ2FsbCk6CisgICAgICAgICogd2FzbS9qcy9XYXNtVG9KUy5jcHA6CisgICAgICAgIChK
U0M6Oldhc206Ondhc21Ub0pTKToKKyAgICAgICAgKiB5YXJyL1lhcnJKSVQuY3BwOgorICAgICAg
ICAoSlNDOjpZYXJyOjpZYXJyR2VuZXJhdG9yOjppbml0UGFyZW5Db250ZXh0RnJlZUxpc3QpOgor
ICAgICAgICAoSlNDOjpZYXJyOjpZYXJyR2VuZXJhdG9yOjpzdG9yZVRvRnJhbWVXaXRoUGF0Y2gp
OgorICAgICAgICAoSlNDOjpZYXJyOjpZYXJyR2VuZXJhdG9yOjpnZW5lcmF0ZSk6CisKIDIwMTgt
MDItMjYgIE1hcmsgTGFtICA8bWFyay5sYW1AYXBwbGUuY29tPgogCiAgICAgICAgIE1vZGVybml6
ZSBGSU5BTElaRV9DT0RFIGFuZCBwZWVyIG1hY3JvcyB0byB1c2UgX19WQV9BUkdTX18gYXJndW1l
bnRzLgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9BYnN0cmFj
dE1hY3JvQXNzZW1ibGVyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0Fic3Ry
YWN0TWFjcm9Bc3NlbWJsZXIuaAppbmRleCBlYmRlNjA4MjQ1YTJmNmI3OGY4MGVmMzFjZDAzMTY1
NGJhOTU0YjlhLi5jM2NlYmRhMTM3OTA1YjUzMTk3ZGM1ZWIwZTY2YWMwMGFkNWYyZTQ2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0Fic3RyYWN0TWFjcm9Bc3Nl
bWJsZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0Fic3RyYWN0TWFj
cm9Bc3NlbWJsZXIuaApAQCAtMjUyLDEzICsyNTIsMTAgQEAgcHVibGljOgogICAgICAgICAgICAg
OiBtX3ZhbHVlKHZhbHVlKQogICAgICAgICB7CiAgICAgICAgIH0KLSAgICAgICAgCi0gICAgICAg
IC8vIFRoaXMgaXMgb25seSBoZXJlIHNvIHRoYXQgVHJ1c3RlZEltbVB0cigwKSBkb2VzIG5vdCBj
b25mdXNlIHRoZSBDKysKLSAgICAgICAgLy8gb3ZlcmxvYWQgaGFuZGxpbmcgcnVsZXMuCi0gICAg
ICAgIGV4cGxpY2l0IFRydXN0ZWRJbW1QdHIoaW50IHZhbHVlKQotICAgICAgICAgICAgOiBtX3Zh
bHVlKDApCisKKyAgICAgICAgZXhwbGljaXQgVHJ1c3RlZEltbVB0cihzdGQ6Om51bGxwdHJfdCkK
KyAgICAgICAgICAgIDogbV92YWx1ZShudWxscHRyKQogICAgICAgICB7Ci0gICAgICAgICAgICBB
U1NFUlRfVU5VU0VEKHZhbHVlLCAhdmFsdWUpOwogICAgICAgICB9CiAKICAgICAgICAgZXhwbGlj
aXQgVHJ1c3RlZEltbVB0cihzaXplX3QgdmFsdWUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyLmgKaW5kZXggM2YwYjVjMDJmMzEyNDc4OGI3MGEx
OWM5NTI2MDNlODJhOWNkOGE1MS4uYzFlNTQxOWRlN2MzNTM3OTllNWRiMWY5OTFkODAzOGIwYmVi
ZTBiOCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fz
c2VtYmxlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3Nl
bWJsZXIuaApAQCAtNDE3LDEyICs0MTcsMTIgQEAgcHVibGljOgogICAgIH0KIAogI2lmICFDUFUo
QVJNX1RIVU1CMikgJiYgIUNQVShBUk02NCkKLSAgICBQYXRjaGFibGVKdW1wIHBhdGNoYWJsZUJy
YW5jaFB0cihSZWxhdGlvbmFsQ29uZGl0aW9uIGNvbmQsIEFkZHJlc3MgbGVmdCwgVHJ1c3RlZElt
bVB0ciByaWdodCA9IFRydXN0ZWRJbW1QdHIoMCkpCisgICAgUGF0Y2hhYmxlSnVtcCBwYXRjaGFi
bGVCcmFuY2hQdHIoUmVsYXRpb25hbENvbmRpdGlvbiBjb25kLCBBZGRyZXNzIGxlZnQsIFRydXN0
ZWRJbW1QdHIgcmlnaHQgPSBUcnVzdGVkSW1tUHRyKG51bGxwdHIpKQogICAgIHsKICAgICAgICAg
cmV0dXJuIFBhdGNoYWJsZUp1bXAoYnJhbmNoUHRyKGNvbmQsIGxlZnQsIHJpZ2h0KSk7CiAgICAg
fQogICAgIAotICAgIFBhdGNoYWJsZUp1bXAgcGF0Y2hhYmxlQnJhbmNoUHRyV2l0aFBhdGNoKFJl
bGF0aW9uYWxDb25kaXRpb24gY29uZCwgQWRkcmVzcyBsZWZ0LCBEYXRhTGFiZWxQdHImIGRhdGFM
YWJlbCwgVHJ1c3RlZEltbVB0ciBpbml0aWFsUmlnaHRWYWx1ZSA9IFRydXN0ZWRJbW1QdHIoMCkp
CisgICAgUGF0Y2hhYmxlSnVtcCBwYXRjaGFibGVCcmFuY2hQdHJXaXRoUGF0Y2goUmVsYXRpb25h
bENvbmRpdGlvbiBjb25kLCBBZGRyZXNzIGxlZnQsIERhdGFMYWJlbFB0ciYgZGF0YUxhYmVsLCBU
cnVzdGVkSW1tUHRyIGluaXRpYWxSaWdodFZhbHVlID0gVHJ1c3RlZEltbVB0cihudWxscHRyKSkK
ICAgICB7CiAgICAgICAgIHJldHVybiBQYXRjaGFibGVKdW1wKGJyYW5jaFB0cldpdGhQYXRjaChj
b25kLCBsZWZ0LCBkYXRhTGFiZWwsIGluaXRpYWxSaWdodFZhbHVlKSk7CiAgICAgfQpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckFSTS5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckFSTS5oCmlu
ZGV4IDllNTA1OGZhODNjOGJlMDhiNTNjZGE5MjI0NTgzNWMxNTg4YTFiY2EuLjNhZGRkZDgwMzVk
ODAwYzI3ZjI5YjNkZTg2ZGZhMGQ1NmVjOGM4YTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk0uaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyQVJNLmgKQEAgLTExNDksNyArMTE0OSw3
IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIGRhdGFMYWJlbDsKICAgICB9CiAKLSAgICBKdW1w
IGJyYW5jaFB0cldpdGhQYXRjaChSZWxhdGlvbmFsQ29uZGl0aW9uIGNvbmQsIFJlZ2lzdGVySUQg
bGVmdCwgRGF0YUxhYmVsUHRyJiBkYXRhTGFiZWwsIFRydXN0ZWRJbW1QdHIgaW5pdGlhbFJpZ2h0
VmFsdWUgPSBUcnVzdGVkSW1tUHRyKDApKQorICAgIEp1bXAgYnJhbmNoUHRyV2l0aFBhdGNoKFJl
bGF0aW9uYWxDb25kaXRpb24gY29uZCwgUmVnaXN0ZXJJRCBsZWZ0LCBEYXRhTGFiZWxQdHImIGRh
dGFMYWJlbCwgVHJ1c3RlZEltbVB0ciBpbml0aWFsUmlnaHRWYWx1ZSA9IFRydXN0ZWRJbW1QdHIo
bnVsbHB0cikpCiAgICAgewogICAgICAgICBlbnN1cmVTcGFjZSgzICogc2l6ZW9mKEFSTVdvcmQp
LCAyICogc2l6ZW9mKEFSTVdvcmQpKTsKICAgICAgICAgZGF0YUxhYmVsID0gbW92ZVdpdGhQYXRj
aChpbml0aWFsUmlnaHRWYWx1ZSwgQVJNUmVnaXN0ZXJzOjpTMSk7CkBAIC0xMTU3LDcgKzExNTcs
NyBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBqdW1wOwogICAgIH0KIAotICAgIEp1bXAgYnJh
bmNoUHRyV2l0aFBhdGNoKFJlbGF0aW9uYWxDb25kaXRpb24gY29uZCwgQWRkcmVzcyBsZWZ0LCBE
YXRhTGFiZWxQdHImIGRhdGFMYWJlbCwgVHJ1c3RlZEltbVB0ciBpbml0aWFsUmlnaHRWYWx1ZSA9
IFRydXN0ZWRJbW1QdHIoMCkpCisgICAgSnVtcCBicmFuY2hQdHJXaXRoUGF0Y2goUmVsYXRpb25h
bENvbmRpdGlvbiBjb25kLCBBZGRyZXNzIGxlZnQsIERhdGFMYWJlbFB0ciYgZGF0YUxhYmVsLCBU
cnVzdGVkSW1tUHRyIGluaXRpYWxSaWdodFZhbHVlID0gVHJ1c3RlZEltbVB0cihudWxscHRyKSkK
ICAgICB7CiAgICAgICAgIGxvYWQzMihsZWZ0LCBBUk1SZWdpc3RlcnM6OlMxKTsKICAgICAgICAg
ZW5zdXJlU3BhY2UoMyAqIHNpemVvZihBUk1Xb3JkKSwgMiAqIHNpemVvZihBUk1Xb3JkKSk7CkBA
IC0xMTg0LDcgKzExODQsNyBAQCBwdWJsaWM6CiAKICAgICBEYXRhTGFiZWxQdHIgc3RvcmVQdHJX
aXRoUGF0Y2goSW1wbGljaXRBZGRyZXNzIGFkZHJlc3MpCiAgICAgewotICAgICAgICByZXR1cm4g
c3RvcmVQdHJXaXRoUGF0Y2goVHJ1c3RlZEltbVB0cigwKSwgYWRkcmVzcyk7CisgICAgICAgIHJl
dHVybiBzdG9yZVB0cldpdGhQYXRjaChUcnVzdGVkSW1tUHRyKG51bGxwdHIpLCBhZGRyZXNzKTsK
ICAgICB9CiAKICAgICAvLyBGbG9hdGluZyBwb2ludCBvcGVyYXRvcnMKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk02NC5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckFSTTY0LmgKaW5kZXgg
ODJiOGQ2NDdjNTQ2YWNiNzI2Yzg0MmE3OWIxNTk1ZDNjOWFkYjExYi4uMzc3NGQ2M2U4ODdiODUy
NzM2MTBlOGE0N2M2Y2E1NGMwZTI0M2M5YiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckFSTTY0LmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckFSTTY0LmgKQEAgLTMwODAsNyArMzA4MCw3
IEBAIHB1YmxpYzoKICAgICBBTFdBWVNfSU5MSU5FIENhbGwgY2FsbCgpCiAgICAgewogICAgICAg
ICBBc3NlbWJsZXJMYWJlbCBwb2ludGVyTGFiZWwgPSBtX2Fzc2VtYmxlci5sYWJlbCgpOwotICAg
ICAgICBtb3ZlV2l0aEZpeGVkV2lkdGgoVHJ1c3RlZEltbVB0cigwKSwgZ2V0Q2FjaGVkRGF0YVRl
bXBSZWdpc3RlcklEQW5kSW52YWxpZGF0ZSgpKTsKKyAgICAgICAgbW92ZVdpdGhGaXhlZFdpZHRo
KFRydXN0ZWRJbW1QdHIobnVsbHB0ciksIGdldENhY2hlZERhdGFUZW1wUmVnaXN0ZXJJREFuZElu
dmFsaWRhdGUoKSk7CiAgICAgICAgIGludmFsaWRhdGVBbGxUZW1wUmVnaXN0ZXJzKCk7CiAgICAg
ICAgIG1fYXNzZW1ibGVyLmJscihkYXRhVGVtcFJlZ2lzdGVyKTsKICAgICAgICAgQXNzZW1ibGVy
TGFiZWwgY2FsbExhYmVsID0gbV9hc3NlbWJsZXIubGFiZWwoKTsKQEAgLTMxNjYsNyArMzE2Niw3
IEBAIHB1YmxpYzoKICAgICB7CiAgICAgICAgIC8vIExpa2UgYSBub3JtYWwgY2FsbCwgYnV0IGRv
bid0IGxpbmsuCiAgICAgICAgIEFzc2VtYmxlckxhYmVsIHBvaW50ZXJMYWJlbCA9IG1fYXNzZW1i
bGVyLmxhYmVsKCk7Ci0gICAgICAgIG1vdmVXaXRoRml4ZWRXaWR0aChUcnVzdGVkSW1tUHRyKDAp
LCBnZXRDYWNoZWREYXRhVGVtcFJlZ2lzdGVySURBbmRJbnZhbGlkYXRlKCkpOworICAgICAgICBt
b3ZlV2l0aEZpeGVkV2lkdGgoVHJ1c3RlZEltbVB0cihudWxscHRyKSwgZ2V0Q2FjaGVkRGF0YVRl
bXBSZWdpc3RlcklEQW5kSW52YWxpZGF0ZSgpKTsKICAgICAgICAgbV9hc3NlbWJsZXIuYnIoZGF0
YVRlbXBSZWdpc3Rlcik7CiAgICAgICAgIEFzc2VtYmxlckxhYmVsIGNhbGxMYWJlbCA9IG1fYXNz
ZW1ibGVyLmxhYmVsKCk7CiAgICAgICAgIEFTU0VSVF9VTlVTRUQocG9pbnRlckxhYmVsLCBBc3Nl
bWJsZXI6OmdldERpZmZlcmVuY2VCZXR3ZWVuTGFiZWxzKGNhbGxMYWJlbCwgcG9pbnRlckxhYmVs
KSA9PSBSRVBBVENIX09GRlNFVF9DQUxMX1RPX1BPSU5URVIpOwpAQCAtMzMwMCwxNCArMzMwMCwx
NCBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBsYWJlbDsKICAgICB9CiAKLSAgICBBTFdBWVNf
SU5MSU5FIEp1bXAgYnJhbmNoUHRyV2l0aFBhdGNoKFJlbGF0aW9uYWxDb25kaXRpb24gY29uZCwg
UmVnaXN0ZXJJRCBsZWZ0LCBEYXRhTGFiZWxQdHImIGRhdGFMYWJlbCwgVHJ1c3RlZEltbVB0ciBp
bml0aWFsUmlnaHRWYWx1ZSA9IFRydXN0ZWRJbW1QdHIoMCkpCisgICAgQUxXQVlTX0lOTElORSBK
dW1wIGJyYW5jaFB0cldpdGhQYXRjaChSZWxhdGlvbmFsQ29uZGl0aW9uIGNvbmQsIFJlZ2lzdGVy
SUQgbGVmdCwgRGF0YUxhYmVsUHRyJiBkYXRhTGFiZWwsIFRydXN0ZWRJbW1QdHIgaW5pdGlhbFJp
Z2h0VmFsdWUgPSBUcnVzdGVkSW1tUHRyKG51bGxwdHIpKQogICAgIHsKICAgICAgICAgZGF0YUxh
YmVsID0gRGF0YUxhYmVsUHRyKHRoaXMpOwogICAgICAgICBtb3ZlV2l0aFBhdGNoKGluaXRpYWxS
aWdodFZhbHVlLCBnZXRDYWNoZWREYXRhVGVtcFJlZ2lzdGVySURBbmRJbnZhbGlkYXRlKCkpOwog
ICAgICAgICByZXR1cm4gYnJhbmNoNjQoY29uZCwgbGVmdCwgZGF0YVRlbXBSZWdpc3Rlcik7CiAg
ICAgfQogCi0gICAgQUxXQVlTX0lOTElORSBKdW1wIGJyYW5jaFB0cldpdGhQYXRjaChSZWxhdGlv
bmFsQ29uZGl0aW9uIGNvbmQsIEFkZHJlc3MgbGVmdCwgRGF0YUxhYmVsUHRyJiBkYXRhTGFiZWws
IFRydXN0ZWRJbW1QdHIgaW5pdGlhbFJpZ2h0VmFsdWUgPSBUcnVzdGVkSW1tUHRyKDApKQorICAg
IEFMV0FZU19JTkxJTkUgSnVtcCBicmFuY2hQdHJXaXRoUGF0Y2goUmVsYXRpb25hbENvbmRpdGlv
biBjb25kLCBBZGRyZXNzIGxlZnQsIERhdGFMYWJlbFB0ciYgZGF0YUxhYmVsLCBUcnVzdGVkSW1t
UHRyIGluaXRpYWxSaWdodFZhbHVlID0gVHJ1c3RlZEltbVB0cihudWxscHRyKSkKICAgICB7CiAg
ICAgICAgIGRhdGFMYWJlbCA9IERhdGFMYWJlbFB0cih0aGlzKTsKICAgICAgICAgbW92ZVdpdGhQ
YXRjaChpbml0aWFsUmlnaHRWYWx1ZSwgZ2V0Q2FjaGVkRGF0YVRlbXBSZWdpc3RlcklEQW5kSW52
YWxpZGF0ZSgpKTsKQEAgLTMzNjksNyArMzM2OSw3IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJu
IFBhdGNoYWJsZUp1bXAocmVzdWx0KTsKICAgICB9CiAKLSAgICBQYXRjaGFibGVKdW1wIHBhdGNo
YWJsZUJyYW5jaFB0cldpdGhQYXRjaChSZWxhdGlvbmFsQ29uZGl0aW9uIGNvbmQsIEFkZHJlc3Mg
bGVmdCwgRGF0YUxhYmVsUHRyJiBkYXRhTGFiZWwsIFRydXN0ZWRJbW1QdHIgaW5pdGlhbFJpZ2h0
VmFsdWUgPSBUcnVzdGVkSW1tUHRyKDApKQorICAgIFBhdGNoYWJsZUp1bXAgcGF0Y2hhYmxlQnJh
bmNoUHRyV2l0aFBhdGNoKFJlbGF0aW9uYWxDb25kaXRpb24gY29uZCwgQWRkcmVzcyBsZWZ0LCBE
YXRhTGFiZWxQdHImIGRhdGFMYWJlbCwgVHJ1c3RlZEltbVB0ciBpbml0aWFsUmlnaHRWYWx1ZSA9
IFRydXN0ZWRJbW1QdHIobnVsbHB0cikpCiAgICAgewogICAgICAgICBtX21ha2VKdW1wUGF0Y2hh
YmxlID0gdHJ1ZTsKICAgICAgICAgSnVtcCByZXN1bHQgPSBicmFuY2hQdHJXaXRoUGF0Y2goY29u
ZCwgbGVmdCwgZGF0YUxhYmVsLCBpbml0aWFsUmlnaHRWYWx1ZSk7CkBAIC0zNDAzLDcgKzM0MDMs
NyBAQCBwdWJsaWM6CiAKICAgICBBTFdBWVNfSU5MSU5FIERhdGFMYWJlbFB0ciBzdG9yZVB0cldp
dGhQYXRjaChJbXBsaWNpdEFkZHJlc3MgYWRkcmVzcykKICAgICB7Ci0gICAgICAgIHJldHVybiBz
dG9yZVB0cldpdGhQYXRjaChUcnVzdGVkSW1tUHRyKDApLCBhZGRyZXNzKTsKKyAgICAgICAgcmV0
dXJuIHN0b3JlUHRyV2l0aFBhdGNoKFRydXN0ZWRJbW1QdHIobnVsbHB0ciksIGFkZHJlc3MpOwog
ICAgIH0KIAogICAgIHN0YXRpYyB2b2lkIHJlZW1pdEluaXRpYWxNb3ZlV2l0aFBhdGNoKHZvaWQq
IGFkZHJlc3MsIHZvaWQqIHZhbHVlKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckFSTXY3LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
YXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyQVJNdjcuaAppbmRleCA1M2Q5OWM5MTM4MDU1MmE2ZThk
OGE3N2NlNmVkNzIzMzc2ZDA0MWNiLi5mZGFlZGI5MDZmYjNlYjYzYjJiZjQ2NmI4ZDlhZDY4MDlh
NGNkMDExIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3Jv
QXNzZW1ibGVyQVJNdjcuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01h
Y3JvQXNzZW1ibGVyQVJNdjcuaApAQCAtMTg3NSwxMyArMTg3NSwxMyBAQCBwdWJsaWM6CiAgICAg
ICAgIHJldHVybiBEYXRhTGFiZWxQdHIodGhpcyk7CiAgICAgfQogCi0gICAgQUxXQVlTX0lOTElO
RSBKdW1wIGJyYW5jaFB0cldpdGhQYXRjaChSZWxhdGlvbmFsQ29uZGl0aW9uIGNvbmQsIFJlZ2lz
dGVySUQgbGVmdCwgRGF0YUxhYmVsUHRyJiBkYXRhTGFiZWwsIFRydXN0ZWRJbW1QdHIgaW5pdGlh
bFJpZ2h0VmFsdWUgPSBUcnVzdGVkSW1tUHRyKDApKQorICAgIEFMV0FZU19JTkxJTkUgSnVtcCBi
cmFuY2hQdHJXaXRoUGF0Y2goUmVsYXRpb25hbENvbmRpdGlvbiBjb25kLCBSZWdpc3RlcklEIGxl
ZnQsIERhdGFMYWJlbFB0ciYgZGF0YUxhYmVsLCBUcnVzdGVkSW1tUHRyIGluaXRpYWxSaWdodFZh
bHVlID0gVHJ1c3RlZEltbVB0cihudWxscHRyKSkKICAgICB7CiAgICAgICAgIGRhdGFMYWJlbCA9
IG1vdmVXaXRoUGF0Y2goaW5pdGlhbFJpZ2h0VmFsdWUsIGRhdGFUZW1wUmVnaXN0ZXIpOwogICAg
ICAgICByZXR1cm4gYnJhbmNoMzIoY29uZCwgbGVmdCwgZGF0YVRlbXBSZWdpc3Rlcik7CiAgICAg
fQogCi0gICAgQUxXQVlTX0lOTElORSBKdW1wIGJyYW5jaFB0cldpdGhQYXRjaChSZWxhdGlvbmFs
Q29uZGl0aW9uIGNvbmQsIEFkZHJlc3MgbGVmdCwgRGF0YUxhYmVsUHRyJiBkYXRhTGFiZWwsIFRy
dXN0ZWRJbW1QdHIgaW5pdGlhbFJpZ2h0VmFsdWUgPSBUcnVzdGVkSW1tUHRyKDApKQorICAgIEFM
V0FZU19JTkxJTkUgSnVtcCBicmFuY2hQdHJXaXRoUGF0Y2goUmVsYXRpb25hbENvbmRpdGlvbiBj
b25kLCBBZGRyZXNzIGxlZnQsIERhdGFMYWJlbFB0ciYgZGF0YUxhYmVsLCBUcnVzdGVkSW1tUHRy
IGluaXRpYWxSaWdodFZhbHVlID0gVHJ1c3RlZEltbVB0cihudWxscHRyKSkKICAgICB7CiAgICAg
ICAgIGxvYWQzMihsZWZ0LCBhZGRyZXNzVGVtcFJlZ2lzdGVyKTsKICAgICAgICAgZGF0YUxhYmVs
ID0gbW92ZVdpdGhQYXRjaChpbml0aWFsUmlnaHRWYWx1ZSwgZGF0YVRlbXBSZWdpc3Rlcik7CkBA
IC0xODk1LDcgKzE4OTUsNyBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBicmFuY2gzMihjb25k
LCBhZGRyZXNzVGVtcFJlZ2lzdGVyLCBkYXRhVGVtcFJlZ2lzdGVyKTsKICAgICB9CiAgICAgCi0g
ICAgUGF0Y2hhYmxlSnVtcCBwYXRjaGFibGVCcmFuY2hQdHIoUmVsYXRpb25hbENvbmRpdGlvbiBj
b25kLCBBZGRyZXNzIGxlZnQsIFRydXN0ZWRJbW1QdHIgcmlnaHQgPSBUcnVzdGVkSW1tUHRyKDAp
KQorICAgIFBhdGNoYWJsZUp1bXAgcGF0Y2hhYmxlQnJhbmNoUHRyKFJlbGF0aW9uYWxDb25kaXRp
b24gY29uZCwgQWRkcmVzcyBsZWZ0LCBUcnVzdGVkSW1tUHRyIHJpZ2h0ID0gVHJ1c3RlZEltbVB0
cihudWxscHRyKSkKICAgICB7CiAgICAgICAgIG1fbWFrZUp1bXBQYXRjaGFibGUgPSB0cnVlOwog
ICAgICAgICBKdW1wIHJlc3VsdCA9IGJyYW5jaDMyKGNvbmQsIGxlZnQsIFRydXN0ZWRJbW0zMihy
aWdodCkpOwpAQCAtMTkyNyw3ICsxOTI3LDcgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gUGF0
Y2hhYmxlSnVtcChyZXN1bHQpOwogICAgIH0KIAotICAgIFBhdGNoYWJsZUp1bXAgcGF0Y2hhYmxl
QnJhbmNoUHRyV2l0aFBhdGNoKFJlbGF0aW9uYWxDb25kaXRpb24gY29uZCwgQWRkcmVzcyBsZWZ0
LCBEYXRhTGFiZWxQdHImIGRhdGFMYWJlbCwgVHJ1c3RlZEltbVB0ciBpbml0aWFsUmlnaHRWYWx1
ZSA9IFRydXN0ZWRJbW1QdHIoMCkpCisgICAgUGF0Y2hhYmxlSnVtcCBwYXRjaGFibGVCcmFuY2hQ
dHJXaXRoUGF0Y2goUmVsYXRpb25hbENvbmRpdGlvbiBjb25kLCBBZGRyZXNzIGxlZnQsIERhdGFM
YWJlbFB0ciYgZGF0YUxhYmVsLCBUcnVzdGVkSW1tUHRyIGluaXRpYWxSaWdodFZhbHVlID0gVHJ1
c3RlZEltbVB0cihudWxscHRyKSkKICAgICB7CiAgICAgICAgIG1fbWFrZUp1bXBQYXRjaGFibGUg
PSB0cnVlOwogICAgICAgICBKdW1wIHJlc3VsdCA9IGJyYW5jaFB0cldpdGhQYXRjaChjb25kLCBs
ZWZ0LCBkYXRhTGFiZWwsIGluaXRpYWxSaWdodFZhbHVlKTsKQEAgLTE5NTgsNyArMTk1OCw3IEBA
IHB1YmxpYzoKICAgICAgICAgc3RvcmUzMihkYXRhVGVtcFJlZ2lzdGVyLCBhZGRyZXNzKTsKICAg
ICAgICAgcmV0dXJuIGxhYmVsOwogICAgIH0KLSAgICBBTFdBWVNfSU5MSU5FIERhdGFMYWJlbFB0
ciBzdG9yZVB0cldpdGhQYXRjaChJbXBsaWNpdEFkZHJlc3MgYWRkcmVzcykgeyByZXR1cm4gc3Rv
cmVQdHJXaXRoUGF0Y2goVHJ1c3RlZEltbVB0cigwKSwgYWRkcmVzcyk7IH0KKyAgICBBTFdBWVNf
SU5MSU5FIERhdGFMYWJlbFB0ciBzdG9yZVB0cldpdGhQYXRjaChJbXBsaWNpdEFkZHJlc3MgYWRk
cmVzcykgeyByZXR1cm4gc3RvcmVQdHJXaXRoUGF0Y2goVHJ1c3RlZEltbVB0cihudWxscHRyKSwg
YWRkcmVzcyk7IH0KIAogCiAgICAgQUxXQVlTX0lOTElORSBDYWxsIHRhaWxSZWN1cnNpdmVDYWxs
KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3Nl
bWJsZXJNSVBTLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1i
bGVyTUlQUy5oCmluZGV4IGZmZTVmYmRiNWY2YmQ0NGFmNzMwMDBmYjk0MGY1ZjkxY2Q2NWM5Mjku
LjNmMjcwZmVkYmZmN2NlMzAwNDM2ZjZlZTk5N2JiYmVlYzRjNzAwZjMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJNSVBTLmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlck1JUFMuaApAQCAt
MjM3Nyw3ICsyMzc3LDcgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gbGFiZWw7CiAgICAgfQog
Ci0gICAgSnVtcCBicmFuY2hQdHJXaXRoUGF0Y2goUmVsYXRpb25hbENvbmRpdGlvbiBjb25kLCBS
ZWdpc3RlcklEIGxlZnQsIERhdGFMYWJlbFB0ciYgZGF0YUxhYmVsLCBUcnVzdGVkSW1tUHRyIGlu
aXRpYWxSaWdodFZhbHVlID0gVHJ1c3RlZEltbVB0cigwKSkKKyAgICBKdW1wIGJyYW5jaFB0cldp
dGhQYXRjaChSZWxhdGlvbmFsQ29uZGl0aW9uIGNvbmQsIFJlZ2lzdGVySUQgbGVmdCwgRGF0YUxh
YmVsUHRyJiBkYXRhTGFiZWwsIFRydXN0ZWRJbW1QdHIgaW5pdGlhbFJpZ2h0VmFsdWUgPSBUcnVz
dGVkSW1tUHRyKG51bGxwdHIpKQogICAgIHsKICAgICAgICAgbV9maXhlZFdpZHRoID0gdHJ1ZTsK
ICAgICAgICAgZGF0YUxhYmVsID0gbW92ZVdpdGhQYXRjaChpbml0aWFsUmlnaHRWYWx1ZSwgaW1t
VGVtcFJlZ2lzdGVyKTsKQEAgLTIzODYsNyArMjM4Niw3IEBAIHB1YmxpYzoKICAgICAgICAgcmV0
dXJuIHRlbXA7CiAgICAgfQogCi0gICAgSnVtcCBicmFuY2hQdHJXaXRoUGF0Y2goUmVsYXRpb25h
bENvbmRpdGlvbiBjb25kLCBBZGRyZXNzIGxlZnQsIERhdGFMYWJlbFB0ciYgZGF0YUxhYmVsLCBU
cnVzdGVkSW1tUHRyIGluaXRpYWxSaWdodFZhbHVlID0gVHJ1c3RlZEltbVB0cigwKSkKKyAgICBK
dW1wIGJyYW5jaFB0cldpdGhQYXRjaChSZWxhdGlvbmFsQ29uZGl0aW9uIGNvbmQsIEFkZHJlc3Mg
bGVmdCwgRGF0YUxhYmVsUHRyJiBkYXRhTGFiZWwsIFRydXN0ZWRJbW1QdHIgaW5pdGlhbFJpZ2h0
VmFsdWUgPSBUcnVzdGVkSW1tUHRyKG51bGxwdHIpKQogICAgIHsKICAgICAgICAgbV9maXhlZFdp
ZHRoID0gdHJ1ZTsKICAgICAgICAgbG9hZDMyKGxlZnQsIGRhdGFUZW1wUmVnaXN0ZXIpOwpAQCAt
MjQxNyw3ICsyNDE3LDcgQEAgcHVibGljOgogCiAgICAgRGF0YUxhYmVsUHRyIHN0b3JlUHRyV2l0
aFBhdGNoKEltcGxpY2l0QWRkcmVzcyBhZGRyZXNzKQogICAgIHsKLSAgICAgICAgcmV0dXJuIHN0
b3JlUHRyV2l0aFBhdGNoKFRydXN0ZWRJbW1QdHIoMCksIGFkZHJlc3MpOworICAgICAgICByZXR1
cm4gc3RvcmVQdHJXaXRoUGF0Y2goVHJ1c3RlZEltbVB0cihudWxscHRyKSwgYWRkcmVzcyk7CiAg
ICAgfQogCiAgICAgQ2FsbCB0YWlsUmVjdXJzaXZlQ2FsbCgpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyWDg2LmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyWDg2LmgKaW5kZXggYmY1OTkxYzM3
OTgxZjBkNjUxNTJiMDM4MDAyMDg0ZDJiNzg5MzlmMy4uNTU4NTczZWJlMjhmNmY4YmU0NGUzM2Jj
MTljNWMzNWQ4YTFhOGNmOSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2Vt
Ymxlci9NYWNyb0Fzc2VtYmxlclg4Ni5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3Nl
bWJsZXIvTWFjcm9Bc3NlbWJsZXJYODYuaApAQCAtMjU5LDcgKzI1OSw3IEBAIHB1YmxpYzoKICAg
ICAgICAgcmV0dXJuIEp1bXAobV9hc3NlbWJsZXIuakNDKHg4NkNvbmRpdGlvbihjb25kKSkpOwog
ICAgIH0KIAotICAgIEp1bXAgYnJhbmNoUHRyV2l0aFBhdGNoKFJlbGF0aW9uYWxDb25kaXRpb24g
Y29uZCwgUmVnaXN0ZXJJRCBsZWZ0LCBEYXRhTGFiZWxQdHImIGRhdGFMYWJlbCwgVHJ1c3RlZElt
bVB0ciBpbml0aWFsUmlnaHRWYWx1ZSA9IFRydXN0ZWRJbW1QdHIoMCkpCisgICAgSnVtcCBicmFu
Y2hQdHJXaXRoUGF0Y2goUmVsYXRpb25hbENvbmRpdGlvbiBjb25kLCBSZWdpc3RlcklEIGxlZnQs
IERhdGFMYWJlbFB0ciYgZGF0YUxhYmVsLCBUcnVzdGVkSW1tUHRyIGluaXRpYWxSaWdodFZhbHVl
ID0gVHJ1c3RlZEltbVB0cihudWxscHRyKSkKICAgICB7CiAgICAgICAgIHBhZEJlZm9yZVBhdGNo
KCk7CiAgICAgICAgIG1fYXNzZW1ibGVyLmNtcGxfaXJfZm9yY2UzMihpbml0aWFsUmlnaHRWYWx1
ZS5hc0ludHB0cigpLCBsZWZ0KTsKQEAgLTI2Nyw3ICsyNjcsNyBAQCBwdWJsaWM6CiAgICAgICAg
IHJldHVybiBKdW1wKG1fYXNzZW1ibGVyLmpDQyh4ODZDb25kaXRpb24oY29uZCkpKTsKICAgICB9
CiAKLSAgICBKdW1wIGJyYW5jaFB0cldpdGhQYXRjaChSZWxhdGlvbmFsQ29uZGl0aW9uIGNvbmQs
IEFkZHJlc3MgbGVmdCwgRGF0YUxhYmVsUHRyJiBkYXRhTGFiZWwsIFRydXN0ZWRJbW1QdHIgaW5p
dGlhbFJpZ2h0VmFsdWUgPSBUcnVzdGVkSW1tUHRyKDApKQorICAgIEp1bXAgYnJhbmNoUHRyV2l0
aFBhdGNoKFJlbGF0aW9uYWxDb25kaXRpb24gY29uZCwgQWRkcmVzcyBsZWZ0LCBEYXRhTGFiZWxQ
dHImIGRhdGFMYWJlbCwgVHJ1c3RlZEltbVB0ciBpbml0aWFsUmlnaHRWYWx1ZSA9IFRydXN0ZWRJ
bW1QdHIobnVsbHB0cikpCiAgICAgewogICAgICAgICBwYWRCZWZvcmVQYXRjaCgpOwogICAgICAg
ICBtX2Fzc2VtYmxlci5jbXBsX2ltX2ZvcmNlMzIoaW5pdGlhbFJpZ2h0VmFsdWUuYXNJbnRwdHIo
KSwgbGVmdC5vZmZzZXQsIGxlZnQuYmFzZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyWDg2XzY0LmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyWDg2XzY0LmgKaW5kZXggZTBkYTExNjU4N2E4
YjQ4OGYzOTQ4MTk5ZTk1ODE5Y2E3MzgxMDQ0NS4uODgzNWQ5YjI0NGNmNGU1OGZlYWU3ZDNhNzRm
OGUzMTE4N2EyMWExNyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxl
ci9NYWNyb0Fzc2VtYmxlclg4Nl82NC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3Nl
bWJsZXIvTWFjcm9Bc3NlbWJsZXJYODZfNjQuaApAQCAtMTc2LDcgKzE3Niw3IEBAIHB1YmxpYzoK
ICAgICAgICAgbW92ZShYODZSZWdpc3RlcnM6OmVzcCwgWDg2UmVnaXN0ZXJzOjplY3gpOwogICAg
ICAgICBhZGQ2NChUcnVzdGVkSW1tMzIoNCAqIHNpemVvZihpbnQ2NF90KSksIFg4NlJlZ2lzdGVy
czo6ZWN4KTsKIAotICAgICAgICBEYXRhTGFiZWxQdHIgbGFiZWwgPSBtb3ZlV2l0aFBhdGNoKFRy
dXN0ZWRJbW1QdHIoMCksIHNjcmF0Y2hSZWdpc3RlcigpKTsKKyAgICAgICAgRGF0YUxhYmVsUHRy
IGxhYmVsID0gbW92ZVdpdGhQYXRjaChUcnVzdGVkSW1tUHRyKG51bGxwdHIpLCBzY3JhdGNoUmVn
aXN0ZXIoKSk7CiAgICAgICAgIENhbGwgcmVzdWx0ID0gQ2FsbChtX2Fzc2VtYmxlci5jYWxsKHNj
cmF0Y2hSZWdpc3RlcigpKSwgQ2FsbDo6TGlua2FibGUpOwogCiAgICAgICAgIGFkZDY0KFRydXN0
ZWRJbW0zMig4ICogc2l6ZW9mKGludDY0X3QpKSwgWDg2UmVnaXN0ZXJzOjplc3ApOwpAQCAtMjE0
LDcgKzIxNCw3IEBAIHB1YmxpYzoKICAgICAgICAgLy8gSW4gYWRkaXRpb24sIHdlIG5lZWQgdG8g
YWxsb2NhdGUgMTYgYnl0ZXMgZm9yIHR3byBtb3JlIHBhcmFtZXRlcnMsIHNpbmNlIHRoZSBjYWxs
IGNhbiBoYXZlIHVwIHRvIDYgcGFyYW1ldGVycy4KICAgICAgICAgc3ViNjQoVHJ1c3RlZEltbTMy
KDggKiBzaXplb2YoaW50NjRfdCkpLCBYODZSZWdpc3RlcnM6OmVzcCk7CiAjZW5kaWYKLSAgICAg
ICAgRGF0YUxhYmVsUHRyIGxhYmVsID0gbW92ZVdpdGhQYXRjaChUcnVzdGVkSW1tUHRyKDApLCBz
Y3JhdGNoUmVnaXN0ZXIoKSk7CisgICAgICAgIERhdGFMYWJlbFB0ciBsYWJlbCA9IG1vdmVXaXRo
UGF0Y2goVHJ1c3RlZEltbVB0cihudWxscHRyKSwgc2NyYXRjaFJlZ2lzdGVyKCkpOwogICAgICAg
ICBDYWxsIHJlc3VsdCA9IENhbGwobV9hc3NlbWJsZXIuY2FsbChzY3JhdGNoUmVnaXN0ZXIoKSks
IENhbGw6OkxpbmthYmxlKTsKICNpZiBPUyhXSU5ET1dTKQogICAgICAgICBhZGQ2NChUcnVzdGVk
SW1tMzIoOCAqIHNpemVvZihpbnQ2NF90KSksIFg4NlJlZ2lzdGVyczo6ZXNwKTsKQEAgLTIzMiw3
ICsyMzIsNyBAQCBwdWJsaWM6CiAKICAgICBDYWxsIHRhaWxSZWN1cnNpdmVDYWxsKCkKICAgICB7
Ci0gICAgICAgIERhdGFMYWJlbFB0ciBsYWJlbCA9IG1vdmVXaXRoUGF0Y2goVHJ1c3RlZEltbVB0
cigwKSwgc2NyYXRjaFJlZ2lzdGVyKCkpOworICAgICAgICBEYXRhTGFiZWxQdHIgbGFiZWwgPSBt
b3ZlV2l0aFBhdGNoKFRydXN0ZWRJbW1QdHIobnVsbHB0ciksIHNjcmF0Y2hSZWdpc3RlcigpKTsK
ICAgICAgICAgSnVtcCBuZXdKdW1wID0gSnVtcChtX2Fzc2VtYmxlci5qbXBfcihzY3JhdGNoUmVn
aXN0ZXIoKSkpOwogICAgICAgICBBU1NFUlRfVU5VU0VEKGxhYmVsLCBkaWZmZXJlbmNlQmV0d2Vl
bihsYWJlbCwgbmV3SnVtcCkgPT0gUkVQQVRDSF9PRkZTRVRfQ0FMTF9SMTEpOwogICAgICAgICBy
ZXR1cm4gQ2FsbDo6ZnJvbVRhaWxKdW1wKG5ld0p1bXApOwpAQCAtMjQxLDcgKzI0MSw3IEBAIHB1
YmxpYzoKICAgICBDYWxsIG1ha2VUYWlsUmVjdXJzaXZlQ2FsbChKdW1wIG9sZEp1bXApCiAgICAg
ewogICAgICAgICBvbGRKdW1wLmxpbmsodGhpcyk7Ci0gICAgICAgIERhdGFMYWJlbFB0ciBsYWJl
bCA9IG1vdmVXaXRoUGF0Y2goVHJ1c3RlZEltbVB0cigwKSwgc2NyYXRjaFJlZ2lzdGVyKCkpOwor
ICAgICAgICBEYXRhTGFiZWxQdHIgbGFiZWwgPSBtb3ZlV2l0aFBhdGNoKFRydXN0ZWRJbW1QdHIo
bnVsbHB0ciksIHNjcmF0Y2hSZWdpc3RlcigpKTsKICAgICAgICAgSnVtcCBuZXdKdW1wID0gSnVt
cChtX2Fzc2VtYmxlci5qbXBfcihzY3JhdGNoUmVnaXN0ZXIoKSkpOwogICAgICAgICBBU1NFUlRf
VU5VU0VEKGxhYmVsLCBkaWZmZXJlbmNlQmV0d2VlbihsYWJlbCwgbmV3SnVtcCkgPT0gUkVQQVRD
SF9PRkZTRVRfQ0FMTF9SMTEpOwogICAgICAgICByZXR1cm4gQ2FsbDo6ZnJvbVRhaWxKdW1wKG5l
d0p1bXApOwpAQCAtMTQxNCwxMyArMTQxNCwxMyBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBE
YXRhTGFiZWxQdHIodGhpcyk7CiAgICAgfQogCi0gICAgSnVtcCBicmFuY2hQdHJXaXRoUGF0Y2go
UmVsYXRpb25hbENvbmRpdGlvbiBjb25kLCBSZWdpc3RlcklEIGxlZnQsIERhdGFMYWJlbFB0ciYg
ZGF0YUxhYmVsLCBUcnVzdGVkSW1tUHRyIGluaXRpYWxSaWdodFZhbHVlID0gVHJ1c3RlZEltbVB0
cigwKSkKKyAgICBKdW1wIGJyYW5jaFB0cldpdGhQYXRjaChSZWxhdGlvbmFsQ29uZGl0aW9uIGNv
bmQsIFJlZ2lzdGVySUQgbGVmdCwgRGF0YUxhYmVsUHRyJiBkYXRhTGFiZWwsIFRydXN0ZWRJbW1Q
dHIgaW5pdGlhbFJpZ2h0VmFsdWUgPSBUcnVzdGVkSW1tUHRyKG51bGxwdHIpKQogICAgIHsKICAg
ICAgICAgZGF0YUxhYmVsID0gbW92ZVdpdGhQYXRjaChpbml0aWFsUmlnaHRWYWx1ZSwgc2NyYXRj
aFJlZ2lzdGVyKCkpOwogICAgICAgICByZXR1cm4gYnJhbmNoNjQoY29uZCwgbGVmdCwgc2NyYXRj
aFJlZ2lzdGVyKCkpOwogICAgIH0KIAotICAgIEp1bXAgYnJhbmNoUHRyV2l0aFBhdGNoKFJlbGF0
aW9uYWxDb25kaXRpb24gY29uZCwgQWRkcmVzcyBsZWZ0LCBEYXRhTGFiZWxQdHImIGRhdGFMYWJl
bCwgVHJ1c3RlZEltbVB0ciBpbml0aWFsUmlnaHRWYWx1ZSA9IFRydXN0ZWRJbW1QdHIoMCkpCisg
ICAgSnVtcCBicmFuY2hQdHJXaXRoUGF0Y2goUmVsYXRpb25hbENvbmRpdGlvbiBjb25kLCBBZGRy
ZXNzIGxlZnQsIERhdGFMYWJlbFB0ciYgZGF0YUxhYmVsLCBUcnVzdGVkSW1tUHRyIGluaXRpYWxS
aWdodFZhbHVlID0gVHJ1c3RlZEltbVB0cihudWxscHRyKSkKICAgICB7CiAgICAgICAgIGRhdGFM
YWJlbCA9IG1vdmVXaXRoUGF0Y2goaW5pdGlhbFJpZ2h0VmFsdWUsIHNjcmF0Y2hSZWdpc3Rlcigp
KTsKICAgICAgICAgcmV0dXJuIGJyYW5jaDY0KGNvbmQsIGxlZnQsIHNjcmF0Y2hSZWdpc3Rlcigp
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9BY2Nlc3NDYXNl
LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9BY2Nlc3NDYXNlLmNwcAppbmRl
eCAwY2U4Njc5YzhmMjU2MTczYjliYWU1ZjBhODk5ZDU0MDJlNzMzYzU2Li45YjIzMWE4ODZhNzc2
MmU1NmQ3ZWJlMTgzNGNmZTRlYmI4NWM3NTRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvZGUvQWNjZXNzQ2FzZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb2RlL0FjY2Vzc0Nhc2UuY3BwCkBAIC03ODIsNyArNzgyLDcgQEAgdm9pZCBBY2Nlc3ND
YXNlOjpnZW5lcmF0ZUltcGwoQWNjZXNzR2VuZXJhdGlvblN0YXRlJiBzdGF0ZSkKIAogICAgICAg
ICAgICAgQ0NhbGxIZWxwZXJzOjpKdW1wIHNsb3dDYXNlID0gaml0LmJyYW5jaFB0cldpdGhQYXRj
aCgKICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6Ok5vdEVxdWFsLCBsb2FkZWRWYWx1ZUdQ
UiwgYWRkcmVzc09mTGlua0Z1bmN0aW9uQ2hlY2ssCi0gICAgICAgICAgICAgICAgQ0NhbGxIZWxw
ZXJzOjpUcnVzdGVkSW1tUHRyKDApKTsKKyAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6OlRy
dXN0ZWRJbW1QdHIobnVsbHB0cikpOwogCiAgICAgICAgICAgICBmYXN0UGF0aENhbGwgPSBqaXQu
bmVhckNhbGwoKTsKICAgICAgICAgICAgIGlmIChtX3R5cGUgPT0gR2V0dGVyKQpAQCAtOTg3LDcg
Kzk4Nyw3IEBAIHZvaWQgQWNjZXNzQ2FzZTo6Z2VuZXJhdGVJbXBsKEFjY2Vzc0dlbmVyYXRpb25T
dGF0ZSYgc3RhdGUpCiAgICAgICAgICAgICAgICAgfQogCiAgICAgICAgICAgICAgICAgZm9yIChz
aXplX3Qgb2Zmc2V0ID0gb2xkU2l6ZTsgb2Zmc2V0IDwgbmV3U2l6ZTsgb2Zmc2V0ICs9IHNpemVv
Zih2b2lkKikpCi0gICAgICAgICAgICAgICAgICAgIGppdC5zdG9yZVB0cihDQ2FsbEhlbHBlcnM6
OlRydXN0ZWRJbW1QdHIoMCksIENDYWxsSGVscGVyczo6QWRkcmVzcyhzY3JhdGNoR1BSLCAtc3Rh
dGljX2Nhc3Q8cHRyZGlmZl90PihvZmZzZXQgKyBzaXplb2YoSlNWYWx1ZSkgKyBzaXplb2Yodm9p
ZCopKSkpOworICAgICAgICAgICAgICAgICAgICBqaXQuc3RvcmVQdHIoQ0NhbGxIZWxwZXJzOjpU
cnVzdGVkSW1tUHRyKG51bGxwdHIpLCBDQ2FsbEhlbHBlcnM6OkFkZHJlc3Moc2NyYXRjaEdQUiwg
LXN0YXRpY19jYXN0PHB0cmRpZmZfdD4ob2Zmc2V0ICsgc2l6ZW9mKEpTVmFsdWUpICsgc2l6ZW9m
KHZvaWQqKSkpKTsKICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgLy8gSGFu
ZGxlIHRoZSBjYXNlIHdoZXJlIHdlIGFyZSBhbGxvY2F0aW5nIG91dC1vZi1saW5lIHVzaW5nIGFu
IG9wZXJhdGlvbi4KICAgICAgICAgICAgICAgICBSZWdpc3RlclNldCBleHRyYVJlZ2lzdGVyc1Rv
UHJlc2VydmU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1
bGF0aXZlSklULmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVK
SVQuY3BwCmluZGV4IDVjMTdmMDBlYjgwYzU1NWZiOGI3MGYwYzI4ZmY0ZmZiNmEyNzJkMWIuLjFm
ODE1MzBhMDc4ODcwMjMzNTAyNGYxYjc0MDE3NjVkYmQ1OGVlMmYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwCkBAIC0xMTEsNyArMTExLDcg
QEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6ZW1pdEFsbG9jYXRlUmF3T2JqZWN0KEdQUlJlZyByZXN1
bHRHUFIsIFJlZ2lzdGVyZWRTdHJ1Y3R1cmUKICAgICAgICAgc2l6ZSArPSB2ZWN0b3JMZW5ndGgg
KiBzaXplb2YoSlNWYWx1ZSkgKyBzaXplb2YoSW5kZXhpbmdIZWFkZXIpOwogICAgIHNpemUgKz0g
b3V0T2ZMaW5lQ2FwYWNpdHkgKiBzaXplb2YoSlNWYWx1ZSk7CiAKLSAgICBtX2ppdC5tb3ZlKFRy
dXN0ZWRJbW1QdHIoMCksIHN0b3JhZ2VHUFIpOworICAgIG1faml0Lm1vdmUoVHJ1c3RlZEltbVB0
cihudWxscHRyKSwgc3RvcmFnZUdQUik7CiAKICAgICBpZiAoc2l6ZSkgewogICAgICAgICBpZiAo
QWxsb2NhdG9yIGFsbG9jYXRvciA9IG1faml0LnZtKCktPmpzVmFsdWVHaWdhY2FnZUF1eGlsaWFy
eVNwYWNlLmFsbG9jYXRvckZvck5vblZpcnR1YWwoc2l6ZSwgQWxsb2NhdG9yRm9yTW9kZTo6QWxs
b2NhdG9ySWZFeGlzdHMpKSB7CkBAIC0xNTg5LDcgKzE1ODksNyBAQCB2b2lkIFNwZWN1bGF0aXZl
SklUOjpjb21waWxlVG9Mb3dlckNhc2UoTm9kZSogbm9kZSkKIAogICAgIENDYWxsSGVscGVyczo6
SnVtcExpc3Qgc2xvd1BhdGg7CiAKLSAgICBtX2ppdC5tb3ZlKFRydXN0ZWRJbW1QdHIoMCksIGlu
ZGV4R1BSKTsKKyAgICBtX2ppdC5tb3ZlKFRydXN0ZWRJbW1QdHIobnVsbHB0ciksIGluZGV4R1BS
KTsKIAogICAgIG1faml0LmxvYWRQdHIoTWFjcm9Bc3NlbWJsZXI6OkFkZHJlc3Moc3RyaW5nR1BS
LCBKU1N0cmluZzo6b2Zmc2V0T2ZWYWx1ZSgpKSwgdGVtcEdQUik7CiAgICAgc2xvd1BhdGguYXBw
ZW5kKG1faml0LmJyYW5jaFRlc3RQdHIoTWFjcm9Bc3NlbWJsZXI6Olplcm8sIHRlbXBHUFIpKTsK
QEAgLTQxOTEsMTEgKzQxOTEsMTEgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZU1ha2VS
b3BlKE5vZGUqIG5vZGUpCiAgICAgQWxsb2NhdG9yIGFsbG9jYXRvclZhbHVlID0gc3Vic3BhY2VG
b3I8SlNSb3BlU3RyaW5nPigqbV9qaXQudm0oKSktPmFsbG9jYXRvckZvck5vblZpcnR1YWwoc2l6
ZW9mKEpTUm9wZVN0cmluZyksIEFsbG9jYXRvckZvck1vZGU6OkFsbG9jYXRvcklmRXhpc3RzKTsK
ICAgICBlbWl0QWxsb2NhdGVKU0NlbGwocmVzdWx0R1BSLCBKSVRBbGxvY2F0b3I6OmNvbnN0YW50
KGFsbG9jYXRvclZhbHVlKSwgYWxsb2NhdG9yR1BSLCBUcnVzdGVkSW1tUHRyKG1faml0LmdyYXBo
KCkucmVnaXN0ZXJTdHJ1Y3R1cmUobV9qaXQudm0oKS0+c3RyaW5nU3RydWN0dXJlLmdldCgpKSks
IHNjcmF0Y2hHUFIsIHNsb3dQYXRoKTsKICAgICAgICAgCi0gICAgbV9qaXQuc3RvcmVQdHIoVHJ1
c3RlZEltbVB0cigwKSwgSklUQ29tcGlsZXI6OkFkZHJlc3MocmVzdWx0R1BSLCBKU1N0cmluZzo6
b2Zmc2V0T2ZWYWx1ZSgpKSk7CisgICAgbV9qaXQuc3RvcmVQdHIoVHJ1c3RlZEltbVB0cihudWxs
cHRyKSwgSklUQ29tcGlsZXI6OkFkZHJlc3MocmVzdWx0R1BSLCBKU1N0cmluZzo6b2Zmc2V0T2ZW
YWx1ZSgpKSk7CiAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IG51bU9wR1BSczsgKytpKQog
ICAgICAgICBtX2ppdC5zdG9yZVB0cihvcEdQUnNbaV0sIEpJVENvbXBpbGVyOjpBZGRyZXNzKHJl
c3VsdEdQUiwgSlNSb3BlU3RyaW5nOjpvZmZzZXRPZkZpYmVycygpICsgc2l6ZW9mKFdyaXRlQmFy
cmllcjxKU1N0cmluZz4pICogaSkpOwogICAgIGZvciAodW5zaWduZWQgaSA9IG51bU9wR1BSczsg
aSA8IEpTUm9wZVN0cmluZzo6c19tYXhJbnRlcm5hbFJvcGVMZW5ndGg7ICsraSkKLSAgICAgICAg
bV9qaXQuc3RvcmVQdHIoVHJ1c3RlZEltbVB0cigwKSwgSklUQ29tcGlsZXI6OkFkZHJlc3MocmVz
dWx0R1BSLCBKU1JvcGVTdHJpbmc6Om9mZnNldE9mRmliZXJzKCkgKyBzaXplb2YoV3JpdGVCYXJy
aWVyPEpTU3RyaW5nPikgKiBpKSk7CisgICAgICAgIG1faml0LnN0b3JlUHRyKFRydXN0ZWRJbW1Q
dHIobnVsbHB0ciksIEpJVENvbXBpbGVyOjpBZGRyZXNzKHJlc3VsdEdQUiwgSlNSb3BlU3RyaW5n
OjpvZmZzZXRPZkZpYmVycygpICsgc2l6ZW9mKFdyaXRlQmFycmllcjxKU1N0cmluZz4pICogaSkp
OwogICAgIG1faml0LmxvYWQzMihKSVRDb21waWxlcjo6QWRkcmVzcyhvcEdQUnNbMF0sIEpTU3Ry
aW5nOjpvZmZzZXRPZkZsYWdzKCkpLCBzY3JhdGNoR1BSKTsKICAgICBtX2ppdC5sb2FkMzIoSklU
Q29tcGlsZXI6OkFkZHJlc3Mob3BHUFJzWzBdLCBKU1N0cmluZzo6b2Zmc2V0T2ZMZW5ndGgoKSks
IGFsbG9jYXRvckdQUik7CiAgICAgaWYgKCFBU1NFUlRfRElTQUJMRUQpIHsKQEAgLTY0MDMsNyAr
NjQwMyw3IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVHZXRUeXBlZEFycmF5Qnl0ZU9m
ZnNldChOb2RlKiBub2RlKQogICAgIEpJVENvbXBpbGVyOjpKdW1wIGRvbmUgPSBtX2ppdC5qdW1w
KCk7CiAgICAgCiAgICAgZW1wdHlCeXRlT2Zmc2V0LmxpbmsoJm1faml0KTsKLSAgICBtX2ppdC5t
b3ZlKFRydXN0ZWRJbW1QdHIoMCksIHZlY3RvckdQUik7CisgICAgbV9qaXQubW92ZShUcnVzdGVk
SW1tUHRyKG51bGxwdHIpLCB2ZWN0b3JHUFIpOwogICAgIAogICAgIGRvbmUubGluaygmbV9qaXQp
OwogICAgIG51bGxWZWN0b3IubGluaygmbV9qaXQpOwpAQCAtNjcwNyw3ICs2NzA3LDcgQEAgdm9p
ZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZU5ld0Z1bmN0aW9uQ29tbW9uKEdQUlJlZyByZXN1bHRH
UFIsIFJlZ2lzdGVyZWRTdHJ1Y3QKICAgICAKICAgICBtX2ppdC5zdG9yZVB0cihzY29wZUdQUiwg
SklUQ29tcGlsZXI6OkFkZHJlc3MocmVzdWx0R1BSLCBKU0Z1bmN0aW9uOjpvZmZzZXRPZlNjb3Bl
Q2hhaW4oKSkpOwogICAgIG1faml0LnN0b3JlUHRyKFRydXN0ZWRJbW1QdHI6OndlYWtQb2lzb25l
ZFBvaW50ZXI8SlNGdW5jdGlvblBvaXNvbj4obV9qaXQuZ3JhcGgoKSwgZXhlY3V0YWJsZSksIEpJ
VENvbXBpbGVyOjpBZGRyZXNzKHJlc3VsdEdQUiwgSlNGdW5jdGlvbjo6b2Zmc2V0T2ZFeGVjdXRh
YmxlKCkpKTsKLSAgICBtX2ppdC5zdG9yZVB0cihUcnVzdGVkSW1tUHRyKDApLCBKSVRDb21waWxl
cjo6QWRkcmVzcyhyZXN1bHRHUFIsIEpTRnVuY3Rpb246Om9mZnNldE9mUmFyZURhdGEoKSkpOwor
ICAgIG1faml0LnN0b3JlUHRyKFRydXN0ZWRJbW1QdHIobnVsbHB0ciksIEpJVENvbXBpbGVyOjpB
ZGRyZXNzKHJlc3VsdEdQUiwgSlNGdW5jdGlvbjo6b2Zmc2V0T2ZSYXJlRGF0YSgpKSk7CiAgICAg
CiAgICAgbV9qaXQubXV0YXRvckZlbmNlKCptX2ppdC52bSgpKTsKIH0KQEAgLTcwMjksMTAgKzcw
MjksMTAgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZUNyZWF0ZURpcmVjdEFyZ3VtZW50
cyhOb2RlKiBub2RlKQogICAgICAgICBKSVRDb21waWxlcjo6QWRkcmVzcyhyZXN1bHRHUFIsIERp
cmVjdEFyZ3VtZW50czo6b2Zmc2V0T2ZNaW5DYXBhY2l0eSgpKSk7CiAgICAgICAgIAogICAgIG1f
aml0LnN0b3JlUHRyKAotICAgICAgICBUcnVzdGVkSW1tUHRyKDApLCBKSVRDb21waWxlcjo6QWRk
cmVzcyhyZXN1bHRHUFIsIERpcmVjdEFyZ3VtZW50czo6b2Zmc2V0T2ZNYXBwZWRBcmd1bWVudHMo
KSkpOworICAgICAgICBUcnVzdGVkSW1tUHRyKG51bGxwdHIpLCBKSVRDb21waWxlcjo6QWRkcmVz
cyhyZXN1bHRHUFIsIERpcmVjdEFyZ3VtZW50czo6b2Zmc2V0T2ZNYXBwZWRBcmd1bWVudHMoKSkp
OwogCiAgICAgbV9qaXQuc3RvcmVQdHIoCi0gICAgICAgIFRydXN0ZWRJbW1QdHIoMCksIEpJVENv
bXBpbGVyOjpBZGRyZXNzKHJlc3VsdEdQUiwgRGlyZWN0QXJndW1lbnRzOjpvZmZzZXRPZk1vZGlm
aWVkQXJndW1lbnRzRGVzY3JpcHRvcigpKSk7CisgICAgICAgIFRydXN0ZWRJbW1QdHIobnVsbHB0
ciksIEpJVENvbXBpbGVyOjpBZGRyZXNzKHJlc3VsdEdQUiwgRGlyZWN0QXJndW1lbnRzOjpvZmZz
ZXRPZk1vZGlmaWVkQXJndW1lbnRzRGVzY3JpcHRvcigpKSk7CiAgICAgCiAgICAgaWYgKGxlbmd0
aElzS25vd24pIHsKICAgICAgICAgYWRkU2xvd1BhdGhHZW5lcmF0b3IoCkBAIC03NTE2LDcgKzc1
MTYsNyBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlTmV3QXJyYXlXaXRoU3ByZWFkKE5v
ZGUqIG5vZGUpCiAgICAgewogICAgICAgICBHUFJUZW1wb3Jhcnkgc2NyYXRjaCh0aGlzKTsKICAg
ICAgICAgbV9qaXQubW92ZShUcnVzdGVkSW1tUHRyKHNjcmF0Y2hCdWZmZXItPmFkZHJlc3NPZkFj
dGl2ZUxlbmd0aCgpKSwgc2NyYXRjaC5ncHIoKSk7Ci0gICAgICAgIG1faml0LnN0b3JlUHRyKFRy
dXN0ZWRJbW1QdHIoMCksIE1hY3JvQXNzZW1ibGVyOjpBZGRyZXNzKHNjcmF0Y2guZ3ByKCkpKTsK
KyAgICAgICAgbV9qaXQuc3RvcmVQdHIoVHJ1c3RlZEltbVB0cihudWxscHRyKSwgTWFjcm9Bc3Nl
bWJsZXI6OkFkZHJlc3Moc2NyYXRjaC5ncHIoKSkpOwogICAgIH0KIAogICAgIGNlbGxSZXN1bHQo
cmVzdWx0R1BSLCBub2RlKTsKQEAgLTc2NTMsNyArNzY1Myw3IEBAIHZvaWQgU3BlY3VsYXRpdmVK
SVQ6OmNvbXBpbGVBcnJheVNsaWNlKE5vZGUqIG5vZGUpCiAgICAgICAgIGRvbmUubGluaygmbV9q
aXQpOwogCiAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpKdW1wTGlzdCBzbG93Q2FzZXM7Ci0gICAg
ICAgIG1faml0Lm1vdmUoVHJ1c3RlZEltbVB0cigwKSwgc3RvcmFnZVJlc3VsdEdQUik7CisgICAg
ICAgIG1faml0Lm1vdmUoVHJ1c3RlZEltbVB0cihudWxscHRyKSwgc3RvcmFnZVJlc3VsdEdQUik7
CiAgICAgICAgIC8vIEVuYWJsZSB0aGUgZmFzdCBjYXNlIG9uIDY0LWJpdCBwbGF0Zm9ybXMsIHdo
ZXJlIGEgc3VmZmljaWVudCBhbW91bnQgb2YgR1AgcmVnaXN0ZXJzIHNob3VsZCBiZSBhdmFpbGFi
bGUuCiAgICAgICAgIC8vIE90aGVyIHBsYXRmb3JtcyBjb3VsZCBzdXBwb3J0IHRoZSBzYW1lIGFw
cHJvYWNoIHdpdGggY3VzdG9tIGNvZGUsIGJ1dCB0aGF0IGlzIG5vdCBjdXJyZW50bHkgd29ydGgg
dGhlIGV4dHJhIGNvZGUgbWFpbnRlbmFuY2UuCiAgICAgICAgIGlmIChpczY0Qml0KCkpIHsKQEAg
LTc2ODksNyArNzY4OSw3IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVBcnJheVNsaWNl
KE5vZGUqIG5vZGUpCiAKICAgICBHUFJUZW1wb3JhcnkgdGVtcDUodGhpcyk7CiAgICAgR1BSUmVn
IHN0b3JlSW5kZXggPSB0ZW1wNS5ncHIoKTsKLSAgICBtX2ppdC5tb3ZlKFRydXN0ZWRJbW1QdHIo
MCksIHN0b3JlSW5kZXgpOworICAgIG1faml0Lm1vdmUoVHJ1c3RlZEltbVB0cihudWxscHRyKSwg
c3RvcmVJbmRleCk7CiAKICAgICBHUFJUZW1wb3JhcnkgdGVtcDIodGhpcyk7CiAgICAgR1BSUmVn
IHJlc3VsdEJ1dHRlcmZseSA9IHRlbXAyLmdwcigpOwpAQCAtODQyOCw3ICs4NDI4LDcgQEAgdm9p
ZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZUFsbG9jYXRlUHJvcGVydHlTdG9yYWdlKE5vZGUqIG5v
ZGUpCiAgICAgbV9qaXQuYWRkUHRyKEpJVENvbXBpbGVyOjpUcnVzdGVkSW1tMzIoc2l6ZSArIHNp
emVvZihJbmRleGluZ0hlYWRlcikpLCBzY3JhdGNoR1BSMSk7CiAgICAgCiAgICAgZm9yIChwdHJk
aWZmX3Qgb2Zmc2V0ID0gMDsgb2Zmc2V0IDwgc3RhdGljX2Nhc3Q8cHRyZGlmZl90PihzaXplKTsg
b2Zmc2V0ICs9IHNpemVvZih2b2lkKikpCi0gICAgICAgIG1faml0LnN0b3JlUHRyKFRydXN0ZWRJ
bW1QdHIoMCksIEpJVENvbXBpbGVyOjpBZGRyZXNzKHNjcmF0Y2hHUFIxLCAtKG9mZnNldCArIHNp
emVvZihKU1ZhbHVlKSArIHNpemVvZih2b2lkKikpKSk7CisgICAgICAgIG1faml0LnN0b3JlUHRy
KFRydXN0ZWRJbW1QdHIobnVsbHB0ciksIEpJVENvbXBpbGVyOjpBZGRyZXNzKHNjcmF0Y2hHUFIx
LCAtKG9mZnNldCArIHNpemVvZihKU1ZhbHVlKSArIHNpemVvZih2b2lkKikpKSk7CiAgICAgICAg
IAogICAgIGFkZFNsb3dQYXRoR2VuZXJhdG9yKAogICAgICAgICBzbG93UGF0aENhbGwoc2xvd1Bh
dGgsIHRoaXMsIG9wZXJhdGlvbkFsbG9jYXRlU2ltcGxlUHJvcGVydHlTdG9yYWdlV2l0aEluaXRp
YWxDYXBhY2l0eSwgc2NyYXRjaEdQUjEpKTsKQEAgLTg0NzUsNyArODQ3NSw3IEBAIHZvaWQgU3Bl
Y3VsYXRpdmVKSVQ6OmNvbXBpbGVSZWFsbG9jYXRlUHJvcGVydHlTdG9yYWdlKE5vZGUqIG5vZGUp
CiAgICAgbV9qaXQuYWRkUHRyKEpJVENvbXBpbGVyOjpUcnVzdGVkSW1tMzIobmV3U2l6ZSArIHNp
emVvZihJbmRleGluZ0hlYWRlcikpLCBzY3JhdGNoR1BSMSk7CiAgICAgICAgIAogICAgIGZvciAo
cHRyZGlmZl90IG9mZnNldCA9IG9sZFNpemU7IG9mZnNldCA8IHN0YXRpY19jYXN0PHB0cmRpZmZf
dD4obmV3U2l6ZSk7IG9mZnNldCArPSBzaXplb2Yodm9pZCopKQotICAgICAgICBtX2ppdC5zdG9y
ZVB0cihUcnVzdGVkSW1tUHRyKDApLCBKSVRDb21waWxlcjo6QWRkcmVzcyhzY3JhdGNoR1BSMSwg
LShvZmZzZXQgKyBzaXplb2YoSlNWYWx1ZSkgKyBzaXplb2Yodm9pZCopKSkpOworICAgICAgICBt
X2ppdC5zdG9yZVB0cihUcnVzdGVkSW1tUHRyKG51bGxwdHIpLCBKSVRDb21waWxlcjo6QWRkcmVz
cyhzY3JhdGNoR1BSMSwgLShvZmZzZXQgKyBzaXplb2YoSlNWYWx1ZSkgKyBzaXplb2Yodm9pZCop
KSkpOwogCiAgICAgYWRkU2xvd1BhdGhHZW5lcmF0b3IoCiAgICAgICAgIHNsb3dQYXRoQ2FsbChz
bG93UGF0aCwgdGhpcywgb3BlcmF0aW9uQWxsb2NhdGVTaW1wbGVQcm9wZXJ0eVN0b3JhZ2UsIHNj
cmF0Y2hHUFIxLCBuZXdTaXplIC8gc2l6ZW9mKEpTVmFsdWUpKSk7CkBAIC05MDE5LDcgKzkwMTks
NyBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlTmV3VHlwZWRBcnJheVdpdGhTaXplKE5v
ZGUqIG5vZGUpCiAgICAgCiAgICAgSklUQ29tcGlsZXI6Okp1bXBMaXN0IHNsb3dDYXNlczsKICAg
ICAKLSAgICBtX2ppdC5tb3ZlKFRydXN0ZWRJbW1QdHIoMCksIHN0b3JhZ2VHUFIpOworICAgIG1f
aml0Lm1vdmUoVHJ1c3RlZEltbVB0cihudWxscHRyKSwgc3RvcmFnZUdQUik7CiAKICAgICBzbG93
Q2FzZXMuYXBwZW5kKG1faml0LmJyYW5jaDMyKAogICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6QWJv
dmUsIHNpemVHUFIsIFRydXN0ZWRJbW0zMihKU0FycmF5QnVmZmVyVmlldzo6ZmFzdFNpemVMaW1p
dCkpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRp
dmVKSVQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuaApp
bmRleCAxYmZiYWM3ZTA4NDc3MzAxZjM3ODFmNTllOTcxYTU4MzllMWY5NDA0Li40MGI0MDFhYzhl
Y2VmNTU3M2NmMTlmMDNjMzIxOGE3ZmQ0Y2IxZjJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5oCkBAIC0xMjgsMTYgKzEyOCw4IEBAIHB1YmxpYzoK
ICAgICAgICAgICAgIDogbV92YWx1ZShzdHJ1Y3R1cmUuZ2V0KCkpCiAgICAgICAgIHsgfQogICAg
ICAgICAKLSAgICAgICAgLy8gVGhpcyBpcyBvbmx5IGhlcmUgc28gdGhhdCBUcnVzdGVkSW1tUHRy
KDApIGRvZXMgbm90IGNvbmZ1c2UgdGhlIEMrKwotICAgICAgICAvLyBvdmVybG9hZCBoYW5kbGlu
ZyBydWxlcy4KLSAgICAgICAgZXhwbGljaXQgVHJ1c3RlZEltbVB0cihpbnQgdmFsdWUpCi0gICAg
ICAgICAgICA6IG1fdmFsdWUodmFsdWUpCi0gICAgICAgIHsKLSAgICAgICAgICAgIEFTU0VSVCgh
dmFsdWUpOwotICAgICAgICB9Ci0KICAgICAgICAgZXhwbGljaXQgVHJ1c3RlZEltbVB0cihzdGQ6
Om51bGxwdHJfdCkKLSAgICAgICAgICAgIDogbV92YWx1ZSgwKQorICAgICAgICAgICAgOiBtX3Zh
bHVlKG51bGxwdHIpCiAgICAgICAgIHsgfQogCiAgICAgICAgIGV4cGxpY2l0IFRydXN0ZWRJbW1Q
dHIoRnJvemVuVmFsdWUqIHZhbHVlKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHAKaW5kZXggYzY0YTM4NjNmNWZjMzc3NmFmMDBh
NjkzYmU3YTY4ODUyYTEyZmJlNS4uYTFhMjk5M2FlNmY4NGRkYjUwYzgwZmY1YTdmMmM1NGI1MjU5
YzQxOCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2
ZUpJVDMyXzY0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0
aXZlSklUMzJfNjQuY3BwCkBAIC0zNjc1LDcgKzM2NzUsNyBAQCB2b2lkIFNwZWN1bGF0aXZlSklU
Ojpjb21waWxlKE5vZGUqIG5vZGUpCiAgICAgICAgICAgICBHUFJUZW1wb3Jhcnkgc2NyYXRjaCh0
aGlzKTsKIAogICAgICAgICAgICAgbV9qaXQubW92ZShUcnVzdGVkSW1tUHRyKHNjcmF0Y2hCdWZm
ZXItPmFkZHJlc3NPZkFjdGl2ZUxlbmd0aCgpKSwgc2NyYXRjaC5ncHIoKSk7Ci0gICAgICAgICAg
ICBtX2ppdC5zdG9yZVB0cihUcnVzdGVkSW1tUHRyKDApLCBzY3JhdGNoLmdwcigpKTsKKyAgICAg
ICAgICAgIG1faml0LnN0b3JlUHRyKFRydXN0ZWRJbW1QdHIobnVsbHB0ciksIHNjcmF0Y2guZ3By
KCkpOwogICAgICAgICB9CiAKICAgICAgICAgY2VsbFJlc3VsdChyZXN1bHQuZ3ByKCksIG5vZGUs
IFVzZUNoaWxkcmVuQ2FsbGVkRXhwbGljaXRseSk7CkBAIC01Mjc3LDcgKzUyNzcsNyBAQCB2b2lk
IFNwZWN1bGF0aXZlSklUOjpjb21waWxlQWxsb2NhdGVOZXdBcnJheVdpdGhTaXplKEpTR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplYwogICAgIEdQUlJlZyBzY3JhdGNoR1BSID0gc2NyYXRjaC5ncHIo
KTsKICAgICBHUFJSZWcgc2NyYXRjaDJHUFIgPSBzY3JhdGNoMi5ncHIoKTsKICAgICAKLSAgICBt
X2ppdC5tb3ZlKFRydXN0ZWRJbW1QdHIoMCksIHN0b3JhZ2VHUFIpOworICAgIG1faml0Lm1vdmUo
VHJ1c3RlZEltbVB0cihudWxscHRyKSwgc3RvcmFnZUdQUik7CiAgICAgICAgICAgICAKICAgICBN
YWNyb0Fzc2VtYmxlcjo6SnVtcExpc3Qgc2xvd0Nhc2VzOwogICAgIGlmIChzaG91bGRDb252ZXJ0
TGFyZ2VTaXplVG9BcnJheVN0b3JhZ2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcAppbmRleCA5NmQ1OTNhNjY2Y2U0M2E2NGY5YzdjNjA5
OWE2OWRjMGVlMmNlYTlhLi45ZDM1MTU4ZWY1MjRmMDIyODEwN2M3NWM0NzYyZTRiZTM4YWU4YTE2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklU
NjQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2
NC5jcHAKQEAgLTEwMjksNyArMTAyOSw3IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmVtaXRDYWxs
KE5vZGUqIG5vZGUpCiAgICAgbV9qaXQuZW1pdFN0b3JlQ2FsbFNpdGVJbmRleChjYWxsU2l0ZSk7
CiAgICAgCiAgICAgSklUQ29tcGlsZXI6OkRhdGFMYWJlbFB0ciB0YXJnZXRUb0NoZWNrOwotICAg
IEpJVENvbXBpbGVyOjpKdW1wIHNsb3dQYXRoID0gbV9qaXQuYnJhbmNoUHRyV2l0aFBhdGNoKE1h
Y3JvQXNzZW1ibGVyOjpOb3RFcXVhbCwgY2FsbGVlR1BSLCB0YXJnZXRUb0NoZWNrLCBUcnVzdGVk
SW1tUHRyKDApKTsKKyAgICBKSVRDb21waWxlcjo6SnVtcCBzbG93UGF0aCA9IG1faml0LmJyYW5j
aFB0cldpdGhQYXRjaChNYWNyb0Fzc2VtYmxlcjo6Tm90RXF1YWwsIGNhbGxlZUdQUiwgdGFyZ2V0
VG9DaGVjaywgVHJ1c3RlZEltbVB0cihudWxscHRyKSk7CiAKICAgICBpZiAoaXNUYWlsKSB7CiAg
ICAgICAgIGlmIChub2RlLT5vcCgpID09IFRhaWxDYWxsKSB7CkBAIC0zODc5LDcgKzM4NzksNyBA
QCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlKE5vZGUqIG5vZGUpCiAgICAgICAgICAgICBH
UFJUZW1wb3Jhcnkgc2NyYXRjaCh0aGlzKTsKIAogICAgICAgICAgICAgbV9qaXQubW92ZShUcnVz
dGVkSW1tUHRyKHNjcmF0Y2hCdWZmZXItPmFkZHJlc3NPZkFjdGl2ZUxlbmd0aCgpKSwgc2NyYXRj
aC5ncHIoKSk7Ci0gICAgICAgICAgICBtX2ppdC5zdG9yZVB0cihUcnVzdGVkSW1tUHRyKDApLCBz
Y3JhdGNoLmdwcigpKTsKKyAgICAgICAgICAgIG1faml0LnN0b3JlUHRyKFRydXN0ZWRJbW1QdHIo
bnVsbHB0ciksIHNjcmF0Y2guZ3ByKCkpOwogICAgICAgICB9CiAKICAgICAgICAgY2VsbFJlc3Vs
dChyZXN1bHQuZ3ByKCksIG5vZGUsIFVzZUNoaWxkcmVuQ2FsbGVkRXhwbGljaXRseSk7CkBAIC01
ODQ3LDcgKzU4NDcsNyBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlQWxsb2NhdGVOZXdB
cnJheVdpdGhTaXplKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplYwogICAgIEdQUlJlZyBzY3Jh
dGNoR1BSID0gc2NyYXRjaC5ncHIoKTsKICAgICBHUFJSZWcgc2NyYXRjaDJHUFIgPSBzY3JhdGNo
Mi5ncHIoKTsKICAgICAKLSAgICBtX2ppdC5tb3ZlKFRydXN0ZWRJbW1QdHIoMCksIHN0b3JhZ2VH
UFIpOworICAgIG1faml0Lm1vdmUoVHJ1c3RlZEltbVB0cihudWxscHRyKSwgc3RvcmFnZUdQUik7
CiAgICAgCiAgICAgTWFjcm9Bc3NlbWJsZXI6Okp1bXBMaXN0IHNsb3dDYXNlczsKICAgICBpZiAo
c2hvdWxkQ29udmVydExhcmdlU2l6ZVRvQXJyYXlTdG9yYWdlKQpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdUaHVua3MuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdUaHVua3MuY3BwCmluZGV4IDgyMTE2Yjg0MDIwMjk2Y2UyYzQ4ODBiN2U3ZGFmNzkz
NWY4ZjAyMjUuLmQyNTljYzgxNjNmYTA2OTFlMTEwYTNjNzQ0YmM2YzkwOWIyYjMxMzYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHVGh1bmtzLmNwcAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1RodW5rcy5jcHAKQEAgLTg1LDcgKzg1LDcgQEAgTWFj
cm9Bc3NlbWJsZXJDb2RlUmVmIG9zckV4aXRHZW5lcmF0aW9uVGh1bmtHZW5lcmF0b3IoVk0qIHZt
KQogICAgIE1hY3JvQXNzZW1ibGVyOjpDYWxsIGZ1bmN0aW9uQ2FsbCA9IGppdC5jYWxsKCk7CiAK
ICAgICBqaXQubW92ZShNYWNyb0Fzc2VtYmxlcjo6VHJ1c3RlZEltbVB0cihzY3JhdGNoQnVmZmVy
LT5hZGRyZXNzT2ZBY3RpdmVMZW5ndGgoKSksIEdQUkluZm86OnJlZ1QwKTsKLSAgICBqaXQuc3Rv
cmVQdHIoTWFjcm9Bc3NlbWJsZXI6OlRydXN0ZWRJbW1QdHIoMCksIE1hY3JvQXNzZW1ibGVyOjpB
ZGRyZXNzKEdQUkluZm86OnJlZ1QwKSk7CisgICAgaml0LnN0b3JlUHRyKE1hY3JvQXNzZW1ibGVy
OjpUcnVzdGVkSW1tUHRyKG51bGxwdHIpLCBNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhHUFJJbmZv
OjpyZWdUMCkpOwogCiAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IEZQUkluZm86Om51bWJl
ck9mUmVnaXN0ZXJzOyArK2kpIHsKICAgICAgICAgaml0Lm1vdmUoTWFjcm9Bc3NlbWJsZXI6OlRy
dXN0ZWRJbW1QdHIoYnVmZmVyICsgR1BSSW5mbzo6bnVtYmVyT2ZSZWdpc3RlcnMgKyBpKSwgR1BS
SW5mbzo6cmVnVDApOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExM
b3dlckRGR1RvQjMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1Rv
QjMuY3BwCmluZGV4IGM0MzI0ZGI3NmRjZTNkZWM1MGU4Y2MzNjAxZjdiMjk5MDBkMDBlMWUuLmM4
NmU3YzBkYjgxYTQyZWRhN2Y1MDZmMzBmZDMwMTBjNTVmMzNlN2YgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0IzLmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9CMy5jcHAKQEAgLTcxMTgsNyArNzExOCw3IEBA
IHByaXZhdGU6CiAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpEYXRhTGFiZWxQdHIgdGFy
Z2V0VG9DaGVjazsKICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6Okp1bXAgc2xvd1BhdGgg
PSBqaXQuYnJhbmNoUHRyV2l0aFBhdGNoKAogICAgICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBl
cnM6Ok5vdEVxdWFsLCBHUFJJbmZvOjpyZWdUMCwgdGFyZ2V0VG9DaGVjaywKLSAgICAgICAgICAg
ICAgICAgICAgQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tUHRyKDApKTsKKyAgICAgICAgICAgICAg
ICAgICAgQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tUHRyKG51bGxwdHIpKTsKIAogICAgICAgICAg
ICAgICAgIENDYWxsSGVscGVyczo6Q2FsbCBmYXN0Q2FsbCA9IGppdC5uZWFyQ2FsbCgpOwogICAg
ICAgICAgICAgICAgIENDYWxsSGVscGVyczo6SnVtcCBkb25lID0gaml0Lmp1bXAoKTsKQEAgLTc0
MzgsNyArNzQzOCw3IEBAIHByaXZhdGU6CiAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpE
YXRhTGFiZWxQdHIgdGFyZ2V0VG9DaGVjazsKICAgICAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6
Okp1bXAgc2xvd1BhdGggPSBqaXQuYnJhbmNoUHRyV2l0aFBhdGNoKAogICAgICAgICAgICAgICAg
ICAgICBDQ2FsbEhlbHBlcnM6Ok5vdEVxdWFsLCBHUFJJbmZvOjpyZWdUMCwgdGFyZ2V0VG9DaGVj
aywKLSAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tUHRyKDApKTsK
KyAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tUHRyKG51bGxwdHIp
KTsKIAogICAgICAgICAgICAgICAgIGNhbGxMaW5rSW5mby0+c2V0RnJhbWVTaHVmZmxlRGF0YShz
aHVmZmxlRGF0YSk7CiAgICAgICAgICAgICAgICAgQ2FsbEZyYW1lU2h1ZmZsZXIoaml0LCBzaHVm
ZmxlRGF0YSkucHJlcGFyZUZvclRhaWxDYWxsKCk7CkBAIC04MDA4LDcgKzgwMDgsNyBAQCBwcml2
YXRlOgogICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6RGF0YUxhYmVsUHRyIHRhcmdldFRv
Q2hlY2s7CiAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpKdW1wIHNsb3dQYXRoID0gaml0
LmJyYW5jaFB0cldpdGhQYXRjaCgKICAgICAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpO
b3RFcXVhbCwgR1BSSW5mbzo6cmVnVDAsIHRhcmdldFRvQ2hlY2ssCi0gICAgICAgICAgICAgICAg
ICAgIENDYWxsSGVscGVyczo6VHJ1c3RlZEltbVB0cigwKSk7CisgICAgICAgICAgICAgICAgICAg
IENDYWxsSGVscGVyczo6VHJ1c3RlZEltbVB0cihudWxscHRyKSk7CiAgICAgICAgICAgICAgICAg
CiAgICAgICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpDYWxsIGZhc3RDYWxsOwogICAgICAgICAg
ICAgICAgIENDYWxsSGVscGVyczo6SnVtcCBkb25lOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2Z0bC9GVExUaHVua3MuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9G
VExUaHVua3MuY3BwCmluZGV4IDAwZTViMjk1NDFkYjliYWZiYTAwOWQ4ZDdlOTNhODNhZDQzYmEy
MzQuLmUzYzcwNTQ4YjU1MmVhNDM3OWM0ZjliNjY1M2U3ODU2ZmRiNTU2OTMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMVGh1bmtzLmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZnRsL0ZUTFRodW5rcy5jcHAKQEAgLTk3LDcgKzk3LDcgQEAgc3RhdGljIE1h
Y3JvQXNzZW1ibGVyQ29kZVJlZiBnZW5lcmljR2VuZXJhdGlvblRodW5rR2VuZXJhdG9yKAogICAg
IAogICAgIC8vIE1ha2Ugc3VyZSB3ZSB0ZWxsIHRoZSBHQyB0aGF0IHdlJ3JlIG5vdCB1c2luZyB0
aGUgc2NyYXRjaCBidWZmZXIgYW55bW9yZS4KICAgICBqaXQubW92ZShNYWNyb0Fzc2VtYmxlcjo6
VHJ1c3RlZEltbVB0cihzY3JhdGNoQnVmZmVyLT5hZGRyZXNzT2ZBY3RpdmVMZW5ndGgoKSksIEdQ
UkluZm86OnJlZ1QxKTsKLSAgICBqaXQuc3RvcmVQdHIoTWFjcm9Bc3NlbWJsZXI6OlRydXN0ZWRJ
bW1QdHIoMCksIEdQUkluZm86OnJlZ1QxKTsKKyAgICBqaXQuc3RvcmVQdHIoTWFjcm9Bc3NlbWJs
ZXI6OlRydXN0ZWRJbW1QdHIobnVsbHB0ciksIEdQUkluZm86OnJlZ1QxKTsKICAgICAKICAgICAv
LyBQcmVwYXJlIGZvciB0YWlsIGNhbGwuCiAgICAgd2hpbGUgKG51bWJlck9mUmVxdWlyZWRQb3Bz
LS0pCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0Fzc2VtYmx5SGVscGVy
cy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0Fzc2VtYmx5SGVscGVycy5jcHAKaW5k
ZXggNTAxZjUzYmMzODc0MGFjY2ExZDZjYzE0NDRjYjZlN2Q3NGQ5OWZkZi4uNTliYzU1ZGRlODcx
YjY5Njc2YjAwODE1MzY5ODlmNjNhMzgyOTQzMiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ppdC9Bc3NlbWJseUhlbHBlcnMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9qaXQvQXNzZW1ibHlIZWxwZXJzLmNwcApAQCAtOTQ0LDcgKzk0NCw3IEBAIHZvaWQgQXNzZW1i
bHlIZWxwZXJzOjpkZWJ1Z0NhbGwoVk0mIHZtLCBWX0RlYnVnT3BlcmF0aW9uX0VQUCBmdW5jdGlv
biwgdm9pZCogYXJnCiAgICAgY2FsbChzY3JhdGNoKTsKIAogICAgIG1vdmUoVHJ1c3RlZEltbVB0
cihzY3JhdGNoQnVmZmVyLT5hZGRyZXNzT2ZBY3RpdmVMZW5ndGgoKSksIEdQUkluZm86OnJlZ1Qw
KTsKLSAgICBzdG9yZVB0cihUcnVzdGVkSW1tUHRyKDApLCBHUFJJbmZvOjpyZWdUMCk7CisgICAg
c3RvcmVQdHIoVHJ1c3RlZEltbVB0cihudWxscHRyKSwgR1BSSW5mbzo6cmVnVDApOwogCiAgICAg
Zm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IEZQUkluZm86Om51bWJlck9mUmVnaXN0ZXJzOyArK2kp
IHsKICAgICAgICAgbW92ZShUcnVzdGVkSW1tUHRyKGJ1ZmZlciArIEdQUkluZm86Om51bWJlck9m
UmVnaXN0ZXJzICsgaSksIEdQUkluZm86OnJlZ1QwKTsKQEAgLTk4Nyw3ICs5ODcsNyBAQCB2b2lk
IEFzc2VtYmx5SGVscGVyczo6c2FuaXRpemVTdGFja0lubGluZShWTSYgdm0sIEdQUlJlZyBzY3Jh
dGNoKQogICAgIGxvYWRQdHIodm0uYWRkcmVzc09mTGFzdFN0YWNrVG9wKCksIHNjcmF0Y2gpOwog
ICAgIEp1bXAgZG9uZSA9IGJyYW5jaFB0cihCZWxvd09yRXF1YWwsIHN0YWNrUG9pbnRlclJlZ2lz
dGVyLCBzY3JhdGNoKTsKICAgICBMYWJlbCBsb29wID0gbGFiZWwoKTsKLSAgICBzdG9yZVB0cihU
cnVzdGVkSW1tUHRyKDApLCBzY3JhdGNoKTsKKyAgICBzdG9yZVB0cihUcnVzdGVkSW1tUHRyKG51
bGxwdHIpLCBzY3JhdGNoKTsKICAgICBhZGRQdHIoVHJ1c3RlZEltbVB0cihzaXplb2Yodm9pZCop
KSwgc2NyYXRjaCk7CiAgICAgYnJhbmNoUHRyKEFib3ZlLCBzdGFja1BvaW50ZXJSZWdpc3Rlciwg
c2NyYXRjaCkubGlua1RvKGxvb3AsIHRoaXMpOwogICAgIGRvbmUubGluayh0aGlzKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSW50cmluc2ljRW1pdHRlci5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0ludHJpbnNpY0VtaXR0ZXIuY3BwCmluZGV4IDU3NGE3
MWFmMGFjMzBjN2UwMjNjNGEzNzEwYzQ2ZTRjMDBjZTE0N2YuLjY3ZDE3ODA4OWY4MTJhOTZmNmM0
ZDVhYjI1NzU5MTkwYjNjMzNhMjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9q
aXQvSW50cmluc2ljRW1pdHRlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9J
bnRyaW5zaWNFbWl0dGVyLmNwcApAQCAtMTEyLDcgKzExMiw3IEBAIHZvaWQgSW50cmluc2ljR2V0
dGVyQWNjZXNzQ2FzZTo6ZW1pdEludHJpbnNpY0dldHRlcihBY2Nlc3NHZW5lcmF0aW9uU3RhdGUm
IHN0YXRlCiAgICAgICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhiYXNlR1BSLCBKU0Fy
cmF5QnVmZmVyVmlldzo6b2Zmc2V0T2ZNb2RlKCkpLAogICAgICAgICAgICAgVHJ1c3RlZEltbTMy
KFdhc3RlZnVsVHlwZWRBcnJheSkpOwogCi0gICAgICAgIGppdC5tb3ZlKFRydXN0ZWRJbW1QdHIo
MCksIHZhbHVlR1BSKTsKKyAgICAgICAgaml0Lm1vdmUoVHJ1c3RlZEltbVB0cihudWxscHRyKSwg
dmFsdWVHUFIpOwogICAgICAgICBDQ2FsbEhlbHBlcnM6Okp1bXAgZG9uZSA9IGppdC5qdW1wKCk7
CiAKICAgICAgICAgbm90RW1wdHlCeXRlT2Zmc2V0LmxpbmsoJmppdCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVENhbGwuY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2ppdC9KSVRDYWxsLmNwcAppbmRleCA4Yzk5YWNlNDk5ZjA4ODY2Y2I3Nzg2MGZjYzhiMjQ4
M2RkMmY0YmYyLi40NmIzMGQ5ZGFhMGYyMjU0NTFhZDkzMTcyYTVlOWRlYjIwNDU0NmQ4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVENhbGwuY3BwCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUQ2FsbC5jcHAKQEAgLTE4OCw3ICsxODgsNyBAQCB2b2lk
IEpJVDo6Y29tcGlsZU9wQ2FsbChPcGNvZGVJRCBvcGNvZGVJRCwgSW5zdHJ1Y3Rpb24qIGluc3Ry
dWN0aW9uLCB1bnNpZ25lZCBjYQogICAgIH0KIAogICAgIERhdGFMYWJlbFB0ciBhZGRyZXNzT2ZM
aW5rZWRGdW5jdGlvbkNoZWNrOwotICAgIEp1bXAgc2xvd0Nhc2UgPSBicmFuY2hQdHJXaXRoUGF0
Y2goTm90RXF1YWwsIHJlZ1QwLCBhZGRyZXNzT2ZMaW5rZWRGdW5jdGlvbkNoZWNrLCBUcnVzdGVk
SW1tUHRyKDApKTsKKyAgICBKdW1wIHNsb3dDYXNlID0gYnJhbmNoUHRyV2l0aFBhdGNoKE5vdEVx
dWFsLCByZWdUMCwgYWRkcmVzc09mTGlua2VkRnVuY3Rpb25DaGVjaywgVHJ1c3RlZEltbVB0cihu
dWxscHRyKSk7CiAgICAgYWRkU2xvd0Nhc2Uoc2xvd0Nhc2UpOwogCiAgICAgQVNTRVJUKG1fY2Fs
bENvbXBpbGF0aW9uSW5mby5zaXplKCkgPT0gY2FsbExpbmtJbmZvSW5kZXgpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRDYWxsMzJfNjQuY3BwIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9KSVRDYWxsMzJfNjQuY3BwCmluZGV4IDFhMjY3ZTZjMGI5YTFiZDdj
OWM2NGE3ZmYzNzYwYTY4NmRhNzgyZmMuLmQzNWY3MmFkOGZjMDg2MjVlNzAzMThjZDA1YjQ3Yjcy
NDA4OWVlZGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUQ2FsbDMy
XzY0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVENhbGwzMl82NC5jcHAK
QEAgLTI3OCw3ICsyNzgsNyBAQCB2b2lkIEpJVDo6Y29tcGlsZU9wQ2FsbChPcGNvZGVJRCBvcGNv
ZGVJRCwgSW5zdHJ1Y3Rpb24qIGluc3RydWN0aW9uLCB1bnNpZ25lZCBjYQogICAgIGFkZFNsb3dD
YXNlKGJyYW5jaDMyKE5vdEVxdWFsLCByZWdUMSwgVHJ1c3RlZEltbTMyKEpTVmFsdWU6OkNlbGxU
YWcpKSk7CiAKICAgICBEYXRhTGFiZWxQdHIgYWRkcmVzc09mTGlua2VkRnVuY3Rpb25DaGVjazsK
LSAgICBKdW1wIHNsb3dDYXNlID0gYnJhbmNoUHRyV2l0aFBhdGNoKE5vdEVxdWFsLCByZWdUMCwg
YWRkcmVzc09mTGlua2VkRnVuY3Rpb25DaGVjaywgVHJ1c3RlZEltbVB0cigwKSk7CisgICAgSnVt
cCBzbG93Q2FzZSA9IGJyYW5jaFB0cldpdGhQYXRjaChOb3RFcXVhbCwgcmVnVDAsIGFkZHJlc3NP
ZkxpbmtlZEZ1bmN0aW9uQ2hlY2ssIFRydXN0ZWRJbW1QdHIobnVsbHB0cikpOwogCiAgICAgYWRk
U2xvd0Nhc2Uoc2xvd0Nhc2UpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aml0L1NjcmF0Y2hSZWdpc3RlckFsbG9jYXRvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aml0L1NjcmF0Y2hSZWdpc3RlckFsbG9jYXRvci5jcHAKaW5kZXggODAxZWY5YjI0ZmQ1NWFjMzMz
NWI5ZmM1OTY2MDk1MGQ0YTg2YWYyNi4uODU5NmFhNzBkMWQyMDllOTE2MzBiNmU2YzA1NjgwMzBh
YzJmNTA0NCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9TY3JhdGNoUmVn
aXN0ZXJBbGxvY2F0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvU2NyYXRj
aFJlZ2lzdGVyQWxsb2NhdG9yLmNwcApAQCAtMjExLDcgKzIxMSw3IEBAIHZvaWQgU2NyYXRjaFJl
Z2lzdGVyQWxsb2NhdG9yOjpyZXN0b3JlVXNlZFJlZ2lzdGVyc0Zyb21TY3JhdGNoQnVmZmVyRm9y
Q2FsbChNYWNyCiAgICAgUkVMRUFTRV9BU1NFUlQoc2NyYXRjaEdQUiAhPSBJbnZhbGlkR1BSUmVn
KTsKICAgICAKICAgICBqaXQubW92ZShNYWNyb0Fzc2VtYmxlcjo6VHJ1c3RlZEltbVB0cihzY3Jh
dGNoQnVmZmVyLT5hZGRyZXNzT2ZBY3RpdmVMZW5ndGgoKSksIHNjcmF0Y2hHUFIpOwotICAgIGpp
dC5zdG9yZVB0cihNYWNyb0Fzc2VtYmxlcjo6VHJ1c3RlZEltbVB0cigwKSwgc2NyYXRjaEdQUik7
CisgICAgaml0LnN0b3JlUHRyKE1hY3JvQXNzZW1ibGVyOjpUcnVzdGVkSW1tUHRyKG51bGxwdHIp
LCBzY3JhdGNoR1BSKTsKIAogICAgIC8vIFJlc3RvcmUgZG91YmxlIHJlZ2lzdGVycyBmaXJzdC4K
ICAgICB1bnNpZ25lZCBjb3VudCA9IHVzZWRSZWdpc3RlcnMubnVtYmVyT2ZTZXRHUFJzKCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XYXNtVG9KUy5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XYXNtVG9KUy5jcHAKaW5kZXggYmYwOWQ5M2E5
ZDMxOTNiNTE2MjQzM2ZmN2YwNWFhMjJlZjE1NzM3OC4uMTJiNWQ3OTM5ZDBjNWM4MDg0OGQ3YzBi
MzA5MzBiOGU1NTM5YWY1YyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20v
anMvV2FzbVRvSlMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dhc21U
b0pTLmNwcApAQCAtMjI0LDcgKzIyNCw3IEBAIEV4cGVjdGVkPE1hY3JvQXNzZW1ibGVyQ29kZVJl
ZiwgQmluZGluZ0ZhaWx1cmU+IHdhc21Ub0pTKFZNKiB2bSwgQmFnPENhbGxMaW5rSW5mCiAgICAg
ICAgIGlmIChhcmdDb3VudCkgewogICAgICAgICAgICAgLy8gVGhlIEdDIHNob3VsZCBub3QgbG9v
ayBhdCB0aGlzIGJ1ZmZlciBhdCBhbGwsIHRoZXNlIGFyZW4ndCBKU1ZhbHVlcy4KICAgICAgICAg
ICAgIGppdC5tb3ZlKENDYWxsSGVscGVyczo6VHJ1c3RlZEltbVB0cihzY3JhdGNoQnVmZmVyLT5h
ZGRyZXNzT2ZBY3RpdmVMZW5ndGgoKSksIEdQUkluZm86OmFyZ3VtZW50R1BSMCk7Ci0gICAgICAg
ICAgICBqaXQuc3RvcmVQdHIoQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tUHRyKDApLCBHUFJJbmZv
Ojphcmd1bWVudEdQUjApOworICAgICAgICAgICAgaml0LnN0b3JlUHRyKENDYWxsSGVscGVyczo6
VHJ1c3RlZEltbVB0cihudWxscHRyKSwgR1BSSW5mbzo6YXJndW1lbnRHUFIwKTsKICAgICAgICAg
fQogCiAgICAgICAgIHVpbnQ2NF90ICgqY2FsbEZ1bmMpKEV4ZWNTdGF0ZSosIEpTT2JqZWN0Kiwg
U2lnbmF0dXJlSW5kZXgsIHVpbnQ2NF90KikgPQpAQCAtNTA1LDcgKzUwNSw3IEBAIEV4cGVjdGVk
PE1hY3JvQXNzZW1ibGVyQ29kZVJlZiwgQmluZGluZ0ZhaWx1cmU+IHdhc21Ub0pTKFZNKiB2bSwg
QmFnPENhbGxMaW5rSW5mCiAgICAgQ2FsbExpbmtJbmZvKiBjYWxsTGlua0luZm8gPSBjYWxsTGlu
a0luZm9zLmFkZCgpOwogICAgIGNhbGxMaW5rSW5mby0+c2V0VXBDYWxsKENhbGxMaW5rSW5mbzo6
Q2FsbCwgQ29kZU9yaWdpbigpLCBpbXBvcnRKU0NlbGxHUFJSZWcpOwogICAgIEpJVDo6RGF0YUxh
YmVsUHRyIHRhcmdldFRvQ2hlY2s7Ci0gICAgSklUOjpUcnVzdGVkSW1tUHRyIGluaXRpYWxSaWdo
dFZhbHVlKDApOworICAgIEpJVDo6VHJ1c3RlZEltbVB0ciBpbml0aWFsUmlnaHRWYWx1ZShudWxs
cHRyKTsKICAgICBKSVQ6Okp1bXAgc2xvd1BhdGggPSBqaXQuYnJhbmNoUHRyV2l0aFBhdGNoKE1h
Y3JvQXNzZW1ibGVyOjpOb3RFcXVhbCwgaW1wb3J0SlNDZWxsR1BSUmVnLCB0YXJnZXRUb0NoZWNr
LCBpbml0aWFsUmlnaHRWYWx1ZSk7CiAgICAgSklUOjpDYWxsIGZhc3RDYWxsID0gaml0Lm5lYXJD
YWxsKCk7CiAgICAgSklUOjpKdW1wIGRvbmUgPSBqaXQuanVtcCgpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3lhcnIvWWFyckpJVC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUveWFyci9ZYXJySklULmNwcAppbmRleCBhYzQ5NDJhODhkMTQ1YzBhMjBlMWNiMGFmM2ZiNTkw
MTk1ZTM4NGFkLi42MjRjYzI5NTBiZjc2ZTg4MzkwNTNkM2E5ODc1OGJiNjJmYTMzOWIyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUveWFyci9ZYXJySklULmNwcAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUveWFyci9ZYXJySklULmNwcApAQCAtMjQ2LDcgKzI0Niw3IEBAIGNs
YXNzIFlhcnJHZW5lcmF0b3IgOiBwcml2YXRlIE1hY3JvQXNzZW1ibGVyIHsKICAgICAgICAganVt
cChsb29wVG9wKTsKIAogICAgICAgICBpbml0RG9uZS5saW5rKHRoaXMpOwotICAgICAgICBzdG9y
ZVB0cihUcnVzdGVkSW1tUHRyKDApLCBBZGRyZXNzKHBhcmVuQ29udGV4dFBvaW50ZXIsIFBhcmVu
Q29udGV4dDo6bmV4dE9mZnNldCgpKSk7CisgICAgICAgIHN0b3JlUHRyKFRydXN0ZWRJbW1QdHIo
bnVsbHB0ciksIEFkZHJlc3MocGFyZW5Db250ZXh0UG9pbnRlciwgUGFyZW5Db250ZXh0OjpuZXh0
T2Zmc2V0KCkpKTsKICAgICAgICAgZW1wdHlGcmVlTGlzdC5saW5rKHRoaXMpOwogICAgIH0KIApA
QCAtNTk0LDcgKzU5NCw3IEBAIGNsYXNzIFlhcnJHZW5lcmF0b3IgOiBwcml2YXRlIE1hY3JvQXNz
ZW1ibGVyIHsKIAogICAgIERhdGFMYWJlbFB0ciBzdG9yZVRvRnJhbWVXaXRoUGF0Y2godW5zaWdu
ZWQgZnJhbWVMb2NhdGlvbikKICAgICB7Ci0gICAgICAgIHJldHVybiBzdG9yZVB0cldpdGhQYXRj
aChUcnVzdGVkSW1tUHRyKDApLCBBZGRyZXNzKHN0YWNrUG9pbnRlclJlZ2lzdGVyLCBmcmFtZUxv
Y2F0aW9uICogc2l6ZW9mKHZvaWQqKSkpOworICAgICAgICByZXR1cm4gc3RvcmVQdHJXaXRoUGF0
Y2goVHJ1c3RlZEltbVB0cihudWxscHRyKSwgQWRkcmVzcyhzdGFja1BvaW50ZXJSZWdpc3Rlciwg
ZnJhbWVMb2NhdGlvbiAqIHNpemVvZih2b2lkKikpKTsKICAgICB9CiAKICAgICB2b2lkIGxvYWRG
cm9tRnJhbWUodW5zaWduZWQgZnJhbWVMb2NhdGlvbiwgUmVnaXN0ZXJJRCByZWcpCkBAIC0yMTkz
LDcgKzIxOTMsNyBAQCBjbGFzcyBZYXJyR2VuZXJhdG9yIDogcHJpdmF0ZSBNYWNyb0Fzc2VtYmxl
ciB7CiAgICAgICAgICAgICAgICAgLy8gRklYTUU6IGZvciBjYXB0dXJpbmcgcGFyZW5zLCBjb3Vs
ZCB1c2UgdGhlIGluZGV4IGluIHRoZSBjYXB0dXJlIGFycmF5PwogICAgICAgICAgICAgICAgIGlm
ICh0ZXJtLT5xdWFudGl0eVR5cGUgPT0gUXVhbnRpZmllckdyZWVkeSB8fCB0ZXJtLT5xdWFudGl0
eVR5cGUgPT0gUXVhbnRpZmllck5vbkdyZWVkeSkgewogICAgICAgICAgICAgICAgICAgICBzdG9y
ZVRvRnJhbWUoVHJ1c3RlZEltbTMyKDApLCBwYXJlbnRoZXNlc0ZyYW1lTG9jYXRpb24gKyBCYWNr
VHJhY2tJbmZvUGFyZW50aGVzZXM6Om1hdGNoQW1vdW50SW5kZXgoKSk7Ci0gICAgICAgICAgICAg
ICAgICAgIHN0b3JlVG9GcmFtZShUcnVzdGVkSW1tUHRyKDApLCBwYXJlbnRoZXNlc0ZyYW1lTG9j
YXRpb24gKyBCYWNrVHJhY2tJbmZvUGFyZW50aGVzZXM6OnBhcmVuQ29udGV4dEhlYWRJbmRleCgp
KTsKKyAgICAgICAgICAgICAgICAgICAgc3RvcmVUb0ZyYW1lKFRydXN0ZWRJbW1QdHIobnVsbHB0
ciksIHBhcmVudGhlc2VzRnJhbWVMb2NhdGlvbiArIEJhY2tUcmFja0luZm9QYXJlbnRoZXNlczo6
cGFyZW5Db250ZXh0SGVhZEluZGV4KCkpOwogCiAgICAgICAgICAgICAgICAgICAgIGlmICh0ZXJt
LT5xdWFudGl0eVR5cGUgPT0gUXVhbnRpZmllck5vbkdyZWVkeSkgewogICAgICAgICAgICAgICAg
ICAgICAgICAgc3RvcmVUb0ZyYW1lKFRydXN0ZWRJbW0zMigtMSksIHBhcmVudGhlc2VzRnJhbWVM
b2NhdGlvbiArIEJhY2tUcmFja0luZm9QYXJlbnRoZXNlczo6YmVnaW5JbmRleCgpKTsK
</data>
<flag name="review"
          id="353451"
          type_id="1"
          status="+"
          setter="mark.lam"
    />
          </attachment>
      

    </bug>

</bugzilla>