<?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>231406</bug_id>
          
          <creation_ts>2021-10-07 19:13:28 -0700</creation_ts>
          <short_desc>[GPU Process] Unique RenderingResourceIdentifiers Part 4: Migrate PendingWakeupInformation to QualifiedRenderingResourceIdentifier</short_desc>
          <delta_ts>2021-10-08 11:32:17 -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>Layout and Rendering</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>
          
          <blocked>217638</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Myles C. Maxfield">mmaxfield</reporter>
          <assigned_to name="Myles C. Maxfield">mmaxfield</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1801903</commentid>
    <comment_count>0</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-10-07 19:13:28 -0700</bug_when>
    <thetext>Migrate PendingWakeupInformation to QualifiedRenderingResourceIdentifier</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1801904</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-10-07 19:14:01 -0700</bug_when>
    <thetext>&lt;rdar://problem/84009999&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1801905</commentid>
    <comment_count>2</comment_count>
      <attachid>440566</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-10-07 19:18:46 -0700</bug_when>
    <thetext>Created attachment 440566
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1802075</commentid>
    <comment_count>3</comment_count>
      <attachid>440566</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-10-08 08:39:07 -0700</bug_when>
    <thetext>Comment on attachment 440566
Patch

LGTM! Will r+ once this applies...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1802140</commentid>
    <comment_count>4</comment_count>
      <attachid>440636</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-10-08 10:23:48 -0700</bug_when>
    <thetext>Created attachment 440636
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1802142</commentid>
    <comment_count>5</comment_count>
      <attachid>440636</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-10-08 10:26:04 -0700</bug_when>
    <thetext>Comment on attachment 440636
Patch

r=mews</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1802168</commentid>
    <comment_count>6</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-10-08 11:32:17 -0700</bug_when>
    <thetext>Committed r283814 (242706@main): &lt;https://commits.webkit.org/242706@main&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>440566</attachid>
            <date>2021-10-07 19:18:46 -0700</date>
            <delta_ts>2021-10-08 10:23:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patch.diff</filename>
            <type>text/plain</type>
            <size>17856</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKaW5kZXggZTEzZWUwMzA3ZGIwLi4wZWVjZmRiY2UxNDMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMzYgQEAKKzIwMjEtMTAtMDcgIE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxl
LmNvbT4KKworICAgICAgICBbR1BVIFByb2Nlc3NdIFVuaXF1ZSBSZW5kZXJpbmdSZXNvdXJjZUlk
ZW50aWZpZXJzIFBhcnQgNDogTWlncmF0ZSBQZW5kaW5nV2FrZXVwSW5mb3JtYXRpb24gdG8gUXVh
bGlmaWVkUmVuZGVyaW5nUmVzb3VyY2VJZGVudGlmaWVyCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzE0MDYKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
Lzg0MDA5OTk5PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFRoaXMgc3RhcnRzIHB1c2hpbmcgUXVhbGlmaWVkUmVuZGVyaW5nUmVzb3VyY2VJZGVudGlm
aWVyIGludG8gYSBmZXcgbW9yZSBwbGFjZXMuIEl0J3MgYmVpbmcgcHVzaGVkIGludG8KKyAgICAg
ICAgUGVuZGluZ1dha2V1cEluZm9ybWF0aW9uIGFuZCBSZW1vdGVJbWFnZUJ1ZmZlci4gKEkgY2Fu
J3Qgc3BsaXQgdGhpcyBwYXRjaCB1cCBhbnkgZnVydGhlciBiZWNhdXNlIHRoZQorICAgICAgICBw
aWVjZXMgaW50ZXJtaW5nbGUuKQorCisgICAgICAgIFRoZSBuZXh0IHN0ZXAgaXMgdG8gcHVzaCBR
dWFsaWZpZWRSZW5kZXJpbmdSZXNvdXJjZUlkZW50aWZpZXIgZG93biBpbnRvIFJlbW90ZVJlc291
cmNlQ2FjaGUuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIGJlY2F1c2UgdGhlcmUgaXMgbm8gYmVo
YXZpb3IgY2hhbmdlLgorCisgICAgICAgICogR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVJbWFn
ZUJ1ZmZlci5oOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVJbWFnZUJ1ZmZlcjo6Y3JlYXRlKToK
KyAgICAgICAgKFdlYktpdDo6UmVtb3RlSW1hZ2VCdWZmZXI6OlJlbW90ZUltYWdlQnVmZmVyKToK
KyAgICAgICAgKiBHUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZVJlbmRlcmluZ0JhY2tlbmQuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVSZW5kZXJpbmdCYWNrZW5kOjpkaWRDcmVhdGVJbWFn
ZUJ1ZmZlckJhY2tlbmQpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVSZW5kZXJpbmdCYWNrZW5k
OjpkaWRGbHVzaCk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZVJlbmRlcmluZ0JhY2tlbmQ6OmNy
ZWF0ZUltYWdlQnVmZmVyV2l0aFF1YWxpZmllZElkZW50aWZpZXIpOgorICAgICAgICAoV2ViS2l0
OjpSZW1vdGVSZW5kZXJpbmdCYWNrZW5kOjpuZXh0RGVzdGluYXRpb25JbWFnZUJ1ZmZlckFmdGVy
QXBwbHlpbmdEaXNwbGF5TGlzdHMpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVSZW5kZXJpbmdC
YWNrZW5kOjp3YWtlVXBBbmRBcHBseURpc3BsYXlMaXN0V2l0aFF1YWxpZmllZElkZW50aWZpZXIp
OgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVSZW5kZXJpbmdCYWNrZW5kOjpzZXROZXh0SXRlbUJ1
ZmZlclRvUmVhZCk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZVJlbmRlcmluZ0JhY2tlbmQ6OmNh
Y2hlTmF0aXZlSW1hZ2VXaXRoUXVhbGlmaWVkSWRlbnRpZmllcik6CisgICAgICAgIChXZWJLaXQ6
OlJlbW90ZVJlbmRlcmluZ0JhY2tlbmQ6OmNhY2hlRm9udFdpdGhRdWFsaWZpZWRJZGVudGlmaWVy
KToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlUmVuZGVyaW5nQmFja2VuZDo6ZmluYWxpemVSZW5k
ZXJpbmdVcGRhdGUpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVSZW5kZXJpbmdCYWNrZW5kOjpy
ZXN1bWVGcm9tUGVuZGluZ1dha2V1cEluZm9ybWF0aW9uKToKKyAgICAgICAgKiBHUFVQcm9jZXNz
L2dyYXBoaWNzL1JlbW90ZVJlbmRlcmluZ0JhY2tlbmQuaDoKKyAgICAgICAgKFdlYktpdDo6UmVt
b3RlUmVuZGVyaW5nQmFja2VuZDo6UGVuZGluZ1dha2V1cEluZm9ybWF0aW9uOjpzaG91bGRQZXJm
b3JtV2FrZXVwIGNvbnN0KToKKwogMjAyMS0xMC0wNyAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4
ZmllbGRAYXBwbGUuY29tPgogCiAgICAgICAgIFtHUFUgUHJvY2Vzc10gVW5pcXVlIFJlbmRlcmlu
Z1Jlc291cmNlSWRlbnRpZmllcnMgUGFydCAzOiBVbmlxdWlmeSBpbiB3YWtlVXBBbmRBcHBseURp
c3BsYXlMaXN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3Mv
UmVtb3RlSW1hZ2VCdWZmZXIuaCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9S
ZW1vdGVJbWFnZUJ1ZmZlci5oCmluZGV4IGNiM2Y4ZTgzNWQwYy4uNTdjODlhYzdjNWZjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlSW1hZ2VCdWZm
ZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlSW1hZ2VC
dWZmZXIuaApAQCAtNDUsMTMgKzQ1LDEzIEBAIGNsYXNzIFJlbW90ZUltYWdlQnVmZmVyIDogcHVi
bGljIFdlYkNvcmU6OkNvbmNyZXRlSW1hZ2VCdWZmZXI8QmFja2VuZFR5cGU+IHsKICAgICB1c2lu
ZyBCYXNlQ29uY3JldGVJbWFnZUJ1ZmZlcjo6cHV0UGl4ZWxCdWZmZXI7CiAKIHB1YmxpYzoKLSAg
ICBzdGF0aWMgYXV0byBjcmVhdGUoY29uc3QgV2ViQ29yZTo6RmxvYXRTaXplJiBzaXplLCBmbG9h
dCByZXNvbHV0aW9uU2NhbGUsIGNvbnN0IFdlYkNvcmU6OkRlc3RpbmF0aW9uQ29sb3JTcGFjZSYg
Y29sb3JTcGFjZSwgV2ViQ29yZTo6UGl4ZWxGb3JtYXQgcGl4ZWxGb3JtYXQsIFJlbW90ZVJlbmRl
cmluZ0JhY2tlbmQmIHJlbW90ZVJlbmRlcmluZ0JhY2tlbmQsIFdlYkNvcmU6OlJlbmRlcmluZ1Jl
c291cmNlSWRlbnRpZmllciByZW5kZXJpbmdSZXNvdXJjZUlkZW50aWZpZXIpCisgICAgc3RhdGlj
IGF1dG8gY3JlYXRlKGNvbnN0IFdlYkNvcmU6OkZsb2F0U2l6ZSYgc2l6ZSwgZmxvYXQgcmVzb2x1
dGlvblNjYWxlLCBjb25zdCBXZWJDb3JlOjpEZXN0aW5hdGlvbkNvbG9yU3BhY2UmIGNvbG9yU3Bh
Y2UsIFdlYkNvcmU6OlBpeGVsRm9ybWF0IHBpeGVsRm9ybWF0LCBSZW1vdGVSZW5kZXJpbmdCYWNr
ZW5kJiByZW1vdGVSZW5kZXJpbmdCYWNrZW5kLCBRdWFsaWZpZWRSZW5kZXJpbmdSZXNvdXJjZUlk
ZW50aWZpZXIgcmVuZGVyaW5nUmVzb3VyY2VJZGVudGlmaWVyKQogICAgIHsKICAgICAgICAgcmV0
dXJuIEJhc2VDb25jcmV0ZUltYWdlQnVmZmVyOjp0ZW1wbGF0ZSBjcmVhdGU8UmVtb3RlSW1hZ2VC
dWZmZXI+KHNpemUsIHJlc29sdXRpb25TY2FsZSwgY29sb3JTcGFjZSwgcGl4ZWxGb3JtYXQsIG51
bGxwdHIsIHJlbW90ZVJlbmRlcmluZ0JhY2tlbmQsIHJlbmRlcmluZ1Jlc291cmNlSWRlbnRpZmll
cik7CiAgICAgfQogCi0gICAgUmVtb3RlSW1hZ2VCdWZmZXIoY29uc3QgV2ViQ29yZTo6SW1hZ2VC
dWZmZXJCYWNrZW5kOjpQYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzLCBzdGQ6OnVuaXF1ZV9wdHI8QmFj
a2VuZFR5cGU+JiYgYmFja2VuZCwgUmVtb3RlUmVuZGVyaW5nQmFja2VuZCYgcmVtb3RlUmVuZGVy
aW5nQmFja2VuZCwgV2ViQ29yZTo6UmVuZGVyaW5nUmVzb3VyY2VJZGVudGlmaWVyIHJlbmRlcmlu
Z1Jlc291cmNlSWRlbnRpZmllcikKLSAgICAgICAgOiBCYXNlQ29uY3JldGVJbWFnZUJ1ZmZlcihw
YXJhbWV0ZXJzLCBXVEZNb3ZlKGJhY2tlbmQpLCByZW5kZXJpbmdSZXNvdXJjZUlkZW50aWZpZXIp
CisgICAgUmVtb3RlSW1hZ2VCdWZmZXIoY29uc3QgV2ViQ29yZTo6SW1hZ2VCdWZmZXJCYWNrZW5k
OjpQYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzLCBzdGQ6OnVuaXF1ZV9wdHI8QmFja2VuZFR5cGU+JiYg
YmFja2VuZCwgUmVtb3RlUmVuZGVyaW5nQmFja2VuZCYgcmVtb3RlUmVuZGVyaW5nQmFja2VuZCwg
UXVhbGlmaWVkUmVuZGVyaW5nUmVzb3VyY2VJZGVudGlmaWVyIHJlbmRlcmluZ1Jlc291cmNlSWRl
bnRpZmllcikKKyAgICAgICAgOiBCYXNlQ29uY3JldGVJbWFnZUJ1ZmZlcihwYXJhbWV0ZXJzLCBX
VEZNb3ZlKGJhY2tlbmQpLCByZW5kZXJpbmdSZXNvdXJjZUlkZW50aWZpZXIub2JqZWN0KCkpCiAg
ICAgICAgICwgbV9yZW1vdGVSZW5kZXJpbmdCYWNrZW5kKHJlbW90ZVJlbmRlcmluZ0JhY2tlbmQp
CiAgICAgICAgICwgbV9yZW5kZXJpbmdSZXNvdXJjZUlkZW50aWZpZXIocmVuZGVyaW5nUmVzb3Vy
Y2VJZGVudGlmaWVyKQogICAgIHsKQEAgLTExMSw3ICsxMTEsNyBAQCBwcml2YXRlOgogICAgIH0K
IAogICAgIFJlbW90ZVJlbmRlcmluZ0JhY2tlbmQmIG1fcmVtb3RlUmVuZGVyaW5nQmFja2VuZDsK
LSAgICBXZWJDb3JlOjpSZW5kZXJpbmdSZXNvdXJjZUlkZW50aWZpZXIgbV9yZW5kZXJpbmdSZXNv
dXJjZUlkZW50aWZpZXI7CisgICAgUXVhbGlmaWVkUmVuZGVyaW5nUmVzb3VyY2VJZGVudGlmaWVy
IG1fcmVuZGVyaW5nUmVzb3VyY2VJZGVudGlmaWVyOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2Vi
S2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3Rl
UmVuZGVyaW5nQmFja2VuZC5jcHAgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3Mv
UmVtb3RlUmVuZGVyaW5nQmFja2VuZC5jcHAKaW5kZXggM2Y4NDUxY2QxNTViLi42ZjAwY2E1ZDA1
MDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVS
ZW5kZXJpbmdCYWNrZW5kLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhp
Y3MvUmVtb3RlUmVuZGVyaW5nQmFja2VuZC5jcHAKQEAgLTE0MywxNCArMTQzLDE2IEBAIGJvb2wg
UmVtb3RlUmVuZGVyaW5nQmFja2VuZDo6YXBwbHlNZWRpYUl0ZW0oRGlzcGxheUxpc3Q6Okl0ZW1I
YW5kbGUgaXRlbSwgR3JhcGhpCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLXZvaWQgUmVtb3RlUmVu
ZGVyaW5nQmFja2VuZDo6ZGlkQ3JlYXRlSW1hZ2VCdWZmZXJCYWNrZW5kKEltYWdlQnVmZmVyQmFj
a2VuZEhhbmRsZSBoYW5kbGUsIFJlbmRlcmluZ1Jlc291cmNlSWRlbnRpZmllciByZW5kZXJpbmdS
ZXNvdXJjZUlkZW50aWZpZXIpCit2b2lkIFJlbW90ZVJlbmRlcmluZ0JhY2tlbmQ6OmRpZENyZWF0
ZUltYWdlQnVmZmVyQmFja2VuZChJbWFnZUJ1ZmZlckJhY2tlbmRIYW5kbGUgaGFuZGxlLCBRdWFs
aWZpZWRSZW5kZXJpbmdSZXNvdXJjZUlkZW50aWZpZXIgcmVuZGVyaW5nUmVzb3VyY2VJZGVudGlm
aWVyKQogewotICAgIHNlbmQoTWVzc2FnZXM6OlJlbW90ZVJlbmRlcmluZ0JhY2tlbmRQcm94eTo6
RGlkQ3JlYXRlSW1hZ2VCdWZmZXJCYWNrZW5kKFdURk1vdmUoaGFuZGxlKSwgcmVuZGVyaW5nUmVz
b3VyY2VJZGVudGlmaWVyKSwgbV9yZW5kZXJpbmdCYWNrZW5kSWRlbnRpZmllcik7CisgICBNRVNT
QUdFX0NIRUNLKHJlbmRlcmluZ1Jlc291cmNlSWRlbnRpZmllci5wcm9jZXNzSWRlbnRpZmllcigp
ID09IG1fZ3B1Q29ubmVjdGlvblRvV2ViUHJvY2Vzcy0+d2ViUHJvY2Vzc0lkZW50aWZpZXIoKSwg
IlNlbmRpbmcgZGlkQ3JlYXRlSW1hZ2VCdWZmZXJCYWNrZW5kKCkgbWVzc2FnZSB0byB0aGUgd3Jv
bmcgd2ViIHByb2Nlc3MuIik7CisgICBzZW5kKE1lc3NhZ2VzOjpSZW1vdGVSZW5kZXJpbmdCYWNr
ZW5kUHJveHk6OkRpZENyZWF0ZUltYWdlQnVmZmVyQmFja2VuZChXVEZNb3ZlKGhhbmRsZSksIHJl
bmRlcmluZ1Jlc291cmNlSWRlbnRpZmllci5vYmplY3QoKSksIG1fcmVuZGVyaW5nQmFja2VuZElk
ZW50aWZpZXIpOwogfQogCi12b2lkIFJlbW90ZVJlbmRlcmluZ0JhY2tlbmQ6OmRpZEZsdXNoKEdy
YXBoaWNzQ29udGV4dEZsdXNoSWRlbnRpZmllciBmbHVzaElkZW50aWZpZXIsIFJlbmRlcmluZ1Jl
c291cmNlSWRlbnRpZmllciByZW5kZXJpbmdSZXNvdXJjZUlkZW50aWZpZXIpCit2b2lkIFJlbW90
ZVJlbmRlcmluZ0JhY2tlbmQ6OmRpZEZsdXNoKEdyYXBoaWNzQ29udGV4dEZsdXNoSWRlbnRpZmll
ciBmbHVzaElkZW50aWZpZXIsIFF1YWxpZmllZFJlbmRlcmluZ1Jlc291cmNlSWRlbnRpZmllciBy
ZW5kZXJpbmdSZXNvdXJjZUlkZW50aWZpZXIpCiB7Ci0gICAgc2VuZChNZXNzYWdlczo6UmVtb3Rl
UmVuZGVyaW5nQmFja2VuZFByb3h5OjpEaWRGbHVzaChmbHVzaElkZW50aWZpZXIsIHJlbmRlcmlu
Z1Jlc291cmNlSWRlbnRpZmllciksIG1fcmVuZGVyaW5nQmFja2VuZElkZW50aWZpZXIpOworICAg
TUVTU0FHRV9DSEVDSyhyZW5kZXJpbmdSZXNvdXJjZUlkZW50aWZpZXIucHJvY2Vzc0lkZW50aWZp
ZXIoKSA9PSBtX2dwdUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MtPndlYlByb2Nlc3NJZGVudGlmaWVy
KCksICJTZW5kaW5nIGRpZEZsdXNoKCkgbWVzc2FnZSB0byB0aGUgd3Jvbmcgd2ViIHByb2Nlc3Mu
Iik7CisgICBzZW5kKE1lc3NhZ2VzOjpSZW1vdGVSZW5kZXJpbmdCYWNrZW5kUHJveHk6OkRpZEZs
dXNoKGZsdXNoSWRlbnRpZmllciwgcmVuZGVyaW5nUmVzb3VyY2VJZGVudGlmaWVyLm9iamVjdCgp
KSwgbV9yZW5kZXJpbmdCYWNrZW5kSWRlbnRpZmllcik7CiB9CiAKIHZvaWQgUmVtb3RlUmVuZGVy
aW5nQmFja2VuZDo6Y3JlYXRlSW1hZ2VCdWZmZXIoY29uc3QgRmxvYXRTaXplJiBsb2dpY2FsU2l6
ZSwgUmVuZGVyaW5nTW9kZSByZW5kZXJpbmdNb2RlLCBmbG9hdCByZXNvbHV0aW9uU2NhbGUsIGNv
bnN0IERlc3RpbmF0aW9uQ29sb3JTcGFjZSYgY29sb3JTcGFjZSwgUGl4ZWxGb3JtYXQgcGl4ZWxG
b3JtYXQsIFJlbmRlcmluZ1Jlc291cmNlSWRlbnRpZmllciBpbWFnZUJ1ZmZlclJlc291cmNlSWRl
bnRpZmllcikKQEAgLTE2OCw3ICsxNzAsNyBAQCB2b2lkIFJlbW90ZVJlbmRlcmluZ0JhY2tlbmQ6
OmNyZWF0ZUltYWdlQnVmZmVyV2l0aFF1YWxpZmllZElkZW50aWZpZXIoY29uc3QgRmxvYQogICAg
IFJlZlB0cjxJbWFnZUJ1ZmZlcj4gaW1hZ2VCdWZmZXI7CiAKICAgICBpZiAocmVuZGVyaW5nTW9k
ZSA9PSBSZW5kZXJpbmdNb2RlOjpBY2NlbGVyYXRlZCkgewotICAgICAgICBpZiAoYXV0byBhY2Nl
bGVyYXRlZEltYWdlQnVmZmVyID0gQWNjZWxlcmF0ZWRSZW1vdGVJbWFnZUJ1ZmZlcjo6Y3JlYXRl
KGxvZ2ljYWxTaXplLCByZXNvbHV0aW9uU2NhbGUsIGNvbG9yU3BhY2UsIHBpeGVsRm9ybWF0LCAq
dGhpcywgaW1hZ2VCdWZmZXJSZXNvdXJjZUlkZW50aWZpZXIub2JqZWN0KCkpKSB7CisgICAgICAg
IGlmIChhdXRvIGFjY2VsZXJhdGVkSW1hZ2VCdWZmZXIgPSBBY2NlbGVyYXRlZFJlbW90ZUltYWdl
QnVmZmVyOjpjcmVhdGUobG9naWNhbFNpemUsIHJlc29sdXRpb25TY2FsZSwgY29sb3JTcGFjZSwg
cGl4ZWxGb3JtYXQsICp0aGlzLCBpbWFnZUJ1ZmZlclJlc291cmNlSWRlbnRpZmllcikpIHsKICNp
ZiBIQVZFKElPU1VSRkFDRV9TRVRfT1dORVJTSElQX0lERU5USVRZKQogICAgICAgICAgICAgLy8g
TWFyayB0aGUgSU9TdXJmYWNlIGFzIGJlaW5nIG93bmVkIGJ5IHRoZSBXZWJQcm9jZXNzIGV2ZW4g
dGhvdWdoIGl0IHdhcyBjb25zdHJ1Y3RlZCBieSB0aGUgR1BVUHJvY2VzcyBzbyB0aGF0IEpldHNh
bSBrbm93cyB3aGljaCBwcm9jZXNzIHRvIGtpbGwuCiAgICAgICAgICAgICBhY2NlbGVyYXRlZElt
YWdlQnVmZmVyLT5zZXRQcm9jZXNzT3duZXJzaGlwKG1fZ3B1Q29ubmVjdGlvblRvV2ViUHJvY2Vz
cy0+d2ViUHJvY2Vzc0lkZW50aXR5VG9rZW4oKSk7CkBAIC0xNzgsNyArMTgwLDcgQEAgdm9pZCBS
ZW1vdGVSZW5kZXJpbmdCYWNrZW5kOjpjcmVhdGVJbWFnZUJ1ZmZlcldpdGhRdWFsaWZpZWRJZGVu
dGlmaWVyKGNvbnN0IEZsb2EKICAgICB9CiAKICAgICBpZiAoIWltYWdlQnVmZmVyKQotICAgICAg
ICBpbWFnZUJ1ZmZlciA9IFVuYWNjZWxlcmF0ZWRSZW1vdGVJbWFnZUJ1ZmZlcjo6Y3JlYXRlKGxv
Z2ljYWxTaXplLCByZXNvbHV0aW9uU2NhbGUsIGNvbG9yU3BhY2UsIHBpeGVsRm9ybWF0LCAqdGhp
cywgaW1hZ2VCdWZmZXJSZXNvdXJjZUlkZW50aWZpZXIub2JqZWN0KCkpOworICAgICAgICBpbWFn
ZUJ1ZmZlciA9IFVuYWNjZWxlcmF0ZWRSZW1vdGVJbWFnZUJ1ZmZlcjo6Y3JlYXRlKGxvZ2ljYWxT
aXplLCByZXNvbHV0aW9uU2NhbGUsIGNvbG9yU3BhY2UsIHBpeGVsRm9ybWF0LCAqdGhpcywgaW1h
Z2VCdWZmZXJSZXNvdXJjZUlkZW50aWZpZXIpOwogCiAgICAgaWYgKCFpbWFnZUJ1ZmZlcikgewog
ICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKQEAgLTE4OCw3ICsxOTAsNyBAQCB2b2lkIFJl
bW90ZVJlbmRlcmluZ0JhY2tlbmQ6OmNyZWF0ZUltYWdlQnVmZmVyV2l0aFF1YWxpZmllZElkZW50
aWZpZXIoY29uc3QgRmxvYQogICAgIG1fcmVtb3RlUmVzb3VyY2VDYWNoZS5jYWNoZUltYWdlQnVm
ZmVyKCppbWFnZUJ1ZmZlcik7CiAgICAgdXBkYXRlUmVuZGVyaW5nUmVzb3VyY2VSZXF1ZXN0KCk7
CiAKLSAgICBpZiAobV9wZW5kaW5nV2FrZXVwSW5mbyAmJiBtX3BlbmRpbmdXYWtldXBJbmZvLT5z
aG91bGRQZXJmb3JtV2FrZXVwKGltYWdlQnVmZmVyUmVzb3VyY2VJZGVudGlmaWVyLm9iamVjdCgp
KSkKKyAgICBpZiAobV9wZW5kaW5nV2FrZXVwSW5mbyAmJiBtX3BlbmRpbmdXYWtldXBJbmZvLT5z
aG91bGRQZXJmb3JtV2FrZXVwKGltYWdlQnVmZmVyUmVzb3VyY2VJZGVudGlmaWVyKSkKICAgICAg
ICAgcmVzdW1lRnJvbVBlbmRpbmdXYWtldXBJbmZvcm1hdGlvbigpOwogfQogCkBAIC0yNDIsNyAr
MjQ0LDcgQEAgRGlzcGxheUxpc3Q6OlJlcGxheVJlc3VsdCBSZW1vdGVSZW5kZXJpbmdCYWNrZW5k
OjpzdWJtaXQoY29uc3QgRGlzcGxheUxpc3Q6OkRpc3AKICAgICB9LnJlcGxheSgpOwogfQogCi1S
ZWZQdHI8SW1hZ2VCdWZmZXI+IFJlbW90ZVJlbmRlcmluZ0JhY2tlbmQ6Om5leHREZXN0aW5hdGlv
bkltYWdlQnVmZmVyQWZ0ZXJBcHBseWluZ0Rpc3BsYXlMaXN0cyhJbWFnZUJ1ZmZlciYgaW5pdGlh
bERlc3RpbmF0aW9uLCBzaXplX3QgaW5pdGlhbE9mZnNldCwgRGlzcGxheUxpc3RSZWFkZXJIYW5k
bGUmIGhhbmRsZSwgR1BVUHJvY2Vzc1dha2V1cFJlYXNvbiByZWFzb24pCitSZWZQdHI8SW1hZ2VC
dWZmZXI+IFJlbW90ZVJlbmRlcmluZ0JhY2tlbmQ6Om5leHREZXN0aW5hdGlvbkltYWdlQnVmZmVy
QWZ0ZXJBcHBseWluZ0Rpc3BsYXlMaXN0cyhJbWFnZUJ1ZmZlciYgaW5pdGlhbERlc3RpbmF0aW9u
LCBzaXplX3QgaW5pdGlhbE9mZnNldCwgRGlzcGxheUxpc3RSZWFkZXJIYW5kbGUmIGhhbmRsZSwg
R1BVUHJvY2Vzc1dha2V1cFJlYXNvbiByZWFzb24sIFByb2Nlc3NJZGVudGlmaWVyIHdlYlByb2Nl
c3NJZGVudGlmaWVyKQogewogICAgIFJlZlB0ciBkZXN0aW5hdGlvbiB7ICZpbml0aWFsRGVzdGlu
YXRpb24gfTsKICAgICBSZWYgaGFuZGxlUHJvdGVjdG9yIHsgaGFuZGxlIH07CkBAIC0yODMsNyAr
Mjg1LDcgQEAgUmVmUHRyPEltYWdlQnVmZmVyPiBSZW1vdGVSZW5kZXJpbmdCYWNrZW5kOjpuZXh0
RGVzdGluYXRpb25JbWFnZUJ1ZmZlckFmdGVyQXBwbHkKICAgICAgICAgICAgICAgICBtX3BlbmRp
bmdXYWtldXBJbmZvID0ge3sKICAgICAgICAgICAgICAgICAgICAgaGFuZGxlLmlkZW50aWZpZXIo
KSwKICAgICAgICAgICAgICAgICAgICAgb2Zmc2V0LAotICAgICAgICAgICAgICAgICAgICAqcmVz
dWx0Lm5leHREZXN0aW5hdGlvbkltYWdlQnVmZmVyLAorICAgICAgICAgICAgICAgICAgICB7ICpy
ZXN1bHQubmV4dERlc3RpbmF0aW9uSW1hZ2VCdWZmZXIsIHdlYlByb2Nlc3NJZGVudGlmaWVyIH0s
CiAgICAgICAgICAgICAgICAgICAgIHJlYXNvbiwKICAgICAgICAgICAgICAgICAgICAgc3RkOjpu
dWxsb3B0LAogICAgICAgICAgICAgICAgICAgICBSZW1vdGVSZW5kZXJpbmdCYWNrZW5kU3RhdGU6
OldhaXRpbmdGb3JEZXN0aW5hdGlvbkltYWdlQnVmZmVyCkBAIC0yOTUsOSArMjk3LDkgQEAgUmVm
UHRyPEltYWdlQnVmZmVyPiBSZW1vdGVSZW5kZXJpbmdCYWNrZW5kOjpuZXh0RGVzdGluYXRpb25J
bWFnZUJ1ZmZlckFmdGVyQXBwbHkKICAgICAgICAgICAgIG1fcGVuZGluZ1dha2V1cEluZm8gPSB7
ewogICAgICAgICAgICAgICAgIGhhbmRsZS5pZGVudGlmaWVyKCksCiAgICAgICAgICAgICAgICAg
b2Zmc2V0LAotICAgICAgICAgICAgICAgIGRlc3RpbmF0aW9uLT5yZW5kZXJpbmdSZXNvdXJjZUlk
ZW50aWZpZXIoKSwKKyAgICAgICAgICAgICAgICB7IGRlc3RpbmF0aW9uLT5yZW5kZXJpbmdSZXNv
dXJjZUlkZW50aWZpZXIoKSwgd2ViUHJvY2Vzc0lkZW50aWZpZXIgfSwKICAgICAgICAgICAgICAg
ICByZWFzb24sCi0gICAgICAgICAgICAgICAgcmVzdWx0Lm1pc3NpbmdDYWNoZWRSZXNvdXJjZUlk
ZW50aWZpZXIsCisgICAgICAgICAgICAgICAge3sgKnJlc3VsdC5taXNzaW5nQ2FjaGVkUmVzb3Vy
Y2VJZGVudGlmaWVyLCB3ZWJQcm9jZXNzSWRlbnRpZmllciB9fSwKICAgICAgICAgICAgICAgICBS
ZW1vdGVSZW5kZXJpbmdCYWNrZW5kU3RhdGU6OldhaXRpbmdGb3JDYWNoZWRSZXNvdXJjZQogICAg
ICAgICAgICAgfX07CiAgICAgICAgIH0KQEAgLTM1Nyw3ICszNTksNyBAQCB2b2lkIFJlbW90ZVJl
bmRlcmluZ0JhY2tlbmQ6Ondha2VVcEFuZEFwcGx5RGlzcGxheUxpc3RXaXRoUXVhbGlmaWVkSWRl
bnRpZmllcihXZQogICAgIE1FU1NBR0VfQ0hFQ0soaW5pdGlhbEhhbmRsZSwgIk1pc3NpbmcgaW5p
dGlhbCBzaGFyZWQgZGlzcGxheSBsaXN0IGhhbmRsZSIpOwogCiAgICAgTE9HX1dJVEhfU1RSRUFN
KFNoYXJlZERpc3BsYXlMaXN0cywgc3RyZWFtIDw8ICJXYWtpbmcgdXAgdG8gSXRlbXNbIiA8PCBp
dGVtQnVmZmVySWRlbnRpZmllciA8PCAiXSA9PiBJbWFnZSgiIDw8IGRlc3RpbmF0aW9uSW1hZ2VC
dWZmZXJJZGVudGlmaWVyLm9iamVjdCgpIDw8ICIpIGF0ICIgPDwgb2Zmc2V0KTsKLSAgICBkZXN0
aW5hdGlvbkltYWdlQnVmZmVyID0gbmV4dERlc3RpbmF0aW9uSW1hZ2VCdWZmZXJBZnRlckFwcGx5
aW5nRGlzcGxheUxpc3RzKCpkZXN0aW5hdGlvbkltYWdlQnVmZmVyLCBvZmZzZXQsICppbml0aWFs
SGFuZGxlLCByZWFzb24pOworICAgIGRlc3RpbmF0aW9uSW1hZ2VCdWZmZXIgPSBuZXh0RGVzdGlu
YXRpb25JbWFnZUJ1ZmZlckFmdGVyQXBwbHlpbmdEaXNwbGF5TGlzdHMoKmRlc3RpbmF0aW9uSW1h
Z2VCdWZmZXIsIG9mZnNldCwgKmluaXRpYWxIYW5kbGUsIHJlYXNvbiwgbV9ncHVDb25uZWN0aW9u
VG9XZWJQcm9jZXNzLT53ZWJQcm9jZXNzSWRlbnRpZmllcigpKTsKIAogICAgIC8vIEZJWE1FOiBB
bGwgdGhlIGNhbGxlcnMgcGFzcyBtX3BlbmRpbmdXYWtldXBJbmZvJ3MgZmllbGRzIHNvIHRoZSBi
b2R5IG9mIHRoaXMgZnVuY3Rpb24gc2hvdWxkIGp1c3QgYmUgdGhpcyBsb29wLgogICAgIHdoaWxl
IChkZXN0aW5hdGlvbkltYWdlQnVmZmVyICYmIG1fcGVuZGluZ1dha2V1cEluZm8pIHsKQEAgLTM3
NSw3ICszNzcsNyBAQCB2b2lkIFJlbW90ZVJlbmRlcmluZ0JhY2tlbmQ6Ondha2VVcEFuZEFwcGx5
RGlzcGxheUxpc3RXaXRoUXVhbGlmaWVkSWRlbnRpZmllcihXZQogICAgICAgICBhdXRvIG9mZnNl
dCA9IG1fcGVuZGluZ1dha2V1cEluZm8tPm9mZnNldDsKICAgICAgICAgYXV0byByZWFzb24gPSBt
X3BlbmRpbmdXYWtldXBJbmZvLT5yZWFzb247CiAgICAgICAgIG1fcGVuZGluZ1dha2V1cEluZm8g
PSBzdGQ6Om51bGxvcHQ7Ci0gICAgICAgIGRlc3RpbmF0aW9uSW1hZ2VCdWZmZXIgPSBuZXh0RGVz
dGluYXRpb25JbWFnZUJ1ZmZlckFmdGVyQXBwbHlpbmdEaXNwbGF5TGlzdHMoKmRlc3RpbmF0aW9u
SW1hZ2VCdWZmZXIsIG9mZnNldCwgKm5leHRIYW5kbGUsIHJlYXNvbik7CisgICAgICAgIGRlc3Rp
bmF0aW9uSW1hZ2VCdWZmZXIgPSBuZXh0RGVzdGluYXRpb25JbWFnZUJ1ZmZlckFmdGVyQXBwbHlp
bmdEaXNwbGF5TGlzdHMoKmRlc3RpbmF0aW9uSW1hZ2VCdWZmZXIsIG9mZnNldCwgKm5leHRIYW5k
bGUsIHJlYXNvbiwgbV9ncHVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLT53ZWJQcm9jZXNzSWRlbnRp
ZmllcigpKTsKICAgICB9CiAgICAgTE9HX1dJVEhfU1RSRUFNKFNoYXJlZERpc3BsYXlMaXN0cywg
c3RyZWFtIDw8ICJHb2luZyBiYWNrIHRvIHNsZWVwLiIpOwogCkBAIC0zODUsNyArMzg3LDcgQEAg
dm9pZCBSZW1vdGVSZW5kZXJpbmdCYWNrZW5kOjp3YWtlVXBBbmRBcHBseURpc3BsYXlMaXN0V2l0
aFF1YWxpZmllZElkZW50aWZpZXIoV2UKICAgICAgICAgdXBkYXRlTGFzdEtub3duU3RhdGUoUmVt
b3RlUmVuZGVyaW5nQmFja2VuZFN0YXRlOjpGaW5pc2hlZFJlcGxheWluZ0Rpc3BsYXlMaXN0KTsK
IH0KIAotdm9pZCBSZW1vdGVSZW5kZXJpbmdCYWNrZW5kOjpzZXROZXh0SXRlbUJ1ZmZlclRvUmVh
ZChEaXNwbGF5TGlzdDo6SXRlbUJ1ZmZlcklkZW50aWZpZXIgaWRlbnRpZmllciwgV2ViQ29yZTo6
UmVuZGVyaW5nUmVzb3VyY2VJZGVudGlmaWVyIGRlc3RpbmF0aW9uSWRlbnRpZmllcikKK3ZvaWQg
UmVtb3RlUmVuZGVyaW5nQmFja2VuZDo6c2V0TmV4dEl0ZW1CdWZmZXJUb1JlYWQoRGlzcGxheUxp
c3Q6Okl0ZW1CdWZmZXJJZGVudGlmaWVyIGlkZW50aWZpZXIsIFF1YWxpZmllZFJlbmRlcmluZ1Jl
c291cmNlSWRlbnRpZmllciBkZXN0aW5hdGlvbklkZW50aWZpZXIpCiB7CiAgICAgbV9wZW5kaW5n
V2FrZXVwSW5mbyA9IHt7CiAgICAgICAgIGlkZW50aWZpZXIsCkBAIC01NDYsNyArNTQ4LDcgQEAg
dm9pZCBSZW1vdGVSZW5kZXJpbmdCYWNrZW5kOjpjYWNoZU5hdGl2ZUltYWdlV2l0aFF1YWxpZmll
ZElkZW50aWZpZXIoY29uc3QgU2hhcmUKIAogICAgIG1fcmVtb3RlUmVzb3VyY2VDYWNoZS5jYWNo
ZU5hdGl2ZUltYWdlKCppbWFnZSk7CiAKLSAgICBpZiAobV9wZW5kaW5nV2FrZXVwSW5mbyAmJiBt
X3BlbmRpbmdXYWtldXBJbmZvLT5zaG91bGRQZXJmb3JtV2FrZXVwKG5hdGl2ZUltYWdlUmVzb3Vy
Y2VJZGVudGlmaWVyLm9iamVjdCgpKSkKKyAgICBpZiAobV9wZW5kaW5nV2FrZXVwSW5mbyAmJiBt
X3BlbmRpbmdXYWtldXBJbmZvLT5zaG91bGRQZXJmb3JtV2FrZXVwKG5hdGl2ZUltYWdlUmVzb3Vy
Y2VJZGVudGlmaWVyKSkKICAgICAgICAgcmVzdW1lRnJvbVBlbmRpbmdXYWtldXBJbmZvcm1hdGlv
bigpOwogfQogCkBAIC01NjMsNyArNTY1LDcgQEAgdm9pZCBSZW1vdGVSZW5kZXJpbmdCYWNrZW5k
OjpjYWNoZUZvbnRXaXRoUXVhbGlmaWVkSWRlbnRpZmllcihSZWY8Rm9udD4mJiBmb250LAogICAg
IEFTU0VSVCghUnVuTG9vcDo6aXNNYWluKCkpOwogCiAgICAgbV9yZW1vdGVSZXNvdXJjZUNhY2hl
LmNhY2hlRm9udChXVEZNb3ZlKGZvbnQpKTsKLSAgICBpZiAobV9wZW5kaW5nV2FrZXVwSW5mbyAm
JiBtX3BlbmRpbmdXYWtldXBJbmZvLT5zaG91bGRQZXJmb3JtV2FrZXVwKGZvbnRSZXNvdXJjZUlk
ZW50aWZpZXIub2JqZWN0KCkpKQorICAgIGlmIChtX3BlbmRpbmdXYWtldXBJbmZvICYmIG1fcGVu
ZGluZ1dha2V1cEluZm8tPnNob3VsZFBlcmZvcm1XYWtldXAoZm9udFJlc291cmNlSWRlbnRpZmll
cikpCiAgICAgICAgIHJlc3VtZUZyb21QZW5kaW5nV2FrZXVwSW5mb3JtYXRpb24oKTsKIH0KIApA
QCAtNTkxLDcgKzU5Myw3IEBAIHZvaWQgUmVtb3RlUmVuZGVyaW5nQmFja2VuZDo6cmVsZWFzZVJl
bW90ZVJlc291cmNlV2l0aFF1YWxpZmllZElkZW50aWZpZXIoUXVhbGlmCiB2b2lkIFJlbW90ZVJl
bmRlcmluZ0JhY2tlbmQ6OmZpbmFsaXplUmVuZGVyaW5nVXBkYXRlKFJlbmRlcmluZ1VwZGF0ZUlE
IHJlbmRlcmluZ1VwZGF0ZUlEKQogewogICAgIGF1dG8gc2hvdWxkUGVyZm9ybVdha2V1cCA9IFsm
XSB7Ci0gICAgICAgIHJldHVybiBtX3JlbW90ZVJlc291cmNlQ2FjaGUuY2FjaGVkSW1hZ2VCdWZm
ZXIobV9wZW5kaW5nV2FrZXVwSW5mby0+ZGVzdGluYXRpb25JbWFnZUJ1ZmZlcklkZW50aWZpZXIp
ICYmIG1fc2hhcmVkRGlzcGxheUxpc3RIYW5kbGVzLmNvbnRhaW5zKG1fcGVuZGluZ1dha2V1cElu
Zm8tPml0ZW1CdWZmZXJJZGVudGlmaWVyKTsKKyAgICAgICAgcmV0dXJuIG1fcmVtb3RlUmVzb3Vy
Y2VDYWNoZS5jYWNoZWRJbWFnZUJ1ZmZlcihtX3BlbmRpbmdXYWtldXBJbmZvLT5kZXN0aW5hdGlv
bkltYWdlQnVmZmVySWRlbnRpZmllci5vYmplY3QoKSkgJiYgbV9zaGFyZWREaXNwbGF5TGlzdEhh
bmRsZXMuY29udGFpbnMobV9wZW5kaW5nV2FrZXVwSW5mby0+aXRlbUJ1ZmZlcklkZW50aWZpZXIp
OwogICAgIH07CiAKICAgICBpZiAobV9wZW5kaW5nV2FrZXVwSW5mbyAmJiBzaG91bGRQZXJmb3Jt
V2FrZXVwKCkpCkBAIC02MjYsNyArNjI4LDcgQEAgdm9pZCBSZW1vdGVSZW5kZXJpbmdCYWNrZW5k
OjpyZXN1bWVGcm9tUGVuZGluZ1dha2V1cEluZm9ybWF0aW9uKCkKIHsKICAgICBhdXRvIGl0ZW1C
dWZmZXJJZGVudGlmaWVyID0gbV9wZW5kaW5nV2FrZXVwSW5mby0+aXRlbUJ1ZmZlcklkZW50aWZp
ZXI7CiAgICAgYXV0byBvZmZzZXQgPSBtX3BlbmRpbmdXYWtldXBJbmZvLT5vZmZzZXQ7Ci0gICAg
UXVhbGlmaWVkUmVuZGVyaW5nUmVzb3VyY2VJZGVudGlmaWVyIGRlc3RpbmF0aW9uSW1hZ2VCdWZm
ZXJJZGVudGlmaWVyIHsgbV9wZW5kaW5nV2FrZXVwSW5mby0+ZGVzdGluYXRpb25JbWFnZUJ1ZmZl
cklkZW50aWZpZXIsIG1fZ3B1Q29ubmVjdGlvblRvV2ViUHJvY2Vzcy0+d2ViUHJvY2Vzc0lkZW50
aWZpZXIoKSB9OworICAgIGF1dG8gZGVzdGluYXRpb25JbWFnZUJ1ZmZlcklkZW50aWZpZXIgPSBt
X3BlbmRpbmdXYWtldXBJbmZvLT5kZXN0aW5hdGlvbkltYWdlQnVmZmVySWRlbnRpZmllcjsKICAg
ICBhdXRvIHJlYXNvbiA9IG1fcGVuZGluZ1dha2V1cEluZm8tPnJlYXNvbjsKICAgICBtX3BlbmRp
bmdXYWtldXBJbmZvID0gc3RkOjpudWxsb3B0OwogICAgIHdha2VVcEFuZEFwcGx5RGlzcGxheUxp
c3RXaXRoUXVhbGlmaWVkSWRlbnRpZmllcihpdGVtQnVmZmVySWRlbnRpZmllciwgb2Zmc2V0LCBk
ZXN0aW5hdGlvbkltYWdlQnVmZmVySWRlbnRpZmllciwgcmVhc29uKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVSZW5kZXJpbmdCYWNrZW5kLmgg
Yi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlUmVuZGVyaW5nQmFja2Vu
ZC5oCmluZGV4IDY1YjQ0YWM1MWJlOS4uNDE5YWU2ZDE2ZjcyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlUmVuZGVyaW5nQmFja2VuZC5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVSZW5kZXJpbmdCYWNrZW5k
LmgKQEAgLTgyLDEwICs4MiwxMCBAQCBwdWJsaWM6CiAgICAgYm9vbCBhcHBseU1lZGlhSXRlbShX
ZWJDb3JlOjpEaXNwbGF5TGlzdDo6SXRlbUhhbmRsZSwgV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0
Jik7CiAKICAgICAvLyBNZXNzYWdlcyB0byBiZSBzZW50LgotICAgIHZvaWQgZGlkQ3JlYXRlSW1h
Z2VCdWZmZXJCYWNrZW5kKEltYWdlQnVmZmVyQmFja2VuZEhhbmRsZSwgV2ViQ29yZTo6UmVuZGVy
aW5nUmVzb3VyY2VJZGVudGlmaWVyKTsKLSAgICB2b2lkIGRpZEZsdXNoKFdlYkNvcmU6OkdyYXBo
aWNzQ29udGV4dEZsdXNoSWRlbnRpZmllciwgV2ViQ29yZTo6UmVuZGVyaW5nUmVzb3VyY2VJZGVu
dGlmaWVyKTsKKyAgICB2b2lkIGRpZENyZWF0ZUltYWdlQnVmZmVyQmFja2VuZChJbWFnZUJ1ZmZl
ckJhY2tlbmRIYW5kbGUsIFF1YWxpZmllZFJlbmRlcmluZ1Jlc291cmNlSWRlbnRpZmllcik7Cisg
ICAgdm9pZCBkaWRGbHVzaChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHRGbHVzaElkZW50aWZpZXIs
IFF1YWxpZmllZFJlbmRlcmluZ1Jlc291cmNlSWRlbnRpZmllcik7CiAKLSAgICB2b2lkIHNldE5l
eHRJdGVtQnVmZmVyVG9SZWFkKFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpJdGVtQnVmZmVySWRlbnRp
ZmllciwgV2ViQ29yZTo6UmVuZGVyaW5nUmVzb3VyY2VJZGVudGlmaWVyIGRlc3RpbmF0aW9uKTsK
KyAgICB2b2lkIHNldE5leHRJdGVtQnVmZmVyVG9SZWFkKFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpJ
dGVtQnVmZmVySWRlbnRpZmllciwgUXVhbGlmaWVkUmVuZGVyaW5nUmVzb3VyY2VJZGVudGlmaWVy
IGRlc3RpbmF0aW9uKTsKIAogICAgIHZvaWQgZGlkQ3JlYXRlTWFza0ltYWdlQnVmZmVyKFdlYkNv
cmU6OkltYWdlQnVmZmVyJik7CiAgICAgdm9pZCBkaWRSZXNldE1hc2tJbWFnZUJ1ZmZlcigpOwpA
QCAtMTE4LDcgKzExOCw3IEBAIHByaXZhdGU6CiAgICAgfQogCiAgICAgV2ViQ29yZTo6RGlzcGxh
eUxpc3Q6OlJlcGxheVJlc3VsdCBzdWJtaXQoY29uc3QgV2ViQ29yZTo6RGlzcGxheUxpc3Q6OkRp
c3BsYXlMaXN0JiwgV2ViQ29yZTo6SW1hZ2VCdWZmZXImIGRlc3RpbmF0aW9uKTsKLSAgICBSZWZQ
dHI8V2ViQ29yZTo6SW1hZ2VCdWZmZXI+IG5leHREZXN0aW5hdGlvbkltYWdlQnVmZmVyQWZ0ZXJB
cHBseWluZ0Rpc3BsYXlMaXN0cyhXZWJDb3JlOjpJbWFnZUJ1ZmZlciYgaW5pdGlhbERlc3RpbmF0
aW9uLCBzaXplX3QgaW5pdGlhbE9mZnNldCwgRGlzcGxheUxpc3RSZWFkZXJIYW5kbGUmLCBHUFVQ
cm9jZXNzV2FrZXVwUmVhc29uKTsKKyAgICBSZWZQdHI8V2ViQ29yZTo6SW1hZ2VCdWZmZXI+IG5l
eHREZXN0aW5hdGlvbkltYWdlQnVmZmVyQWZ0ZXJBcHBseWluZ0Rpc3BsYXlMaXN0cyhXZWJDb3Jl
OjpJbWFnZUJ1ZmZlciYgaW5pdGlhbERlc3RpbmF0aW9uLCBzaXplX3QgaW5pdGlhbE9mZnNldCwg
RGlzcGxheUxpc3RSZWFkZXJIYW5kbGUmLCBHUFVQcm9jZXNzV2FrZXVwUmVhc29uLCBXZWJDb3Jl
OjpQcm9jZXNzSWRlbnRpZmllciB3ZWJQcm9jZXNzSWRlbnRpZmllcik7CiAKICAgICBzdGQ6Om9w
dGlvbmFsPFNoYXJlZE1lbW9yeTo6SVBDSGFuZGxlPiB1cGRhdGVTaGFyZWRNZW1vcnlGb3JHZXRQ
aXhlbEJ1ZmZlckhlbHBlcihzaXplX3QgYnl0ZUNvdW50KTsKICAgICB2b2lkIHVwZGF0ZVJlbmRl
cmluZ1Jlc291cmNlUmVxdWVzdCgpOwpAQCAtMTgwLDEyICsxODAsMTIgQEAgcHJpdmF0ZToKICAg
ICBzdHJ1Y3QgUGVuZGluZ1dha2V1cEluZm9ybWF0aW9uIHsKICAgICAgICAgV2ViQ29yZTo6RGlz
cGxheUxpc3Q6Okl0ZW1CdWZmZXJJZGVudGlmaWVyIGl0ZW1CdWZmZXJJZGVudGlmaWVyOwogICAg
ICAgICB1aW50NjRfdCBvZmZzZXQgeyAwIH07Ci0gICAgICAgIFdlYkNvcmU6OlJlbmRlcmluZ1Jl
c291cmNlSWRlbnRpZmllciBkZXN0aW5hdGlvbkltYWdlQnVmZmVySWRlbnRpZmllcjsKKyAgICAg
ICAgUXVhbGlmaWVkUmVuZGVyaW5nUmVzb3VyY2VJZGVudGlmaWVyIGRlc3RpbmF0aW9uSW1hZ2VC
dWZmZXJJZGVudGlmaWVyOwogICAgICAgICBHUFVQcm9jZXNzV2FrZXVwUmVhc29uIHJlYXNvbiB7
IEdQVVByb2Nlc3NXYWtldXBSZWFzb246OlVuc3BlY2lmaWVkIH07Ci0gICAgICAgIHN0ZDo6b3B0
aW9uYWw8V2ViQ29yZTo6UmVuZGVyaW5nUmVzb3VyY2VJZGVudGlmaWVyPiBtaXNzaW5nQ2FjaGVk
UmVzb3VyY2VJZGVudGlmaWVyOworICAgICAgICBzdGQ6Om9wdGlvbmFsPFF1YWxpZmllZFJlbmRl
cmluZ1Jlc291cmNlSWRlbnRpZmllcj4gbWlzc2luZ0NhY2hlZFJlc291cmNlSWRlbnRpZmllcjsK
ICAgICAgICAgUmVtb3RlUmVuZGVyaW5nQmFja2VuZFN0YXRlIHN0YXRlIHsgUmVtb3RlUmVuZGVy
aW5nQmFja2VuZFN0YXRlOjpJbml0aWFsaXplZCB9OwogCi0gICAgICAgIGJvb2wgc2hvdWxkUGVy
Zm9ybVdha2V1cChXZWJDb3JlOjpSZW5kZXJpbmdSZXNvdXJjZUlkZW50aWZpZXIgaWRlbnRpZmll
cikgY29uc3QKKyAgICAgICAgYm9vbCBzaG91bGRQZXJmb3JtV2FrZXVwKFF1YWxpZmllZFJlbmRl
cmluZ1Jlc291cmNlSWRlbnRpZmllciBpZGVudGlmaWVyKSBjb25zdAogICAgICAgICB7CiAgICAg
ICAgICAgICByZXR1cm4gZGVzdGluYXRpb25JbWFnZUJ1ZmZlcklkZW50aWZpZXIgPT0gaWRlbnRp
ZmllcgogICAgICAgICAgICAgICAgIHx8IG1pc3NpbmdDYWNoZWRSZXNvdXJjZUlkZW50aWZpZXIg
PT0gaWRlbnRpZmllcjsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>440636</attachid>
            <date>2021-10-08 10:23:48 -0700</date>
            <delta_ts>2021-10-08 10:26:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231406-20211008102347.patch</filename>
            <type>text/plain</type>
            <size>18058</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgzODEwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGE3YmMyNDFiNGE3MDkzMmMy
MWIzMjJmMjQyYWQ0Y2ZhYjZkN2I3OWUuLjhhY2Y4YTkwNDg1MDdhMzYyYTA2MWI2YTIxZDcwNzM1
ZmM2YmM1NDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzYgQEAKKzIwMjEtMTAtMDggIE15bGVzIEMu
IE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBbR1BVIFByb2Nlc3Nd
IFVuaXF1ZSBSZW5kZXJpbmdSZXNvdXJjZUlkZW50aWZpZXJzIFBhcnQgNDogTWlncmF0ZSBQZW5k
aW5nV2FrZXVwSW5mb3JtYXRpb24gdG8gUXVhbGlmaWVkUmVuZGVyaW5nUmVzb3VyY2VJZGVudGlm
aWVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzE0
MDYKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzg0MDA5OTk5PgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgc3RhcnRzIHB1c2hpbmcgUXVhbGlm
aWVkUmVuZGVyaW5nUmVzb3VyY2VJZGVudGlmaWVyIGludG8gYSBmZXcgbW9yZSBwbGFjZXMuIEl0
J3MgYmVpbmcgcHVzaGVkIGludG8KKyAgICAgICAgUGVuZGluZ1dha2V1cEluZm9ybWF0aW9uIGFu
ZCBSZW1vdGVJbWFnZUJ1ZmZlci4gKEkgY2FuJ3Qgc3BsaXQgdGhpcyBwYXRjaCB1cCBhbnkgZnVy
dGhlciBiZWNhdXNlIHRoZQorICAgICAgICBwaWVjZXMgaW50ZXJtaW5nbGUuKQorCisgICAgICAg
IFRoZSBuZXh0IHN0ZXAgaXMgdG8gcHVzaCBRdWFsaWZpZWRSZW5kZXJpbmdSZXNvdXJjZUlkZW50
aWZpZXIgZG93biBpbnRvIFJlbW90ZVJlc291cmNlQ2FjaGUuCisKKyAgICAgICAgTm8gbmV3IHRl
c3RzIGJlY2F1c2UgdGhlcmUgaXMgbm8gYmVoYXZpb3IgY2hhbmdlLgorCisgICAgICAgICogR1BV
UHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVJbWFnZUJ1ZmZlci5oOgorICAgICAgICAoV2ViS2l0OjpS
ZW1vdGVJbWFnZUJ1ZmZlcjo6Y3JlYXRlKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlSW1hZ2VC
dWZmZXI6OlJlbW90ZUltYWdlQnVmZmVyKToKKyAgICAgICAgKiBHUFVQcm9jZXNzL2dyYXBoaWNz
L1JlbW90ZVJlbmRlcmluZ0JhY2tlbmQuY3BwOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVSZW5k
ZXJpbmdCYWNrZW5kOjpkaWRDcmVhdGVJbWFnZUJ1ZmZlckJhY2tlbmQpOgorICAgICAgICAoV2Vi
S2l0OjpSZW1vdGVSZW5kZXJpbmdCYWNrZW5kOjpkaWRGbHVzaCk6CisgICAgICAgIChXZWJLaXQ6
OlJlbW90ZVJlbmRlcmluZ0JhY2tlbmQ6OmNyZWF0ZUltYWdlQnVmZmVyV2l0aFF1YWxpZmllZElk
ZW50aWZpZXIpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVSZW5kZXJpbmdCYWNrZW5kOjpuZXh0
RGVzdGluYXRpb25JbWFnZUJ1ZmZlckFmdGVyQXBwbHlpbmdEaXNwbGF5TGlzdHMpOgorICAgICAg
ICAoV2ViS2l0OjpSZW1vdGVSZW5kZXJpbmdCYWNrZW5kOjp3YWtlVXBBbmRBcHBseURpc3BsYXlM
aXN0V2l0aFF1YWxpZmllZElkZW50aWZpZXIpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVSZW5k
ZXJpbmdCYWNrZW5kOjpzZXROZXh0SXRlbUJ1ZmZlclRvUmVhZCk6CisgICAgICAgIChXZWJLaXQ6
OlJlbW90ZVJlbmRlcmluZ0JhY2tlbmQ6OmNhY2hlTmF0aXZlSW1hZ2VXaXRoUXVhbGlmaWVkSWRl
bnRpZmllcik6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZVJlbmRlcmluZ0JhY2tlbmQ6OmNhY2hl
Rm9udFdpdGhRdWFsaWZpZWRJZGVudGlmaWVyKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlUmVu
ZGVyaW5nQmFja2VuZDo6ZmluYWxpemVSZW5kZXJpbmdVcGRhdGUpOgorICAgICAgICAoV2ViS2l0
OjpSZW1vdGVSZW5kZXJpbmdCYWNrZW5kOjpyZXN1bWVGcm9tUGVuZGluZ1dha2V1cEluZm9ybWF0
aW9uKToKKyAgICAgICAgKiBHUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZVJlbmRlcmluZ0JhY2tl
bmQuaDoKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlUmVuZGVyaW5nQmFja2VuZDo6UGVuZGluZ1dh
a2V1cEluZm9ybWF0aW9uOjpzaG91bGRQZXJmb3JtV2FrZXVwIGNvbnN0KToKKwogMjAyMS0xMC0w
OCAgTWljaGFlbCBDYXRhbnphcm8gIDxtY2F0YW56YXJvQGdub21lLm9yZz4KIAogICAgICAgICBS
RUdSRVNTSU9OKHIyODM4MDIpOiBicm9rZSBBcHBsZSBwb3J0cwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZUltYWdlQnVmZmVyLmggYi9Tb3VyY2Uv
V2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlSW1hZ2VCdWZmZXIuaAppbmRleCBjYjNm
OGU4MzVkMGM4MGE3YTUyNzY5YTRkNjIwN2Q3OGE1ODg0YjQyLi41N2M4OWFjN2M1ZmM1Y2UyMDE2
ZTFlYTQ5NThlYzc3NjEzODI5NTBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nl
c3MvZ3JhcGhpY3MvUmVtb3RlSW1hZ2VCdWZmZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVBy
b2Nlc3MvZ3JhcGhpY3MvUmVtb3RlSW1hZ2VCdWZmZXIuaApAQCAtNDUsMTMgKzQ1LDEzIEBAIGNs
YXNzIFJlbW90ZUltYWdlQnVmZmVyIDogcHVibGljIFdlYkNvcmU6OkNvbmNyZXRlSW1hZ2VCdWZm
ZXI8QmFja2VuZFR5cGU+IHsKICAgICB1c2luZyBCYXNlQ29uY3JldGVJbWFnZUJ1ZmZlcjo6cHV0
UGl4ZWxCdWZmZXI7CiAKIHB1YmxpYzoKLSAgICBzdGF0aWMgYXV0byBjcmVhdGUoY29uc3QgV2Vi
Q29yZTo6RmxvYXRTaXplJiBzaXplLCBmbG9hdCByZXNvbHV0aW9uU2NhbGUsIGNvbnN0IFdlYkNv
cmU6OkRlc3RpbmF0aW9uQ29sb3JTcGFjZSYgY29sb3JTcGFjZSwgV2ViQ29yZTo6UGl4ZWxGb3Jt
YXQgcGl4ZWxGb3JtYXQsIFJlbW90ZVJlbmRlcmluZ0JhY2tlbmQmIHJlbW90ZVJlbmRlcmluZ0Jh
Y2tlbmQsIFdlYkNvcmU6OlJlbmRlcmluZ1Jlc291cmNlSWRlbnRpZmllciByZW5kZXJpbmdSZXNv
dXJjZUlkZW50aWZpZXIpCisgICAgc3RhdGljIGF1dG8gY3JlYXRlKGNvbnN0IFdlYkNvcmU6OkZs
b2F0U2l6ZSYgc2l6ZSwgZmxvYXQgcmVzb2x1dGlvblNjYWxlLCBjb25zdCBXZWJDb3JlOjpEZXN0
aW5hdGlvbkNvbG9yU3BhY2UmIGNvbG9yU3BhY2UsIFdlYkNvcmU6OlBpeGVsRm9ybWF0IHBpeGVs
Rm9ybWF0LCBSZW1vdGVSZW5kZXJpbmdCYWNrZW5kJiByZW1vdGVSZW5kZXJpbmdCYWNrZW5kLCBR
dWFsaWZpZWRSZW5kZXJpbmdSZXNvdXJjZUlkZW50aWZpZXIgcmVuZGVyaW5nUmVzb3VyY2VJZGVu
dGlmaWVyKQogICAgIHsKICAgICAgICAgcmV0dXJuIEJhc2VDb25jcmV0ZUltYWdlQnVmZmVyOjp0
ZW1wbGF0ZSBjcmVhdGU8UmVtb3RlSW1hZ2VCdWZmZXI+KHNpemUsIHJlc29sdXRpb25TY2FsZSwg
Y29sb3JTcGFjZSwgcGl4ZWxGb3JtYXQsIG51bGxwdHIsIHJlbW90ZVJlbmRlcmluZ0JhY2tlbmQs
IHJlbmRlcmluZ1Jlc291cmNlSWRlbnRpZmllcik7CiAgICAgfQogCi0gICAgUmVtb3RlSW1hZ2VC
dWZmZXIoY29uc3QgV2ViQ29yZTo6SW1hZ2VCdWZmZXJCYWNrZW5kOjpQYXJhbWV0ZXJzJiBwYXJh
bWV0ZXJzLCBzdGQ6OnVuaXF1ZV9wdHI8QmFja2VuZFR5cGU+JiYgYmFja2VuZCwgUmVtb3RlUmVu
ZGVyaW5nQmFja2VuZCYgcmVtb3RlUmVuZGVyaW5nQmFja2VuZCwgV2ViQ29yZTo6UmVuZGVyaW5n
UmVzb3VyY2VJZGVudGlmaWVyIHJlbmRlcmluZ1Jlc291cmNlSWRlbnRpZmllcikKLSAgICAgICAg
OiBCYXNlQ29uY3JldGVJbWFnZUJ1ZmZlcihwYXJhbWV0ZXJzLCBXVEZNb3ZlKGJhY2tlbmQpLCBy
ZW5kZXJpbmdSZXNvdXJjZUlkZW50aWZpZXIpCisgICAgUmVtb3RlSW1hZ2VCdWZmZXIoY29uc3Qg
V2ViQ29yZTo6SW1hZ2VCdWZmZXJCYWNrZW5kOjpQYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzLCBzdGQ6
OnVuaXF1ZV9wdHI8QmFja2VuZFR5cGU+JiYgYmFja2VuZCwgUmVtb3RlUmVuZGVyaW5nQmFja2Vu
ZCYgcmVtb3RlUmVuZGVyaW5nQmFja2VuZCwgUXVhbGlmaWVkUmVuZGVyaW5nUmVzb3VyY2VJZGVu
dGlmaWVyIHJlbmRlcmluZ1Jlc291cmNlSWRlbnRpZmllcikKKyAgICAgICAgOiBCYXNlQ29uY3Jl
dGVJbWFnZUJ1ZmZlcihwYXJhbWV0ZXJzLCBXVEZNb3ZlKGJhY2tlbmQpLCByZW5kZXJpbmdSZXNv
dXJjZUlkZW50aWZpZXIub2JqZWN0KCkpCiAgICAgICAgICwgbV9yZW1vdGVSZW5kZXJpbmdCYWNr
ZW5kKHJlbW90ZVJlbmRlcmluZ0JhY2tlbmQpCiAgICAgICAgICwgbV9yZW5kZXJpbmdSZXNvdXJj
ZUlkZW50aWZpZXIocmVuZGVyaW5nUmVzb3VyY2VJZGVudGlmaWVyKQogICAgIHsKQEAgLTExMSw3
ICsxMTEsNyBAQCBwcml2YXRlOgogICAgIH0KIAogICAgIFJlbW90ZVJlbmRlcmluZ0JhY2tlbmQm
IG1fcmVtb3RlUmVuZGVyaW5nQmFja2VuZDsKLSAgICBXZWJDb3JlOjpSZW5kZXJpbmdSZXNvdXJj
ZUlkZW50aWZpZXIgbV9yZW5kZXJpbmdSZXNvdXJjZUlkZW50aWZpZXI7CisgICAgUXVhbGlmaWVk
UmVuZGVyaW5nUmVzb3VyY2VJZGVudGlmaWVyIG1fcmVuZGVyaW5nUmVzb3VyY2VJZGVudGlmaWVy
OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlUmVuZGVyaW5nQmFja2VuZC5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlUmVuZGVyaW5nQmFja2VuZC5jcHAKaW5k
ZXggM2Y4NDUxY2QxNTViOTgwNTZjYzNlZWVjMTNjN2JlMDZkNTA1NWU5Ni4uZmNjZWQ3ZDUxYTIx
MjJhNjAwNDg5OWUxOWUzODBjYmQ1ODU3MjFmMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9H
UFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZVJlbmRlcmluZ0JhY2tlbmQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVSZW5kZXJpbmdCYWNrZW5kLmNwcApA
QCAtMTQzLDE0ICsxNDMsMTYgQEAgYm9vbCBSZW1vdGVSZW5kZXJpbmdCYWNrZW5kOjphcHBseU1l
ZGlhSXRlbShEaXNwbGF5TGlzdDo6SXRlbUhhbmRsZSBpdGVtLCBHcmFwaGkKICAgICByZXR1cm4g
dHJ1ZTsKIH0KIAotdm9pZCBSZW1vdGVSZW5kZXJpbmdCYWNrZW5kOjpkaWRDcmVhdGVJbWFnZUJ1
ZmZlckJhY2tlbmQoSW1hZ2VCdWZmZXJCYWNrZW5kSGFuZGxlIGhhbmRsZSwgUmVuZGVyaW5nUmVz
b3VyY2VJZGVudGlmaWVyIHJlbmRlcmluZ1Jlc291cmNlSWRlbnRpZmllcikKK3ZvaWQgUmVtb3Rl
UmVuZGVyaW5nQmFja2VuZDo6ZGlkQ3JlYXRlSW1hZ2VCdWZmZXJCYWNrZW5kKEltYWdlQnVmZmVy
QmFja2VuZEhhbmRsZSBoYW5kbGUsIFF1YWxpZmllZFJlbmRlcmluZ1Jlc291cmNlSWRlbnRpZmll
ciByZW5kZXJpbmdSZXNvdXJjZUlkZW50aWZpZXIpCiB7Ci0gICAgc2VuZChNZXNzYWdlczo6UmVt
b3RlUmVuZGVyaW5nQmFja2VuZFByb3h5OjpEaWRDcmVhdGVJbWFnZUJ1ZmZlckJhY2tlbmQoV1RG
TW92ZShoYW5kbGUpLCByZW5kZXJpbmdSZXNvdXJjZUlkZW50aWZpZXIpLCBtX3JlbmRlcmluZ0Jh
Y2tlbmRJZGVudGlmaWVyKTsKKyAgICBNRVNTQUdFX0NIRUNLKHJlbmRlcmluZ1Jlc291cmNlSWRl
bnRpZmllci5wcm9jZXNzSWRlbnRpZmllcigpID09IG1fZ3B1Q29ubmVjdGlvblRvV2ViUHJvY2Vz
cy0+d2ViUHJvY2Vzc0lkZW50aWZpZXIoKSwgIlNlbmRpbmcgZGlkQ3JlYXRlSW1hZ2VCdWZmZXJC
YWNrZW5kKCkgbWVzc2FnZSB0byB0aGUgd3Jvbmcgd2ViIHByb2Nlc3MuIik7CisgICAgc2VuZChN
ZXNzYWdlczo6UmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5OjpEaWRDcmVhdGVJbWFnZUJ1ZmZl
ckJhY2tlbmQoV1RGTW92ZShoYW5kbGUpLCByZW5kZXJpbmdSZXNvdXJjZUlkZW50aWZpZXIub2Jq
ZWN0KCkpLCBtX3JlbmRlcmluZ0JhY2tlbmRJZGVudGlmaWVyKTsKIH0KIAotdm9pZCBSZW1vdGVS
ZW5kZXJpbmdCYWNrZW5kOjpkaWRGbHVzaChHcmFwaGljc0NvbnRleHRGbHVzaElkZW50aWZpZXIg
Zmx1c2hJZGVudGlmaWVyLCBSZW5kZXJpbmdSZXNvdXJjZUlkZW50aWZpZXIgcmVuZGVyaW5nUmVz
b3VyY2VJZGVudGlmaWVyKQordm9pZCBSZW1vdGVSZW5kZXJpbmdCYWNrZW5kOjpkaWRGbHVzaChH
cmFwaGljc0NvbnRleHRGbHVzaElkZW50aWZpZXIgZmx1c2hJZGVudGlmaWVyLCBRdWFsaWZpZWRS
ZW5kZXJpbmdSZXNvdXJjZUlkZW50aWZpZXIgcmVuZGVyaW5nUmVzb3VyY2VJZGVudGlmaWVyKQog
ewotICAgIHNlbmQoTWVzc2FnZXM6OlJlbW90ZVJlbmRlcmluZ0JhY2tlbmRQcm94eTo6RGlkRmx1
c2goZmx1c2hJZGVudGlmaWVyLCByZW5kZXJpbmdSZXNvdXJjZUlkZW50aWZpZXIpLCBtX3JlbmRl
cmluZ0JhY2tlbmRJZGVudGlmaWVyKTsKKyAgICBNRVNTQUdFX0NIRUNLKHJlbmRlcmluZ1Jlc291
cmNlSWRlbnRpZmllci5wcm9jZXNzSWRlbnRpZmllcigpID09IG1fZ3B1Q29ubmVjdGlvblRvV2Vi
UHJvY2Vzcy0+d2ViUHJvY2Vzc0lkZW50aWZpZXIoKSwgIlNlbmRpbmcgZGlkRmx1c2goKSBtZXNz
YWdlIHRvIHRoZSB3cm9uZyB3ZWIgcHJvY2Vzcy4iKTsKKyAgICBzZW5kKE1lc3NhZ2VzOjpSZW1v
dGVSZW5kZXJpbmdCYWNrZW5kUHJveHk6OkRpZEZsdXNoKGZsdXNoSWRlbnRpZmllciwgcmVuZGVy
aW5nUmVzb3VyY2VJZGVudGlmaWVyLm9iamVjdCgpKSwgbV9yZW5kZXJpbmdCYWNrZW5kSWRlbnRp
Zmllcik7CiB9CiAKIHZvaWQgUmVtb3RlUmVuZGVyaW5nQmFja2VuZDo6Y3JlYXRlSW1hZ2VCdWZm
ZXIoY29uc3QgRmxvYXRTaXplJiBsb2dpY2FsU2l6ZSwgUmVuZGVyaW5nTW9kZSByZW5kZXJpbmdN
b2RlLCBmbG9hdCByZXNvbHV0aW9uU2NhbGUsIGNvbnN0IERlc3RpbmF0aW9uQ29sb3JTcGFjZSYg
Y29sb3JTcGFjZSwgUGl4ZWxGb3JtYXQgcGl4ZWxGb3JtYXQsIFJlbmRlcmluZ1Jlc291cmNlSWRl
bnRpZmllciBpbWFnZUJ1ZmZlclJlc291cmNlSWRlbnRpZmllcikKQEAgLTE2OCw3ICsxNzAsNyBA
QCB2b2lkIFJlbW90ZVJlbmRlcmluZ0JhY2tlbmQ6OmNyZWF0ZUltYWdlQnVmZmVyV2l0aFF1YWxp
ZmllZElkZW50aWZpZXIoY29uc3QgRmxvYQogICAgIFJlZlB0cjxJbWFnZUJ1ZmZlcj4gaW1hZ2VC
dWZmZXI7CiAKICAgICBpZiAocmVuZGVyaW5nTW9kZSA9PSBSZW5kZXJpbmdNb2RlOjpBY2NlbGVy
YXRlZCkgewotICAgICAgICBpZiAoYXV0byBhY2NlbGVyYXRlZEltYWdlQnVmZmVyID0gQWNjZWxl
cmF0ZWRSZW1vdGVJbWFnZUJ1ZmZlcjo6Y3JlYXRlKGxvZ2ljYWxTaXplLCByZXNvbHV0aW9uU2Nh
bGUsIGNvbG9yU3BhY2UsIHBpeGVsRm9ybWF0LCAqdGhpcywgaW1hZ2VCdWZmZXJSZXNvdXJjZUlk
ZW50aWZpZXIub2JqZWN0KCkpKSB7CisgICAgICAgIGlmIChhdXRvIGFjY2VsZXJhdGVkSW1hZ2VC
dWZmZXIgPSBBY2NlbGVyYXRlZFJlbW90ZUltYWdlQnVmZmVyOjpjcmVhdGUobG9naWNhbFNpemUs
IHJlc29sdXRpb25TY2FsZSwgY29sb3JTcGFjZSwgcGl4ZWxGb3JtYXQsICp0aGlzLCBpbWFnZUJ1
ZmZlclJlc291cmNlSWRlbnRpZmllcikpIHsKICNpZiBIQVZFKElPU1VSRkFDRV9TRVRfT1dORVJT
SElQX0lERU5USVRZKQogICAgICAgICAgICAgLy8gTWFyayB0aGUgSU9TdXJmYWNlIGFzIGJlaW5n
IG93bmVkIGJ5IHRoZSBXZWJQcm9jZXNzIGV2ZW4gdGhvdWdoIGl0IHdhcyBjb25zdHJ1Y3RlZCBi
eSB0aGUgR1BVUHJvY2VzcyBzbyB0aGF0IEpldHNhbSBrbm93cyB3aGljaCBwcm9jZXNzIHRvIGtp
bGwuCiAgICAgICAgICAgICBhY2NlbGVyYXRlZEltYWdlQnVmZmVyLT5zZXRQcm9jZXNzT3duZXJz
aGlwKG1fZ3B1Q29ubmVjdGlvblRvV2ViUHJvY2Vzcy0+d2ViUHJvY2Vzc0lkZW50aXR5VG9rZW4o
KSk7CkBAIC0xNzgsNyArMTgwLDcgQEAgdm9pZCBSZW1vdGVSZW5kZXJpbmdCYWNrZW5kOjpjcmVh
dGVJbWFnZUJ1ZmZlcldpdGhRdWFsaWZpZWRJZGVudGlmaWVyKGNvbnN0IEZsb2EKICAgICB9CiAK
ICAgICBpZiAoIWltYWdlQnVmZmVyKQotICAgICAgICBpbWFnZUJ1ZmZlciA9IFVuYWNjZWxlcmF0
ZWRSZW1vdGVJbWFnZUJ1ZmZlcjo6Y3JlYXRlKGxvZ2ljYWxTaXplLCByZXNvbHV0aW9uU2NhbGUs
IGNvbG9yU3BhY2UsIHBpeGVsRm9ybWF0LCAqdGhpcywgaW1hZ2VCdWZmZXJSZXNvdXJjZUlkZW50
aWZpZXIub2JqZWN0KCkpOworICAgICAgICBpbWFnZUJ1ZmZlciA9IFVuYWNjZWxlcmF0ZWRSZW1v
dGVJbWFnZUJ1ZmZlcjo6Y3JlYXRlKGxvZ2ljYWxTaXplLCByZXNvbHV0aW9uU2NhbGUsIGNvbG9y
U3BhY2UsIHBpeGVsRm9ybWF0LCAqdGhpcywgaW1hZ2VCdWZmZXJSZXNvdXJjZUlkZW50aWZpZXIp
OwogCiAgICAgaWYgKCFpbWFnZUJ1ZmZlcikgewogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQo
KTsKQEAgLTE4OCw3ICsxOTAsNyBAQCB2b2lkIFJlbW90ZVJlbmRlcmluZ0JhY2tlbmQ6OmNyZWF0
ZUltYWdlQnVmZmVyV2l0aFF1YWxpZmllZElkZW50aWZpZXIoY29uc3QgRmxvYQogICAgIG1fcmVt
b3RlUmVzb3VyY2VDYWNoZS5jYWNoZUltYWdlQnVmZmVyKCppbWFnZUJ1ZmZlcik7CiAgICAgdXBk
YXRlUmVuZGVyaW5nUmVzb3VyY2VSZXF1ZXN0KCk7CiAKLSAgICBpZiAobV9wZW5kaW5nV2FrZXVw
SW5mbyAmJiBtX3BlbmRpbmdXYWtldXBJbmZvLT5zaG91bGRQZXJmb3JtV2FrZXVwKGltYWdlQnVm
ZmVyUmVzb3VyY2VJZGVudGlmaWVyLm9iamVjdCgpKSkKKyAgICBpZiAobV9wZW5kaW5nV2FrZXVw
SW5mbyAmJiBtX3BlbmRpbmdXYWtldXBJbmZvLT5zaG91bGRQZXJmb3JtV2FrZXVwKGltYWdlQnVm
ZmVyUmVzb3VyY2VJZGVudGlmaWVyKSkKICAgICAgICAgcmVzdW1lRnJvbVBlbmRpbmdXYWtldXBJ
bmZvcm1hdGlvbigpOwogfQogCkBAIC0yNDIsNyArMjQ0LDcgQEAgRGlzcGxheUxpc3Q6OlJlcGxh
eVJlc3VsdCBSZW1vdGVSZW5kZXJpbmdCYWNrZW5kOjpzdWJtaXQoY29uc3QgRGlzcGxheUxpc3Q6
OkRpc3AKICAgICB9LnJlcGxheSgpOwogfQogCi1SZWZQdHI8SW1hZ2VCdWZmZXI+IFJlbW90ZVJl
bmRlcmluZ0JhY2tlbmQ6Om5leHREZXN0aW5hdGlvbkltYWdlQnVmZmVyQWZ0ZXJBcHBseWluZ0Rp
c3BsYXlMaXN0cyhJbWFnZUJ1ZmZlciYgaW5pdGlhbERlc3RpbmF0aW9uLCBzaXplX3QgaW5pdGlh
bE9mZnNldCwgRGlzcGxheUxpc3RSZWFkZXJIYW5kbGUmIGhhbmRsZSwgR1BVUHJvY2Vzc1dha2V1
cFJlYXNvbiByZWFzb24pCitSZWZQdHI8SW1hZ2VCdWZmZXI+IFJlbW90ZVJlbmRlcmluZ0JhY2tl
bmQ6Om5leHREZXN0aW5hdGlvbkltYWdlQnVmZmVyQWZ0ZXJBcHBseWluZ0Rpc3BsYXlMaXN0cyhJ
bWFnZUJ1ZmZlciYgaW5pdGlhbERlc3RpbmF0aW9uLCBzaXplX3QgaW5pdGlhbE9mZnNldCwgRGlz
cGxheUxpc3RSZWFkZXJIYW5kbGUmIGhhbmRsZSwgR1BVUHJvY2Vzc1dha2V1cFJlYXNvbiByZWFz
b24sIFByb2Nlc3NJZGVudGlmaWVyIHdlYlByb2Nlc3NJZGVudGlmaWVyKQogewogICAgIFJlZlB0
ciBkZXN0aW5hdGlvbiB7ICZpbml0aWFsRGVzdGluYXRpb24gfTsKICAgICBSZWYgaGFuZGxlUHJv
dGVjdG9yIHsgaGFuZGxlIH07CkBAIC0yODMsNyArMjg1LDcgQEAgUmVmUHRyPEltYWdlQnVmZmVy
PiBSZW1vdGVSZW5kZXJpbmdCYWNrZW5kOjpuZXh0RGVzdGluYXRpb25JbWFnZUJ1ZmZlckFmdGVy
QXBwbHkKICAgICAgICAgICAgICAgICBtX3BlbmRpbmdXYWtldXBJbmZvID0ge3sKICAgICAgICAg
ICAgICAgICAgICAgaGFuZGxlLmlkZW50aWZpZXIoKSwKICAgICAgICAgICAgICAgICAgICAgb2Zm
c2V0LAotICAgICAgICAgICAgICAgICAgICAqcmVzdWx0Lm5leHREZXN0aW5hdGlvbkltYWdlQnVm
ZmVyLAorICAgICAgICAgICAgICAgICAgICB7ICpyZXN1bHQubmV4dERlc3RpbmF0aW9uSW1hZ2VC
dWZmZXIsIHdlYlByb2Nlc3NJZGVudGlmaWVyIH0sCiAgICAgICAgICAgICAgICAgICAgIHJlYXNv
biwKICAgICAgICAgICAgICAgICAgICAgc3RkOjpudWxsb3B0LAogICAgICAgICAgICAgICAgICAg
ICBSZW1vdGVSZW5kZXJpbmdCYWNrZW5kU3RhdGU6OldhaXRpbmdGb3JEZXN0aW5hdGlvbkltYWdl
QnVmZmVyCkBAIC0yOTUsOSArMjk3LDkgQEAgUmVmUHRyPEltYWdlQnVmZmVyPiBSZW1vdGVSZW5k
ZXJpbmdCYWNrZW5kOjpuZXh0RGVzdGluYXRpb25JbWFnZUJ1ZmZlckFmdGVyQXBwbHkKICAgICAg
ICAgICAgIG1fcGVuZGluZ1dha2V1cEluZm8gPSB7ewogICAgICAgICAgICAgICAgIGhhbmRsZS5p
ZGVudGlmaWVyKCksCiAgICAgICAgICAgICAgICAgb2Zmc2V0LAotICAgICAgICAgICAgICAgIGRl
c3RpbmF0aW9uLT5yZW5kZXJpbmdSZXNvdXJjZUlkZW50aWZpZXIoKSwKKyAgICAgICAgICAgICAg
ICB7IGRlc3RpbmF0aW9uLT5yZW5kZXJpbmdSZXNvdXJjZUlkZW50aWZpZXIoKSwgd2ViUHJvY2Vz
c0lkZW50aWZpZXIgfSwKICAgICAgICAgICAgICAgICByZWFzb24sCi0gICAgICAgICAgICAgICAg
cmVzdWx0Lm1pc3NpbmdDYWNoZWRSZXNvdXJjZUlkZW50aWZpZXIsCisgICAgICAgICAgICAgICAg
eyB7ICpyZXN1bHQubWlzc2luZ0NhY2hlZFJlc291cmNlSWRlbnRpZmllciwgd2ViUHJvY2Vzc0lk
ZW50aWZpZXIgfSB9LAogICAgICAgICAgICAgICAgIFJlbW90ZVJlbmRlcmluZ0JhY2tlbmRTdGF0
ZTo6V2FpdGluZ0ZvckNhY2hlZFJlc291cmNlCiAgICAgICAgICAgICB9fTsKICAgICAgICAgfQpA
QCAtMzU3LDcgKzM1OSw3IEBAIHZvaWQgUmVtb3RlUmVuZGVyaW5nQmFja2VuZDo6d2FrZVVwQW5k
QXBwbHlEaXNwbGF5TGlzdFdpdGhRdWFsaWZpZWRJZGVudGlmaWVyKFdlCiAgICAgTUVTU0FHRV9D
SEVDSyhpbml0aWFsSGFuZGxlLCAiTWlzc2luZyBpbml0aWFsIHNoYXJlZCBkaXNwbGF5IGxpc3Qg
aGFuZGxlIik7CiAKICAgICBMT0dfV0lUSF9TVFJFQU0oU2hhcmVkRGlzcGxheUxpc3RzLCBzdHJl
YW0gPDwgIldha2luZyB1cCB0byBJdGVtc1siIDw8IGl0ZW1CdWZmZXJJZGVudGlmaWVyIDw8ICJd
ID0+IEltYWdlKCIgPDwgZGVzdGluYXRpb25JbWFnZUJ1ZmZlcklkZW50aWZpZXIub2JqZWN0KCkg
PDwgIikgYXQgIiA8PCBvZmZzZXQpOwotICAgIGRlc3RpbmF0aW9uSW1hZ2VCdWZmZXIgPSBuZXh0
RGVzdGluYXRpb25JbWFnZUJ1ZmZlckFmdGVyQXBwbHlpbmdEaXNwbGF5TGlzdHMoKmRlc3RpbmF0
aW9uSW1hZ2VCdWZmZXIsIG9mZnNldCwgKmluaXRpYWxIYW5kbGUsIHJlYXNvbik7CisgICAgZGVz
dGluYXRpb25JbWFnZUJ1ZmZlciA9IG5leHREZXN0aW5hdGlvbkltYWdlQnVmZmVyQWZ0ZXJBcHBs
eWluZ0Rpc3BsYXlMaXN0cygqZGVzdGluYXRpb25JbWFnZUJ1ZmZlciwgb2Zmc2V0LCAqaW5pdGlh
bEhhbmRsZSwgcmVhc29uLCBtX2dwdUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MtPndlYlByb2Nlc3NJ
ZGVudGlmaWVyKCkpOwogCiAgICAgLy8gRklYTUU6IEFsbCB0aGUgY2FsbGVycyBwYXNzIG1fcGVu
ZGluZ1dha2V1cEluZm8ncyBmaWVsZHMgc28gdGhlIGJvZHkgb2YgdGhpcyBmdW5jdGlvbiBzaG91
bGQganVzdCBiZSB0aGlzIGxvb3AuCiAgICAgd2hpbGUgKGRlc3RpbmF0aW9uSW1hZ2VCdWZmZXIg
JiYgbV9wZW5kaW5nV2FrZXVwSW5mbykgewpAQCAtMzc1LDcgKzM3Nyw3IEBAIHZvaWQgUmVtb3Rl
UmVuZGVyaW5nQmFja2VuZDo6d2FrZVVwQW5kQXBwbHlEaXNwbGF5TGlzdFdpdGhRdWFsaWZpZWRJ
ZGVudGlmaWVyKFdlCiAgICAgICAgIGF1dG8gb2Zmc2V0ID0gbV9wZW5kaW5nV2FrZXVwSW5mby0+
b2Zmc2V0OwogICAgICAgICBhdXRvIHJlYXNvbiA9IG1fcGVuZGluZ1dha2V1cEluZm8tPnJlYXNv
bjsKICAgICAgICAgbV9wZW5kaW5nV2FrZXVwSW5mbyA9IHN0ZDo6bnVsbG9wdDsKLSAgICAgICAg
ZGVzdGluYXRpb25JbWFnZUJ1ZmZlciA9IG5leHREZXN0aW5hdGlvbkltYWdlQnVmZmVyQWZ0ZXJB
cHBseWluZ0Rpc3BsYXlMaXN0cygqZGVzdGluYXRpb25JbWFnZUJ1ZmZlciwgb2Zmc2V0LCAqbmV4
dEhhbmRsZSwgcmVhc29uKTsKKyAgICAgICAgZGVzdGluYXRpb25JbWFnZUJ1ZmZlciA9IG5leHRE
ZXN0aW5hdGlvbkltYWdlQnVmZmVyQWZ0ZXJBcHBseWluZ0Rpc3BsYXlMaXN0cygqZGVzdGluYXRp
b25JbWFnZUJ1ZmZlciwgb2Zmc2V0LCAqbmV4dEhhbmRsZSwgcmVhc29uLCBtX2dwdUNvbm5lY3Rp
b25Ub1dlYlByb2Nlc3MtPndlYlByb2Nlc3NJZGVudGlmaWVyKCkpOwogICAgIH0KICAgICBMT0df
V0lUSF9TVFJFQU0oU2hhcmVkRGlzcGxheUxpc3RzLCBzdHJlYW0gPDwgIkdvaW5nIGJhY2sgdG8g
c2xlZXAuIik7CiAKQEAgLTM4NSw3ICszODcsNyBAQCB2b2lkIFJlbW90ZVJlbmRlcmluZ0JhY2tl
bmQ6Ondha2VVcEFuZEFwcGx5RGlzcGxheUxpc3RXaXRoUXVhbGlmaWVkSWRlbnRpZmllcihXZQog
ICAgICAgICB1cGRhdGVMYXN0S25vd25TdGF0ZShSZW1vdGVSZW5kZXJpbmdCYWNrZW5kU3RhdGU6
OkZpbmlzaGVkUmVwbGF5aW5nRGlzcGxheUxpc3QpOwogfQogCi12b2lkIFJlbW90ZVJlbmRlcmlu
Z0JhY2tlbmQ6OnNldE5leHRJdGVtQnVmZmVyVG9SZWFkKERpc3BsYXlMaXN0OjpJdGVtQnVmZmVy
SWRlbnRpZmllciBpZGVudGlmaWVyLCBXZWJDb3JlOjpSZW5kZXJpbmdSZXNvdXJjZUlkZW50aWZp
ZXIgZGVzdGluYXRpb25JZGVudGlmaWVyKQordm9pZCBSZW1vdGVSZW5kZXJpbmdCYWNrZW5kOjpz
ZXROZXh0SXRlbUJ1ZmZlclRvUmVhZChEaXNwbGF5TGlzdDo6SXRlbUJ1ZmZlcklkZW50aWZpZXIg
aWRlbnRpZmllciwgUXVhbGlmaWVkUmVuZGVyaW5nUmVzb3VyY2VJZGVudGlmaWVyIGRlc3RpbmF0
aW9uSWRlbnRpZmllcikKIHsKICAgICBtX3BlbmRpbmdXYWtldXBJbmZvID0ge3sKICAgICAgICAg
aWRlbnRpZmllciwKQEAgLTU0Niw3ICs1NDgsNyBAQCB2b2lkIFJlbW90ZVJlbmRlcmluZ0JhY2tl
bmQ6OmNhY2hlTmF0aXZlSW1hZ2VXaXRoUXVhbGlmaWVkSWRlbnRpZmllcihjb25zdCBTaGFyZQog
CiAgICAgbV9yZW1vdGVSZXNvdXJjZUNhY2hlLmNhY2hlTmF0aXZlSW1hZ2UoKmltYWdlKTsKIAot
ICAgIGlmIChtX3BlbmRpbmdXYWtldXBJbmZvICYmIG1fcGVuZGluZ1dha2V1cEluZm8tPnNob3Vs
ZFBlcmZvcm1XYWtldXAobmF0aXZlSW1hZ2VSZXNvdXJjZUlkZW50aWZpZXIub2JqZWN0KCkpKQor
ICAgIGlmIChtX3BlbmRpbmdXYWtldXBJbmZvICYmIG1fcGVuZGluZ1dha2V1cEluZm8tPnNob3Vs
ZFBlcmZvcm1XYWtldXAobmF0aXZlSW1hZ2VSZXNvdXJjZUlkZW50aWZpZXIpKQogICAgICAgICBy
ZXN1bWVGcm9tUGVuZGluZ1dha2V1cEluZm9ybWF0aW9uKCk7CiB9CiAKQEAgLTU2Myw3ICs1NjUs
NyBAQCB2b2lkIFJlbW90ZVJlbmRlcmluZ0JhY2tlbmQ6OmNhY2hlRm9udFdpdGhRdWFsaWZpZWRJ
ZGVudGlmaWVyKFJlZjxGb250PiYmIGZvbnQsCiAgICAgQVNTRVJUKCFSdW5Mb29wOjppc01haW4o
KSk7CiAKICAgICBtX3JlbW90ZVJlc291cmNlQ2FjaGUuY2FjaGVGb250KFdURk1vdmUoZm9udCkp
OwotICAgIGlmIChtX3BlbmRpbmdXYWtldXBJbmZvICYmIG1fcGVuZGluZ1dha2V1cEluZm8tPnNo
b3VsZFBlcmZvcm1XYWtldXAoZm9udFJlc291cmNlSWRlbnRpZmllci5vYmplY3QoKSkpCisgICAg
aWYgKG1fcGVuZGluZ1dha2V1cEluZm8gJiYgbV9wZW5kaW5nV2FrZXVwSW5mby0+c2hvdWxkUGVy
Zm9ybVdha2V1cChmb250UmVzb3VyY2VJZGVudGlmaWVyKSkKICAgICAgICAgcmVzdW1lRnJvbVBl
bmRpbmdXYWtldXBJbmZvcm1hdGlvbigpOwogfQogCkBAIC01OTEsNyArNTkzLDcgQEAgdm9pZCBS
ZW1vdGVSZW5kZXJpbmdCYWNrZW5kOjpyZWxlYXNlUmVtb3RlUmVzb3VyY2VXaXRoUXVhbGlmaWVk
SWRlbnRpZmllcihRdWFsaWYKIHZvaWQgUmVtb3RlUmVuZGVyaW5nQmFja2VuZDo6ZmluYWxpemVS
ZW5kZXJpbmdVcGRhdGUoUmVuZGVyaW5nVXBkYXRlSUQgcmVuZGVyaW5nVXBkYXRlSUQpCiB7CiAg
ICAgYXV0byBzaG91bGRQZXJmb3JtV2FrZXVwID0gWyZdIHsKLSAgICAgICAgcmV0dXJuIG1fcmVt
b3RlUmVzb3VyY2VDYWNoZS5jYWNoZWRJbWFnZUJ1ZmZlcihtX3BlbmRpbmdXYWtldXBJbmZvLT5k
ZXN0aW5hdGlvbkltYWdlQnVmZmVySWRlbnRpZmllcikgJiYgbV9zaGFyZWREaXNwbGF5TGlzdEhh
bmRsZXMuY29udGFpbnMobV9wZW5kaW5nV2FrZXVwSW5mby0+aXRlbUJ1ZmZlcklkZW50aWZpZXIp
OworICAgICAgICByZXR1cm4gbV9yZW1vdGVSZXNvdXJjZUNhY2hlLmNhY2hlZEltYWdlQnVmZmVy
KG1fcGVuZGluZ1dha2V1cEluZm8tPmRlc3RpbmF0aW9uSW1hZ2VCdWZmZXJJZGVudGlmaWVyLm9i
amVjdCgpKSAmJiBtX3NoYXJlZERpc3BsYXlMaXN0SGFuZGxlcy5jb250YWlucyhtX3BlbmRpbmdX
YWtldXBJbmZvLT5pdGVtQnVmZmVySWRlbnRpZmllcik7CiAgICAgfTsKIAogICAgIGlmIChtX3Bl
bmRpbmdXYWtldXBJbmZvICYmIHNob3VsZFBlcmZvcm1XYWtldXAoKSkKQEAgLTYyNiw3ICs2Mjgs
NyBAQCB2b2lkIFJlbW90ZVJlbmRlcmluZ0JhY2tlbmQ6OnJlc3VtZUZyb21QZW5kaW5nV2FrZXVw
SW5mb3JtYXRpb24oKQogewogICAgIGF1dG8gaXRlbUJ1ZmZlcklkZW50aWZpZXIgPSBtX3BlbmRp
bmdXYWtldXBJbmZvLT5pdGVtQnVmZmVySWRlbnRpZmllcjsKICAgICBhdXRvIG9mZnNldCA9IG1f
cGVuZGluZ1dha2V1cEluZm8tPm9mZnNldDsKLSAgICBRdWFsaWZpZWRSZW5kZXJpbmdSZXNvdXJj
ZUlkZW50aWZpZXIgZGVzdGluYXRpb25JbWFnZUJ1ZmZlcklkZW50aWZpZXIgeyBtX3BlbmRpbmdX
YWtldXBJbmZvLT5kZXN0aW5hdGlvbkltYWdlQnVmZmVySWRlbnRpZmllciwgbV9ncHVDb25uZWN0
aW9uVG9XZWJQcm9jZXNzLT53ZWJQcm9jZXNzSWRlbnRpZmllcigpIH07CisgICAgYXV0byBkZXN0
aW5hdGlvbkltYWdlQnVmZmVySWRlbnRpZmllciA9IG1fcGVuZGluZ1dha2V1cEluZm8tPmRlc3Rp
bmF0aW9uSW1hZ2VCdWZmZXJJZGVudGlmaWVyOwogICAgIGF1dG8gcmVhc29uID0gbV9wZW5kaW5n
V2FrZXVwSW5mby0+cmVhc29uOwogICAgIG1fcGVuZGluZ1dha2V1cEluZm8gPSBzdGQ6Om51bGxv
cHQ7CiAgICAgd2FrZVVwQW5kQXBwbHlEaXNwbGF5TGlzdFdpdGhRdWFsaWZpZWRJZGVudGlmaWVy
KGl0ZW1CdWZmZXJJZGVudGlmaWVyLCBvZmZzZXQsIGRlc3RpbmF0aW9uSW1hZ2VCdWZmZXJJZGVu
dGlmaWVyLCByZWFzb24pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dy
YXBoaWNzL1JlbW90ZVJlbmRlcmluZ0JhY2tlbmQuaCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vz
cy9ncmFwaGljcy9SZW1vdGVSZW5kZXJpbmdCYWNrZW5kLmgKaW5kZXggNjViNDRhYzUxYmU5NjA3
NTkxMjE1NzA2MTEyMjI1MWQwNzFhNzBjZS4uNDE5YWU2ZDE2ZjcyZDdkNTkzMTQxZmUyMjk2YWNm
ZTY5YTFjNTkwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNz
L1JlbW90ZVJlbmRlcmluZ0JhY2tlbmQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mv
Z3JhcGhpY3MvUmVtb3RlUmVuZGVyaW5nQmFja2VuZC5oCkBAIC04MiwxMCArODIsMTAgQEAgcHVi
bGljOgogICAgIGJvb2wgYXBwbHlNZWRpYUl0ZW0oV2ViQ29yZTo6RGlzcGxheUxpc3Q6Okl0ZW1I
YW5kbGUsIFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dCYpOwogCiAgICAgLy8gTWVzc2FnZXMgdG8g
YmUgc2VudC4KLSAgICB2b2lkIGRpZENyZWF0ZUltYWdlQnVmZmVyQmFja2VuZChJbWFnZUJ1ZmZl
ckJhY2tlbmRIYW5kbGUsIFdlYkNvcmU6OlJlbmRlcmluZ1Jlc291cmNlSWRlbnRpZmllcik7Ci0g
ICAgdm9pZCBkaWRGbHVzaChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHRGbHVzaElkZW50aWZpZXIs
IFdlYkNvcmU6OlJlbmRlcmluZ1Jlc291cmNlSWRlbnRpZmllcik7CisgICAgdm9pZCBkaWRDcmVh
dGVJbWFnZUJ1ZmZlckJhY2tlbmQoSW1hZ2VCdWZmZXJCYWNrZW5kSGFuZGxlLCBRdWFsaWZpZWRS
ZW5kZXJpbmdSZXNvdXJjZUlkZW50aWZpZXIpOworICAgIHZvaWQgZGlkRmx1c2goV2ViQ29yZTo6
R3JhcGhpY3NDb250ZXh0Rmx1c2hJZGVudGlmaWVyLCBRdWFsaWZpZWRSZW5kZXJpbmdSZXNvdXJj
ZUlkZW50aWZpZXIpOwogCi0gICAgdm9pZCBzZXROZXh0SXRlbUJ1ZmZlclRvUmVhZChXZWJDb3Jl
OjpEaXNwbGF5TGlzdDo6SXRlbUJ1ZmZlcklkZW50aWZpZXIsIFdlYkNvcmU6OlJlbmRlcmluZ1Jl
c291cmNlSWRlbnRpZmllciBkZXN0aW5hdGlvbik7CisgICAgdm9pZCBzZXROZXh0SXRlbUJ1ZmZl
clRvUmVhZChXZWJDb3JlOjpEaXNwbGF5TGlzdDo6SXRlbUJ1ZmZlcklkZW50aWZpZXIsIFF1YWxp
ZmllZFJlbmRlcmluZ1Jlc291cmNlSWRlbnRpZmllciBkZXN0aW5hdGlvbik7CiAKICAgICB2b2lk
IGRpZENyZWF0ZU1hc2tJbWFnZUJ1ZmZlcihXZWJDb3JlOjpJbWFnZUJ1ZmZlciYpOwogICAgIHZv
aWQgZGlkUmVzZXRNYXNrSW1hZ2VCdWZmZXIoKTsKQEAgLTExOCw3ICsxMTgsNyBAQCBwcml2YXRl
OgogICAgIH0KIAogICAgIFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpSZXBsYXlSZXN1bHQgc3VibWl0
KGNvbnN0IFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpEaXNwbGF5TGlzdCYsIFdlYkNvcmU6OkltYWdl
QnVmZmVyJiBkZXN0aW5hdGlvbik7Ci0gICAgUmVmUHRyPFdlYkNvcmU6OkltYWdlQnVmZmVyPiBu
ZXh0RGVzdGluYXRpb25JbWFnZUJ1ZmZlckFmdGVyQXBwbHlpbmdEaXNwbGF5TGlzdHMoV2ViQ29y
ZTo6SW1hZ2VCdWZmZXImIGluaXRpYWxEZXN0aW5hdGlvbiwgc2l6ZV90IGluaXRpYWxPZmZzZXQs
IERpc3BsYXlMaXN0UmVhZGVySGFuZGxlJiwgR1BVUHJvY2Vzc1dha2V1cFJlYXNvbik7CisgICAg
UmVmUHRyPFdlYkNvcmU6OkltYWdlQnVmZmVyPiBuZXh0RGVzdGluYXRpb25JbWFnZUJ1ZmZlckFm
dGVyQXBwbHlpbmdEaXNwbGF5TGlzdHMoV2ViQ29yZTo6SW1hZ2VCdWZmZXImIGluaXRpYWxEZXN0
aW5hdGlvbiwgc2l6ZV90IGluaXRpYWxPZmZzZXQsIERpc3BsYXlMaXN0UmVhZGVySGFuZGxlJiwg
R1BVUHJvY2Vzc1dha2V1cFJlYXNvbiwgV2ViQ29yZTo6UHJvY2Vzc0lkZW50aWZpZXIgd2ViUHJv
Y2Vzc0lkZW50aWZpZXIpOwogCiAgICAgc3RkOjpvcHRpb25hbDxTaGFyZWRNZW1vcnk6OklQQ0hh
bmRsZT4gdXBkYXRlU2hhcmVkTWVtb3J5Rm9yR2V0UGl4ZWxCdWZmZXJIZWxwZXIoc2l6ZV90IGJ5
dGVDb3VudCk7CiAgICAgdm9pZCB1cGRhdGVSZW5kZXJpbmdSZXNvdXJjZVJlcXVlc3QoKTsKQEAg
LTE4MCwxMiArMTgwLDEyIEBAIHByaXZhdGU6CiAgICAgc3RydWN0IFBlbmRpbmdXYWtldXBJbmZv
cm1hdGlvbiB7CiAgICAgICAgIFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpJdGVtQnVmZmVySWRlbnRp
ZmllciBpdGVtQnVmZmVySWRlbnRpZmllcjsKICAgICAgICAgdWludDY0X3Qgb2Zmc2V0IHsgMCB9
OwotICAgICAgICBXZWJDb3JlOjpSZW5kZXJpbmdSZXNvdXJjZUlkZW50aWZpZXIgZGVzdGluYXRp
b25JbWFnZUJ1ZmZlcklkZW50aWZpZXI7CisgICAgICAgIFF1YWxpZmllZFJlbmRlcmluZ1Jlc291
cmNlSWRlbnRpZmllciBkZXN0aW5hdGlvbkltYWdlQnVmZmVySWRlbnRpZmllcjsKICAgICAgICAg
R1BVUHJvY2Vzc1dha2V1cFJlYXNvbiByZWFzb24geyBHUFVQcm9jZXNzV2FrZXVwUmVhc29uOjpV
bnNwZWNpZmllZCB9OwotICAgICAgICBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlJlbmRlcmluZ1Jl
c291cmNlSWRlbnRpZmllcj4gbWlzc2luZ0NhY2hlZFJlc291cmNlSWRlbnRpZmllcjsKKyAgICAg
ICAgc3RkOjpvcHRpb25hbDxRdWFsaWZpZWRSZW5kZXJpbmdSZXNvdXJjZUlkZW50aWZpZXI+IG1p
c3NpbmdDYWNoZWRSZXNvdXJjZUlkZW50aWZpZXI7CiAgICAgICAgIFJlbW90ZVJlbmRlcmluZ0Jh
Y2tlbmRTdGF0ZSBzdGF0ZSB7IFJlbW90ZVJlbmRlcmluZ0JhY2tlbmRTdGF0ZTo6SW5pdGlhbGl6
ZWQgfTsKIAotICAgICAgICBib29sIHNob3VsZFBlcmZvcm1XYWtldXAoV2ViQ29yZTo6UmVuZGVy
aW5nUmVzb3VyY2VJZGVudGlmaWVyIGlkZW50aWZpZXIpIGNvbnN0CisgICAgICAgIGJvb2wgc2hv
dWxkUGVyZm9ybVdha2V1cChRdWFsaWZpZWRSZW5kZXJpbmdSZXNvdXJjZUlkZW50aWZpZXIgaWRl
bnRpZmllcikgY29uc3QKICAgICAgICAgewogICAgICAgICAgICAgcmV0dXJuIGRlc3RpbmF0aW9u
SW1hZ2VCdWZmZXJJZGVudGlmaWVyID09IGlkZW50aWZpZXIKICAgICAgICAgICAgICAgICB8fCBt
aXNzaW5nQ2FjaGVkUmVzb3VyY2VJZGVudGlmaWVyID09IGlkZW50aWZpZXI7Cg==
</data>
<flag name="review"
          id="464647"
          type_id="1"
          status="+"
          setter="wenson_hsieh"
    />
          </attachment>
      

    </bug>

</bugzilla>