<?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>163268</bug_id>
          
          <creation_ts>2016-10-10 21:51:20 -0700</creation_ts>
          <short_desc>Annotate DOM API with CEReactions</short_desc>
          <delta_ts>2016-10-11 15:10:26 -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>DOM</component>
          <version>Safari Technology Preview</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>154907</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Ryosuke Niwa">rniwa</reporter>
          <assigned_to name="Ryosuke Niwa">rniwa</assigned_to>
          <cc>cdumez</cc>
    
    <cc>cgarcia</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kangil.han</cc>
    
    <cc>koivisto</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1238730</commentid>
    <comment_count>0</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2016-10-10 21:51:20 -0700</bug_when>
    <thetext>Add CEReactions IDL attribute to APIs defined in https://dom.spec.whatwg.org</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1238734</commentid>
    <comment_count>1</comment_count>
      <attachid>291229</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2016-10-10 22:06:32 -0700</bug_when>
    <thetext>Created attachment 291229
Adds the IDL attribute</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1238735</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2016-10-10 22:16:44 -0700</bug_when>
    <thetext>&lt;rdar://problem/28708977&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1238773</commentid>
    <comment_count>3</comment_count>
      <attachid>291229</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2016-10-10 23:54:24 -0700</bug_when>
    <thetext>Comment on attachment 291229
Adds the IDL attribute

View in context: https://bugs.webkit.org/attachment.cgi?id=291229&amp;action=review

&gt; Source/WebCore/dom/NamedNodeMap.idl:30
&gt; +    [MayThrowLegacyException, CEReactions] Attr removeNamedItem(DOMString name);

Should figure out what order we want these extended attributes. I was thinking maybe alphabetical.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1238774</commentid>
    <comment_count>4</comment_count>
      <attachid>291229</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2016-10-10 23:57:09 -0700</bug_when>
    <thetext>Comment on attachment 291229
Adds the IDL attribute

View in context: https://bugs.webkit.org/attachment.cgi?id=291229&amp;action=review

&gt;&gt; Source/WebCore/dom/NamedNodeMap.idl:30
&gt;&gt; +    [MayThrowLegacyException, CEReactions] Attr removeNamedItem(DOMString name);
&gt; 
&gt; Should figure out what order we want these extended attributes. I was thinking maybe alphabetical.

Hopefully MayThrowLegacyException is going away but alphabetical ordering makes sense.
We should probably add that to the style checker...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1239036</commentid>
    <comment_count>5</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2016-10-11 15:10:26 -0700</bug_when>
    <thetext>Committed r207170: &lt;http://trac.webkit.org/changeset/207170&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>291229</attachid>
            <date>2016-10-10 22:06:32 -0700</date>
            <delta_ts>2016-10-10 23:54:24 -0700</delta_ts>
            <desc>Adds the IDL attribute</desc>
            <filename>bug-163268-20161010220310.patch</filename>
            <type>text/plain</type>
            <size>89589</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA3MDI5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGQ4YTIxYmE4OWQyYmIz
MDI0MmVkYzRiNzkzYjlhNDNjMDQwYjY5My4uMjZkNTI3YTY4NDRiYzQ5Y2M2NzNkYjkzMDQyMTAz
MWMyMmY2ZGM5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDE2LTEwLTEwICBSeW9z
dWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIEFubm90YXRlIERPTSBBUEkg
d2l0aCBDRVJlYWN0aW9ucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTYzMjY4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgQWRkZWQgQ0VSZWFjdGlvbnMgSURMIGF0dHJpYnV0ZSB0byBBUElzIGRlZmluZWQg
aW4gaHR0cHM6Ly9kb20uc3BlYy53aGF0d2cub3JnLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyBz
aW5jZSBleGlzdGluZyB0ZXN0cyBjb3ZlciB0aGUgY29kZSBjaGFuZ2UuCisgICAgICAgIEFkZGVk
IGEgZGVkaWNhdGVkIGNvZGUgZ2VuZXJhdGlvbiB0ZXN0OiBKU1Rlc3RDRVJlYWN0aW9ucy5pZGwg
YW5kIFRlc3RDRVJlYWN0aW9uc1N0cmluZ2lmaWVyLmlkbC4KKworICAgICAgICAqIGJpbmRpbmdz
L3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtOgorICAgICAgICAoR2VuZXJhdGVJbXBsZW1lbnRh
dGlvbik6IEdlbmVyYXRlIEN1c3RvbUVsZW1lbnRSZWFjdGlvblN0YWNrIGluIGF0dHJpYnV0ZSBz
ZXR0ZXJzLiBJbiB0aGUgY2FzZSBvZiBQdXRGb3J3YXJkcywKKyAgICAgICAgY2hlY2sgdGhlIGV4
dGVuZGVkIGF0dHJpYnV0ZXMgb2YgdGhlIHRhcmdldCBhdHRyaWJ1dGUncyBzdHJpbmdpZmllci4K
KyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q0VSZWFjdGlvbnMuY3Bw
OiBBZGRlZC4KKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q0VSZWFj
dGlvbnMuaDogQWRkZWQuCisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dENFUmVhY3Rpb25zU3RyaW5naWZpZXIuY3BwOiBBZGRlZC4KKyAgICAgICAgKiBiaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q0VSZWFjdGlvbnNTdHJpbmdpZmllci5oOiBBZGRlZC4KKyAg
ICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OmpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uTWV0aG9kV2l0aE5lZWRzQ3VzdG9t
RWxlbWVudFJlYWN0aW9uU3RhY2spOiBEZWxldGVkLgorICAgICAgICAqIGJpbmRpbmdzL3Njcmlw
dHMvdGVzdC9UZXN0Q0VSZWFjdGlvbnMuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBiaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvVGVzdENFUmVhY3Rpb25zU3RyaW5naWZpZXIuaWRsOiBBZGRlZC4KKyAgICAg
ICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdE9iai5pZGw6CisgICAgICAgICogZG9tL0F0
dHIuaWRsOgorICAgICAgICAqIGRvbS9DaGlsZE5vZGUuaWRsOgorICAgICAgICAqIGRvbS9Eb2N1
bWVudC5pZGw6CisgICAgICAgICogZG9tL0VsZW1lbnQuaWRsOgorICAgICAgICAqIGRvbS9OYW1l
ZE5vZGVNYXAuaWRsOgorICAgICAgICAqIGRvbS9Ob2RlLmlkbDoKKyAgICAgICAgKiBkb20vUGFy
ZW50Tm9kZS5pZGw6CisgICAgICAgICogZG9tL1JhbmdlLmlkbDoKKyAgICAgICAgKiBodG1sL0RP
TVRva2VuTGlzdC5pZGw6CisKIDIwMTYtMTAtMTAgIEJyZW50IEZ1bGdoYW0gIDxiZnVsZ2hhbUBh
cHBsZS5jb20+CiAKICAgICAgICAgW1dpbl1bRGlyZWN0MkRdIENvcnJlY3QgUmFkaWFsIEdyYWlk
ZW50IEJ1ZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2Rl
R2VuZXJhdG9ySlMucG0gYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5l
cmF0b3JKUy5wbQppbmRleCAwNDkxOGY5NmU5YTNmOTY4MGM3NDE4NDhkNDQ1MTI1NTk0YTZlYzY4
Li42M2I2MmI0Y2QwYTU3ODRmYmYxOWMxZGQ4MGY1MmZmZTE0NGI3NDNmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQorKysgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQpAQCAtMzI5
MSw2ICszMjkxLDEzIEBAIHN1YiBHZW5lcmF0ZUltcGxlbWVudGF0aW9uCiAgICAgICAgICAgICAg
ICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgVU5VU0VEX1BBUkFNKHN0YXRlKTtcbiIpOwogICAg
ICAgICAgICAgfQogCisgICAgICAgICAgICBpZiAoJGF0dHJpYnV0ZS0+c2lnbmF0dXJlLT5leHRl
bmRlZEF0dHJpYnV0ZXMtPntDRVJlYWN0aW9uc30pIHsKKyAgICAgICAgICAgICAgICBwdXNoKEBp
bXBsQ29udGVudCwgIiNpZiBFTkFCTEUoQ1VTVE9NX0VMRU1FTlRTKVxuIik7CisgICAgICAgICAg
ICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgQ3VzdG9tRWxlbWVudFJlYWN0aW9uU3RhY2sg
Y3VzdG9tRWxlbWVudFJlYWN0aW9uU3RhY2s7XG4iKTsKKyAgICAgICAgICAgICAgICBwdXNoKEBp
bXBsQ29udGVudCwgIiNlbmRpZlxuIik7CisgICAgICAgICAgICAgICAgJGltcGxJbmNsdWRlc3si
Q3VzdG9tRWxlbWVudFJlYWN0aW9uUXVldWUuaCJ9ID0gMTsKKyAgICAgICAgICAgIH0KKwogICAg
ICAgICAgICAgaWYgKCRpbnRlcmZhY2UtPmV4dGVuZGVkQXR0cmlidXRlcy0+e0NoZWNrU2VjdXJp
dHl9ICYmICEkYXR0cmlidXRlLT5zaWduYXR1cmUtPmV4dGVuZGVkQXR0cmlidXRlcy0+e0RvTm90
Q2hlY2tTZWN1cml0eX0gJiYgISRhdHRyaWJ1dGUtPnNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1
dGVzLT57RG9Ob3RDaGVja1NlY3VyaXR5T25TZXR0ZXJ9KSB7CiAgICAgICAgICAgICAgICAgaWYg
KCRpbnRlcmZhY2VOYW1lIGVxICJET01XaW5kb3ciKSB7CiAgICAgICAgICAgICAgICAgICAgIHB1
c2goQGltcGxDb250ZW50LCAiICAgIGlmICghQmluZGluZ1NlY3VyaXR5OjpzaG91bGRBbGxvd0Fj
Y2Vzc1RvRE9NV2luZG93KHN0YXRlLCBjYXN0ZWRUaGlzLT53cmFwcGVkKCksIFRocm93U2VjdXJp
dHlFcnJvcikpXG4iKTsKQEAgLTMzNDEsNiArMzM0OCwxNSBAQCBzdWIgR2VuZXJhdGVJbXBsZW1l
bnRhdGlvbgogICAgICAgICAgICAgICAgICAgICBteSAkcHV0Rm9yd2FyZHMgPSAkYXR0cmlidXRl
LT5zaWduYXR1cmUtPmV4dGVuZGVkQXR0cmlidXRlcy0+e1B1dEZvcndhcmRzfTsKICAgICAgICAg
ICAgICAgICAgICAgaWYgKCRwdXRGb3J3YXJkcykgewogICAgICAgICAgICAgICAgICAgICAgICAg
bXkgJGltcGxHZXR0ZXJGdW5jdGlvbk5hbWUgPSAkY29kZUdlbmVyYXRvci0+V0tfbGNmaXJzdCgk
YXR0cmlidXRlLT5zaWduYXR1cmUtPmV4dGVuZGVkQXR0cmlidXRlcy0+e0ltcGxlbWVudGVkQXN9
IHx8ICRuYW1lKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIG15ICRmb3J3YXJkZWRBdHRyaWJ1
dGUgPSAkY29kZUdlbmVyYXRvci0+R2V0QXR0cmlidXRlRnJvbUludGVyZmFjZSgkaW50ZXJmYWNl
LCAkdHlwZSwgJHB1dEZvcndhcmRzKTsKKworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRm
b3J3YXJkZWRBdHRyaWJ1dGUtPnNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57Q0VSZWFj
dGlvbnN9KSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQs
ICIjaWYgRU5BQkxFKENVU1RPTV9FTEVNRU5UUylcbiIpOworICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIEN1c3RvbUVsZW1lbnRSZWFjdGlvblN0YWNr
IGN1c3RvbUVsZW1lbnRSZWFjdGlvblN0YWNrO1xuIik7CisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIjZW5kaWZcbiIpOworICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICRpbXBsSW5jbHVkZXN7IkN1c3RvbUVsZW1lbnRSZWFjdGlvblF1ZXVlLmgifSA9
IDE7CisgICAgICAgICAgICAgICAgICAgICAgICB9CisKICAgICAgICAgICAgICAgICAgICAgICAg
IGlmICgkYXR0cmlidXRlLT5zaWduYXR1cmUtPmlzTnVsbGFibGUpIHsKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICBSZWZQdHI8JHt0eXBlfT4gZm9y
d2FyZGVkSW1wbCA9IGNhc3RlZFRoaXMtPndyYXBwZWQoKS4ke2ltcGxHZXR0ZXJGdW5jdGlvbk5h
bWV9KCk7XG4iKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVu
dCwgIiAgICBpZiAoIWZvcndhcmRlZEltcGwpXG4iKTsKQEAgLTMzNTEsNyArMzM2Nyw3IEBAIHN1
YiBHZW5lcmF0ZUltcGxlbWVudGF0aW9uCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHVz
aChAaW1wbENvbnRlbnQsICIgICAgUmVmPCR7dHlwZX0+IGZvcndhcmRlZEltcGwgPSBjYXN0ZWRU
aGlzLT53cmFwcGVkKCkuJHtpbXBsR2V0dGVyRnVuY3Rpb25OYW1lfSgpO1xuIik7CiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgYXV0byYgaW1wbCA9
IGZvcndhcmRlZEltcGwuZ2V0KCk7XG4iKTsKICAgICAgICAgICAgICAgICAgICAgICAgIH0KLSAg
ICAgICAgICAgICAgICAgICAgICAgICRhdHRyaWJ1dGUgPSAkY29kZUdlbmVyYXRvci0+R2V0QXR0
cmlidXRlRnJvbUludGVyZmFjZSgkaW50ZXJmYWNlLCAkdHlwZSwgJHB1dEZvcndhcmRzKTsKKyAg
ICAgICAgICAgICAgICAgICAgICAgICRhdHRyaWJ1dGUgPSAkZm9yd2FyZGVkQXR0cmlidXRlOwog
ICAgICAgICAgICAgICAgICAgICAgICAgJHR5cGUgPSAkYXR0cmlidXRlLT5zaWduYXR1cmUtPnR5
cGU7CiAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAg
ICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICBhdXRvJiBpbXBsID0gY2FzdGVkVGhpcy0+d3JhcHBl
ZCgpO1xuIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0Q0VSZWFjdGlvbnMuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdENFUmVhY3Rpb25zLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45MDg1ZDNkYjkz
ZjI2M2Y4ZmUyODQ5NjUxYzYxMjRlNTA4ZjIyY2ExCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdENFUmVhY3Rpb25zLmNwcApA
QCAtMCwwICsxLDM2NSBAQAorLyoKKyAgICBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgV2ViS2l0
IG9wZW4gc291cmNlIHByb2plY3QuCisgICAgVGhpcyBmaWxlIGhhcyBiZWVuIGdlbmVyYXRlZCBi
eSBnZW5lcmF0ZS1iaW5kaW5ncy5wbC4gRE8gTk9UIE1PRElGWSEKKworICAgIFRoaXMgbGlicmFy
eSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAgICBt
b2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1Ymxp
YworICAgIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp
b247IGVpdGhlcgorICAgIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0
aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKworICAgIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRl
ZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICAgIGJ1dCBXSVRIT1VUIEFO
WSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgICAgTUVS
Q0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRo
ZSBHTlUKKyAgICBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWls
cy4KKworICAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJy
YXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAgICBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsg
c2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICAgIHRoZSBGcmVl
IFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxv
b3IsCisgICAgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisqLworCisjaW5jbHVkZSAiY29u
ZmlnLmgiCisjaW5jbHVkZSAiSlNUZXN0Q0VSZWFjdGlvbnMuaCIKKworI2luY2x1ZGUgIkN1c3Rv
bUVsZW1lbnRSZWFjdGlvblF1ZXVlLmgiCisjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgorI2lu
Y2x1ZGUgIkhUTUxOYW1lcy5oIgorI2luY2x1ZGUgIkpTRE9NQmluZGluZy5oIgorI2luY2x1ZGUg
IkpTRE9NQ29uc3RydWN0b3IuaCIKKyNpbmNsdWRlICJKU1Rlc3RDRVJlYWN0aW9uc1N0cmluZ2lm
aWVyLmgiCisjaW5jbHVkZSAiVVJMLmgiCisjaW5jbHVkZSA8cnVudGltZS9FcnJvci5oPgorI2lu
Y2x1ZGUgPHJ1bnRpbWUvRnVuY3Rpb25Qcm90b3R5cGUuaD4KKyNpbmNsdWRlIDxydW50aW1lL0pT
U3RyaW5nLmg+CisjaW5jbHVkZSA8d3RmL0dldFB0ci5oPgorCit1c2luZyBuYW1lc3BhY2UgSlND
OworCituYW1lc3BhY2UgV2ViQ29yZSB7CisKKy8vIEZ1bmN0aW9ucworCitKU0M6OkVuY29kZWRK
U1ZhbHVlIEpTQ19IT1NUX0NBTEwganNUZXN0Q0VSZWFjdGlvbnNQcm90b3R5cGVGdW5jdGlvbk1l
dGhvZFdpdGhDRVJlYWN0aW9ucyhKU0M6OkV4ZWNTdGF0ZSopOworCisvLyBBdHRyaWJ1dGVzCisK
K0pTQzo6RW5jb2RlZEpTVmFsdWUganNUZXN0Q0VSZWFjdGlvbnNBdHRyaWJ1dGVXaXRoQ0VSZWFj
dGlvbnMoSlNDOjpFeGVjU3RhdGUqLCBKU0M6OkVuY29kZWRKU1ZhbHVlLCBKU0M6OlByb3BlcnR5
TmFtZSk7Citib29sIHNldEpTVGVzdENFUmVhY3Rpb25zQXR0cmlidXRlV2l0aENFUmVhY3Rpb25z
KEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpFbmNvZGVkSlNWYWx1ZSwgSlNDOjpFbmNvZGVkSlNWYWx1
ZSk7CitKU0M6OkVuY29kZWRKU1ZhbHVlIGpzVGVzdENFUmVhY3Rpb25zUmVmbGVjdEF0dHJpYnV0
ZVdpdGhDRVJlYWN0aW9ucyhKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6RW5jb2RlZEpTVmFsdWUsIEpT
Qzo6UHJvcGVydHlOYW1lKTsKK2Jvb2wgc2V0SlNUZXN0Q0VSZWFjdGlvbnNSZWZsZWN0QXR0cmli
dXRlV2l0aENFUmVhY3Rpb25zKEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpFbmNvZGVkSlNWYWx1ZSwg
SlNDOjpFbmNvZGVkSlNWYWx1ZSk7CitKU0M6OkVuY29kZWRKU1ZhbHVlIGpzVGVzdENFUmVhY3Rp
b25zU3RyaW5naWZpZXJBdHRyaWJ1dGUoSlNDOjpFeGVjU3RhdGUqLCBKU0M6OkVuY29kZWRKU1Zh
bHVlLCBKU0M6OlByb3BlcnR5TmFtZSk7Citib29sIHNldEpTVGVzdENFUmVhY3Rpb25zU3RyaW5n
aWZpZXJBdHRyaWJ1dGUoSlNDOjpFeGVjU3RhdGUqLCBKU0M6OkVuY29kZWRKU1ZhbHVlLCBKU0M6
OkVuY29kZWRKU1ZhbHVlKTsKK0pTQzo6RW5jb2RlZEpTVmFsdWUganNUZXN0Q0VSZWFjdGlvbnND
b25zdHJ1Y3RvcihKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6RW5jb2RlZEpTVmFsdWUsIEpTQzo6UHJv
cGVydHlOYW1lKTsKK2Jvb2wgc2V0SlNUZXN0Q0VSZWFjdGlvbnNDb25zdHJ1Y3RvcihKU0M6OkV4
ZWNTdGF0ZSosIEpTQzo6RW5jb2RlZEpTVmFsdWUsIEpTQzo6RW5jb2RlZEpTVmFsdWUpOworCitj
bGFzcyBKU1Rlc3RDRVJlYWN0aW9uc1Byb3RvdHlwZSA6IHB1YmxpYyBKU0M6OkpTTm9uRmluYWxP
YmplY3QgeworcHVibGljOgorICAgIHVzaW5nIEJhc2UgPSBKU0M6OkpTTm9uRmluYWxPYmplY3Q7
CisgICAgc3RhdGljIEpTVGVzdENFUmVhY3Rpb25zUHJvdG90eXBlKiBjcmVhdGUoSlNDOjpWTSYg
dm0sIEpTQzo6SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDOjpTdHJ1Y3R1cmUqIHN0
cnVjdHVyZSkKKyAgICB7CisgICAgICAgIEpTVGVzdENFUmVhY3Rpb25zUHJvdG90eXBlKiBwdHIg
PSBuZXcgKE5vdE51bGwsIEpTQzo6YWxsb2NhdGVDZWxsPEpTVGVzdENFUmVhY3Rpb25zUHJvdG90
eXBlPih2bS5oZWFwKSkgSlNUZXN0Q0VSZWFjdGlvbnNQcm90b3R5cGUodm0sIGdsb2JhbE9iamVj
dCwgc3RydWN0dXJlKTsKKyAgICAgICAgcHRyLT5maW5pc2hDcmVhdGlvbih2bSk7CisgICAgICAg
IHJldHVybiBwdHI7CisgICAgfQorCisgICAgREVDTEFSRV9JTkZPOworICAgIHN0YXRpYyBKU0M6
OlN0cnVjdHVyZSogY3JlYXRlU3RydWN0dXJlKEpTQzo6Vk0mIHZtLCBKU0M6OkpTR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QsIEpTQzo6SlNWYWx1ZSBwcm90b3R5cGUpCisgICAgeworICAgICAg
ICByZXR1cm4gSlNDOjpTdHJ1Y3R1cmU6OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5
cGUsIEpTQzo6VHlwZUluZm8oSlNDOjpPYmplY3RUeXBlLCBTdHJ1Y3R1cmVGbGFncyksIGluZm8o
KSk7CisgICAgfQorCitwcml2YXRlOgorICAgIEpTVGVzdENFUmVhY3Rpb25zUHJvdG90eXBlKEpT
Qzo6Vk0mIHZtLCBKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpTdHJ1Y3R1cmUqIHN0cnVjdHVy
ZSkKKyAgICAgICAgOiBKU0M6OkpTTm9uRmluYWxPYmplY3Qodm0sIHN0cnVjdHVyZSkKKyAgICB7
CisgICAgfQorCisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihKU0M6OlZNJik7Cit9OworCit1c2lu
ZyBKU1Rlc3RDRVJlYWN0aW9uc0NvbnN0cnVjdG9yID0gSlNET01Db25zdHJ1Y3Rvck5vdENvbnN0
cnVjdGFibGU8SlNUZXN0Q0VSZWFjdGlvbnM+OworCit0ZW1wbGF0ZTw+IEpTVmFsdWUgSlNUZXN0
Q0VSZWFjdGlvbnNDb25zdHJ1Y3Rvcjo6cHJvdG90eXBlRm9yU3RydWN0dXJlKEpTQzo6Vk0mIHZt
LCBjb25zdCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0KQoreworICAgIFVOVVNFRF9Q
QVJBTSh2bSk7CisgICAgcmV0dXJuIGdsb2JhbE9iamVjdC5mdW5jdGlvblByb3RvdHlwZSgpOwor
fQorCit0ZW1wbGF0ZTw+IHZvaWQgSlNUZXN0Q0VSZWFjdGlvbnNDb25zdHJ1Y3Rvcjo6aW5pdGlh
bGl6ZVByb3BlcnRpZXMoVk0mIHZtLCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0KQor
eworICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBlLCBKU1Rlc3RD
RVJlYWN0aW9uczo6cHJvdG90eXBlKHZtLCAmZ2xvYmFsT2JqZWN0KSwgRG9udERlbGV0ZSB8IFJl
YWRPbmx5IHwgRG9udEVudW0pOworICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+
bmFtZSwganNOb250cml2aWFsU3RyaW5nKCZ2bSwgU3RyaW5nKEFTQ0lJTGl0ZXJhbCgiVGVzdENF
UmVhY3Rpb25zIikpKSwgUmVhZE9ubHkgfCBEb250RW51bSk7CisgICAgcHV0RGlyZWN0KHZtLCB2
bS5wcm9wZXJ0eU5hbWVzLT5sZW5ndGgsIGpzTnVtYmVyKDApLCBSZWFkT25seSB8IERvbnRFbnVt
KTsKK30KKwordGVtcGxhdGU8PiBjb25zdCBDbGFzc0luZm8gSlNUZXN0Q0VSZWFjdGlvbnNDb25z
dHJ1Y3Rvcjo6c19pbmZvID0geyAiVGVzdENFUmVhY3Rpb25zIiwgJkJhc2U6OnNfaW5mbywgMCwg
Q1JFQVRFX01FVEhPRF9UQUJMRShKU1Rlc3RDRVJlYWN0aW9uc0NvbnN0cnVjdG9yKSB9OworCisv
KiBIYXNoIHRhYmxlIGZvciBwcm90b3R5cGUgKi8KKworc3RhdGljIGNvbnN0IEhhc2hUYWJsZVZh
bHVlIEpTVGVzdENFUmVhY3Rpb25zUHJvdG90eXBlVGFibGVWYWx1ZXNbXSA9Cit7CisgICAgeyAi
Y29uc3RydWN0b3IiLCBEb250RW51bSwgTm9JbnRyaW5zaWMsIHsgKGludHB0cl90KXN0YXRpY19j
YXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RDRVJlYWN0aW9uc0NvbnN0cnVj
dG9yKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVu
Yz4oc2V0SlNUZXN0Q0VSZWFjdGlvbnNDb25zdHJ1Y3RvcikgfSB9LAorICAgIHsgImF0dHJpYnV0
ZVdpdGhDRVJlYWN0aW9ucyIsIEN1c3RvbUFjY2Vzc29yLCBOb0ludHJpbnNpYywgeyAoaW50cHRy
X3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdENFUmVhY3Rp
b25zQXR0cmlidXRlV2l0aENFUmVhY3Rpb25zKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQ
cm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oc2V0SlNUZXN0Q0VSZWFjdGlvbnNBdHRyaWJ1dGVX
aXRoQ0VSZWFjdGlvbnMpIH0gfSwKKyAgICB7ICJyZWZsZWN0QXR0cmlidXRlV2l0aENFUmVhY3Rp
b25zIiwgQ3VzdG9tQWNjZXNzb3IsIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2Fz
dDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0Q0VSZWFjdGlvbnNSZWZsZWN0QXR0
cmlidXRlV2l0aENFUmVhY3Rpb25zKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0
eVNsb3Q6OlB1dFZhbHVlRnVuYz4oc2V0SlNUZXN0Q0VSZWFjdGlvbnNSZWZsZWN0QXR0cmlidXRl
V2l0aENFUmVhY3Rpb25zKSB9IH0sCisgICAgeyAic3RyaW5naWZpZXJBdHRyaWJ1dGUiLCBDdXN0
b21BY2Nlc3NvciwgTm9JbnRyaW5zaWMsIHsgKGludHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5
U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RDRVJlYWN0aW9uc1N0cmluZ2lmaWVyQXR0cmlidXRl
KSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4o
c2V0SlNUZXN0Q0VSZWFjdGlvbnNTdHJpbmdpZmllckF0dHJpYnV0ZSkgfSB9LAorICAgIHsgIm1l
dGhvZFdpdGhDRVJlYWN0aW9ucyIsIEpTQzo6RnVuY3Rpb24sIE5vSW50cmluc2ljLCB7IChpbnRw
dHJfdClzdGF0aWNfY2FzdDxOYXRpdmVGdW5jdGlvbj4oanNUZXN0Q0VSZWFjdGlvbnNQcm90b3R5
cGVGdW5jdGlvbk1ldGhvZFdpdGhDRVJlYWN0aW9ucyksIChpbnRwdHJfdCkgKDApIH0gfSwKK307
CisKK2NvbnN0IENsYXNzSW5mbyBKU1Rlc3RDRVJlYWN0aW9uc1Byb3RvdHlwZTo6c19pbmZvID0g
eyAiVGVzdENFUmVhY3Rpb25zUHJvdG90eXBlIiwgJkJhc2U6OnNfaW5mbywgMCwgQ1JFQVRFX01F
VEhPRF9UQUJMRShKU1Rlc3RDRVJlYWN0aW9uc1Byb3RvdHlwZSkgfTsKKwordm9pZCBKU1Rlc3RD
RVJlYWN0aW9uc1Byb3RvdHlwZTo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtKQoreworICAgIEJhc2U6
OmZpbmlzaENyZWF0aW9uKHZtKTsKKyAgICByZWlmeVN0YXRpY1Byb3BlcnRpZXModm0sIEpTVGVz
dENFUmVhY3Rpb25zUHJvdG90eXBlVGFibGVWYWx1ZXMsICp0aGlzKTsKK30KKworY29uc3QgQ2xh
c3NJbmZvIEpTVGVzdENFUmVhY3Rpb25zOjpzX2luZm8gPSB7ICJUZXN0Q0VSZWFjdGlvbnMiLCAm
QmFzZTo6c19pbmZvLCAwLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEpTVGVzdENFUmVhY3Rpb25zKSB9
OworCitKU1Rlc3RDRVJlYWN0aW9uczo6SlNUZXN0Q0VSZWFjdGlvbnMoU3RydWN0dXJlKiBzdHJ1
Y3R1cmUsIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QsIFJlZjxUZXN0Q0VSZWFjdGlv
bnM+JiYgaW1wbCkKKyAgICA6IEpTRE9NV3JhcHBlcjxUZXN0Q0VSZWFjdGlvbnM+KHN0cnVjdHVy
ZSwgZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKGltcGwpKQoreworfQorCitKU09iamVjdCogSlNUZXN0
Q0VSZWFjdGlvbnM6OmNyZWF0ZVByb3RvdHlwZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9i
YWxPYmplY3QpCit7CisgICAgcmV0dXJuIEpTVGVzdENFUmVhY3Rpb25zUHJvdG90eXBlOjpjcmVh
dGUodm0sIGdsb2JhbE9iamVjdCwgSlNUZXN0Q0VSZWFjdGlvbnNQcm90b3R5cGU6OmNyZWF0ZVN0
cnVjdHVyZSh2bSwgZ2xvYmFsT2JqZWN0LCBnbG9iYWxPYmplY3QtPm9iamVjdFByb3RvdHlwZSgp
KSk7Cit9CisKK0pTT2JqZWN0KiBKU1Rlc3RDRVJlYWN0aW9uczo6cHJvdG90eXBlKFZNJiB2bSwg
SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKK3sKKyAgICByZXR1cm4gZ2V0RE9NUHJvdG90
eXBlPEpTVGVzdENFUmVhY3Rpb25zPih2bSwgZ2xvYmFsT2JqZWN0KTsKK30KKwordm9pZCBKU1Rl
c3RDRVJlYWN0aW9uczo6ZGVzdHJveShKU0M6OkpTQ2VsbCogY2VsbCkKK3sKKyAgICBKU1Rlc3RD
RVJlYWN0aW9ucyogdGhpc09iamVjdCA9IHN0YXRpY19jYXN0PEpTVGVzdENFUmVhY3Rpb25zKj4o
Y2VsbCk7CisgICAgdGhpc09iamVjdC0+SlNUZXN0Q0VSZWFjdGlvbnM6On5KU1Rlc3RDRVJlYWN0
aW9ucygpOworfQorCitpbmxpbmUgSlNUZXN0Q0VSZWFjdGlvbnMqIEpTVGVzdENFUmVhY3Rpb25z
OjpjYXN0Rm9yQXR0cmlidXRlKEpTQzo6RXhlY1N0YXRlKiwgRW5jb2RlZEpTVmFsdWUgdGhpc1Zh
bHVlKQoreworICAgIHJldHVybiBqc0R5bmFtaWNDYXN0PEpTVGVzdENFUmVhY3Rpb25zKj4oSlNW
YWx1ZTo6ZGVjb2RlKHRoaXNWYWx1ZSkpOworfQorCitzdGF0aWMgaW5saW5lIEpTVmFsdWUganNU
ZXN0Q0VSZWFjdGlvbnNBdHRyaWJ1dGVXaXRoQ0VSZWFjdGlvbnNHZXR0ZXIoRXhlY1N0YXRlJiwg
SlNUZXN0Q0VSZWFjdGlvbnMmLCBUaHJvd1Njb3BlJiB0aHJvd1Njb3BlKTsKKworRW5jb2RlZEpT
VmFsdWUganNUZXN0Q0VSZWFjdGlvbnNBdHRyaWJ1dGVXaXRoQ0VSZWFjdGlvbnMoRXhlY1N0YXRl
KiBzdGF0ZSwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBQcm9wZXJ0eU5hbWUpCit7CisgICAg
cmV0dXJuIEJpbmRpbmdDYWxsZXI8SlNUZXN0Q0VSZWFjdGlvbnM+OjphdHRyaWJ1dGU8anNUZXN0
Q0VSZWFjdGlvbnNBdHRyaWJ1dGVXaXRoQ0VSZWFjdGlvbnNHZXR0ZXI+KHN0YXRlLCB0aGlzVmFs
dWUsICJhdHRyaWJ1dGVXaXRoQ0VSZWFjdGlvbnMiKTsKK30KKworc3RhdGljIGlubGluZSBKU1Zh
bHVlIGpzVGVzdENFUmVhY3Rpb25zQXR0cmlidXRlV2l0aENFUmVhY3Rpb25zR2V0dGVyKEV4ZWNT
dGF0ZSYgc3RhdGUsIEpTVGVzdENFUmVhY3Rpb25zJiB0aGlzT2JqZWN0LCBUaHJvd1Njb3BlJiB0
aHJvd1Njb3BlKQoreworICAgIFVOVVNFRF9QQVJBTSh0aHJvd1Njb3BlKTsKKyAgICBVTlVTRURf
UEFSQU0oc3RhdGUpOworICAgIGF1dG8mIGltcGwgPSB0aGlzT2JqZWN0LndyYXBwZWQoKTsKKyAg
ICBKU1ZhbHVlIHJlc3VsdCA9IGpzU3RyaW5nV2l0aENhY2hlKCZzdGF0ZSwgaW1wbC5hdHRyaWJ1
dGVXaXRoQ0VSZWFjdGlvbnMoKSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KKworc3RhdGljIGlu
bGluZSBKU1ZhbHVlIGpzVGVzdENFUmVhY3Rpb25zUmVmbGVjdEF0dHJpYnV0ZVdpdGhDRVJlYWN0
aW9uc0dldHRlcihFeGVjU3RhdGUmLCBKU1Rlc3RDRVJlYWN0aW9ucyYsIFRocm93U2NvcGUmIHRo
cm93U2NvcGUpOworCitFbmNvZGVkSlNWYWx1ZSBqc1Rlc3RDRVJlYWN0aW9uc1JlZmxlY3RBdHRy
aWJ1dGVXaXRoQ0VSZWFjdGlvbnMoRXhlY1N0YXRlKiBzdGF0ZSwgRW5jb2RlZEpTVmFsdWUgdGhp
c1ZhbHVlLCBQcm9wZXJ0eU5hbWUpCit7CisgICAgcmV0dXJuIEJpbmRpbmdDYWxsZXI8SlNUZXN0
Q0VSZWFjdGlvbnM+OjphdHRyaWJ1dGU8anNUZXN0Q0VSZWFjdGlvbnNSZWZsZWN0QXR0cmlidXRl
V2l0aENFUmVhY3Rpb25zR2V0dGVyPihzdGF0ZSwgdGhpc1ZhbHVlLCAicmVmbGVjdEF0dHJpYnV0
ZVdpdGhDRVJlYWN0aW9ucyIpOworfQorCitzdGF0aWMgaW5saW5lIEpTVmFsdWUganNUZXN0Q0VS
ZWFjdGlvbnNSZWZsZWN0QXR0cmlidXRlV2l0aENFUmVhY3Rpb25zR2V0dGVyKEV4ZWNTdGF0ZSYg
c3RhdGUsIEpTVGVzdENFUmVhY3Rpb25zJiB0aGlzT2JqZWN0LCBUaHJvd1Njb3BlJiB0aHJvd1Nj
b3BlKQoreworICAgIFVOVVNFRF9QQVJBTSh0aHJvd1Njb3BlKTsKKyAgICBVTlVTRURfUEFSQU0o
c3RhdGUpOworICAgIGF1dG8mIGltcGwgPSB0aGlzT2JqZWN0LndyYXBwZWQoKTsKKyAgICBKU1Zh
bHVlIHJlc3VsdCA9IGpzU3RyaW5nV2l0aENhY2hlKCZzdGF0ZSwgaW1wbC5hdHRyaWJ1dGVXaXRo
b3V0U3luY2hyb25pemF0aW9uKFdlYkNvcmU6OkhUTUxOYW1lczo6cmVmbGVjdGF0dHJpYnV0ZXdp
dGhjZXJlYWN0aW9uc0F0dHIpKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorCitzdGF0aWMgaW5s
aW5lIEpTVmFsdWUganNUZXN0Q0VSZWFjdGlvbnNTdHJpbmdpZmllckF0dHJpYnV0ZUdldHRlcihF
eGVjU3RhdGUmLCBKU1Rlc3RDRVJlYWN0aW9ucyYsIFRocm93U2NvcGUmIHRocm93U2NvcGUpOwor
CitFbmNvZGVkSlNWYWx1ZSBqc1Rlc3RDRVJlYWN0aW9uc1N0cmluZ2lmaWVyQXR0cmlidXRlKEV4
ZWNTdGF0ZSogc3RhdGUsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgUHJvcGVydHlOYW1lKQor
eworICAgIHJldHVybiBCaW5kaW5nQ2FsbGVyPEpTVGVzdENFUmVhY3Rpb25zPjo6YXR0cmlidXRl
PGpzVGVzdENFUmVhY3Rpb25zU3RyaW5naWZpZXJBdHRyaWJ1dGVHZXR0ZXI+KHN0YXRlLCB0aGlz
VmFsdWUsICJzdHJpbmdpZmllckF0dHJpYnV0ZSIpOworfQorCitzdGF0aWMgaW5saW5lIEpTVmFs
dWUganNUZXN0Q0VSZWFjdGlvbnNTdHJpbmdpZmllckF0dHJpYnV0ZUdldHRlcihFeGVjU3RhdGUm
IHN0YXRlLCBKU1Rlc3RDRVJlYWN0aW9ucyYgdGhpc09iamVjdCwgVGhyb3dTY29wZSYgdGhyb3dT
Y29wZSkKK3sKKyAgICBVTlVTRURfUEFSQU0odGhyb3dTY29wZSk7CisgICAgVU5VU0VEX1BBUkFN
KHN0YXRlKTsKKyAgICBhdXRvJiBpbXBsID0gdGhpc09iamVjdC53cmFwcGVkKCk7CisgICAgSlNW
YWx1ZSByZXN1bHQgPSB0b0pTKCZzdGF0ZSwgdGhpc09iamVjdC5nbG9iYWxPYmplY3QoKSwgaW1w
bC5zdHJpbmdpZmllckF0dHJpYnV0ZSgpKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorCitFbmNv
ZGVkSlNWYWx1ZSBqc1Rlc3RDRVJlYWN0aW9uc0NvbnN0cnVjdG9yKEV4ZWNTdGF0ZSogc3RhdGUs
IEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgUHJvcGVydHlOYW1lKQoreworICAgIFZNJiB2bSA9
IHN0YXRlLT52bSgpOworICAgIGF1dG8gdGhyb3dTY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUo
dm0pOworICAgIEpTVGVzdENFUmVhY3Rpb25zUHJvdG90eXBlKiBkb21PYmplY3QgPSBqc0R5bmFt
aWNDYXN0PEpTVGVzdENFUmVhY3Rpb25zUHJvdG90eXBlKj4oSlNWYWx1ZTo6ZGVjb2RlKHRoaXNW
YWx1ZSkpOworICAgIGlmIChVTkxJS0VMWSghZG9tT2JqZWN0KSkKKyAgICAgICAgcmV0dXJuIHRo
cm93Vk1UeXBlRXJyb3Ioc3RhdGUsIHRocm93U2NvcGUpOworICAgIHJldHVybiBKU1ZhbHVlOjpl
bmNvZGUoSlNUZXN0Q0VSZWFjdGlvbnM6OmdldENvbnN0cnVjdG9yKHN0YXRlLT52bSgpLCBkb21P
YmplY3QtPmdsb2JhbE9iamVjdCgpKSk7Cit9CisKK2Jvb2wgc2V0SlNUZXN0Q0VSZWFjdGlvbnND
b25zdHJ1Y3RvcihFeGVjU3RhdGUqIHN0YXRlLCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVu
Y29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkKK3sKKyAgICBWTSYgdm0gPSBzdGF0ZS0+dm0oKTsK
KyAgICBhdXRvIHRocm93U2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKKyAgICBKU1Zh
bHVlIHZhbHVlID0gSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRWYWx1ZSk7CisgICAgSlNUZXN0Q0VS
ZWFjdGlvbnNQcm90b3R5cGUqIGRvbU9iamVjdCA9IGpzRHluYW1pY0Nhc3Q8SlNUZXN0Q0VSZWFj
dGlvbnNQcm90b3R5cGUqPihKU1ZhbHVlOjpkZWNvZGUodGhpc1ZhbHVlKSk7CisgICAgaWYgKFVO
TElLRUxZKCFkb21PYmplY3QpKSB7CisgICAgICAgIHRocm93Vk1UeXBlRXJyb3Ioc3RhdGUsIHRo
cm93U2NvcGUpOworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorICAgIC8vIFNoYWRvd2lu
ZyBhIGJ1aWx0LWluIGNvbnN0cnVjdG9yCisgICAgcmV0dXJuIGRvbU9iamVjdC0+cHV0RGlyZWN0
KHN0YXRlLT52bSgpLCBzdGF0ZS0+cHJvcGVydHlOYW1lcygpLmNvbnN0cnVjdG9yLCB2YWx1ZSk7
Cit9CisKK3N0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RDRVJlYWN0aW9uc0F0dHJpYnV0ZVdp
dGhDRVJlYWN0aW9uc0Z1bmN0aW9uKEV4ZWNTdGF0ZSosIEpTVGVzdENFUmVhY3Rpb25zKiwgSlNW
YWx1ZSwgVGhyb3dTY29wZSYpOworCitib29sIHNldEpTVGVzdENFUmVhY3Rpb25zQXR0cmlidXRl
V2l0aENFUmVhY3Rpb25zKEV4ZWNTdGF0ZSogc3RhdGUsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1
ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKQoreworICAgIHJldHVybiBCaW5kaW5nQ2Fs
bGVyPEpTVGVzdENFUmVhY3Rpb25zPjo6c2V0QXR0cmlidXRlPHNldEpTVGVzdENFUmVhY3Rpb25z
QXR0cmlidXRlV2l0aENFUmVhY3Rpb25zRnVuY3Rpb24+KHN0YXRlLCB0aGlzVmFsdWUsIGVuY29k
ZWRWYWx1ZSwgImF0dHJpYnV0ZVdpdGhDRVJlYWN0aW9ucyIpOworfQorCitzdGF0aWMgaW5saW5l
IGJvb2wgc2V0SlNUZXN0Q0VSZWFjdGlvbnNBdHRyaWJ1dGVXaXRoQ0VSZWFjdGlvbnNGdW5jdGlv
bihFeGVjU3RhdGUqIHN0YXRlLCBKU1Rlc3RDRVJlYWN0aW9ucyogY2FzdGVkVGhpcywgSlNWYWx1
ZSB2YWx1ZSwgVGhyb3dTY29wZSYgdGhyb3dTY29wZSkKK3sKKyAgICBVTlVTRURfUEFSQU0oc3Rh
dGUpOworICAgIFVOVVNFRF9QQVJBTSh0aHJvd1Njb3BlKTsKKyNpZiBFTkFCTEUoQ1VTVE9NX0VM
RU1FTlRTKQorICAgIEN1c3RvbUVsZW1lbnRSZWFjdGlvblN0YWNrIGN1c3RvbUVsZW1lbnRSZWFj
dGlvblN0YWNrOworI2VuZGlmCisgICAgYXV0byYgaW1wbCA9IGNhc3RlZFRoaXMtPndyYXBwZWQo
KTsKKyAgICBhdXRvIG5hdGl2ZVZhbHVlID0gdmFsdWUudG9XVEZTdHJpbmcoc3RhdGUpOworICAg
IFJFVFVSTl9JRl9FWENFUFRJT04odGhyb3dTY29wZSwgZmFsc2UpOworICAgIGltcGwuc2V0QXR0
cmlidXRlV2l0aENFUmVhY3Rpb25zKFdURk1vdmUobmF0aXZlVmFsdWUpKTsKKyAgICByZXR1cm4g
dHJ1ZTsKK30KKworCitzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0Q0VSZWFjdGlvbnNSZWZs
ZWN0QXR0cmlidXRlV2l0aENFUmVhY3Rpb25zRnVuY3Rpb24oRXhlY1N0YXRlKiwgSlNUZXN0Q0VS
ZWFjdGlvbnMqLCBKU1ZhbHVlLCBUaHJvd1Njb3BlJik7CisKK2Jvb2wgc2V0SlNUZXN0Q0VSZWFj
dGlvbnNSZWZsZWN0QXR0cmlidXRlV2l0aENFUmVhY3Rpb25zKEV4ZWNTdGF0ZSogc3RhdGUsIEVu
Y29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKQorewor
ICAgIHJldHVybiBCaW5kaW5nQ2FsbGVyPEpTVGVzdENFUmVhY3Rpb25zPjo6c2V0QXR0cmlidXRl
PHNldEpTVGVzdENFUmVhY3Rpb25zUmVmbGVjdEF0dHJpYnV0ZVdpdGhDRVJlYWN0aW9uc0Z1bmN0
aW9uPihzdGF0ZSwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJyZWZsZWN0QXR0cmlidXRlV2l0
aENFUmVhY3Rpb25zIik7Cit9CisKK3N0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RDRVJlYWN0
aW9uc1JlZmxlY3RBdHRyaWJ1dGVXaXRoQ0VSZWFjdGlvbnNGdW5jdGlvbihFeGVjU3RhdGUqIHN0
YXRlLCBKU1Rlc3RDRVJlYWN0aW9ucyogY2FzdGVkVGhpcywgSlNWYWx1ZSB2YWx1ZSwgVGhyb3dT
Y29wZSYgdGhyb3dTY29wZSkKK3sKKyAgICBVTlVTRURfUEFSQU0oc3RhdGUpOworICAgIFVOVVNF
RF9QQVJBTSh0aHJvd1Njb3BlKTsKKyNpZiBFTkFCTEUoQ1VTVE9NX0VMRU1FTlRTKQorICAgIEN1
c3RvbUVsZW1lbnRSZWFjdGlvblN0YWNrIGN1c3RvbUVsZW1lbnRSZWFjdGlvblN0YWNrOworI2Vu
ZGlmCisgICAgYXV0byYgaW1wbCA9IGNhc3RlZFRoaXMtPndyYXBwZWQoKTsKKyAgICBhdXRvIG5h
dGl2ZVZhbHVlID0gdmFsdWUudG9XVEZTdHJpbmcoc3RhdGUpOworICAgIFJFVFVSTl9JRl9FWENF
UFRJT04odGhyb3dTY29wZSwgZmFsc2UpOworICAgIGltcGwuc2V0QXR0cmlidXRlV2l0aG91dFN5
bmNocm9uaXphdGlvbihXZWJDb3JlOjpIVE1MTmFtZXM6OnJlZmxlY3RhdHRyaWJ1dGV3aXRoY2Vy
ZWFjdGlvbnNBdHRyLCBXVEZNb3ZlKG5hdGl2ZVZhbHVlKSk7CisgICAgcmV0dXJuIHRydWU7Cit9
CisKKworc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdENFUmVhY3Rpb25zU3RyaW5naWZpZXJB
dHRyaWJ1dGVGdW5jdGlvbihFeGVjU3RhdGUqLCBKU1Rlc3RDRVJlYWN0aW9ucyosIEpTVmFsdWUs
IFRocm93U2NvcGUmKTsKKworYm9vbCBzZXRKU1Rlc3RDRVJlYWN0aW9uc1N0cmluZ2lmaWVyQXR0
cmlidXRlKEV4ZWNTdGF0ZSogc3RhdGUsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2Rl
ZEpTVmFsdWUgZW5jb2RlZFZhbHVlKQoreworICAgIHJldHVybiBCaW5kaW5nQ2FsbGVyPEpTVGVz
dENFUmVhY3Rpb25zPjo6c2V0QXR0cmlidXRlPHNldEpTVGVzdENFUmVhY3Rpb25zU3RyaW5naWZp
ZXJBdHRyaWJ1dGVGdW5jdGlvbj4oc3RhdGUsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAic3Ry
aW5naWZpZXJBdHRyaWJ1dGUiKTsKK30KKworc3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdENF
UmVhY3Rpb25zU3RyaW5naWZpZXJBdHRyaWJ1dGVGdW5jdGlvbihFeGVjU3RhdGUqIHN0YXRlLCBK
U1Rlc3RDRVJlYWN0aW9ucyogY2FzdGVkVGhpcywgSlNWYWx1ZSB2YWx1ZSwgVGhyb3dTY29wZSYg
dGhyb3dTY29wZSkKK3sKKyAgICBVTlVTRURfUEFSQU0oc3RhdGUpOworICAgIFVOVVNFRF9QQVJB
TSh0aHJvd1Njb3BlKTsKKyNpZiBFTkFCTEUoQ1VTVE9NX0VMRU1FTlRTKQorICAgIEN1c3RvbUVs
ZW1lbnRSZWFjdGlvblN0YWNrIGN1c3RvbUVsZW1lbnRSZWFjdGlvblN0YWNrOworI2VuZGlmCisg
ICAgUmVmPFRlc3RDRVJlYWN0aW9uc1N0cmluZ2lmaWVyPiBmb3J3YXJkZWRJbXBsID0gY2FzdGVk
VGhpcy0+d3JhcHBlZCgpLnN0cmluZ2lmaWVyQXR0cmlidXRlKCk7CisgICAgYXV0byYgaW1wbCA9
IGZvcndhcmRlZEltcGwuZ2V0KCk7CisgICAgYXV0byBuYXRpdmVWYWx1ZSA9IHZhbHVlLnRvV1RG
U3RyaW5nKHN0YXRlKTsKKyAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIGZhbHNl
KTsKKyAgICBpbXBsLnNldFZhbHVlKFdURk1vdmUobmF0aXZlVmFsdWUpKTsKKyAgICByZXR1cm4g
dHJ1ZTsKK30KKworCitKU1ZhbHVlIEpTVGVzdENFUmVhY3Rpb25zOjpnZXRDb25zdHJ1Y3RvcihW
TSYgdm0sIGNvbnN0IEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCit7CisgICAgcmV0dXJu
IGdldERPTUNvbnN0cnVjdG9yPEpTVGVzdENFUmVhY3Rpb25zQ29uc3RydWN0b3I+KHZtLCAqanND
YXN0PGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KSk7Cit9CisKK0VuY29k
ZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwganNUZXN0Q0VSZWFjdGlvbnNQcm90b3R5cGVGdW5jdGlv
bk1ldGhvZFdpdGhDRVJlYWN0aW9ucyhFeGVjU3RhdGUqIHN0YXRlKQoreworICAgIFZNJiB2bSA9
IHN0YXRlLT52bSgpOworICAgIGF1dG8gdGhyb3dTY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUo
dm0pOworICAgIFVOVVNFRF9QQVJBTSh0aHJvd1Njb3BlKTsKKyNpZiBFTkFCTEUoQ1VTVE9NX0VM
RU1FTlRTKQorICAgIEN1c3RvbUVsZW1lbnRSZWFjdGlvblN0YWNrIGN1c3RvbUVsZW1lbnRSZWFj
dGlvblN0YWNrOworI2VuZGlmCisgICAgSlNWYWx1ZSB0aGlzVmFsdWUgPSBzdGF0ZS0+dGhpc1Zh
bHVlKCk7CisgICAgYXV0byBjYXN0ZWRUaGlzID0ganNEeW5hbWljQ2FzdDxKU1Rlc3RDRVJlYWN0
aW9ucyo+KHRoaXNWYWx1ZSk7CisgICAgaWYgKFVOTElLRUxZKCFjYXN0ZWRUaGlzKSkKKyAgICAg
ICAgcmV0dXJuIHRocm93VGhpc1R5cGVFcnJvcigqc3RhdGUsIHRocm93U2NvcGUsICJUZXN0Q0VS
ZWFjdGlvbnMiLCAibWV0aG9kV2l0aENFUmVhY3Rpb25zIik7CisgICAgQVNTRVJUX0dDX09CSkVD
VF9JTkhFUklUUyhjYXN0ZWRUaGlzLCBKU1Rlc3RDRVJlYWN0aW9uczo6aW5mbygpKTsKKyAgICBh
dXRvJiBpbXBsID0gY2FzdGVkVGhpcy0+d3JhcHBlZCgpOworICAgIGltcGwubWV0aG9kV2l0aENF
UmVhY3Rpb25zKCk7CisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsK
K30KKworYm9vbCBKU1Rlc3RDRVJlYWN0aW9uc093bmVyOjppc1JlYWNoYWJsZUZyb21PcGFxdWVS
b290cyhKU0M6OkhhbmRsZTxKU0M6OlVua25vd24+IGhhbmRsZSwgdm9pZCosIFNsb3RWaXNpdG9y
JiB2aXNpdG9yKQoreworICAgIFVOVVNFRF9QQVJBTShoYW5kbGUpOworICAgIFVOVVNFRF9QQVJB
TSh2aXNpdG9yKTsKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK3ZvaWQgSlNUZXN0Q0VSZWFjdGlv
bnNPd25lcjo6ZmluYWxpemUoSlNDOjpIYW5kbGU8SlNDOjpVbmtub3duPiBoYW5kbGUsIHZvaWQq
IGNvbnRleHQpCit7CisgICAgYXV0byoganNUZXN0Q0VSZWFjdGlvbnMgPSBqc0Nhc3Q8SlNUZXN0
Q0VSZWFjdGlvbnMqPihoYW5kbGUuc2xvdCgpLT5hc0NlbGwoKSk7CisgICAgYXV0byYgd29ybGQg
PSAqc3RhdGljX2Nhc3Q8RE9NV3JhcHBlcldvcmxkKj4oY29udGV4dCk7CisgICAgdW5jYWNoZVdy
YXBwZXIod29ybGQsICZqc1Rlc3RDRVJlYWN0aW9ucy0+d3JhcHBlZCgpLCBqc1Rlc3RDRVJlYWN0
aW9ucyk7Cit9CisKKyNpZiBFTkFCTEUoQklORElOR19JTlRFR1JJVFkpCisjaWYgUExBVEZPUk0o
V0lOKQorI3ByYWdtYSB3YXJuaW5nKGRpc2FibGU6IDQ0ODMpCitleHRlcm4gIkMiIHsgZXh0ZXJu
IHZvaWQgKCpjb25zdCBfX2lkZW50aWZpZXIoIj8/XzdUZXN0Q0VSZWFjdGlvbnNAV2ViQ29yZUBA
NkJAIilbXSkoKTsgfQorI2Vsc2UKK2V4dGVybiAiQyIgeyBleHRlcm4gdm9pZCogX1pUVk43V2Vi
Q29yZTE1VGVzdENFUmVhY3Rpb25zRVtdOyB9CisjZW5kaWYKKyNlbmRpZgorCitKU0M6OkpTVmFs
dWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QsIFJlZjxUZXN0Q0VSZWFjdGlvbnM+JiYgaW1wbCkKK3sKKworI2lmIEVOQUJM
RShCSU5ESU5HX0lOVEVHUklUWSkKKyAgICB2b2lkKiBhY3R1YWxWVGFibGVQb2ludGVyID0gKihy
ZWludGVycHJldF9jYXN0PHZvaWQqKj4oaW1wbC5wdHIoKSkpOworI2lmIFBMQVRGT1JNKFdJTikK
KyAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSByZWludGVycHJldF9jYXN0PHZvaWQq
PihfX2lkZW50aWZpZXIoIj8/XzdUZXN0Q0VSZWFjdGlvbnNAV2ViQ29yZUBANkJAIikpOworI2Vs
c2UKKyAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSAmX1pUVk43V2ViQ29yZTE1VGVz
dENFUmVhY3Rpb25zRVsyXTsKKyNpZiBDT01QSUxFUihDTEFORykKKyAgICAvLyBJZiB0aGlzIGZh
aWxzIFRlc3RDRVJlYWN0aW9ucyBkb2VzIG5vdCBoYXZlIGEgdnRhYmxlLCBzbyB5b3UgbmVlZCB0
byBhZGQgdGhlCisgICAgLy8gSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSBhdHRyaWJ1dGUgdG8g
dGhlIGludGVyZmFjZSBkZWZpbml0aW9uCisgICAgc3RhdGljX2Fzc2VydChfX2lzX3BvbHltb3Jw
aGljKFRlc3RDRVJlYWN0aW9ucyksICJUZXN0Q0VSZWFjdGlvbnMgaXMgbm90IHBvbHltb3JwaGlj
Iik7CisjZW5kaWYKKyNlbmRpZgorICAgIC8vIElmIHlvdSBoaXQgdGhpcyBhc3NlcnRpb24geW91
IGVpdGhlciBoYXZlIGEgdXNlIGFmdGVyIGZyZWUgYnVnLCBvcgorICAgIC8vIFRlc3RDRVJlYWN0
aW9ucyBoYXMgc3ViY2xhc3Nlcy4gSWYgVGVzdENFUmVhY3Rpb25zIGhhcyBzdWJjbGFzc2VzIHRo
YXQgZ2V0IHBhc3NlZAorICAgIC8vIHRvIHRvSlMoKSB3ZSBjdXJyZW50bHkgcmVxdWlyZSBUZXN0
Q0VSZWFjdGlvbnMgeW91IHRvIG9wdCBvdXQgb2YgYmluZGluZyBoYXJkZW5pbmcKKyAgICAvLyBi
eSBhZGRpbmcgdGhlIFNraXBWVGFibGVWYWxpZGF0aW9uIGF0dHJpYnV0ZSB0byB0aGUgaW50ZXJm
YWNlIElETCBkZWZpbml0aW9uCisgICAgUkVMRUFTRV9BU1NFUlQoYWN0dWFsVlRhYmxlUG9pbnRl
ciA9PSBleHBlY3RlZFZUYWJsZVBvaW50ZXIpOworI2VuZGlmCisgICAgcmV0dXJuIGNyZWF0ZVdy
YXBwZXI8VGVzdENFUmVhY3Rpb25zPihnbG9iYWxPYmplY3QsIFdURk1vdmUoaW1wbCkpOworfQor
CitKU0M6OkpTVmFsdWUgdG9KUyhKU0M6OkV4ZWNTdGF0ZSogc3RhdGUsIEpTRE9NR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QsIFRlc3RDRVJlYWN0aW9ucyYgaW1wbCkKK3sKKyAgICByZXR1cm4g
d3JhcChzdGF0ZSwgZ2xvYmFsT2JqZWN0LCBpbXBsKTsKK30KKworVGVzdENFUmVhY3Rpb25zKiBK
U1Rlc3RDRVJlYWN0aW9uczo6dG9XcmFwcGVkKEpTQzo6SlNWYWx1ZSB2YWx1ZSkKK3sKKyAgICBp
ZiAoYXV0byogd3JhcHBlciA9IGpzRHluYW1pY0Nhc3Q8SlNUZXN0Q0VSZWFjdGlvbnMqPih2YWx1
ZSkpCisgICAgICAgIHJldHVybiAmd3JhcHBlci0+d3JhcHBlZCgpOworICAgIHJldHVybiBudWxs
cHRyOworfQorCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0Q0VSZWFjdGlvbnMuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3RDRVJlYWN0aW9ucy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQwNDM4MDdiZjUw
ZjAzMWE3NGU0MTE5YTZmNTM1ZmMyNjgwYTQ5NzgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q0VSZWFjdGlvbnMuaApAQCAt
MCwwICsxLDkwIEBACisvKgorICAgIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBXZWJLaXQgb3Bl
biBzb3VyY2UgcHJvamVjdC4KKyAgICBUaGlzIGZpbGUgaGFzIGJlZW4gZ2VuZXJhdGVkIGJ5IGdl
bmVyYXRlLWJpbmRpbmdzLnBsLiBETyBOT1QgTU9ESUZZIQorCisgICAgVGhpcyBsaWJyYXJ5IGlz
IGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICAgIG1vZGlm
eSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisg
ICAgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsg
ZWl0aGVyCisgICAgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24p
IGFueSBsYXRlciB2ZXJzaW9uLgorCisgICAgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGlu
IHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgICAgYnV0IFdJVEhPVVQgQU5ZIFdB
UlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAgICBNRVJDSEFO
VEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdO
VQorICAgIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgor
CisgICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICAgIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUg
dGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgICAgdGhlIEZyZWUgU29m
dHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwK
KyAgICBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyovCisKKyNwcmFnbWEgb25jZQorCisj
aW5jbHVkZSAiSlNET01XcmFwcGVyLmgiCisjaW5jbHVkZSAiVGVzdENFUmVhY3Rpb25zLmgiCisj
aW5jbHVkZSA8d3RmL05ldmVyRGVzdHJveWVkLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwor
Y2xhc3MgSlNUZXN0Q0VSZWFjdGlvbnMgOiBwdWJsaWMgSlNET01XcmFwcGVyPFRlc3RDRVJlYWN0
aW9ucz4geworcHVibGljOgorICAgIHVzaW5nIEJhc2UgPSBKU0RPTVdyYXBwZXI8VGVzdENFUmVh
Y3Rpb25zPjsKKyAgICBzdGF0aWMgSlNUZXN0Q0VSZWFjdGlvbnMqIGNyZWF0ZShKU0M6OlN0cnVj
dHVyZSogc3RydWN0dXJlLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBSZWY8VGVz
dENFUmVhY3Rpb25zPiYmIGltcGwpCisgICAgeworICAgICAgICBKU1Rlc3RDRVJlYWN0aW9ucyog
cHRyID0gbmV3IChOb3ROdWxsLCBKU0M6OmFsbG9jYXRlQ2VsbDxKU1Rlc3RDRVJlYWN0aW9ucz4o
Z2xvYmFsT2JqZWN0LT52bSgpLmhlYXApKSBKU1Rlc3RDRVJlYWN0aW9ucyhzdHJ1Y3R1cmUsICpn
bG9iYWxPYmplY3QsIFdURk1vdmUoaW1wbCkpOworICAgICAgICBwdHItPmZpbmlzaENyZWF0aW9u
KGdsb2JhbE9iamVjdC0+dm0oKSk7CisgICAgICAgIHJldHVybiBwdHI7CisgICAgfQorCisgICAg
c3RhdGljIEpTQzo6SlNPYmplY3QqIGNyZWF0ZVByb3RvdHlwZShKU0M6OlZNJiwgSlNDOjpKU0ds
b2JhbE9iamVjdCopOworICAgIHN0YXRpYyBKU0M6OkpTT2JqZWN0KiBwcm90b3R5cGUoSlNDOjpW
TSYsIEpTQzo6SlNHbG9iYWxPYmplY3QqKTsKKyAgICBzdGF0aWMgVGVzdENFUmVhY3Rpb25zKiB0
b1dyYXBwZWQoSlNDOjpKU1ZhbHVlKTsKKyAgICBzdGF0aWMgdm9pZCBkZXN0cm95KEpTQzo6SlND
ZWxsKik7CisKKyAgICBERUNMQVJFX0lORk87CisKKyAgICBzdGF0aWMgSlNDOjpTdHJ1Y3R1cmUq
IGNyZWF0ZVN0cnVjdHVyZShKU0M6OlZNJiB2bSwgSlNDOjpKU0dsb2JhbE9iamVjdCogZ2xvYmFs
T2JqZWN0LCBKU0M6OkpTVmFsdWUgcHJvdG90eXBlKQorICAgIHsKKyAgICAgICAgcmV0dXJuIEpT
Qzo6U3RydWN0dXJlOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBKU0M6OlR5
cGVJbmZvKEpTQzo6T2JqZWN0VHlwZSwgU3RydWN0dXJlRmxhZ3MpLCBpbmZvKCkpOworICAgIH0K
KworICAgIHN0YXRpYyBKU0M6OkpTVmFsdWUgZ2V0Q29uc3RydWN0b3IoSlNDOjpWTSYsIGNvbnN0
IEpTQzo6SlNHbG9iYWxPYmplY3QqKTsKKyAgICBzdGF0aWMgSlNUZXN0Q0VSZWFjdGlvbnMqIGNh
c3RGb3JBdHRyaWJ1dGUoSlNDOjpFeGVjU3RhdGUqLCBKU0M6OkVuY29kZWRKU1ZhbHVlKTsKK3By
b3RlY3RlZDoKKyAgICBKU1Rlc3RDRVJlYWN0aW9ucyhKU0M6OlN0cnVjdHVyZSosIEpTRE9NR2xv
YmFsT2JqZWN0JiwgUmVmPFRlc3RDRVJlYWN0aW9ucz4mJik7CisKKyAgICB2b2lkIGZpbmlzaENy
ZWF0aW9uKEpTQzo6Vk0mIHZtKQorICAgIHsKKyAgICAgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24o
dm0pOworICAgICAgICBBU1NFUlQoaW5oZXJpdHMoaW5mbygpKSk7CisgICAgfQorCit9OworCitj
bGFzcyBKU1Rlc3RDRVJlYWN0aW9uc093bmVyIDogcHVibGljIEpTQzo6V2Vha0hhbmRsZU93bmVy
IHsKK3B1YmxpYzoKKyAgICB2aXJ0dWFsIGJvb2wgaXNSZWFjaGFibGVGcm9tT3BhcXVlUm9vdHMo
SlNDOjpIYW5kbGU8SlNDOjpVbmtub3duPiwgdm9pZCogY29udGV4dCwgSlNDOjpTbG90VmlzaXRv
ciYpOworICAgIHZpcnR1YWwgdm9pZCBmaW5hbGl6ZShKU0M6OkhhbmRsZTxKU0M6OlVua25vd24+
LCB2b2lkKiBjb250ZXh0KTsKK307CisKK2lubGluZSBKU0M6OldlYWtIYW5kbGVPd25lciogd3Jh
cHBlck93bmVyKERPTVdyYXBwZXJXb3JsZCYsIFRlc3RDRVJlYWN0aW9ucyopCit7CisgICAgc3Rh
dGljIE5ldmVyRGVzdHJveWVkPEpTVGVzdENFUmVhY3Rpb25zT3duZXI+IG93bmVyOworICAgIHJl
dHVybiAmb3duZXIuZ2V0KCk7Cit9CisKK2lubGluZSB2b2lkKiB3cmFwcGVyS2V5KFRlc3RDRVJl
YWN0aW9ucyogd3JhcHBhYmxlT2JqZWN0KQoreworICAgIHJldHVybiB3cmFwcGFibGVPYmplY3Q7
Cit9CisKK0pTQzo6SlNWYWx1ZSB0b0pTKEpTQzo6RXhlY1N0YXRlKiwgSlNET01HbG9iYWxPYmpl
Y3QqLCBUZXN0Q0VSZWFjdGlvbnMmKTsKK2lubGluZSBKU0M6OkpTVmFsdWUgdG9KUyhKU0M6OkV4
ZWNTdGF0ZSogc3RhdGUsIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFRlc3RDRVJl
YWN0aW9ucyogaW1wbCkgeyByZXR1cm4gaW1wbCA/IHRvSlMoc3RhdGUsIGdsb2JhbE9iamVjdCwg
KmltcGwpIDogSlNDOjpqc051bGwoKTsgfQorSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQo
SlNDOjpFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCosIFJlZjxUZXN0Q0VSZWFjdGlvbnM+
JiYpOworaW5saW5lIEpTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhlY1N0YXRl
KiBzdGF0ZSwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgUmVmUHRyPFRlc3RDRVJl
YWN0aW9ucz4mJiBpbXBsKSB7IHJldHVybiBpbXBsID8gdG9KU05ld2x5Q3JlYXRlZChzdGF0ZSwg
Z2xvYmFsT2JqZWN0LCBpbXBsLnJlbGVhc2VOb25OdWxsKCkpIDogSlNDOjpqc051bGwoKTsgfQor
Cit0ZW1wbGF0ZTw+IHN0cnVjdCBKU0RPTVdyYXBwZXJDb252ZXJ0ZXJUcmFpdHM8VGVzdENFUmVh
Y3Rpb25zPiB7CisgICAgdXNpbmcgV3JhcHBlckNsYXNzID0gSlNUZXN0Q0VSZWFjdGlvbnM7Cit9
OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q0VSZWFjdGlvbnNTdHJpbmdpZmllci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q0VSZWFjdGlv
bnNTdHJpbmdpZmllci5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTA0OWI4YjFkZDYwOGMyN2UyMGE3Nzk2ZDQ3
NTkyNzE3ZmE3OWRjMgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDRVJlYWN0aW9uc1N0cmluZ2lmaWVyLmNwcApAQCAtMCww
ICsxLDI3NyBAQAorLyoKKyAgICBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgV2ViS2l0IG9wZW4g
c291cmNlIHByb2plY3QuCisgICAgVGhpcyBmaWxlIGhhcyBiZWVuIGdlbmVyYXRlZCBieSBnZW5l
cmF0ZS1iaW5kaW5ncy5wbC4gRE8gTk9UIE1PRElGWSEKKworICAgIFRoaXMgbGlicmFyeSBpcyBm
cmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAgICBtb2RpZnkg
aXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICAg
IExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVp
dGhlcgorICAgIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBh
bnkgbGF0ZXIgdmVyc2lvbi4KKworICAgIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0
aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJS
QU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgICAgTUVSQ0hBTlRB
QklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUK
KyAgICBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKwor
ICAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdl
bmVyYWwgUHVibGljIExpY2Vuc2UKKyAgICBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRo
ZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICAgIHRoZSBGcmVlIFNvZnR3
YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisg
ICAgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisqLworCisjaW5jbHVkZSAiY29uZmlnLmgi
CisjaW5jbHVkZSAiSlNUZXN0Q0VSZWFjdGlvbnNTdHJpbmdpZmllci5oIgorCisjaW5jbHVkZSAi
Q3VzdG9tRWxlbWVudFJlYWN0aW9uUXVldWUuaCIKKyNpbmNsdWRlICJFeGNlcHRpb25Db2RlLmgi
CisjaW5jbHVkZSAiSlNET01CaW5kaW5nLmgiCisjaW5jbHVkZSAiSlNET01Db25zdHJ1Y3Rvci5o
IgorI2luY2x1ZGUgIlVSTC5oIgorI2luY2x1ZGUgPHJ1bnRpbWUvRXJyb3IuaD4KKyNpbmNsdWRl
IDxydW50aW1lL0Z1bmN0aW9uUHJvdG90eXBlLmg+CisjaW5jbHVkZSA8cnVudGltZS9KU1N0cmlu
Zy5oPgorI2luY2x1ZGUgPHd0Zi9HZXRQdHIuaD4KKwordXNpbmcgbmFtZXNwYWNlIEpTQzsKKwor
bmFtZXNwYWNlIFdlYkNvcmUgeworCisvLyBGdW5jdGlvbnMKKworSlNDOjpFbmNvZGVkSlNWYWx1
ZSBKU0NfSE9TVF9DQUxMIGpzVGVzdENFUmVhY3Rpb25zU3RyaW5naWZpZXJQcm90b3R5cGVGdW5j
dGlvblRvU3RyaW5nKEpTQzo6RXhlY1N0YXRlKik7CisKKy8vIEF0dHJpYnV0ZXMKKworSlNDOjpF
bmNvZGVkSlNWYWx1ZSBqc1Rlc3RDRVJlYWN0aW9uc1N0cmluZ2lmaWVyVmFsdWUoSlNDOjpFeGVj
U3RhdGUqLCBKU0M6OkVuY29kZWRKU1ZhbHVlLCBKU0M6OlByb3BlcnR5TmFtZSk7Citib29sIHNl
dEpTVGVzdENFUmVhY3Rpb25zU3RyaW5naWZpZXJWYWx1ZShKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6
RW5jb2RlZEpTVmFsdWUsIEpTQzo6RW5jb2RlZEpTVmFsdWUpOworSlNDOjpFbmNvZGVkSlNWYWx1
ZSBqc1Rlc3RDRVJlYWN0aW9uc1N0cmluZ2lmaWVyQ29uc3RydWN0b3IoSlNDOjpFeGVjU3RhdGUq
LCBKU0M6OkVuY29kZWRKU1ZhbHVlLCBKU0M6OlByb3BlcnR5TmFtZSk7Citib29sIHNldEpTVGVz
dENFUmVhY3Rpb25zU3RyaW5naWZpZXJDb25zdHJ1Y3RvcihKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6
RW5jb2RlZEpTVmFsdWUsIEpTQzo6RW5jb2RlZEpTVmFsdWUpOworCitjbGFzcyBKU1Rlc3RDRVJl
YWN0aW9uc1N0cmluZ2lmaWVyUHJvdG90eXBlIDogcHVibGljIEpTQzo6SlNOb25GaW5hbE9iamVj
dCB7CitwdWJsaWM6CisgICAgdXNpbmcgQmFzZSA9IEpTQzo6SlNOb25GaW5hbE9iamVjdDsKKyAg
ICBzdGF0aWMgSlNUZXN0Q0VSZWFjdGlvbnNTdHJpbmdpZmllclByb3RvdHlwZSogY3JlYXRlKEpT
Qzo6Vk0mIHZtLCBKU0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQzo6U3RydWN0
dXJlKiBzdHJ1Y3R1cmUpCisgICAgeworICAgICAgICBKU1Rlc3RDRVJlYWN0aW9uc1N0cmluZ2lm
aWVyUHJvdG90eXBlKiBwdHIgPSBuZXcgKE5vdE51bGwsIEpTQzo6YWxsb2NhdGVDZWxsPEpTVGVz
dENFUmVhY3Rpb25zU3RyaW5naWZpZXJQcm90b3R5cGU+KHZtLmhlYXApKSBKU1Rlc3RDRVJlYWN0
aW9uc1N0cmluZ2lmaWVyUHJvdG90eXBlKHZtLCBnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSk7Cisg
ICAgICAgIHB0ci0+ZmluaXNoQ3JlYXRpb24odm0pOworICAgICAgICByZXR1cm4gcHRyOworICAg
IH0KKworICAgIERFQ0xBUkVfSU5GTzsKKyAgICBzdGF0aWMgSlNDOjpTdHJ1Y3R1cmUqIGNyZWF0
ZVN0cnVjdHVyZShKU0M6OlZNJiB2bSwgSlNDOjpKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0
LCBKU0M6OkpTVmFsdWUgcHJvdG90eXBlKQorICAgIHsKKyAgICAgICAgcmV0dXJuIEpTQzo6U3Ry
dWN0dXJlOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBKU0M6OlR5cGVJbmZv
KEpTQzo6T2JqZWN0VHlwZSwgU3RydWN0dXJlRmxhZ3MpLCBpbmZvKCkpOworICAgIH0KKworcHJp
dmF0ZToKKyAgICBKU1Rlc3RDRVJlYWN0aW9uc1N0cmluZ2lmaWVyUHJvdG90eXBlKEpTQzo6Vk0m
IHZtLCBKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKKyAg
ICAgICAgOiBKU0M6OkpTTm9uRmluYWxPYmplY3Qodm0sIHN0cnVjdHVyZSkKKyAgICB7CisgICAg
fQorCisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihKU0M6OlZNJik7Cit9OworCit1c2luZyBKU1Rl
c3RDRVJlYWN0aW9uc1N0cmluZ2lmaWVyQ29uc3RydWN0b3IgPSBKU0RPTUNvbnN0cnVjdG9yTm90
Q29uc3RydWN0YWJsZTxKU1Rlc3RDRVJlYWN0aW9uc1N0cmluZ2lmaWVyPjsKKwordGVtcGxhdGU8
PiBKU1ZhbHVlIEpTVGVzdENFUmVhY3Rpb25zU3RyaW5naWZpZXJDb25zdHJ1Y3Rvcjo6cHJvdG90
eXBlRm9yU3RydWN0dXJlKEpTQzo6Vk0mIHZtLCBjb25zdCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xv
YmFsT2JqZWN0KQoreworICAgIFVOVVNFRF9QQVJBTSh2bSk7CisgICAgcmV0dXJuIGdsb2JhbE9i
amVjdC5mdW5jdGlvblByb3RvdHlwZSgpOworfQorCit0ZW1wbGF0ZTw+IHZvaWQgSlNUZXN0Q0VS
ZWFjdGlvbnNTdHJpbmdpZmllckNvbnN0cnVjdG9yOjppbml0aWFsaXplUHJvcGVydGllcyhWTSYg
dm0sIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QpCit7CisgICAgcHV0RGlyZWN0KHZt
LCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUsIEpTVGVzdENFUmVhY3Rpb25zU3RyaW5naWZp
ZXI6OnByb3RvdHlwZSh2bSwgJmdsb2JhbE9iamVjdCksIERvbnREZWxldGUgfCBSZWFkT25seSB8
IERvbnRFbnVtKTsKKyAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPm5hbWUsIGpz
Tm9udHJpdmlhbFN0cmluZygmdm0sIFN0cmluZyhBU0NJSUxpdGVyYWwoIlRlc3RDRVJlYWN0aW9u
c1N0cmluZ2lmaWVyIikpKSwgUmVhZE9ubHkgfCBEb250RW51bSk7CisgICAgcHV0RGlyZWN0KHZt
LCB2bS5wcm9wZXJ0eU5hbWVzLT5sZW5ndGgsIGpzTnVtYmVyKDApLCBSZWFkT25seSB8IERvbnRF
bnVtKTsKK30KKwordGVtcGxhdGU8PiBjb25zdCBDbGFzc0luZm8gSlNUZXN0Q0VSZWFjdGlvbnNT
dHJpbmdpZmllckNvbnN0cnVjdG9yOjpzX2luZm8gPSB7ICJUZXN0Q0VSZWFjdGlvbnNTdHJpbmdp
ZmllciIsICZCYXNlOjpzX2luZm8sIDAsIENSRUFURV9NRVRIT0RfVEFCTEUoSlNUZXN0Q0VSZWFj
dGlvbnNTdHJpbmdpZmllckNvbnN0cnVjdG9yKSB9OworCisvKiBIYXNoIHRhYmxlIGZvciBwcm90
b3R5cGUgKi8KKworc3RhdGljIGNvbnN0IEhhc2hUYWJsZVZhbHVlIEpTVGVzdENFUmVhY3Rpb25z
U3RyaW5naWZpZXJQcm90b3R5cGVUYWJsZVZhbHVlc1tdID0KK3sKKyAgICB7ICJjb25zdHJ1Y3Rv
ciIsIERvbnRFbnVtLCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVy
dHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdENFUmVhY3Rpb25zU3RyaW5naWZpZXJDb25zdHJ1
Y3RvciksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1
bmM+KHNldEpTVGVzdENFUmVhY3Rpb25zU3RyaW5naWZpZXJDb25zdHJ1Y3RvcikgfSB9LAorICAg
IHsgInZhbHVlIiwgQ3VzdG9tQWNjZXNzb3IsIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0
aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0Q0VSZWFjdGlvbnNTdHJp
bmdpZmllclZhbHVlKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1
dFZhbHVlRnVuYz4oc2V0SlNUZXN0Q0VSZWFjdGlvbnNTdHJpbmdpZmllclZhbHVlKSB9IH0sCisg
ICAgeyAidG9TdHJpbmciLCBKU0M6OkZ1bmN0aW9uLCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qp
c3RhdGljX2Nhc3Q8TmF0aXZlRnVuY3Rpb24+KGpzVGVzdENFUmVhY3Rpb25zU3RyaW5naWZpZXJQ
cm90b3R5cGVGdW5jdGlvblRvU3RyaW5nKSwgKGludHB0cl90KSAoMCkgfSB9LAorfTsKKworY29u
c3QgQ2xhc3NJbmZvIEpTVGVzdENFUmVhY3Rpb25zU3RyaW5naWZpZXJQcm90b3R5cGU6OnNfaW5m
byA9IHsgIlRlc3RDRVJlYWN0aW9uc1N0cmluZ2lmaWVyUHJvdG90eXBlIiwgJkJhc2U6OnNfaW5m
bywgMCwgQ1JFQVRFX01FVEhPRF9UQUJMRShKU1Rlc3RDRVJlYWN0aW9uc1N0cmluZ2lmaWVyUHJv
dG90eXBlKSB9OworCit2b2lkIEpTVGVzdENFUmVhY3Rpb25zU3RyaW5naWZpZXJQcm90b3R5cGU6
OmZpbmlzaENyZWF0aW9uKFZNJiB2bSkKK3sKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSk7
CisgICAgcmVpZnlTdGF0aWNQcm9wZXJ0aWVzKHZtLCBKU1Rlc3RDRVJlYWN0aW9uc1N0cmluZ2lm
aWVyUHJvdG90eXBlVGFibGVWYWx1ZXMsICp0aGlzKTsKK30KKworY29uc3QgQ2xhc3NJbmZvIEpT
VGVzdENFUmVhY3Rpb25zU3RyaW5naWZpZXI6OnNfaW5mbyA9IHsgIlRlc3RDRVJlYWN0aW9uc1N0
cmluZ2lmaWVyIiwgJkJhc2U6OnNfaW5mbywgMCwgQ1JFQVRFX01FVEhPRF9UQUJMRShKU1Rlc3RD
RVJlYWN0aW9uc1N0cmluZ2lmaWVyKSB9OworCitKU1Rlc3RDRVJlYWN0aW9uc1N0cmluZ2lmaWVy
OjpKU1Rlc3RDRVJlYWN0aW9uc1N0cmluZ2lmaWVyKFN0cnVjdHVyZSogc3RydWN0dXJlLCBKU0RP
TUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0LCBSZWY8VGVzdENFUmVhY3Rpb25zU3RyaW5naWZp
ZXI+JiYgaW1wbCkKKyAgICA6IEpTRE9NV3JhcHBlcjxUZXN0Q0VSZWFjdGlvbnNTdHJpbmdpZmll
cj4oc3RydWN0dXJlLCBnbG9iYWxPYmplY3QsIFdURk1vdmUoaW1wbCkpCit7Cit9CisKK0pTT2Jq
ZWN0KiBKU1Rlc3RDRVJlYWN0aW9uc1N0cmluZ2lmaWVyOjpjcmVhdGVQcm90b3R5cGUoVk0mIHZt
LCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQoreworICAgIHJldHVybiBKU1Rlc3RDRVJl
YWN0aW9uc1N0cmluZ2lmaWVyUHJvdG90eXBlOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdCwgSlNU
ZXN0Q0VSZWFjdGlvbnNTdHJpbmdpZmllclByb3RvdHlwZTo6Y3JlYXRlU3RydWN0dXJlKHZtLCBn
bG9iYWxPYmplY3QsIGdsb2JhbE9iamVjdC0+b2JqZWN0UHJvdG90eXBlKCkpKTsKK30KKworSlNP
YmplY3QqIEpTVGVzdENFUmVhY3Rpb25zU3RyaW5naWZpZXI6OnByb3RvdHlwZShWTSYgdm0sIEpT
R2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCit7CisgICAgcmV0dXJuIGdldERPTVByb3RvdHlw
ZTxKU1Rlc3RDRVJlYWN0aW9uc1N0cmluZ2lmaWVyPih2bSwgZ2xvYmFsT2JqZWN0KTsKK30KKwor
dm9pZCBKU1Rlc3RDRVJlYWN0aW9uc1N0cmluZ2lmaWVyOjpkZXN0cm95KEpTQzo6SlNDZWxsKiBj
ZWxsKQoreworICAgIEpTVGVzdENFUmVhY3Rpb25zU3RyaW5naWZpZXIqIHRoaXNPYmplY3QgPSBz
dGF0aWNfY2FzdDxKU1Rlc3RDRVJlYWN0aW9uc1N0cmluZ2lmaWVyKj4oY2VsbCk7CisgICAgdGhp
c09iamVjdC0+SlNUZXN0Q0VSZWFjdGlvbnNTdHJpbmdpZmllcjo6fkpTVGVzdENFUmVhY3Rpb25z
U3RyaW5naWZpZXIoKTsKK30KKworaW5saW5lIEpTVGVzdENFUmVhY3Rpb25zU3RyaW5naWZpZXIq
IEpTVGVzdENFUmVhY3Rpb25zU3RyaW5naWZpZXI6OmNhc3RGb3JBdHRyaWJ1dGUoSlNDOjpFeGVj
U3RhdGUqLCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUpCit7CisgICAgcmV0dXJuIGpzRHluYW1p
Y0Nhc3Q8SlNUZXN0Q0VSZWFjdGlvbnNTdHJpbmdpZmllcio+KEpTVmFsdWU6OmRlY29kZSh0aGlz
VmFsdWUpKTsKK30KKworc3RhdGljIGlubGluZSBKU1ZhbHVlIGpzVGVzdENFUmVhY3Rpb25zU3Ry
aW5naWZpZXJWYWx1ZUdldHRlcihFeGVjU3RhdGUmLCBKU1Rlc3RDRVJlYWN0aW9uc1N0cmluZ2lm
aWVyJiwgVGhyb3dTY29wZSYgdGhyb3dTY29wZSk7CisKK0VuY29kZWRKU1ZhbHVlIGpzVGVzdENF
UmVhY3Rpb25zU3RyaW5naWZpZXJWYWx1ZShFeGVjU3RhdGUqIHN0YXRlLCBFbmNvZGVkSlNWYWx1
ZSB0aGlzVmFsdWUsIFByb3BlcnR5TmFtZSkKK3sKKyAgICByZXR1cm4gQmluZGluZ0NhbGxlcjxK
U1Rlc3RDRVJlYWN0aW9uc1N0cmluZ2lmaWVyPjo6YXR0cmlidXRlPGpzVGVzdENFUmVhY3Rpb25z
U3RyaW5naWZpZXJWYWx1ZUdldHRlcj4oc3RhdGUsIHRoaXNWYWx1ZSwgInZhbHVlIik7Cit9CisK
K3N0YXRpYyBpbmxpbmUgSlNWYWx1ZSBqc1Rlc3RDRVJlYWN0aW9uc1N0cmluZ2lmaWVyVmFsdWVH
ZXR0ZXIoRXhlY1N0YXRlJiBzdGF0ZSwgSlNUZXN0Q0VSZWFjdGlvbnNTdHJpbmdpZmllciYgdGhp
c09iamVjdCwgVGhyb3dTY29wZSYgdGhyb3dTY29wZSkKK3sKKyAgICBVTlVTRURfUEFSQU0odGhy
b3dTY29wZSk7CisgICAgVU5VU0VEX1BBUkFNKHN0YXRlKTsKKyAgICBhdXRvJiBpbXBsID0gdGhp
c09iamVjdC53cmFwcGVkKCk7CisgICAgSlNWYWx1ZSByZXN1bHQgPSBqc1N0cmluZ1dpdGhDYWNo
ZSgmc3RhdGUsIGltcGwudmFsdWUoKSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KKworRW5jb2Rl
ZEpTVmFsdWUganNUZXN0Q0VSZWFjdGlvbnNTdHJpbmdpZmllckNvbnN0cnVjdG9yKEV4ZWNTdGF0
ZSogc3RhdGUsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgUHJvcGVydHlOYW1lKQoreworICAg
IFZNJiB2bSA9IHN0YXRlLT52bSgpOworICAgIGF1dG8gdGhyb3dTY29wZSA9IERFQ0xBUkVfVEhS
T1dfU0NPUEUodm0pOworICAgIEpTVGVzdENFUmVhY3Rpb25zU3RyaW5naWZpZXJQcm90b3R5cGUq
IGRvbU9iamVjdCA9IGpzRHluYW1pY0Nhc3Q8SlNUZXN0Q0VSZWFjdGlvbnNTdHJpbmdpZmllclBy
b3RvdHlwZSo+KEpTVmFsdWU6OmRlY29kZSh0aGlzVmFsdWUpKTsKKyAgICBpZiAoVU5MSUtFTFko
IWRvbU9iamVjdCkpCisgICAgICAgIHJldHVybiB0aHJvd1ZNVHlwZUVycm9yKHN0YXRlLCB0aHJv
d1Njb3BlKTsKKyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKEpTVGVzdENFUmVhY3Rpb25zU3Ry
aW5naWZpZXI6OmdldENvbnN0cnVjdG9yKHN0YXRlLT52bSgpLCBkb21PYmplY3QtPmdsb2JhbE9i
amVjdCgpKSk7Cit9CisKK2Jvb2wgc2V0SlNUZXN0Q0VSZWFjdGlvbnNTdHJpbmdpZmllckNvbnN0
cnVjdG9yKEV4ZWNTdGF0ZSogc3RhdGUsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2Rl
ZEpTVmFsdWUgZW5jb2RlZFZhbHVlKQoreworICAgIFZNJiB2bSA9IHN0YXRlLT52bSgpOworICAg
IGF1dG8gdGhyb3dTY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOworICAgIEpTVmFsdWUg
dmFsdWUgPSBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZFZhbHVlKTsKKyAgICBKU1Rlc3RDRVJlYWN0
aW9uc1N0cmluZ2lmaWVyUHJvdG90eXBlKiBkb21PYmplY3QgPSBqc0R5bmFtaWNDYXN0PEpTVGVz
dENFUmVhY3Rpb25zU3RyaW5naWZpZXJQcm90b3R5cGUqPihKU1ZhbHVlOjpkZWNvZGUodGhpc1Zh
bHVlKSk7CisgICAgaWYgKFVOTElLRUxZKCFkb21PYmplY3QpKSB7CisgICAgICAgIHRocm93Vk1U
eXBlRXJyb3Ioc3RhdGUsIHRocm93U2NvcGUpOworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAg
fQorICAgIC8vIFNoYWRvd2luZyBhIGJ1aWx0LWluIGNvbnN0cnVjdG9yCisgICAgcmV0dXJuIGRv
bU9iamVjdC0+cHV0RGlyZWN0KHN0YXRlLT52bSgpLCBzdGF0ZS0+cHJvcGVydHlOYW1lcygpLmNv
bnN0cnVjdG9yLCB2YWx1ZSk7Cit9CisKK3N0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RDRVJl
YWN0aW9uc1N0cmluZ2lmaWVyVmFsdWVGdW5jdGlvbihFeGVjU3RhdGUqLCBKU1Rlc3RDRVJlYWN0
aW9uc1N0cmluZ2lmaWVyKiwgSlNWYWx1ZSwgVGhyb3dTY29wZSYpOworCitib29sIHNldEpTVGVz
dENFUmVhY3Rpb25zU3RyaW5naWZpZXJWYWx1ZShFeGVjU3RhdGUqIHN0YXRlLCBFbmNvZGVkSlNW
YWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkKK3sKKyAgICByZXR1
cm4gQmluZGluZ0NhbGxlcjxKU1Rlc3RDRVJlYWN0aW9uc1N0cmluZ2lmaWVyPjo6c2V0QXR0cmli
dXRlPHNldEpTVGVzdENFUmVhY3Rpb25zU3RyaW5naWZpZXJWYWx1ZUZ1bmN0aW9uPihzdGF0ZSwg
dGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJ2YWx1ZSIpOworfQorCitzdGF0aWMgaW5saW5lIGJv
b2wgc2V0SlNUZXN0Q0VSZWFjdGlvbnNTdHJpbmdpZmllclZhbHVlRnVuY3Rpb24oRXhlY1N0YXRl
KiBzdGF0ZSwgSlNUZXN0Q0VSZWFjdGlvbnNTdHJpbmdpZmllciogY2FzdGVkVGhpcywgSlNWYWx1
ZSB2YWx1ZSwgVGhyb3dTY29wZSYgdGhyb3dTY29wZSkKK3sKKyAgICBVTlVTRURfUEFSQU0oc3Rh
dGUpOworICAgIFVOVVNFRF9QQVJBTSh0aHJvd1Njb3BlKTsKKyNpZiBFTkFCTEUoQ1VTVE9NX0VM
RU1FTlRTKQorICAgIEN1c3RvbUVsZW1lbnRSZWFjdGlvblN0YWNrIGN1c3RvbUVsZW1lbnRSZWFj
dGlvblN0YWNrOworI2VuZGlmCisgICAgYXV0byYgaW1wbCA9IGNhc3RlZFRoaXMtPndyYXBwZWQo
KTsKKyAgICBhdXRvIG5hdGl2ZVZhbHVlID0gdmFsdWUudG9XVEZTdHJpbmcoc3RhdGUpOworICAg
IFJFVFVSTl9JRl9FWENFUFRJT04odGhyb3dTY29wZSwgZmFsc2UpOworICAgIGltcGwuc2V0VmFs
dWUoV1RGTW92ZShuYXRpdmVWYWx1ZSkpOworICAgIHJldHVybiB0cnVlOworfQorCisKK0pTVmFs
dWUgSlNUZXN0Q0VSZWFjdGlvbnNTdHJpbmdpZmllcjo6Z2V0Q29uc3RydWN0b3IoVk0mIHZtLCBj
b25zdCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQoreworICAgIHJldHVybiBnZXRET01D
b25zdHJ1Y3RvcjxKU1Rlc3RDRVJlYWN0aW9uc1N0cmluZ2lmaWVyQ29uc3RydWN0b3I+KHZtLCAq
anNDYXN0PGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KSk7Cit9CisKK0Vu
Y29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwganNUZXN0Q0VSZWFjdGlvbnNTdHJpbmdpZmllclBy
b3RvdHlwZUZ1bmN0aW9uVG9TdHJpbmcoRXhlY1N0YXRlKiBzdGF0ZSkKK3sKKyAgICBWTSYgdm0g
PSBzdGF0ZS0+dm0oKTsKKyAgICBhdXRvIHRocm93U2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BF
KHZtKTsKKyAgICBVTlVTRURfUEFSQU0odGhyb3dTY29wZSk7CisgICAgSlNWYWx1ZSB0aGlzVmFs
dWUgPSBzdGF0ZS0+dGhpc1ZhbHVlKCk7CisgICAgYXV0byBjYXN0ZWRUaGlzID0ganNEeW5hbWlj
Q2FzdDxKU1Rlc3RDRVJlYWN0aW9uc1N0cmluZ2lmaWVyKj4odGhpc1ZhbHVlKTsKKyAgICBpZiAo
VU5MSUtFTFkoIWNhc3RlZFRoaXMpKQorICAgICAgICByZXR1cm4gdGhyb3dUaGlzVHlwZUVycm9y
KCpzdGF0ZSwgdGhyb3dTY29wZSwgIlRlc3RDRVJlYWN0aW9uc1N0cmluZ2lmaWVyIiwgInRvU3Ry
aW5nIik7CisgICAgQVNTRVJUX0dDX09CSkVDVF9JTkhFUklUUyhjYXN0ZWRUaGlzLCBKU1Rlc3RD
RVJlYWN0aW9uc1N0cmluZ2lmaWVyOjppbmZvKCkpOworICAgIGF1dG8mIGltcGwgPSBjYXN0ZWRU
aGlzLT53cmFwcGVkKCk7CisgICAgSlNWYWx1ZSByZXN1bHQgPSBqc1N0cmluZ1dpdGhDYWNoZShz
dGF0ZSwgaW1wbC52YWx1ZSgpKTsKKyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHJlc3VsdCk7
Cit9CisKK2Jvb2wgSlNUZXN0Q0VSZWFjdGlvbnNTdHJpbmdpZmllck93bmVyOjppc1JlYWNoYWJs
ZUZyb21PcGFxdWVSb290cyhKU0M6OkhhbmRsZTxKU0M6OlVua25vd24+IGhhbmRsZSwgdm9pZCos
IFNsb3RWaXNpdG9yJiB2aXNpdG9yKQoreworICAgIFVOVVNFRF9QQVJBTShoYW5kbGUpOworICAg
IFVOVVNFRF9QQVJBTSh2aXNpdG9yKTsKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK3ZvaWQgSlNU
ZXN0Q0VSZWFjdGlvbnNTdHJpbmdpZmllck93bmVyOjpmaW5hbGl6ZShKU0M6OkhhbmRsZTxKU0M6
OlVua25vd24+IGhhbmRsZSwgdm9pZCogY29udGV4dCkKK3sKKyAgICBhdXRvKiBqc1Rlc3RDRVJl
YWN0aW9uc1N0cmluZ2lmaWVyID0ganNDYXN0PEpTVGVzdENFUmVhY3Rpb25zU3RyaW5naWZpZXIq
PihoYW5kbGUuc2xvdCgpLT5hc0NlbGwoKSk7CisgICAgYXV0byYgd29ybGQgPSAqc3RhdGljX2Nh
c3Q8RE9NV3JhcHBlcldvcmxkKj4oY29udGV4dCk7CisgICAgdW5jYWNoZVdyYXBwZXIod29ybGQs
ICZqc1Rlc3RDRVJlYWN0aW9uc1N0cmluZ2lmaWVyLT53cmFwcGVkKCksIGpzVGVzdENFUmVhY3Rp
b25zU3RyaW5naWZpZXIpOworfQorCisjaWYgRU5BQkxFKEJJTkRJTkdfSU5URUdSSVRZKQorI2lm
IFBMQVRGT1JNKFdJTikKKyNwcmFnbWEgd2FybmluZyhkaXNhYmxlOiA0NDgzKQorZXh0ZXJuICJD
IiB7IGV4dGVybiB2b2lkICgqY29uc3QgX19pZGVudGlmaWVyKCI/P183VGVzdENFUmVhY3Rpb25z
U3RyaW5naWZpZXJAV2ViQ29yZUBANkJAIilbXSkoKTsgfQorI2Vsc2UKK2V4dGVybiAiQyIgeyBl
eHRlcm4gdm9pZCogX1pUVk43V2ViQ29yZTI2VGVzdENFUmVhY3Rpb25zU3RyaW5naWZpZXJFW107
IH0KKyNlbmRpZgorI2VuZGlmCisKK0pTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6
RXhlY1N0YXRlKiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgUmVmPFRlc3RDRVJl
YWN0aW9uc1N0cmluZ2lmaWVyPiYmIGltcGwpCit7CisKKyNpZiBFTkFCTEUoQklORElOR19JTlRF
R1JJVFkpCisgICAgdm9pZCogYWN0dWFsVlRhYmxlUG9pbnRlciA9ICoocmVpbnRlcnByZXRfY2Fz
dDx2b2lkKio+KGltcGwucHRyKCkpKTsKKyNpZiBQTEFURk9STShXSU4pCisgICAgdm9pZCogZXhw
ZWN0ZWRWVGFibGVQb2ludGVyID0gcmVpbnRlcnByZXRfY2FzdDx2b2lkKj4oX19pZGVudGlmaWVy
KCI/P183VGVzdENFUmVhY3Rpb25zU3RyaW5naWZpZXJAV2ViQ29yZUBANkJAIikpOworI2Vsc2UK
KyAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSAmX1pUVk43V2ViQ29yZTI2VGVzdENF
UmVhY3Rpb25zU3RyaW5naWZpZXJFWzJdOworI2lmIENPTVBJTEVSKENMQU5HKQorICAgIC8vIElm
IHRoaXMgZmFpbHMgVGVzdENFUmVhY3Rpb25zU3RyaW5naWZpZXIgZG9lcyBub3QgaGF2ZSBhIHZ0
YWJsZSwgc28geW91IG5lZWQgdG8gYWRkIHRoZQorICAgIC8vIEltcGxlbWVudGF0aW9uTGFja3NW
VGFibGUgYXR0cmlidXRlIHRvIHRoZSBpbnRlcmZhY2UgZGVmaW5pdGlvbgorICAgIHN0YXRpY19h
c3NlcnQoX19pc19wb2x5bW9ycGhpYyhUZXN0Q0VSZWFjdGlvbnNTdHJpbmdpZmllciksICJUZXN0
Q0VSZWFjdGlvbnNTdHJpbmdpZmllciBpcyBub3QgcG9seW1vcnBoaWMiKTsKKyNlbmRpZgorI2Vu
ZGlmCisgICAgLy8gSWYgeW91IGhpdCB0aGlzIGFzc2VydGlvbiB5b3UgZWl0aGVyIGhhdmUgYSB1
c2UgYWZ0ZXIgZnJlZSBidWcsIG9yCisgICAgLy8gVGVzdENFUmVhY3Rpb25zU3RyaW5naWZpZXIg
aGFzIHN1YmNsYXNzZXMuIElmIFRlc3RDRVJlYWN0aW9uc1N0cmluZ2lmaWVyIGhhcyBzdWJjbGFz
c2VzIHRoYXQgZ2V0IHBhc3NlZAorICAgIC8vIHRvIHRvSlMoKSB3ZSBjdXJyZW50bHkgcmVxdWly
ZSBUZXN0Q0VSZWFjdGlvbnNTdHJpbmdpZmllciB5b3UgdG8gb3B0IG91dCBvZiBiaW5kaW5nIGhh
cmRlbmluZworICAgIC8vIGJ5IGFkZGluZyB0aGUgU2tpcFZUYWJsZVZhbGlkYXRpb24gYXR0cmli
dXRlIHRvIHRoZSBpbnRlcmZhY2UgSURMIGRlZmluaXRpb24KKyAgICBSRUxFQVNFX0FTU0VSVChh
Y3R1YWxWVGFibGVQb2ludGVyID09IGV4cGVjdGVkVlRhYmxlUG9pbnRlcik7CisjZW5kaWYKKyAg
ICByZXR1cm4gY3JlYXRlV3JhcHBlcjxUZXN0Q0VSZWFjdGlvbnNTdHJpbmdpZmllcj4oZ2xvYmFs
T2JqZWN0LCBXVEZNb3ZlKGltcGwpKTsKK30KKworSlNDOjpKU1ZhbHVlIHRvSlMoSlNDOjpFeGVj
U3RhdGUqIHN0YXRlLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBUZXN0Q0VSZWFj
dGlvbnNTdHJpbmdpZmllciYgaW1wbCkKK3sKKyAgICByZXR1cm4gd3JhcChzdGF0ZSwgZ2xvYmFs
T2JqZWN0LCBpbXBsKTsKK30KKworVGVzdENFUmVhY3Rpb25zU3RyaW5naWZpZXIqIEpTVGVzdENF
UmVhY3Rpb25zU3RyaW5naWZpZXI6OnRvV3JhcHBlZChKU0M6OkpTVmFsdWUgdmFsdWUpCit7Cisg
ICAgaWYgKGF1dG8qIHdyYXBwZXIgPSBqc0R5bmFtaWNDYXN0PEpTVGVzdENFUmVhY3Rpb25zU3Ry
aW5naWZpZXIqPih2YWx1ZSkpCisgICAgICAgIHJldHVybiAmd3JhcHBlci0+d3JhcHBlZCgpOwor
ICAgIHJldHVybiBudWxscHRyOworfQorCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q0VSZWFjdGlvbnNTdHJpbmdpZmllci5oIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdENFUmVhY3Rpb25z
U3RyaW5naWZpZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42MDJkMjAzNDE2NGFmZTJjNmIxZTk3OGE0NTU2MmQ1
MWFkZTY4YzNhCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdENFUmVhY3Rpb25zU3RyaW5naWZpZXIuaApAQCAtMCwwICsxLDkw
IEBACisvKgorICAgIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBXZWJLaXQgb3BlbiBzb3VyY2Ug
cHJvamVjdC4KKyAgICBUaGlzIGZpbGUgaGFzIGJlZW4gZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLWJp
bmRpbmdzLnBsLiBETyBOT1QgTU9ESUZZIQorCisgICAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29m
dHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICAgIG1vZGlmeSBpdCB1bmRl
ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgICAgTGljZW5z
ZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisg
ICAgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRl
ciB2ZXJzaW9uLgorCisgICAgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3Bl
IHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3
aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAgICBNRVJDSEFOVEFCSUxJVFkg
b3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICAgIExp
YnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorCisgICAgWW91
IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQ
dWJsaWMgTGljZW5zZQorICAgIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUg
Q09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgICAgdGhlIEZyZWUgU29mdHdhcmUgRm91
bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAgICBCb3N0
b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAi
SlNET01XcmFwcGVyLmgiCisjaW5jbHVkZSAiVGVzdENFUmVhY3Rpb25zU3RyaW5naWZpZXIuaCIK
KyNpbmNsdWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgewor
CitjbGFzcyBKU1Rlc3RDRVJlYWN0aW9uc1N0cmluZ2lmaWVyIDogcHVibGljIEpTRE9NV3JhcHBl
cjxUZXN0Q0VSZWFjdGlvbnNTdHJpbmdpZmllcj4geworcHVibGljOgorICAgIHVzaW5nIEJhc2Ug
PSBKU0RPTVdyYXBwZXI8VGVzdENFUmVhY3Rpb25zU3RyaW5naWZpZXI+OworICAgIHN0YXRpYyBK
U1Rlc3RDRVJlYWN0aW9uc1N0cmluZ2lmaWVyKiBjcmVhdGUoSlNDOjpTdHJ1Y3R1cmUqIHN0cnVj
dHVyZSwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgUmVmPFRlc3RDRVJlYWN0aW9u
c1N0cmluZ2lmaWVyPiYmIGltcGwpCisgICAgeworICAgICAgICBKU1Rlc3RDRVJlYWN0aW9uc1N0
cmluZ2lmaWVyKiBwdHIgPSBuZXcgKE5vdE51bGwsIEpTQzo6YWxsb2NhdGVDZWxsPEpTVGVzdENF
UmVhY3Rpb25zU3RyaW5naWZpZXI+KGdsb2JhbE9iamVjdC0+dm0oKS5oZWFwKSkgSlNUZXN0Q0VS
ZWFjdGlvbnNTdHJpbmdpZmllcihzdHJ1Y3R1cmUsICpnbG9iYWxPYmplY3QsIFdURk1vdmUoaW1w
bCkpOworICAgICAgICBwdHItPmZpbmlzaENyZWF0aW9uKGdsb2JhbE9iamVjdC0+dm0oKSk7Cisg
ICAgICAgIHJldHVybiBwdHI7CisgICAgfQorCisgICAgc3RhdGljIEpTQzo6SlNPYmplY3QqIGNy
ZWF0ZVByb3RvdHlwZShKU0M6OlZNJiwgSlNDOjpKU0dsb2JhbE9iamVjdCopOworICAgIHN0YXRp
YyBKU0M6OkpTT2JqZWN0KiBwcm90b3R5cGUoSlNDOjpWTSYsIEpTQzo6SlNHbG9iYWxPYmplY3Qq
KTsKKyAgICBzdGF0aWMgVGVzdENFUmVhY3Rpb25zU3RyaW5naWZpZXIqIHRvV3JhcHBlZChKU0M6
OkpTVmFsdWUpOworICAgIHN0YXRpYyB2b2lkIGRlc3Ryb3koSlNDOjpKU0NlbGwqKTsKKworICAg
IERFQ0xBUkVfSU5GTzsKKworICAgIHN0YXRpYyBKU0M6OlN0cnVjdHVyZSogY3JlYXRlU3RydWN0
dXJlKEpTQzo6Vk0mIHZtLCBKU0M6OkpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQzo6
SlNWYWx1ZSBwcm90b3R5cGUpCisgICAgeworICAgICAgICByZXR1cm4gSlNDOjpTdHJ1Y3R1cmU6
OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIEpTQzo6VHlwZUluZm8oSlNDOjpP
YmplY3RUeXBlLCBTdHJ1Y3R1cmVGbGFncyksIGluZm8oKSk7CisgICAgfQorCisgICAgc3RhdGlj
IEpTQzo6SlNWYWx1ZSBnZXRDb25zdHJ1Y3RvcihKU0M6OlZNJiwgY29uc3QgSlNDOjpKU0dsb2Jh
bE9iamVjdCopOworICAgIHN0YXRpYyBKU1Rlc3RDRVJlYWN0aW9uc1N0cmluZ2lmaWVyKiBjYXN0
Rm9yQXR0cmlidXRlKEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpFbmNvZGVkSlNWYWx1ZSk7Citwcm90
ZWN0ZWQ6CisgICAgSlNUZXN0Q0VSZWFjdGlvbnNTdHJpbmdpZmllcihKU0M6OlN0cnVjdHVyZSos
IEpTRE9NR2xvYmFsT2JqZWN0JiwgUmVmPFRlc3RDRVJlYWN0aW9uc1N0cmluZ2lmaWVyPiYmKTsK
KworICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oSlNDOjpWTSYgdm0pCisgICAgeworICAgICAgICBC
YXNlOjpmaW5pc2hDcmVhdGlvbih2bSk7CisgICAgICAgIEFTU0VSVChpbmhlcml0cyhpbmZvKCkp
KTsKKyAgICB9CisKK307CisKK2NsYXNzIEpTVGVzdENFUmVhY3Rpb25zU3RyaW5naWZpZXJPd25l
ciA6IHB1YmxpYyBKU0M6OldlYWtIYW5kbGVPd25lciB7CitwdWJsaWM6CisgICAgdmlydHVhbCBi
b29sIGlzUmVhY2hhYmxlRnJvbU9wYXF1ZVJvb3RzKEpTQzo6SGFuZGxlPEpTQzo6VW5rbm93bj4s
IHZvaWQqIGNvbnRleHQsIEpTQzo6U2xvdFZpc2l0b3ImKTsKKyAgICB2aXJ0dWFsIHZvaWQgZmlu
YWxpemUoSlNDOjpIYW5kbGU8SlNDOjpVbmtub3duPiwgdm9pZCogY29udGV4dCk7Cit9OworCitp
bmxpbmUgSlNDOjpXZWFrSGFuZGxlT3duZXIqIHdyYXBwZXJPd25lcihET01XcmFwcGVyV29ybGQm
LCBUZXN0Q0VSZWFjdGlvbnNTdHJpbmdpZmllciopCit7CisgICAgc3RhdGljIE5ldmVyRGVzdHJv
eWVkPEpTVGVzdENFUmVhY3Rpb25zU3RyaW5naWZpZXJPd25lcj4gb3duZXI7CisgICAgcmV0dXJu
ICZvd25lci5nZXQoKTsKK30KKworaW5saW5lIHZvaWQqIHdyYXBwZXJLZXkoVGVzdENFUmVhY3Rp
b25zU3RyaW5naWZpZXIqIHdyYXBwYWJsZU9iamVjdCkKK3sKKyAgICByZXR1cm4gd3JhcHBhYmxl
T2JqZWN0OworfQorCitKU0M6OkpTVmFsdWUgdG9KUyhKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xv
YmFsT2JqZWN0KiwgVGVzdENFUmVhY3Rpb25zU3RyaW5naWZpZXImKTsKK2lubGluZSBKU0M6OkpT
VmFsdWUgdG9KUyhKU0M6OkV4ZWNTdGF0ZSogc3RhdGUsIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9i
YWxPYmplY3QsIFRlc3RDRVJlYWN0aW9uc1N0cmluZ2lmaWVyKiBpbXBsKSB7IHJldHVybiBpbXBs
ID8gdG9KUyhzdGF0ZSwgZ2xvYmFsT2JqZWN0LCAqaW1wbCkgOiBKU0M6OmpzTnVsbCgpOyB9CitK
U0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFs
T2JqZWN0KiwgUmVmPFRlc3RDRVJlYWN0aW9uc1N0cmluZ2lmaWVyPiYmKTsKK2lubGluZSBKU0M6
OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNTdGF0ZSogc3RhdGUsIEpTRE9NR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFJlZlB0cjxUZXN0Q0VSZWFjdGlvbnNTdHJpbmdpZmll
cj4mJiBpbXBsKSB7IHJldHVybiBpbXBsID8gdG9KU05ld2x5Q3JlYXRlZChzdGF0ZSwgZ2xvYmFs
T2JqZWN0LCBpbXBsLnJlbGVhc2VOb25OdWxsKCkpIDogSlNDOjpqc051bGwoKTsgfQorCit0ZW1w
bGF0ZTw+IHN0cnVjdCBKU0RPTVdyYXBwZXJDb252ZXJ0ZXJUcmFpdHM8VGVzdENFUmVhY3Rpb25z
U3RyaW5naWZpZXI+IHsKKyAgICB1c2luZyBXcmFwcGVyQ2xhc3MgPSBKU1Rlc3RDRVJlYWN0aW9u
c1N0cmluZ2lmaWVyOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcAppbmRl
eCA5YTg2NmE4ZTI2ZTNlNTUyM2NhOTQ4MjBmNmYyNjM1ZTBkNjZjMDA4Li5iM2MyZjg3Mjk2YjRm
NjhlYTVlZjE5ZDc0MWRhNDIxYzhkYmI1MTNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcApAQCAtMjIsNyArMjIsNiBA
QAogI2luY2x1ZGUgIkpTVGVzdE9iai5oIgogCiAjaW5jbHVkZSAiQ2FsbGJhY2tGdW5jdGlvbi5o
IgotI2luY2x1ZGUgIkN1c3RvbUVsZW1lbnRSZWFjdGlvblF1ZXVlLmgiCiAjaW5jbHVkZSAiRE9N
U3RyaW5nTGlzdC5oIgogI2luY2x1ZGUgIkRpY3Rpb25hcnkuaCIKICNpbmNsdWRlICJEb2N1bWVu
dC5oIgpAQCAtOTY2LDcgKzk2NSw2IEBAIEpTQzo6RW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FM
TCBqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvblRlc3RQcm9taXNlT3ZlcmxvYWRlCiBKU0M6OkVu
Y29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwganNUZXN0T2JqQ29uc3RydWN0b3JGdW5jdGlvblRl
c3RTdGF0aWNQcm9taXNlRnVuY3Rpb24oSlNDOjpFeGVjU3RhdGUqKTsKIEpTQzo6RW5jb2RlZEpT
VmFsdWUgSlNDX0hPU1RfQ0FMTCBqc1Rlc3RPYmpDb25zdHJ1Y3RvckZ1bmN0aW9uVGVzdFN0YXRp
Y1Byb21pc2VGdW5jdGlvbldpdGhFeGNlcHRpb24oSlNDOjpFeGVjU3RhdGUqKTsKIEpTQzo6RW5j
b2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvblRlc3RD
dXN0b21Qcm9taXNlRnVuY3Rpb24oSlNDOjpFeGVjU3RhdGUqKTsKLUpTQzo6RW5jb2RlZEpTVmFs
dWUgSlNDX0hPU1RfQ0FMTCBqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvbk1ldGhvZFdpdGhOZWVk
c0N1c3RvbUVsZW1lbnRSZWFjdGlvblN0YWNrKEpTQzo6RXhlY1N0YXRlKik7CiAjaWYgRU5BQkxF
KENPTkRJVElPTjEpIHx8IEVOQUJMRShDT05ESVRJT04yKQogSlNDOjpFbmNvZGVkSlNWYWx1ZSBK
U0NfSE9TVF9DQUxMIGpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uQ29uZGl0aW9uYWxPdmVybG9h
ZChKU0M6OkV4ZWNTdGF0ZSopOwogI2VuZGlmCkBAIC0xNTc2LDcgKzE1NzQsNiBAQCBzdGF0aWMg
Y29uc3QgSGFzaFRhYmxlVmFsdWUgSlNUZXN0T2JqUHJvdG90eXBlVGFibGVWYWx1ZXNbXSA9CiAg
ICAgeyAidGVzdFByb21pc2VGdW5jdGlvbldpdGhPcHRpb25hbEludEFyZ3VtZW50IiwgSlNDOjpG
dW5jdGlvbiwgTm9JbnRyaW5zaWMsIHsgKGludHB0cl90KXN0YXRpY19jYXN0PE5hdGl2ZUZ1bmN0
aW9uPihqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvblRlc3RQcm9taXNlRnVuY3Rpb25XaXRoT3B0
aW9uYWxJbnRBcmd1bWVudCksIChpbnRwdHJfdCkgKDApIH0gfSwKICAgICB7ICJ0ZXN0UHJvbWlz
ZU92ZXJsb2FkZWRGdW5jdGlvbiIsIEpTQzo6RnVuY3Rpb24sIE5vSW50cmluc2ljLCB7IChpbnRw
dHJfdClzdGF0aWNfY2FzdDxOYXRpdmVGdW5jdGlvbj4oanNUZXN0T2JqUHJvdG90eXBlRnVuY3Rp
b25UZXN0UHJvbWlzZU92ZXJsb2FkZWRGdW5jdGlvbiksIChpbnRwdHJfdCkgKDEpIH0gfSwKICAg
ICB7ICJ0ZXN0Q3VzdG9tUHJvbWlzZUZ1bmN0aW9uIiwgSlNDOjpGdW5jdGlvbiwgTm9JbnRyaW5z
aWMsIHsgKGludHB0cl90KXN0YXRpY19jYXN0PE5hdGl2ZUZ1bmN0aW9uPihqc1Rlc3RPYmpQcm90
b3R5cGVGdW5jdGlvblRlc3RDdXN0b21Qcm9taXNlRnVuY3Rpb24pLCAoaW50cHRyX3QpICgwKSB9
IH0sCi0gICAgeyAibWV0aG9kV2l0aE5lZWRzQ3VzdG9tRWxlbWVudFJlYWN0aW9uU3RhY2siLCBK
U0M6OkZ1bmN0aW9uLCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8TmF0aXZl
RnVuY3Rpb24+KGpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uTWV0aG9kV2l0aE5lZWRzQ3VzdG9t
RWxlbWVudFJlYWN0aW9uU3RhY2spLCAoaW50cHRyX3QpICgwKSB9IH0sCiAjaWYgRU5BQkxFKENP
TkRJVElPTjEpIHx8IEVOQUJMRShDT05ESVRJT04yKQogICAgIHsgImNvbmRpdGlvbmFsT3Zlcmxv
YWQiLCBKU0M6OkZ1bmN0aW9uLCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8
TmF0aXZlRnVuY3Rpb24+KGpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uQ29uZGl0aW9uYWxPdmVy
bG9hZCksIChpbnRwdHJfdCkgKDEpIH0gfSwKICNlbHNlCkBAIC03NDA4LDI0ICs3NDA1LDYgQEAg
RW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvblRl
c3RDdXN0b21Qcm9taXNlRnVuY3Rpb24KICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGNhc3Rl
ZFRoaXMtPnRlc3RDdXN0b21Qcm9taXNlRnVuY3Rpb24oKnN0YXRlKSk7CiB9CiAKLUVuY29kZWRK
U1ZhbHVlIEpTQ19IT1NUX0NBTEwganNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25NZXRob2RXaXRo
TmVlZHNDdXN0b21FbGVtZW50UmVhY3Rpb25TdGFjayhFeGVjU3RhdGUqIHN0YXRlKQotewotICAg
IFZNJiB2bSA9IHN0YXRlLT52bSgpOwotICAgIGF1dG8gdGhyb3dTY29wZSA9IERFQ0xBUkVfVEhS
T1dfU0NPUEUodm0pOwotICAgIFVOVVNFRF9QQVJBTSh0aHJvd1Njb3BlKTsKLSNpZiBFTkFCTEUo
Q1VTVE9NX0VMRU1FTlRTKQotICAgIEN1c3RvbUVsZW1lbnRSZWFjdGlvblN0YWNrIGN1c3RvbUVs
ZW1lbnRSZWFjdGlvblN0YWNrOwotI2VuZGlmCi0gICAgSlNWYWx1ZSB0aGlzVmFsdWUgPSBzdGF0
ZS0+dGhpc1ZhbHVlKCk7Ci0gICAgYXV0byBjYXN0ZWRUaGlzID0ganNEeW5hbWljQ2FzdDxKU1Rl
c3RPYmoqPih0aGlzVmFsdWUpOwotICAgIGlmIChVTkxJS0VMWSghY2FzdGVkVGhpcykpCi0gICAg
ICAgIHJldHVybiB0aHJvd1RoaXNUeXBlRXJyb3IoKnN0YXRlLCB0aHJvd1Njb3BlLCAiVGVzdE9i
amVjdCIsICJtZXRob2RXaXRoTmVlZHNDdXN0b21FbGVtZW50UmVhY3Rpb25TdGFjayIpOwotICAg
IEFTU0VSVF9HQ19PQkpFQ1RfSU5IRVJJVFMoY2FzdGVkVGhpcywgSlNUZXN0T2JqOjppbmZvKCkp
OwotICAgIGF1dG8mIGltcGwgPSBjYXN0ZWRUaGlzLT53cmFwcGVkKCk7Ci0gICAgaW1wbC5tZXRo
b2RXaXRoTmVlZHNDdXN0b21FbGVtZW50UmVhY3Rpb25TdGFjaygpOwotICAgIHJldHVybiBKU1Zh
bHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7Ci19Ci0KICNpZiBFTkFCTEUoQ09ORElUSU9OMSkK
IHN0YXRpYyBpbmxpbmUgRW5jb2RlZEpTVmFsdWUganNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25D
b25kaXRpb25hbE92ZXJsb2FkMShFeGVjU3RhdGUqIHN0YXRlKQogewpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RDRVJlYWN0aW9ucy5pZGwgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdENFUmVhY3Rpb25zLmlkbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43ZmIwMTI2NWUwYzVmNDhhNTFiYTk4NzZiNzFiNWRlMTdlMjg4ZTJiCi0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RD
RVJlYWN0aW9ucy5pZGwKQEAgLTAsMCArMSwzNiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
NiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3JtLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIDMu
ICBOZWl0aGVyIHRoZSBuYW1lIG9mIEFwcGxlIEluYy4gKCJBcHBsZSIpIG5vciB0aGUgbmFtZXMg
b2YKKyAqICAgICBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJv
bW90ZSBwcm9kdWN0cyBkZXJpdmVkCisgKiAgICAgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQg
c3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5Z
CisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5ECisgKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
CisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKK2ludGVyZmFjZSBUZXN0Q0VSZWFjdGlvbnMgeworICAgIFtD
RVJlYWN0aW9uc10gdm9pZCBtZXRob2RXaXRoQ0VSZWFjdGlvbnMoKTsKKyAgICBbQ0VSZWFjdGlv
bnNdIGF0dHJpYnV0ZSBET01TdHJpbmcgYXR0cmlidXRlV2l0aENFUmVhY3Rpb25zOworICAgIFtS
ZWZsZWN0LCBDRVJlYWN0aW9uc10gYXR0cmlidXRlIERPTVN0cmluZyByZWZsZWN0QXR0cmlidXRl
V2l0aENFUmVhY3Rpb25zOworCisgICAgW1B1dEZvcndhcmRzPXZhbHVlXSBhdHRyaWJ1dGUgVGVz
dENFUmVhY3Rpb25zU3RyaW5naWZpZXIgc3RyaW5naWZpZXJBdHRyaWJ1dGU7Cit9OworCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdENFUmVhY3Rp
b25zU3RyaW5naWZpZXIuaWRsIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L1Rlc3RDRVJlYWN0aW9uc1N0cmluZ2lmaWVyLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kYjNlNDRlYWIxNDlm
NWFjNGZiMzE0Y2NhOGE0OTFlNGUzYzVlNWEwCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RDRVJlYWN0aW9uc1N0cmluZ2lmaWVyLmlk
bApAQCAtMCwwICsxLDMxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE2IEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm0sIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogMy4gIE5laXRoZXIgdGhl
IG5hbWUgb2YgQXBwbGUgSW5jLiAoIkFwcGxlIikgbm9yIHRoZSBuYW1lcyBvZgorICogICAgIGl0
cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz
IGRlcml2ZWQKKyAqICAgICBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKKyAqIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
IElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQKKyAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworaW50ZXJmYWNlIFRlc3RDRVJlYWN0aW9uc1N0cmluZ2lmaWVyIHsKKyAgICBbQ0VS
ZWFjdGlvbnNdIHN0cmluZ2lmaWVyIGF0dHJpYnV0ZSBET01TdHJpbmcgdmFsdWU7Cit9OwpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9UZXN0T2JqLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9UZXN0T2JqLmlkbAppbmRleCA2NzdjM2I0OGYxOWM1ZmM3NzFmN2EyYTAxNWIz
NjFlNmFmNzllMDU4Li5lYTFhMWVhZjRmNDU0M2FlOGU3OGYwZDY5NGFhZTRkMmVmNWFhNjE3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdE9iai5p
ZGwKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RPYmouaWRs
CkBAIC00MDEsMTAgKzQwMSw2IEBAIGVudW0gVGVzdENvbmZpZGVuY2UgeyAiaGlnaCIsICJraW5k
YS1sb3ciIH07CiAgICAgW1B1dEZvcndhcmRzPW5hbWVdIHJlYWRvbmx5IGF0dHJpYnV0ZSBUZXN0
Tm9kZT8gcHV0Rm9yd2FyZHNOdWxsYWJsZUF0dHJpYnV0ZTsKIAogI2lmIGRlZmluZWQoVEVTVElO
R19KUykKLSAgICBbQ0VSZWFjdGlvbnNdIHZvaWQgbWV0aG9kV2l0aE5lZWRzQ3VzdG9tRWxlbWVu
dFJlYWN0aW9uU3RhY2soKTsKLSNlbmRpZgotCi0jaWYgZGVmaW5lZChURVNUSU5HX0pTKQogICAg
IC8vIE92ZXJsb2FkaW5nIHdpdGggY29uZGl0aW9uYWxzLgogICAgIFtDb25kaXRpb25hbD1DT05E
SVRJT04xXSB2b2lkIGNvbmRpdGlvbmFsT3ZlcmxvYWQoRE9NU3RyaW5nIHN0cik7CiAgICAgW0Nv
bmRpdGlvbmFsPUNPTkRJVElPTjJdIHZvaWQgY29uZGl0aW9uYWxPdmVybG9hZChsb25nIGEpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0F0dHIuaWRsIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0F0dHIuaWRsCmluZGV4IGVjZDU1ZTE4N2NjOGRjYzEzOWE5ZDFjMjIwYjg1ZGI5NmE0Mzkz
Y2IuLjE1ZDZhZTRkMTM2ODJlMTJlZmNlM2I1NWQyMjdiNjIzYWE1NDM4N2EgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9BdHRyLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vQXR0
ci5pZGwKQEAgLTI3LDcgKzI3LDcgQEAKIAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFu
IHNwZWNpZmllZDsKIAotICAgIFtJbXBsZW1lbnRlZEFzPXZhbHVlRm9yQmluZGluZ3NdIGF0dHJp
YnV0ZSBET01TdHJpbmcgdmFsdWU7CisgICAgW0ltcGxlbWVudGVkQXM9dmFsdWVGb3JCaW5kaW5n
cywgQ0VSZWFjdGlvbnNdIGF0dHJpYnV0ZSBET01TdHJpbmcgdmFsdWU7CiAKICAgICByZWFkb25s
eSBhdHRyaWJ1dGUgRWxlbWVudCBvd25lckVsZW1lbnQ7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9DaGlsZE5vZGUuaWRsIGIvU291cmNlL1dlYkNvcmUvZG9tL0NoaWxkTm9kZS5p
ZGwKaW5kZXggMzcwZjgzODE1OTAxNTdkNThhZjc2NWNiNjU4MjgzOTlmZmYyZWMxNi4uNzQ4M2I2
MDAwOWZkNzBhMmUwMGEyNmNiMTYyZTM2NzIzOWMyMDUxOSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZG9tL0NoaWxkTm9kZS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0NoaWxkTm9k
ZS5pZGwKQEAgLTIyLDggKzIyLDggQEAKIFsKICAgICBOb0ludGVyZmFjZU9iamVjdCwKIF0gaW50
ZXJmYWNlIENoaWxkTm9kZSB7Ci0gICAgW1Vuc2NvcGFibGUsIE1heVRocm93TGVnYWN5RXhjZXB0
aW9uXSB2b2lkIGJlZm9yZSgoTm9kZSBvciBET01TdHJpbmcpLi4uIG5vZGVzKTsKLSAgICBbVW5z
Y29wYWJsZSwgTWF5VGhyb3dMZWdhY3lFeGNlcHRpb25dIHZvaWQgYWZ0ZXIoKE5vZGUgb3IgRE9N
U3RyaW5nKS4uLiBub2Rlcyk7Ci0gICAgW1Vuc2NvcGFibGUsIE1heVRocm93TGVnYWN5RXhjZXB0
aW9uXSB2b2lkIHJlcGxhY2VXaXRoKChOb2RlIG9yIERPTVN0cmluZykuLi4gbm9kZXMpOwotICAg
IFtVbnNjb3BhYmxlLCBNYXlUaHJvd0xlZ2FjeUV4Y2VwdGlvbl0gdm9pZCByZW1vdmUoKTsKKyAg
ICBbVW5zY29wYWJsZSwgTWF5VGhyb3dMZWdhY3lFeGNlcHRpb24sIENFUmVhY3Rpb25zXSB2b2lk
IGJlZm9yZSgoTm9kZSBvciBET01TdHJpbmcpLi4uIG5vZGVzKTsKKyAgICBbVW5zY29wYWJsZSwg
TWF5VGhyb3dMZWdhY3lFeGNlcHRpb24sIENFUmVhY3Rpb25zXSB2b2lkIGFmdGVyKChOb2RlIG9y
IERPTVN0cmluZykuLi4gbm9kZXMpOworICAgIFtVbnNjb3BhYmxlLCBNYXlUaHJvd0xlZ2FjeUV4
Y2VwdGlvbiwgQ0VSZWFjdGlvbnNdIHZvaWQgcmVwbGFjZVdpdGgoKE5vZGUgb3IgRE9NU3RyaW5n
KS4uLiBub2Rlcyk7CisgICAgW1Vuc2NvcGFibGUsIE1heVRocm93TGVnYWN5RXhjZXB0aW9uLCBD
RVJlYWN0aW9uc10gdm9pZCByZW1vdmUoKTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vRG9jdW1lbnQuaWRsIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmlkbAppbmRl
eCA1ODdhZWU5N2QwZmMwMTRmMzZkNGJiYzcwOTNiZjNjMThhZTkyMmJhLi42ZTEwNTA0N2U3YTIy
NDM0ZWRhY2YzZjFmYzE5M2I2OTQ1ZmUxMmMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9k
b20vRG9jdW1lbnQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5pZGwKQEAg
LTQyLDcgKzQyLDcgQEAKIAogICAgIEhUTUxDb2xsZWN0aW9uIGdldEVsZW1lbnRzQnlUYWdOYW1l
KERPTVN0cmluZyB0YWduYW1lKTsKIAotICAgIFtOZXdPYmplY3QsIE1heVRocm93TGVnYWN5RXhj
ZXB0aW9uXSBOb2RlIGltcG9ydE5vZGUoTm9kZSBpbXBvcnRlZE5vZGUsIG9wdGlvbmFsIGJvb2xl
YW4gZGVlcCA9IGZhbHNlKTsKKyAgICBbTmV3T2JqZWN0LCBNYXlUaHJvd0xlZ2FjeUV4Y2VwdGlv
biwgQ0VSZWFjdGlvbnNdIE5vZGUgaW1wb3J0Tm9kZShOb2RlIGltcG9ydGVkTm9kZSwgb3B0aW9u
YWwgYm9vbGVhbiBkZWVwID0gZmFsc2UpOwogCiAgICAgW05ld09iamVjdCwgTWF5VGhyb3dMZWdh
Y3lFeGNlcHRpb25dIEVsZW1lbnQgY3JlYXRlRWxlbWVudE5TKERPTVN0cmluZz8gbmFtZXNwYWNl
VVJJLCBET01TdHJpbmcgcXVhbGlmaWVkTmFtZSk7CiAgICAgW05ld09iamVjdCwgTWF5VGhyb3dM
ZWdhY3lFeGNlcHRpb25dIEF0dHIgY3JlYXRlQXR0cmlidXRlTlMoRE9NU3RyaW5nPyBuYW1lc3Bh
Y2VVUkksIERPTVN0cmluZyBxdWFsaWZpZWROYW1lKTsKQEAgLTU1LDcgKzU1LDcgQEAKICAgICBb
U2V0dGVyTWF5VGhyb3dMZWdhY3lFeGNlcHRpb25dIGF0dHJpYnV0ZSBET01TdHJpbmc/IHhtbFZl
cnNpb247CiAgICAgYXR0cmlidXRlIGJvb2xlYW4geG1sU3RhbmRhbG9uZTsKIAotICAgIFtNYXlU
aHJvd0xlZ2FjeUV4Y2VwdGlvbl0gTm9kZSBhZG9wdE5vZGUoTm9kZSBzb3VyY2UpOworICAgIFtN
YXlUaHJvd0xlZ2FjeUV4Y2VwdGlvbiwgQ0VSZWFjdGlvbnNdIE5vZGUgYWRvcHROb2RlKE5vZGUg
c291cmNlKTsKIAogICAgIFtJbXBsZW1lbnRlZEFzPXVybEZvckJpbmRpbmdzXSByZWFkb25seSBh
dHRyaWJ1dGUgVVNWU3RyaW5nIGRvY3VtZW50VVJJOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vRWxlbWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5pZGwKaW5k
ZXggOTFhZGZlYzU1OTVmMTc1ODYyMDRiYmQ2ZGM1M2IwYmY1NWIyYWQ4Ni4uZWY3MTBmNTJlMDEz
YzNmMGEwZDA2NGE2YTRhMmNkNTRjNWM0M2NmNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZG9tL0VsZW1lbnQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmlkbApAQCAt
NTYsNyArNTYsNyBAQAogCiAgICAgW0ltcGxlbWVudGVkQXM9Y3Nzb21TdHlsZV0gcmVhZG9ubHkg
YXR0cmlidXRlIENTU1N0eWxlRGVjbGFyYXRpb24gc3R5bGU7CiAKLSAgICBbUmVmbGVjdF0gYXR0
cmlidXRlIERPTVN0cmluZyBpZDsKKyAgICBbUmVmbGVjdCwgQ0VSZWFjdGlvbnNdIGF0dHJpYnV0
ZSBET01TdHJpbmcgaWQ7CiAKICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nPyBuYW1l
c3BhY2VVUkk7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZz8gcHJlZml4OwpAQCAt
MTAwLDcgKzEwMCw3IEBACiAgICAgW1RyZWF0TnVsbEFzPUVtcHR5U3RyaW5nLCBTZXR0ZXJNYXlU
aHJvd0xlZ2FjeUV4Y2VwdGlvbl0gYXR0cmlidXRlIERPTVN0cmluZyBpbm5lckhUTUw7CiAgICAg
W1RyZWF0TnVsbEFzPUVtcHR5U3RyaW5nLCBTZXR0ZXJNYXlUaHJvd0xlZ2FjeUV4Y2VwdGlvbl0g
YXR0cmlidXRlIERPTVN0cmluZyBvdXRlckhUTUw7CiAKLSAgICBbUmVmbGVjdD1jbGFzc10gYXR0
cmlidXRlIERPTVN0cmluZyBjbGFzc05hbWU7CisgICAgW1JlZmxlY3Q9Y2xhc3MsIENFUmVhY3Rp
b25zXSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGNsYXNzTmFtZTsKICAgICBbUHV0Rm9yd2FyZHM9dmFs
dWVdIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01Ub2tlbkxpc3QgY2xhc3NMaXN0OwogCiAgICAgW01h
eVRocm93TGVnYWN5RXhjZXB0aW9uXSBib29sZWFuIG1hdGNoZXMoRE9NU3RyaW5nIHNlbGVjdG9y
cyk7CkBAIC0xMjQsNyArMTI0LDcgQEAKICAgICBbUmVmbGVjdF0gYXR0cmlidXRlIERPTVN0cmlu
ZyB1aWFjdGlvbnM7CiAjZW5kaWYKIAotICAgIFtNYXlUaHJvd0xlZ2FjeUV4Y2VwdGlvbl0gRWxl
bWVudCBpbnNlcnRBZGphY2VudEVsZW1lbnQoRE9NU3RyaW5nIHdoZXJlLCBFbGVtZW50IGVsZW1l
bnQpOworICAgIFtNYXlUaHJvd0xlZ2FjeUV4Y2VwdGlvbiwgQ0VSZWFjdGlvbnNdIEVsZW1lbnQg
aW5zZXJ0QWRqYWNlbnRFbGVtZW50KERPTVN0cmluZyB3aGVyZSwgRWxlbWVudCBlbGVtZW50KTsK
ICAgICBbTWF5VGhyb3dMZWdhY3lFeGNlcHRpb25dIHZvaWQgaW5zZXJ0QWRqYWNlbnRIVE1MKERP
TVN0cmluZyB3aGVyZSwgRE9NU3RyaW5nIGh0bWwpOwogICAgIFtNYXlUaHJvd0xlZ2FjeUV4Y2Vw
dGlvbl0gdm9pZCBpbnNlcnRBZGphY2VudFRleHQoRE9NU3RyaW5nIHdoZXJlLCBET01TdHJpbmcg
dGV4dCk7CiAKQEAgLTEzNyw3ICsxMzcsNyBAQAogICAgIC8vIFNoYWRvdyBET00gQVBJCiAgICAg
W0VuYWJsZWRBdFJ1bnRpbWU9U2hhZG93RE9NLCBNYXlUaHJvd0xlZ2FjeUV4Y2VwdGlvbl0gU2hh
ZG93Um9vdCBhdHRhY2hTaGFkb3coU2hhZG93Um9vdEluaXQgaW5pdCk7CiAgICAgW0VuYWJsZWRB
dFJ1bnRpbWU9U2hhZG93RE9NLCBJbXBsZW1lbnRlZEFzPXNoYWRvd1Jvb3RGb3JCaW5kaW5ncywg
Q2FsbFdpdGg9U2NyaXB0U3RhdGVdIHJlYWRvbmx5IGF0dHJpYnV0ZSBTaGFkb3dSb290IHNoYWRv
d1Jvb3Q7Ci0gICAgW0VuYWJsZWRBdFJ1bnRpbWU9U2hhZG93RE9NLCBSZWZsZWN0XSBhdHRyaWJ1
dGUgRE9NU3RyaW5nIHNsb3Q7CisgICAgW0VuYWJsZWRBdFJ1bnRpbWU9U2hhZG93RE9NLCBSZWZs
ZWN0LCBDRVJlYWN0aW9uc10gYXR0cmlidXRlIERPTVN0cmluZyBzbG90OwogCiAgICAgLy8gRXZl
bnQgSGFuZGxlcnMKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL05hbWVkTm9kZU1h
cC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTmFtZWROb2RlTWFwLmlkbAppbmRleCBmNmU4YTRh
YzNjYmE5ZDZlOTc4MmVlN2VmNTAxYzBiZDlhMTExZTA2Li4yNWQwNzVjNzM1NDgyYzZlMDliMzk2
YzJjZjY3MzQ1MzIzYmZjM2QyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTmFtZWRO
b2RlTWFwLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTmFtZWROb2RlTWFwLmlkbApAQCAt
MjYsMTAgKzI2LDEwIEBACiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbGVu
Z3RoOwogCiAgICAgZ2V0dGVyIEF0dHI/IGdldE5hbWVkSXRlbShET01TdHJpbmcgbmFtZSk7Ci0g
ICAgW01heVRocm93TGVnYWN5RXhjZXB0aW9uXSBBdHRyPyBzZXROYW1lZEl0ZW0oQXR0ciBhdHRy
KTsKLSAgICBbTWF5VGhyb3dMZWdhY3lFeGNlcHRpb25dIEF0dHIgcmVtb3ZlTmFtZWRJdGVtKERP
TVN0cmluZyBuYW1lKTsKKyAgICBbTWF5VGhyb3dMZWdhY3lFeGNlcHRpb24sIENFUmVhY3Rpb25z
XSBBdHRyPyBzZXROYW1lZEl0ZW0oQXR0ciBhdHRyKTsKKyAgICBbTWF5VGhyb3dMZWdhY3lFeGNl
cHRpb24sIENFUmVhY3Rpb25zXSBBdHRyIHJlbW92ZU5hbWVkSXRlbShET01TdHJpbmcgbmFtZSk7
CiAgICAgZ2V0dGVyIEF0dHI/IGl0ZW0odW5zaWduZWQgbG9uZyBpbmRleCk7CiAgICAgQXR0cj8g
Z2V0TmFtZWRJdGVtTlMoRE9NU3RyaW5nPyBuYW1lc3BhY2VVUkksIERPTVN0cmluZyBsb2NhbE5h
bWUpOwotICAgIFtNYXlUaHJvd0xlZ2FjeUV4Y2VwdGlvbiwgSW1wbGVtZW50ZWRBcz1zZXROYW1l
ZEl0ZW1dIEF0dHI/IHNldE5hbWVkSXRlbU5TKEF0dHIgYXR0cik7Ci0gICAgW01heVRocm93TGVn
YWN5RXhjZXB0aW9uXSBBdHRyIHJlbW92ZU5hbWVkSXRlbU5TKERPTVN0cmluZz8gbmFtZXNwYWNl
VVJJLCBET01TdHJpbmcgbG9jYWxOYW1lKTsKKyAgICBbTWF5VGhyb3dMZWdhY3lFeGNlcHRpb24s
IENFUmVhY3Rpb25zLCBJbXBsZW1lbnRlZEFzPXNldE5hbWVkSXRlbV0gQXR0cj8gc2V0TmFtZWRJ
dGVtTlMoQXR0ciBhdHRyKTsKKyAgICBbTWF5VGhyb3dMZWdhY3lFeGNlcHRpb24sIENFUmVhY3Rp
b25zXSBBdHRyIHJlbW92ZU5hbWVkSXRlbU5TKERPTVN0cmluZz8gbmFtZXNwYWNlVVJJLCBET01T
dHJpbmcgbG9jYWxOYW1lKTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9k
ZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5pZGwKaW5kZXggNmYyNzQyZjgzYTMwMjdi
MDYxZDVmMDJkMDllY2I0YTUyNjZjYWRhZi4uMDIzYjJjOTNkNTYzM2I3YzQzNTcwYjE4ZmUxZjZj
MDUyYzBjOTY4YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuaWRsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmlkbApAQCAtNDQsNyArNDQsNyBAQAogICAgIHJlYWRv
bmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgbm9kZU5hbWU7CiAKICAgICAvLyBGSVhNRTogdGhlIHNw
ZWMgc2F5cyB0aGlzIGNhbiBhbHNvIHJhaXNlIG9uIHJldHJpZXZhbC4KLSAgICBbU2V0dGVyTWF5
VGhyb3dMZWdhY3lFeGNlcHRpb25dIGF0dHJpYnV0ZSBET01TdHJpbmc/IG5vZGVWYWx1ZTsKKyAg
ICBbU2V0dGVyTWF5VGhyb3dMZWdhY3lFeGNlcHRpb24sIENFUmVhY3Rpb25zXSBhdHRyaWJ1dGUg
RE9NU3RyaW5nPyBub2RlVmFsdWU7CiAKICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQg
c2hvcnQgbm9kZVR5cGU7CiAgICAgW0RPTUpJVF0gcmVhZG9ubHkgYXR0cmlidXRlIE5vZGU/IHBh
cmVudE5vZGU7CkBAIC01NSw4ICs1NSw4IEBACiAgICAgW0RPTUpJVF0gcmVhZG9ubHkgYXR0cmli
dXRlIE5vZGU/IG5leHRTaWJsaW5nOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBEb2N1bWVudD8g
b3duZXJEb2N1bWVudDsKIAotICAgIFtDdXN0b20sIE1heVRocm93TGVnYWN5RXhjZXB0aW9uXSBO
b2RlIGluc2VydEJlZm9yZShbQ3VzdG9tUmV0dXJuXSBOb2RlIG5ld0NoaWxkLCBOb2RlPyByZWZD
aGlsZCk7Ci0gICAgW0N1c3RvbSwgTWF5VGhyb3dMZWdhY3lFeGNlcHRpb25dIE5vZGUgcmVwbGFj
ZUNoaWxkKE5vZGUgbmV3Q2hpbGQsIFtDdXN0b21SZXR1cm5dIE5vZGUgb2xkQ2hpbGQpOworICAg
IFtDdXN0b20sIE1heVRocm93TGVnYWN5RXhjZXB0aW9uLCBDRVJlYWN0aW9uc10gTm9kZSBpbnNl
cnRCZWZvcmUoW0N1c3RvbVJldHVybl0gTm9kZSBuZXdDaGlsZCwgTm9kZT8gcmVmQ2hpbGQpOwor
ICAgIFtDdXN0b20sIE1heVRocm93TGVnYWN5RXhjZXB0aW9uLCBDRVJlYWN0aW9uc10gTm9kZSBy
ZXBsYWNlQ2hpbGQoTm9kZSBuZXdDaGlsZCwgW0N1c3RvbVJldHVybl0gTm9kZSBvbGRDaGlsZCk7
CiAgICAgW0N1c3RvbSwgTWF5VGhyb3dMZWdhY3lFeGNlcHRpb24sIENFUmVhY3Rpb25zXSBOb2Rl
IHJlbW92ZUNoaWxkKFtDdXN0b21SZXR1cm5dIE5vZGUgb2xkQ2hpbGQpOwogICAgIFtDdXN0b20s
IE1heVRocm93TGVnYWN5RXhjZXB0aW9uLCBDRVJlYWN0aW9uc10gTm9kZSBhcHBlbmRDaGlsZChb
Q3VzdG9tUmV0dXJuXSBOb2RlIG5ld0NoaWxkKTsKIApAQCAtNjksNyArNjksNyBAQAogICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBVU1ZTdHJpbmcgYmFzZVVSSTsKIAogICAgIC8vIEZJWE1FOiB0aGUg
c3BlYyBzYXlzIHRoaXMgY2FuIGFsc28gcmFpc2Ugb24gcmV0cmlldmFsLgotICAgIFtTZXR0ZXJN
YXlUaHJvd0xlZ2FjeUV4Y2VwdGlvbl0gYXR0cmlidXRlIERPTVN0cmluZz8gdGV4dENvbnRlbnQ7
CisgICAgW1NldHRlck1heVRocm93TGVnYWN5RXhjZXB0aW9uLCBDRVJlYWN0aW9uc10gYXR0cmli
dXRlIERPTVN0cmluZz8gdGV4dENvbnRlbnQ7CiAKICAgICBib29sZWFuIGlzU2FtZU5vZGUoTm9k
ZT8gb3RoZXIpOwogICAgIGJvb2xlYW4gaXNFcXVhbE5vZGUoTm9kZT8gb3RoZXIpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1BhcmVudE5vZGUuaWRsIGIvU291cmNlL1dlYkNvcmUv
ZG9tL1BhcmVudE5vZGUuaWRsCmluZGV4IDE0MzRlZGViNGY4NmU1MWJjN2NhNjU5NzExZDY3YWI2
Y2U0MTIwYjYuLmRmNDFmNDU2MDg2YTg3NzgyYTlkOGNkNGY5ZWJlZDE3ZjlmYjhmM2UgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9QYXJlbnROb2RlLmlkbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vUGFyZW50Tm9kZS5pZGwKQEAgLTMzLDggKzMzLDggQEAKICAgICByZWFkb25seSBh
dHRyaWJ1dGUgRWxlbWVudCBsYXN0RWxlbWVudENoaWxkOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSB1bnNpZ25lZCBsb25nIGNoaWxkRWxlbWVudENvdW50OwogCi0gICAgW1Vuc2NvcGFibGUsIE1h
eVRocm93TGVnYWN5RXhjZXB0aW9uXSB2b2lkIHByZXBlbmQoKE5vZGUgb3IgRE9NU3RyaW5nKS4u
LiBub2Rlcyk7Ci0gICAgW1Vuc2NvcGFibGUsIE1heVRocm93TGVnYWN5RXhjZXB0aW9uXSB2b2lk
IGFwcGVuZCgoTm9kZSBvciBET01TdHJpbmcpLi4uIG5vZGVzKTsKKyAgICBbVW5zY29wYWJsZSwg
TWF5VGhyb3dMZWdhY3lFeGNlcHRpb24sIENFUmVhY3Rpb25zXSB2b2lkIHByZXBlbmQoKE5vZGUg
b3IgRE9NU3RyaW5nKS4uLiBub2Rlcyk7CisgICAgW1Vuc2NvcGFibGUsIE1heVRocm93TGVnYWN5
RXhjZXB0aW9uLCBDRVJlYWN0aW9uc10gdm9pZCBhcHBlbmQoKE5vZGUgb3IgRE9NU3RyaW5nKS4u
LiBub2Rlcyk7CiAKICAgICAvLyBbVW5zY29wYWJsZV0gRWxlbWVudD8gcXVlcnkoRE9NU3RyaW5n
IHJlbGF0aXZlU2VsZWN0b3JzKTsKICAgICAvLyBbTmV3T2JqZWN0LCBVbnNjb3BhYmxlXSBFbGVt
ZW50cyBxdWVyeUFsbChET01TdHJpbmcgcmVsYXRpdmVTZWxlY3RvcnMpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZG9tL1JhbmdlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9SYW5nZS5p
ZGwKaW5kZXggZTdkNTAxNjkxYzBlMzUxZTgzODI4ZDhjNWZkMDk3ZTdlY2M5YzM3Ny4uZGZmYjAz
YjgxZTgxNjM3NjFjYmJiZWJmNTg0NjJiZjYxYzYzNDEyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZG9tL1JhbmdlLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vUmFuZ2UuaWRsCkBA
IC00MSw2ICs0MSw4IEBACiAgICAgW01heVRocm93TGVnYWN5RXhjZXB0aW9uXSB2b2lkIHNldEVu
ZEJlZm9yZShOb2RlIHJlZk5vZGUpOwogICAgIFtNYXlUaHJvd0xlZ2FjeUV4Y2VwdGlvbl0gdm9p
ZCBzZXRFbmRBZnRlcihOb2RlIHJlZk5vZGUpOwogICAgIHZvaWQgY29sbGFwc2Uob3B0aW9uYWwg
Ym9vbGVhbiB0b1N0YXJ0ID0gZmFsc2UpOworICAgIC8vIEZJWE1FOiBVc2luZyAidW5kZWZpbmVk
IiBhcyBkZWZhdWx0IHBhcmFtZXRlciB2YWx1ZSBpcyB3cm9uZy4KKyAgICBbTWF5VGhyb3dMZWdh
Y3lFeGNlcHRpb25dIHZvaWQgZXhwYW5kKG9wdGlvbmFsIERPTVN0cmluZyB1bml0ID0gInVuZGVm
aW5lZCIpOwogICAgIFtNYXlUaHJvd0xlZ2FjeUV4Y2VwdGlvbl0gdm9pZCBzZWxlY3ROb2RlKE5v
ZGUgcmVmTm9kZSk7CiAgICAgW01heVRocm93TGVnYWN5RXhjZXB0aW9uXSB2b2lkIHNlbGVjdE5v
ZGVDb250ZW50cyhOb2RlIHJlZk5vZGUpOwogCkBAIC01MiwxMSArNTQsMTEgQEAKIAogICAgIFtN
YXlUaHJvd0xlZ2FjeUV4Y2VwdGlvbiwgSW1wbGVtZW50ZWRBcz1jb21wYXJlQm91bmRhcnlQb2lu
dHNGb3JCaW5kaW5nc10gc2hvcnQgY29tcGFyZUJvdW5kYXJ5UG9pbnRzKHVuc2lnbmVkIHNob3J0
IGhvdywgUmFuZ2Ugc291cmNlUmFuZ2UpOwogCi0gICAgW01heVRocm93TGVnYWN5RXhjZXB0aW9u
XSB2b2lkIGRlbGV0ZUNvbnRlbnRzKCk7Ci0gICAgW01heVRocm93TGVnYWN5RXhjZXB0aW9uLCBO
ZXdPYmplY3RdIERvY3VtZW50RnJhZ21lbnQgZXh0cmFjdENvbnRlbnRzKCk7Ci0gICAgW01heVRo
cm93TGVnYWN5RXhjZXB0aW9uLCBOZXdPYmplY3RdIERvY3VtZW50RnJhZ21lbnQgY2xvbmVDb250
ZW50cygpOwotICAgIFtNYXlUaHJvd0xlZ2FjeUV4Y2VwdGlvbl0gdm9pZCBpbnNlcnROb2RlKE5v
ZGUgbmV3Tm9kZSk7Ci0gICAgW01heVRocm93TGVnYWN5RXhjZXB0aW9uXSB2b2lkIHN1cnJvdW5k
Q29udGVudHMoTm9kZSBuZXdQYXJlbnQpOworICAgIFtNYXlUaHJvd0xlZ2FjeUV4Y2VwdGlvbiwg
Q0VSZWFjdGlvbnNdIHZvaWQgZGVsZXRlQ29udGVudHMoKTsKKyAgICBbTWF5VGhyb3dMZWdhY3lF
eGNlcHRpb24sIE5ld09iamVjdCwgQ0VSZWFjdGlvbnNdIERvY3VtZW50RnJhZ21lbnQgZXh0cmFj
dENvbnRlbnRzKCk7CisgICAgW01heVRocm93TGVnYWN5RXhjZXB0aW9uLCBOZXdPYmplY3QsIENF
UmVhY3Rpb25zXSBEb2N1bWVudEZyYWdtZW50IGNsb25lQ29udGVudHMoKTsKKyAgICBbTWF5VGhy
b3dMZWdhY3lFeGNlcHRpb24sIENFUmVhY3Rpb25zXSB2b2lkIGluc2VydE5vZGUoTm9kZSBuZXdO
b2RlKTsKKyAgICBbTWF5VGhyb3dMZWdhY3lFeGNlcHRpb24sIENFUmVhY3Rpb25zXSB2b2lkIHN1
cnJvdW5kQ29udGVudHMoTm9kZSBuZXdQYXJlbnQpOwogICAgIFtOZXdPYmplY3RdIFJhbmdlIGNs
b25lUmFuZ2UoKTsKICAgICBET01TdHJpbmcgdG9TdHJpbmcoKTsKIApAQCAtNzksNyArODEsNCBA
QAogCiAgICAgW01heVRocm93TGVnYWN5RXhjZXB0aW9uXSBzaG9ydCBjb21wYXJlUG9pbnQoTm9k
ZSByZWZOb2RlLCB1bnNpZ25lZCBsb25nIG9mZnNldCk7CiAgICAgW01heVRocm93TGVnYWN5RXhj
ZXB0aW9uXSBib29sZWFuIGlzUG9pbnRJblJhbmdlKE5vZGUgcmVmTm9kZSwgdW5zaWduZWQgbG9u
ZyBvZmZzZXQpOwotCi0gICAgLy8gRklYTUU6IFVzaW5nICJ1bmRlZmluZWQiIGFzIGRlZmF1bHQg
cGFyYW1ldGVyIHZhbHVlIGlzIHdyb25nLgotICAgIFtNYXlUaHJvd0xlZ2FjeUV4Y2VwdGlvbl0g
dm9pZCBleHBhbmQob3B0aW9uYWwgRE9NU3RyaW5nIHVuaXQgPSAidW5kZWZpbmVkIik7CiB9Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9ET01Ub2tlbkxpc3QuaWRsIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9ET01Ub2tlbkxpc3QuaWRsCmluZGV4IDc0NjNiM2RlZDIzMjlkNmE1ZTc1
OTcxODEwNTMxMWVmMjhlZjgzMTguLjVjMWVjNDU0NTIwNTIwNDQ3ZDYwMGFjNjc3NTM3MTQ2OTg1
MmE5MjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRE9NVG9rZW5MaXN0LmlkbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0RPTVRva2VuTGlzdC5pZGwKQEAgLTMwLDEzICszMCwx
MyBAQAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxlbmd0aDsKICAgICBn
ZXR0ZXIgRE9NU3RyaW5nPyBpdGVtKHVuc2lnbmVkIGxvbmcgaW5kZXgpOwogICAgIGJvb2xlYW4g
Y29udGFpbnMoRE9NU3RyaW5nIHRva2VuKTsKLSAgICBbTWF5VGhyb3dMZWdhY3lFeGNlcHRpb25d
IHZvaWQgYWRkKERPTVN0cmluZy4uLiB0b2tlbnMpOwotICAgIFtNYXlUaHJvd0xlZ2FjeUV4Y2Vw
dGlvbl0gdm9pZCByZW1vdmUoRE9NU3RyaW5nLi4uIHRva2Vucyk7Ci0gICAgW01heVRocm93TGVn
YWN5RXhjZXB0aW9uXSBib29sZWFuIHRvZ2dsZShET01TdHJpbmcgdG9rZW4sIG9wdGlvbmFsIGJv
b2xlYW4gZm9yY2UpOwotICAgIFtNYXlUaHJvd0xlZ2FjeUV4Y2VwdGlvbl0gdm9pZCByZXBsYWNl
KERPTVN0cmluZyB0b2tlbiwgRE9NU3RyaW5nIG5ld1Rva2VuKTsKKyAgICBbTWF5VGhyb3dMZWdh
Y3lFeGNlcHRpb24sIENFUmVhY3Rpb25zXSB2b2lkIGFkZChET01TdHJpbmcuLi4gdG9rZW5zKTsK
KyAgICBbTWF5VGhyb3dMZWdhY3lFeGNlcHRpb24sIENFUmVhY3Rpb25zXSB2b2lkIHJlbW92ZShE
T01TdHJpbmcuLi4gdG9rZW5zKTsKKyAgICBbTWF5VGhyb3dMZWdhY3lFeGNlcHRpb24sIENFUmVh
Y3Rpb25zXSBib29sZWFuIHRvZ2dsZShET01TdHJpbmcgdG9rZW4sIG9wdGlvbmFsIGJvb2xlYW4g
Zm9yY2UpOworICAgIFtNYXlUaHJvd0xlZ2FjeUV4Y2VwdGlvbiwgQ0VSZWFjdGlvbnNdIHZvaWQg
cmVwbGFjZShET01TdHJpbmcgdG9rZW4sIERPTVN0cmluZyBuZXdUb2tlbik7CiAgICAgW01heVRo
cm93TGVnYWN5RXhjZXB0aW9uXSBib29sZWFuIHN1cHBvcnRzKERPTVN0cmluZyB0b2tlbik7CiAK
ICAgICBpdGVyYWJsZTxET01TdHJpbmc+OwogCi0gICAgc3RyaW5naWZpZXIgYXR0cmlidXRlIERP
TVN0cmluZyB2YWx1ZTsKKyAgICBbQ0VSZWFjdGlvbnNdIHN0cmluZ2lmaWVyIGF0dHJpYnV0ZSBE
T01TdHJpbmcgdmFsdWU7CiB9OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggOGEx
OWMzZDEyM2ExMzk4NTdkODAxZWJkYTUxZWM1ZDVjYzg2YzQ0Ny4uZjU4M2ZhOGU0MTk1ZDEyNGI5
Mzk1NWIxMTljY2Y1ZGQ5NWRmMmQyNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjIgQEAKKzIwMTYtMTAtMTAgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5v
cmc+CisKKyAgICAgICAgQW5ub3RhdGUgRE9NIEFQSSB3aXRoIENFUmVhY3Rpb25zCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjMyNjgKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZWJhc2VsaW5lIHRlc3Rz
IG5vdyB0aGF0IG1vcmUgdGVzdCBjYXNlcyBhcmUgcGFzc2luZy4KKworICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL0F0dHItZXhwZWN0ZWQudHh0
OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25z
L0NoaWxkTm9kZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2N1
c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvRE9NVG9rZW5MaXN0LWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9Eb2N1bWVu
dC1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVt
ZW50cy9yZWFjdGlvbnMvRWxlbWVudC1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvTmFtZWROb2RlTWFwLWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0
aW9ucy9Ob2RlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3Vz
dG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9QYXJlbnROb2RlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9SYW5nZS1leHBl
Y3RlZC50eHQ6CisKIDIwMTYtMTAtMTAgIFJ5YW4gSGFkZGFkICA8cnlhbmhhZGRhZEBhcHBsZS5j
b20+CiAKICAgICAgICAgQWRkIGJhc2VsaW5lIGZvciB0d28gdGVzdHMgaW1wb3J0ZWQgd2l0aCBy
MjA2OTk5LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL0F0dHItZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMv
cmVhY3Rpb25zL0F0dHItZXhwZWN0ZWQudHh0CmluZGV4IGVmNzI5Y2MzMzU1YmJhMGY3ZDhjZWNi
N2JjNGI2MmY4MjhlMDg3ODcuLjBhYTJkODIzN2UwMzY0YTVmM2E2MDQ0YzkyNzk5ODMyMGUzMWFi
ODggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9BdHRyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9y
ZWFjdGlvbnMvQXR0ci1leHBlY3RlZC50eHQKQEAgLTEsNCArMSw0IEBACiAKLUZBSUwgdmFsdWUg
b24gQXR0ciBtdXN0IGVucXVldWUgYW4gYXR0cmlidXRlQ2hhbmdlZCByZWFjdGlvbiB3aGVuIHJl
cGxhY2luZyBhbiBleGlzdGluZyBhdHRyaWJ1dGUgYXNzZXJ0X2FycmF5X2VxdWFsczogbGVuZ3Ro
cyBkaWZmZXIsIGV4cGVjdGVkIDEgZ290IDAKK1BBU1MgdmFsdWUgb24gQXR0ciBtdXN0IGVucXVl
dWUgYW4gYXR0cmlidXRlQ2hhbmdlZCByZWFjdGlvbiB3aGVuIHJlcGxhY2luZyBhbiBleGlzdGlu
ZyBhdHRyaWJ1dGUgCiBQQVNTIHZhbHVlIG9uIEF0dHIgbXVzdCBub3QgZW5xdWV1ZSBhbiBhdHRy
aWJ1dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4gcmVwbGFjaW5nIGFuIGV4aXN0aW5nIHVub2JzZXJ2
ZWQgYXR0cmlidXRlIAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvQ2hpbGROb2RlLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Vz
dG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9DaGlsZE5vZGUtZXhwZWN0ZWQudHh0CmluZGV4IDdjMWYy
ODk1MzEzOGM4MGFiNTMwMDU3NmQ1ZDdjNWEwMDllYWE1ZDQuLjYxYjdiY2M1ODIwYjE3YTExNDY5
YWMxYmRmNzJlNGIzNDdiMDM5MmQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9DaGlsZE5vZGUt
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9DaGlsZE5vZGUtZXhwZWN0ZWQudHh0CkBA
IC0xLDkgKzEsOSBAQAogCi1GQUlMIGJlZm9yZSBvbiBDaGlsZE5vZGUgbXVzdCBlbnF1ZXVlIGEg
Y29ubmVjdGVkIHJlYWN0aW9uIGFzc2VydF9hcnJheV9lcXVhbHM6IGxlbmd0aHMgZGlmZmVyLCBl
eHBlY3RlZCAxIGdvdCAwCi1GQUlMIGJlZm9yZSBvbiBDaGlsZE5vZGUgbXVzdCBlbnF1ZXVlIGEg
ZGlzY29ubmVjdGVkIHJlYWN0aW9uLCBhbiBhZG9wdGVkIHJlYWN0aW9uLCBhbmQgYSBjb25uZWN0
ZWQgcmVhY3Rpb24gd2hlbiB0aGUgY3VzdG9tIGVsZW1lbnQgd2FzIGluIGFub3RoZXIgZG9jdW1l
bnQgYXNzZXJ0X2FycmF5X2VxdWFsczogbGVuZ3RocyBkaWZmZXIsIGV4cGVjdGVkIDEgZ290IDAK
LUZBSUwgYWZ0ZXIgb24gQ2hpbGROb2RlIG11c3QgZW5xdWV1ZSBhIGNvbm5lY3RlZCByZWFjdGlv
biBhc3NlcnRfYXJyYXlfZXF1YWxzOiBsZW5ndGhzIGRpZmZlciwgZXhwZWN0ZWQgMSBnb3QgMAot
RkFJTCBhZnRlciBvbiBDaGlsZE5vZGUgbXVzdCBlbnF1ZXVlIGEgZGlzY29ubmVjdGVkIHJlYWN0
aW9uLCBhbiBhZG9wdGVkIHJlYWN0aW9uLCBhbmQgYSBjb25uZWN0ZWQgcmVhY3Rpb24gd2hlbiB0
aGUgY3VzdG9tIGVsZW1lbnQgd2FzIGluIGFub3RoZXIgZG9jdW1lbnQgYXNzZXJ0X2FycmF5X2Vx
dWFsczogbGVuZ3RocyBkaWZmZXIsIGV4cGVjdGVkIDEgZ290IDAKLUZBSUwgcmVwbGFjZVdpdGgg
b24gQ2hpbGROb2RlIG11c3QgZW5xdWV1ZSBhIGNvbm5lY3RlZCByZWFjdGlvbiBhc3NlcnRfYXJy
YXlfZXF1YWxzOiBsZW5ndGhzIGRpZmZlciwgZXhwZWN0ZWQgMSBnb3QgMAotRkFJTCByZXBsYWNl
V2l0aCBvbiBDaGlsZE5vZGUgbXVzdCBlbnF1ZXVlIGEgZGlzY29ubmVjdGVkIHJlYWN0aW9uLCBh
biBhZG9wdGVkIHJlYWN0aW9uLCBhbmQgYSBjb25uZWN0ZWQgcmVhY3Rpb24gd2hlbiB0aGUgY3Vz
dG9tIGVsZW1lbnQgd2FzIGluIGFub3RoZXIgZG9jdW1lbnQgYXNzZXJ0X2FycmF5X2VxdWFsczog
bGVuZ3RocyBkaWZmZXIsIGV4cGVjdGVkIDEgZ290IDAKLUZBSUwgcmVwbGFjZVdpdGggb24gQ2hp
bGROb2RlIG11c3QgZW5xdWV1ZSBhIGRpc2Nvbm5lY3RlZCByZWFjdGlvbiBhc3NlcnRfYXJyYXlf
ZXF1YWxzOiBsZW5ndGhzIGRpZmZlciwgZXhwZWN0ZWQgMSBnb3QgMAorUEFTUyBiZWZvcmUgb24g
Q2hpbGROb2RlIG11c3QgZW5xdWV1ZSBhIGNvbm5lY3RlZCByZWFjdGlvbiAKK1BBU1MgYmVmb3Jl
IG9uIENoaWxkTm9kZSBtdXN0IGVucXVldWUgYSBkaXNjb25uZWN0ZWQgcmVhY3Rpb24sIGFuIGFk
b3B0ZWQgcmVhY3Rpb24sIGFuZCBhIGNvbm5lY3RlZCByZWFjdGlvbiB3aGVuIHRoZSBjdXN0b20g
ZWxlbWVudCB3YXMgaW4gYW5vdGhlciBkb2N1bWVudCAKK1BBU1MgYWZ0ZXIgb24gQ2hpbGROb2Rl
IG11c3QgZW5xdWV1ZSBhIGNvbm5lY3RlZCByZWFjdGlvbiAKK1BBU1MgYWZ0ZXIgb24gQ2hpbGRO
b2RlIG11c3QgZW5xdWV1ZSBhIGRpc2Nvbm5lY3RlZCByZWFjdGlvbiwgYW4gYWRvcHRlZCByZWFj
dGlvbiwgYW5kIGEgY29ubmVjdGVkIHJlYWN0aW9uIHdoZW4gdGhlIGN1c3RvbSBlbGVtZW50IHdh
cyBpbiBhbm90aGVyIGRvY3VtZW50IAorUEFTUyByZXBsYWNlV2l0aCBvbiBDaGlsZE5vZGUgbXVz
dCBlbnF1ZXVlIGEgY29ubmVjdGVkIHJlYWN0aW9uIAorUEFTUyByZXBsYWNlV2l0aCBvbiBDaGls
ZE5vZGUgbXVzdCBlbnF1ZXVlIGEgZGlzY29ubmVjdGVkIHJlYWN0aW9uLCBhbiBhZG9wdGVkIHJl
YWN0aW9uLCBhbmQgYSBjb25uZWN0ZWQgcmVhY3Rpb24gd2hlbiB0aGUgY3VzdG9tIGVsZW1lbnQg
d2FzIGluIGFub3RoZXIgZG9jdW1lbnQgCitQQVNTIHJlcGxhY2VXaXRoIG9uIENoaWxkTm9kZSBt
dXN0IGVucXVldWUgYSBkaXNjb25uZWN0ZWQgcmVhY3Rpb24gCiAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3Jl
YWN0aW9ucy9ET01Ub2tlbkxpc3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL0RPTVRva2Vu
TGlzdC1leHBlY3RlZC50eHQKaW5kZXggODQ3OWQxY2E3MDkyZDFiNjAyOGNiNDYzODdjNzBhZmE4
ODVlMzBjNi4uMDE1MjY3ZTk4MDg4YzZlNWQ5YmIzNjBmMzg4MGI0M2Q4YWQ4YjkxNCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20t
ZWxlbWVudHMvcmVhY3Rpb25zL0RPTVRva2VuTGlzdC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVh
Y3Rpb25zL0RPTVRva2VuTGlzdC1leHBlY3RlZC50eHQKQEAgLTEsMjIgKzEsMjIgQEAKIAotRkFJ
TCBhZGQgb24gRE9NVG9rZW5MaXN0IG11c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJl
YWN0aW9uIHdoZW4gYWRkaW5nIGFuIGF0dHJpYnV0ZSBhc3NlcnRfYXJyYXlfZXF1YWxzOiBsZW5n
dGhzIGRpZmZlciwgZXhwZWN0ZWQgMSBnb3QgMAorUEFTUyBhZGQgb24gRE9NVG9rZW5MaXN0IG11
c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4gYWRkaW5nIGFuIGF0
dHJpYnV0ZSAKIFBBU1MgYWRkIG9uIERPTVRva2VuTGlzdCBtdXN0IG5vdCBlbnF1ZXVlIGFuIGF0
dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiBhZGRpbmcgYW4gdW5vYnNlcnZlZCBhdHRyaWJ1
dGUgCi1GQUlMIGFkZCBvbiBET01Ub2tlbkxpc3QgbXVzdCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNo
YW5nZWQgcmVhY3Rpb24gd2hlbiBhZGRpbmcgYSB2YWx1ZSB0byBhbiBleGlzdGluZyBhdHRyaWJ1
dGUgYXNzZXJ0X2FycmF5X2VxdWFsczogbGVuZ3RocyBkaWZmZXIsIGV4cGVjdGVkIDEgZ290IDAK
K1BBU1MgYWRkIG9uIERPTVRva2VuTGlzdCBtdXN0IGVucXVldWUgYW4gYXR0cmlidXRlQ2hhbmdl
ZCByZWFjdGlvbiB3aGVuIGFkZGluZyBhIHZhbHVlIHRvIGFuIGV4aXN0aW5nIGF0dHJpYnV0ZSAK
IFBBU1MgYWRkIG9uIERPTVRva2VuTGlzdCBtdXN0IG5vdCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNo
YW5nZWQgcmVhY3Rpb24gd2hlbiBhZGRpbmcgYSB2YWx1ZSB0byBhbiB1bm9ic2VydmVkIGF0dHJp
YnV0ZSAKLUZBSUwgYWRkIG9uIERPTVRva2VuTGlzdCBtdXN0IGVucXVldWUgZXhhY3RseSBvbmUg
YXR0cmlidXRlQ2hhbmdlZCByZWFjdGlvbiB3aGVuIGFkZGluZyBtdWx0aXBsZSB2YWx1ZXMgdG8g
YW4gYXR0cmlidXRlIGFzc2VydF9hcnJheV9lcXVhbHM6IGxlbmd0aHMgZGlmZmVyLCBleHBlY3Rl
ZCAxIGdvdCAwCi1GQUlMIHJlbW92ZSBvbiBET01Ub2tlbkxpc3QgbXVzdCBlbnF1ZXVlIGFuIGF0
dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiByZW1vdmluZyBhIHZhbHVlIGZyb20gYW4gYXR0
cmlidXRlIGFzc2VydF9hcnJheV9lcXVhbHM6IGxlbmd0aHMgZGlmZmVyLCBleHBlY3RlZCAxIGdv
dCAwCi1GQUlMIHJlbW92ZSBvbiBET01Ub2tlbkxpc3QgbXVzdCBlbnF1ZXVlIGV4YWN0bHkgb25l
IGF0dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiByZW1vdmluZyBtdWx0aXBsZSB2YWx1ZXMg
dG8gYW4gYXR0cmlidXRlIGFzc2VydF9hcnJheV9lcXVhbHM6IGxlbmd0aHMgZGlmZmVyLCBleHBl
Y3RlZCAxIGdvdCAwCi1QQVNTIHJlbW92ZSBvbiBET01Ub2tlbkxpc3QgbXVzdCBub3QgZW5xdWV1
ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4gcmVtb3ZpbmcgYSBub24tZXhpc3Rl
bnQgdmFsdWUgZnJvbSBhbiBhdHRyaWJ1dGUgCitQQVNTIGFkZCBvbiBET01Ub2tlbkxpc3QgbXVz
dCBlbnF1ZXVlIGV4YWN0bHkgb25lIGF0dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiBhZGRp
bmcgbXVsdGlwbGUgdmFsdWVzIHRvIGFuIGF0dHJpYnV0ZSAKK1BBU1MgcmVtb3ZlIG9uIERPTVRv
a2VuTGlzdCBtdXN0IGVucXVldWUgYW4gYXR0cmlidXRlQ2hhbmdlZCByZWFjdGlvbiB3aGVuIHJl
bW92aW5nIGEgdmFsdWUgZnJvbSBhbiBhdHRyaWJ1dGUgCitQQVNTIHJlbW92ZSBvbiBET01Ub2tl
bkxpc3QgbXVzdCBlbnF1ZXVlIGV4YWN0bHkgb25lIGF0dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24g
d2hlbiByZW1vdmluZyBtdWx0aXBsZSB2YWx1ZXMgdG8gYW4gYXR0cmlidXRlIAorRkFJTCByZW1v
dmUgb24gRE9NVG9rZW5MaXN0IG11c3Qgbm90IGVucXVldWUgYW4gYXR0cmlidXRlQ2hhbmdlZCBy
ZWFjdGlvbiB3aGVuIHJlbW92aW5nIGEgbm9uLWV4aXN0ZW50IHZhbHVlIGZyb20gYW4gYXR0cmli
dXRlIGFzc2VydF9hcnJheV9lcXVhbHM6IGxlbmd0aHMgZGlmZmVyLCBleHBlY3RlZCAwIGdvdCAx
CiBQQVNTIHJlbW92ZSBvbiBET01Ub2tlbkxpc3QgbXVzdCBub3QgZW5xdWV1ZSBhbiBhdHRyaWJ1
dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4gcmVtb3ZpbmcgYSB2YWx1ZSBmcm9tIGFuIHVub2JzZXJ2
ZWQgYXR0cmlidXRlIAotRkFJTCB0b2dnbGUgb24gRE9NVG9rZW5MaXN0IG11c3QgZW5xdWV1ZSBh
biBhdHRyaWJ1dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4gYWRkaW5nIGEgdmFsdWUgdG8gYW4gYXR0
cmlidXRlIGFzc2VydF9hcnJheV9lcXVhbHM6IGxlbmd0aHMgZGlmZmVyLCBleHBlY3RlZCAxIGdv
dCAwCi1GQUlMIHRvZ2dsZSBvbiBET01Ub2tlbkxpc3QgbXVzdCBlbnF1ZXVlIGFuIGF0dHJpYnV0
ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiByZW1vdmluZyBhIHZhbHVlIGZyb20gYW4gYXR0cmlidXRl
IGFzc2VydF9hcnJheV9lcXVhbHM6IGxlbmd0aHMgZGlmZmVyLCBleHBlY3RlZCAxIGdvdCAwCitQ
QVNTIHRvZ2dsZSBvbiBET01Ub2tlbkxpc3QgbXVzdCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5n
ZWQgcmVhY3Rpb24gd2hlbiBhZGRpbmcgYSB2YWx1ZSB0byBhbiBhdHRyaWJ1dGUgCitQQVNTIHRv
Z2dsZSBvbiBET01Ub2tlbkxpc3QgbXVzdCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5nZWQgcmVh
Y3Rpb24gd2hlbiByZW1vdmluZyBhIHZhbHVlIGZyb20gYW4gYXR0cmlidXRlIAogUEFTUyByZW1v
dmUgb24gRE9NVG9rZW5MaXN0IG11c3Qgbm90IGVucXVldWUgYW4gYXR0cmlidXRlQ2hhbmdlZCBy
ZWFjdGlvbiB3aGVuIHJlbW92aW5nIGEgdmFsdWUgZnJvbSBhbiB1bm9ic2VydmVkIGF0dHJpYnV0
ZSAKLUZBSUwgcmVwbGFjZSBvbiBET01Ub2tlbkxpc3QgbXVzdCBlbnF1ZXVlIGFuIGF0dHJpYnV0
ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiByZXBsYWNpbmcgYSB2YWx1ZSBpbiBhbiBhdHRyaWJ1dGUg
YXNzZXJ0X2FycmF5X2VxdWFsczogbGVuZ3RocyBkaWZmZXIsIGV4cGVjdGVkIDEgZ290IDAKK1BB
U1MgcmVwbGFjZSBvbiBET01Ub2tlbkxpc3QgbXVzdCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5n
ZWQgcmVhY3Rpb24gd2hlbiByZXBsYWNpbmcgYSB2YWx1ZSBpbiBhbiBhdHRyaWJ1dGUgCiBQQVNT
IHJlcGxhY2Ugb24gRE9NVG9rZW5MaXN0IG11c3Qgbm90IGVucXVldWUgYW4gYXR0cmlidXRlQ2hh
bmdlZCByZWFjdGlvbiB3aGVuIHRoZSB0b2tlbiB0byByZXBsYWNlIGRvZXMgbm90IGV4aXN0IGlu
IHRoZSBhdHRyaWJ1dGUgCiBQQVNTIHJlcGxhY2Ugb24gRE9NVG9rZW5MaXN0IG11c3Qgbm90IGVu
cXVldWUgYW4gYXR0cmlidXRlQ2hhbmdlZCByZWFjdGlvbiB3aGVuIHJlcGxhY2luZyBhIHZhbHVl
IGluIGFuIHVub2JzZXJ2ZWQgYXR0cmlidXRlIAotRkFJTCB0aGUgc3RyaW5naWZpZXIgb2YgRE9N
VG9rZW5MaXN0IG11c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4g
YWRkaW5nIGFuIG9ic2VydmVkIGF0dHJpYnV0ZSBhc3NlcnRfYXJyYXlfZXF1YWxzOiBsZW5ndGhz
IGRpZmZlciwgZXhwZWN0ZWQgMSBnb3QgMAorUEFTUyB0aGUgc3RyaW5naWZpZXIgb2YgRE9NVG9r
ZW5MaXN0IG11c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4gYWRk
aW5nIGFuIG9ic2VydmVkIGF0dHJpYnV0ZSAKIFBBU1MgdGhlIHN0cmluZ2lmaWVyIG9mIERPTVRv
a2VuTGlzdCBtdXN0IG5vdCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24gd2hl
biBhZGRpbmcgYW4gdW5vYnNlcnZlZCBhdHRyaWJ1dGUgCi1GQUlMIHRoZSBzdHJpbmdpZmllciBv
ZiBET01Ub2tlbkxpc3QgbXVzdCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24g
d2hlbiBtdXRhdGluZyB0aGUgdmFsdWUgb2YgYW4gb2JzZXJ2ZWQgYXR0cmlidXRlIGFzc2VydF9h
cnJheV9lcXVhbHM6IGxlbmd0aHMgZGlmZmVyLCBleHBlY3RlZCAxIGdvdCAwCitQQVNTIHRoZSBz
dHJpbmdpZmllciBvZiBET01Ub2tlbkxpc3QgbXVzdCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5n
ZWQgcmVhY3Rpb24gd2hlbiBtdXRhdGluZyB0aGUgdmFsdWUgb2YgYW4gb2JzZXJ2ZWQgYXR0cmli
dXRlIAogUEFTUyB0aGUgc3RyaW5naWZpZXIgb2YgRE9NVG9rZW5MaXN0IG11c3Qgbm90IGVucXVl
dWUgYW4gYXR0cmlidXRlQ2hhbmdlZCByZWFjdGlvbiB3aGVuIG11dGF0aW5nIHRoZSB2YWx1ZSBv
ZiBhbiB1bm9ic2VydmVkIGF0dHJpYnV0ZSAKLUZBSUwgdGhlIHN0cmluZ2lmaWVyIG9mIERPTVRv
a2VuTGlzdCBtdXN0IGVucXVldWUgYW4gYXR0cmlidXRlQ2hhbmdlZCByZWFjdGlvbiB3aGVuIHRo
ZSBzZXR0ZXIgaXMgY2FsbGVkIHdpdGggdGhlIG9yaWdpbmFsIHZhbHVlIG9mIHRoZSBhdHRyaWJ1
dGUgYXNzZXJ0X2FycmF5X2VxdWFsczogbGVuZ3RocyBkaWZmZXIsIGV4cGVjdGVkIDEgZ290IDAK
K1BBU1MgdGhlIHN0cmluZ2lmaWVyIG9mIERPTVRva2VuTGlzdCBtdXN0IGVucXVldWUgYW4gYXR0
cmlidXRlQ2hhbmdlZCByZWFjdGlvbiB3aGVuIHRoZSBzZXR0ZXIgaXMgY2FsbGVkIHdpdGggdGhl
IG9yaWdpbmFsIHZhbHVlIG9mIHRoZSBhdHRyaWJ1dGUgCiAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0
aW9ucy9Eb2N1bWVudC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvRG9jdW1lbnQtZXhwZWN0
ZWQudHh0CmluZGV4IDliMTg5MWU4N2ZmN2QwYjc3N2M0ZTI4NGQ3ZGUwYjEzMjU5N2MwNjYuLjE2
MTQ0MjkzZGQ2OGY2YzlmZWRmM2U3NDgyNzE3MGJmMWNhOTlmOTIgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3Jl
YWN0aW9ucy9Eb2N1bWVudC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL0RvY3VtZW50
LWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDQgQEAKIAogRkFJTCBpbXBvcnROb2RlIG9uIERvY3Vt
ZW50IG11c3QgY29uc3RydWN0IGEgbmV3IGN1c3RvbSBlbGVtZW50IHdoZW4gaW1wb3J0aW5nIGEg
Y3VzdG9tIGVsZW1lbnQgYXNzZXJ0X2FycmF5X2VxdWFsczogbGVuZ3RocyBkaWZmZXIsIGV4cGVj
dGVkIDEgZ290IDAKLUZBSUwgYWRvcHROb2RlIG9uIERvY3VtZW50IG11c3QgZW5xdWV1ZSBhbiBh
ZG9wdGVkIHJlYWN0aW9uIHdoZW4gaW1wb3J0aW5nIGEgY3VzdG9tIGVsZW1lbnQgYXNzZXJ0X2Fy
cmF5X2VxdWFsczogbGVuZ3RocyBkaWZmZXIsIGV4cGVjdGVkIDEgZ290IDAKK1BBU1MgYWRvcHRO
b2RlIG9uIERvY3VtZW50IG11c3QgZW5xdWV1ZSBhbiBhZG9wdGVkIHJlYWN0aW9uIHdoZW4gaW1w
b3J0aW5nIGEgY3VzdG9tIGVsZW1lbnQgCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9FbGVt
ZW50LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9FbGVtZW50LWV4cGVjdGVkLnR4dAppbmRl
eCA1NDA3ZTg3ZDM5ODgzMGNlNTdiMzkxMDRmY2I5ZTMxOTY1MzY2MGZkLi4wYzUzN2QwNmIzNWU4
YTBiYmUyZmU0ZGRlZWRhZGNiYTFhOGUyMWQxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvRWxl
bWVudC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL0VsZW1lbnQtZXhwZWN0ZWQudHh0
CkBAIC0xLDEwICsxLDEwIEBACiAKLUZBSUwgaWQgb24gRWxlbWVudCBtdXN0IGVucXVldWUgYW4g
YXR0cmlidXRlQ2hhbmdlZCByZWFjdGlvbiB3aGVuIGFkZGluZyBpZCBjb250ZW50IGF0dHJpYnV0
ZSBhc3NlcnRfYXJyYXlfZXF1YWxzOiBsZW5ndGhzIGRpZmZlciwgZXhwZWN0ZWQgMSBnb3QgMAot
RkFJTCBpZCBvbiBFbGVtZW50IG11c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJlYWN0
aW9uIHdoZW4gcmVwbGFjaW5nIGFuIGV4aXN0aW5nIGF0dHJpYnV0ZSBhc3NlcnRfYXJyYXlfZXF1
YWxzOiBsZW5ndGhzIGRpZmZlciwgZXhwZWN0ZWQgMiBnb3QgMQotRkFJTCBjbGFzc05hbWUgb24g
RWxlbWVudCBtdXN0IGVucXVldWUgYW4gYXR0cmlidXRlQ2hhbmdlZCByZWFjdGlvbiB3aGVuIGFk
ZGluZyBjbGFzcyBjb250ZW50IGF0dHJpYnV0ZSBhc3NlcnRfYXJyYXlfZXF1YWxzOiBsZW5ndGhz
IGRpZmZlciwgZXhwZWN0ZWQgMSBnb3QgMAotRkFJTCBjbGFzc05hbWUgb24gRWxlbWVudCBtdXN0
IGVucXVldWUgYW4gYXR0cmlidXRlQ2hhbmdlZCByZWFjdGlvbiB3aGVuIHJlcGxhY2luZyBhbiBl
eGlzdGluZyBhdHRyaWJ1dGUgYXNzZXJ0X2FycmF5X2VxdWFsczogbGVuZ3RocyBkaWZmZXIsIGV4
cGVjdGVkIDIgZ290IDEKLUZBSUwgc2xvdCBvbiBFbGVtZW50IG11c3QgZW5xdWV1ZSBhbiBhdHRy
aWJ1dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4gYWRkaW5nIHNsb3QgY29udGVudCBhdHRyaWJ1dGUg
YXNzZXJ0X2FycmF5X2VxdWFsczogbGVuZ3RocyBkaWZmZXIsIGV4cGVjdGVkIDEgZ290IDAKLUZB
SUwgc2xvdCBvbiBFbGVtZW50IG11c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJlYWN0
aW9uIHdoZW4gcmVwbGFjaW5nIGFuIGV4aXN0aW5nIGF0dHJpYnV0ZSBhc3NlcnRfYXJyYXlfZXF1
YWxzOiBsZW5ndGhzIGRpZmZlciwgZXhwZWN0ZWQgMiBnb3QgMQorUEFTUyBpZCBvbiBFbGVtZW50
IG11c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4gYWRkaW5nIGlk
IGNvbnRlbnQgYXR0cmlidXRlIAorUEFTUyBpZCBvbiBFbGVtZW50IG11c3QgZW5xdWV1ZSBhbiBh
dHRyaWJ1dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4gcmVwbGFjaW5nIGFuIGV4aXN0aW5nIGF0dHJp
YnV0ZSAKK1BBU1MgY2xhc3NOYW1lIG9uIEVsZW1lbnQgbXVzdCBlbnF1ZXVlIGFuIGF0dHJpYnV0
ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiBhZGRpbmcgY2xhc3MgY29udGVudCBhdHRyaWJ1dGUgCitQ
QVNTIGNsYXNzTmFtZSBvbiBFbGVtZW50IG11c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2Vk
IHJlYWN0aW9uIHdoZW4gcmVwbGFjaW5nIGFuIGV4aXN0aW5nIGF0dHJpYnV0ZSAKK1BBU1Mgc2xv
dCBvbiBFbGVtZW50IG11c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJlYWN0aW9uIHdo
ZW4gYWRkaW5nIHNsb3QgY29udGVudCBhdHRyaWJ1dGUgCitQQVNTIHNsb3Qgb24gRWxlbWVudCBt
dXN0IGVucXVldWUgYW4gYXR0cmlidXRlQ2hhbmdlZCByZWFjdGlvbiB3aGVuIHJlcGxhY2luZyBh
biBleGlzdGluZyBhdHRyaWJ1dGUgCiBQQVNTIHNldEF0dHJpYnV0ZSBvbiBFbGVtZW50IG11c3Qg
ZW5xdWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4gYWRkaW5nIGFuIGF0dHJp
YnV0ZSAKIFBBU1Mgc2V0QXR0cmlidXRlIG9uIEVsZW1lbnQgbXVzdCBub3QgZW5xdWV1ZSBhbiBh
dHRyaWJ1dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4gYWRkaW5nIGFuIHVub2JzZXJ2ZWQgYXR0cmli
dXRlIAogUEFTUyBzZXRBdHRyaWJ1dGUgb24gRWxlbWVudCBtdXN0IGVucXVldWUgYW4gYXR0cmli
dXRlQ2hhbmdlZCByZWFjdGlvbiB3aGVuIHJlcGxhY2luZyBhbiBleGlzdGluZyBhdHRyaWJ1dGUg
CkBAIC0zMyw2ICszMyw2IEBAIFBBU1MgcmVtb3ZlQXR0cmlidXRlTm9kZSBvbiBFbGVtZW50IG11
c3Qgbm90IGVucXVldWUgYW4gYXR0cmlidXRlQ2hhbmdlZCByZWFjdGlvCiBQQVNTIHJlbW92ZUF0
dHJpYnV0ZU5vZGUgb24gRWxlbWVudCBtdXN0IG5vdCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5n
ZWQgcmVhY3Rpb24gd2hlbiByZW1vdmluZyBhbiB1bm9ic2VydmVkIGF0dHJpYnV0ZSAKIFBBU1Mg
cmVtb3ZlQXR0cmlidXRlTm9kZSBvbiBFbGVtZW50IG11c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVD
aGFuZ2VkIHJlYWN0aW9uIHdoZW4gcmVtb3ZpbmcgYW4gZXhpc3RpbmcgYXR0cmlidXRlIAogUEFT
UyByZW1vdmVBdHRyaWJ1dGVOb2RlIG9uIEVsZW1lbnQgbXVzdCBub3QgZW5xdWV1ZSBhbiBhdHRy
aWJ1dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4gcmVtb3ZpbmcgYW4gZXhpc3RpbmcgdW5vYnNlcnZl
ZCBhdHRyaWJ1dGUgCi1GQUlMIHVuZGVmaW5lZCBtdXN0IGVucXVldWUgYSBjb25uZWN0ZWQgcmVh
Y3Rpb24gYXNzZXJ0X2FycmF5X2VxdWFsczogbGVuZ3RocyBkaWZmZXIsIGV4cGVjdGVkIDEgZ290
IDAKLUZBSUwgdW5kZWZpbmVkIG11c3QgZW5xdWV1ZSBhIGRpc2Nvbm5lY3RlZCByZWFjdGlvbiwg
YW4gYWRvcHRlZCByZWFjdGlvbiwgYW5kIGEgY29ubmVjdGVkIHJlYWN0aW9uIHdoZW4gdGhlIGN1
c3RvbSBlbGVtZW50IHdhcyBpbiBhbm90aGVyIGRvY3VtZW50IGFzc2VydF9hcnJheV9lcXVhbHM6
IGxlbmd0aHMgZGlmZmVyLCBleHBlY3RlZCAxIGdvdCAwCitQQVNTIHVuZGVmaW5lZCBtdXN0IGVu
cXVldWUgYSBjb25uZWN0ZWQgcmVhY3Rpb24gCitQQVNTIHVuZGVmaW5lZCBtdXN0IGVucXVldWUg
YSBkaXNjb25uZWN0ZWQgcmVhY3Rpb24sIGFuIGFkb3B0ZWQgcmVhY3Rpb24sIGFuZCBhIGNvbm5l
Y3RlZCByZWFjdGlvbiB3aGVuIHRoZSBjdXN0b20gZWxlbWVudCB3YXMgaW4gYW5vdGhlciBkb2N1
bWVudCAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL05hbWVkTm9kZU1hcC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1l
bGVtZW50cy9yZWFjdGlvbnMvTmFtZWROb2RlTWFwLWV4cGVjdGVkLnR4dAppbmRleCBiOGM2NWFm
MjAxZDMwNTM2MGRiMjM2OTk1NjYyNTBkZTEyZGMyZTBmLi5iZTk2OTc1Zjk0ODA1Y2U4Mjc0MWMw
ODEzZGEzNjBiYjA2N2Y4NjgzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvTmFtZWROb2RlTWFw
LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvTmFtZWROb2RlTWFwLWV4cGVjdGVkLnR4
dApAQCAtMSwxOCArMSwxOCBAQAogCi1GQUlMIHNldE5hbWVkSXRlbSBvbiBOYW1lZE5vZGVNYXAg
bXVzdCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiBhZGRpbmcgYW4g
YXR0cmlidXRlIGFzc2VydF9hcnJheV9lcXVhbHM6IGxlbmd0aHMgZGlmZmVyLCBleHBlY3RlZCAx
IGdvdCAwCitQQVNTIHNldE5hbWVkSXRlbSBvbiBOYW1lZE5vZGVNYXAgbXVzdCBlbnF1ZXVlIGFu
IGF0dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiBhZGRpbmcgYW4gYXR0cmlidXRlIAogUEFT
UyBzZXROYW1lZEl0ZW0gb24gTmFtZWROb2RlTWFwIG11c3Qgbm90IGVucXVldWUgYW4gYXR0cmli
dXRlQ2hhbmdlZCByZWFjdGlvbiB3aGVuIGFkZGluZyBhbiB1bm9ic2VydmVkIGF0dHJpYnV0ZSAK
LUZBSUwgc2V0TmFtZWRJdGVtIG9uIE5hbWVkTm9kZU1hcCBtdXN0IGVucXVldWUgYW4gYXR0cmli
dXRlQ2hhbmdlZCByZWFjdGlvbiB3aGVuIHJlcGxhY2luZyBhbiBleGlzdGluZyBhdHRyaWJ1dGUg
YXNzZXJ0X2FycmF5X2VxdWFsczogbGVuZ3RocyBkaWZmZXIsIGV4cGVjdGVkIDEgZ290IDAKK1BB
U1Mgc2V0TmFtZWRJdGVtIG9uIE5hbWVkTm9kZU1hcCBtdXN0IGVucXVldWUgYW4gYXR0cmlidXRl
Q2hhbmdlZCByZWFjdGlvbiB3aGVuIHJlcGxhY2luZyBhbiBleGlzdGluZyBhdHRyaWJ1dGUgCiBQ
QVNTIHNldE5hbWVkSXRlbSBvbiBOYW1lZE5vZGVNYXAgbXVzdCBlbnF1ZXVlIGFuIGF0dHJpYnV0
ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiByZXBsYWNpbmcgYW4gZXhpc3RpbmcgdW5vYnNlcnZlZCBh
dHRyaWJ1dGUgCi1GQUlMIHNldE5hbWVkSXRlbU5TIG9uIE5hbWVkTm9kZU1hcCBtdXN0IGVucXVl
dWUgYW4gYXR0cmlidXRlQ2hhbmdlZCByZWFjdGlvbiB3aGVuIGFkZGluZyBhbiBhdHRyaWJ1dGUg
YXNzZXJ0X2FycmF5X2VxdWFsczogbGVuZ3RocyBkaWZmZXIsIGV4cGVjdGVkIDEgZ290IDAKK1BB
U1Mgc2V0TmFtZWRJdGVtTlMgb24gTmFtZWROb2RlTWFwIG11c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1
dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4gYWRkaW5nIGFuIGF0dHJpYnV0ZSAKIFBBU1Mgc2V0TmFt
ZWRJdGVtTlMgb24gTmFtZWROb2RlTWFwIG11c3Qgbm90IGVucXVldWUgYW4gYXR0cmlidXRlQ2hh
bmdlZCByZWFjdGlvbiB3aGVuIGFkZGluZyBhbiB1bm9ic2VydmVkIGF0dHJpYnV0ZSAKLUZBSUwg
c2V0TmFtZWRJdGVtTlMgb24gTmFtZWROb2RlTWFwIG11c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVD
aGFuZ2VkIHJlYWN0aW9uIHdoZW4gcmVwbGFjaW5nIGFuIGV4aXN0aW5nIGF0dHJpYnV0ZSBhc3Nl
cnRfYXJyYXlfZXF1YWxzOiBsZW5ndGhzIGRpZmZlciwgZXhwZWN0ZWQgMSBnb3QgMAorUEFTUyBz
ZXROYW1lZEl0ZW1OUyBvbiBOYW1lZE5vZGVNYXAgbXVzdCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNo
YW5nZWQgcmVhY3Rpb24gd2hlbiByZXBsYWNpbmcgYW4gZXhpc3RpbmcgYXR0cmlidXRlIAogUEFT
UyBzZXROYW1lZEl0ZW1OUyBvbiBOYW1lZE5vZGVNYXAgbXVzdCBlbnF1ZXVlIGFuIGF0dHJpYnV0
ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiByZXBsYWNpbmcgYW4gZXhpc3RpbmcgdW5vYnNlcnZlZCBh
dHRyaWJ1dGUgCiBGQUlMIHJlbW92ZU5hbWVkSXRlbSBvbiBOYW1lZE5vZGVNYXAgbXVzdCBub3Qg
ZW5xdWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4gcmVtb3ZpbmcgYW4gYXR0
cmlidXRlIHRoYXQgZG9lcyBub3QgZXhpc3QgVGhlIG9iamVjdCBjYW4gbm90IGJlIGZvdW5kIGhl
cmUuCiBQQVNTIHJlbW92ZU5hbWVkSXRlbSBvbiBOYW1lZE5vZGVNYXAgbXVzdCBub3QgZW5xdWV1
ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4gcmVtb3ZpbmcgYW4gdW5vYnNlcnZl
ZCBhdHRyaWJ1dGUgCi1GQUlMIHJlbW92ZU5hbWVkSXRlbSBvbiBOYW1lZE5vZGVNYXAgbXVzdCBl
bnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiByZW1vdmluZyBhbiBleGlz
dGluZyBhdHRyaWJ1dGUgYXNzZXJ0X2FycmF5X2VxdWFsczogbGVuZ3RocyBkaWZmZXIsIGV4cGVj
dGVkIDEgZ290IDAKK1BBU1MgcmVtb3ZlTmFtZWRJdGVtIG9uIE5hbWVkTm9kZU1hcCBtdXN0IGVu
cXVldWUgYW4gYXR0cmlidXRlQ2hhbmdlZCByZWFjdGlvbiB3aGVuIHJlbW92aW5nIGFuIGV4aXN0
aW5nIGF0dHJpYnV0ZSAKIFBBU1MgcmVtb3ZlTmFtZWRJdGVtIG9uIE5hbWVkTm9kZU1hcCBtdXN0
IG5vdCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiByZW1vdmluZyBh
biBleGlzdGluZyB1bm9ic2VydmVkIGF0dHJpYnV0ZSAKIEZBSUwgcmVtb3ZlTmFtZWRJdGVtTlMg
b24gTmFtZWROb2RlTWFwIG11c3Qgbm90IGVucXVldWUgYW4gYXR0cmlidXRlQ2hhbmdlZCByZWFj
dGlvbiB3aGVuIHJlbW92aW5nIGFuIGF0dHJpYnV0ZSB0aGF0IGRvZXMgbm90IGV4aXN0IFRoZSBv
YmplY3QgY2FuIG5vdCBiZSBmb3VuZCBoZXJlLgogUEFTUyByZW1vdmVOYW1lZEl0ZW1OUyBvbiBO
YW1lZE5vZGVNYXAgbXVzdCBub3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJlYWN0aW9u
IHdoZW4gcmVtb3ZpbmcgYW4gdW5vYnNlcnZlZCBhdHRyaWJ1dGUgCi1GQUlMIHJlbW92ZU5hbWVk
SXRlbU5TIG9uIE5hbWVkTm9kZU1hcCBtdXN0IGVucXVldWUgYW4gYXR0cmlidXRlQ2hhbmdlZCBy
ZWFjdGlvbiB3aGVuIHJlbW92aW5nIGFuIGV4aXN0aW5nIGF0dHJpYnV0ZSBhc3NlcnRfYXJyYXlf
ZXF1YWxzOiBsZW5ndGhzIGRpZmZlciwgZXhwZWN0ZWQgMSBnb3QgMAorUEFTUyByZW1vdmVOYW1l
ZEl0ZW1OUyBvbiBOYW1lZE5vZGVNYXAgbXVzdCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5nZWQg
cmVhY3Rpb24gd2hlbiByZW1vdmluZyBhbiBleGlzdGluZyBhdHRyaWJ1dGUgCiBQQVNTIHJlbW92
ZU5hbWVkSXRlbU5TIG9uIE5hbWVkTm9kZU1hcCBtdXN0IG5vdCBlbnF1ZXVlIGFuIGF0dHJpYnV0
ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiByZW1vdmluZyBhbiBleGlzdGluZyB1bm9ic2VydmVkIGF0
dHJpYnV0ZSAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL05vZGUtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVu
dHMvcmVhY3Rpb25zL05vZGUtZXhwZWN0ZWQudHh0CmluZGV4IGRjNjYwZDM2ZTYzNjg1YTE0NTUx
MWIwY2IxN2ExNzk1M2E5MDczZWQuLmE1ODc2OWVjOWE0NjZiZmI3ZWYxMzI0OTM3NTY4N2VjODEw
NGQ0YWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9Ob2RlLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50
cy9yZWFjdGlvbnMvTm9kZS1leHBlY3RlZC50eHQKQEAgLTEsMTYgKzEsMTYgQEAKIAotRkFJTCBu
b2RlVmFsdWUgb24gTm9kZSBtdXN0IGVucXVldWUgYW4gYXR0cmlidXRlQ2hhbmdlZCByZWFjdGlv
biB3aGVuIHJlcGxhY2luZyBhbiBleGlzdGluZyBhdHRyaWJ1dGUgYXNzZXJ0X2FycmF5X2VxdWFs
czogbGVuZ3RocyBkaWZmZXIsIGV4cGVjdGVkIDEgZ290IDAKK1BBU1Mgbm9kZVZhbHVlIG9uIE5v
ZGUgbXVzdCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiByZXBsYWNp
bmcgYW4gZXhpc3RpbmcgYXR0cmlidXRlIAogUEFTUyBub2RlVmFsdWUgb24gTm9kZSBtdXN0IG5v
dCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiByZXBsYWNpbmcgYW4g
ZXhpc3RpbmcgdW5vYnNlcnZlZCBhdHRyaWJ1dGUgCi1GQUlMIHRleHRDb250ZW50IG9uIE5vZGUg
bXVzdCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiByZXBsYWNpbmcg
YW4gZXhpc3RpbmcgYXR0cmlidXRlIGFzc2VydF9hcnJheV9lcXVhbHM6IGxlbmd0aHMgZGlmZmVy
LCBleHBlY3RlZCAxIGdvdCAwCitGQUlMIHRleHRDb250ZW50IG9uIE5vZGUgbXVzdCBlbnF1ZXVl
IGFuIGF0dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiByZXBsYWNpbmcgYW4gZXhpc3Rpbmcg
YXR0cmlidXRlIGFzc2VydF9hcnJheV9lcXVhbHM6IGxlbmd0aHMgZGlmZmVyLCBleHBlY3RlZCAx
IGdvdCAyCiBQQVNTIHRleHRDb250ZW50IG9uIE5vZGUgbXVzdCBub3QgZW5xdWV1ZSBhbiBhdHRy
aWJ1dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4gcmVwbGFjaW5nIGFuIGV4aXN0aW5nIHVub2JzZXJ2
ZWQgYXR0cmlidXRlIAogRkFJTCBjbG9uZU5vZGUgb24gTm9kZSBtdXN0IGVucXVldWUgYW4gYXR0
cmlidXRlQ2hhbmdlZCByZWFjdGlvbiB3aGVuIGNsb25pbmcgYW4gZWxlbWVudCB3aXRoIGFuIG9i
c2VydmVkIGF0dHJpYnV0ZSBhc3NlcnRfYXJyYXlfZXF1YWxzOiBsZW5ndGhzIGRpZmZlciwgZXhw
ZWN0ZWQgMiBnb3QgMQogUEFTUyBjbG9uZU5vZGUgb24gTm9kZSBtdXN0IG5vdCBlbnF1ZXVlIGFu
IGF0dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiBjbG9uaW5nIGFuIGVsZW1lbnQgd2l0aCBh
biB1bm9ic2VydmVkIGF0dHJpYnV0ZSAKLUZBSUwgY2xvbmVOb2RlIG9uIE5vZGUgbXVzdCBlbnF1
ZXVlIGFuIGF0dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiBjbG9uaW5nIGFuIGVsZW1lbnQg
b25seSBmb3Igb2JzZXJ2ZWQgYXR0cmlidXRlcyBhc3NlcnRfYXJyYXlfZXF1YWxzOiBsZW5ndGhz
IGRpZmZlciwgZXhwZWN0ZWQgNCBnb3QgMwotRkFJTCBpbnNlcnRCZWZvcmUgb24gQ2hpbGROb2Rl
IG11c3QgZW5xdWV1ZSBhIGNvbm5lY3RlZCByZWFjdGlvbiBhc3NlcnRfYXJyYXlfZXF1YWxzOiBs
ZW5ndGhzIGRpZmZlciwgZXhwZWN0ZWQgMSBnb3QgMAotRkFJTCBpbnNlcnRCZWZvcmUgb24gQ2hp
bGROb2RlIG11c3QgZW5xdWV1ZSBhIGRpc2Nvbm5lY3RlZCByZWFjdGlvbiwgYW4gYWRvcHRlZCBy
ZWFjdGlvbiwgYW5kIGEgY29ubmVjdGVkIHJlYWN0aW9uIHdoZW4gdGhlIGN1c3RvbSBlbGVtZW50
IHdhcyBpbiBhbm90aGVyIGRvY3VtZW50IGFzc2VydF9hcnJheV9lcXVhbHM6IGxlbmd0aHMgZGlm
ZmVyLCBleHBlY3RlZCAxIGdvdCAwCitGQUlMIGNsb25lTm9kZSBvbiBOb2RlIG11c3QgZW5xdWV1
ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4gY2xvbmluZyBhbiBlbGVtZW50IG9u
bHkgZm9yIG9ic2VydmVkIGF0dHJpYnV0ZXMgYXNzZXJ0X2FycmF5X2VxdWFsczogbGVuZ3RocyBk
aWZmZXIsIGV4cGVjdGVkIDMgZ290IDEKK1BBU1MgaW5zZXJ0QmVmb3JlIG9uIENoaWxkTm9kZSBt
dXN0IGVucXVldWUgYSBjb25uZWN0ZWQgcmVhY3Rpb24gCitQQVNTIGluc2VydEJlZm9yZSBvbiBD
aGlsZE5vZGUgbXVzdCBlbnF1ZXVlIGEgZGlzY29ubmVjdGVkIHJlYWN0aW9uLCBhbiBhZG9wdGVk
IHJlYWN0aW9uLCBhbmQgYSBjb25uZWN0ZWQgcmVhY3Rpb24gd2hlbiB0aGUgY3VzdG9tIGVsZW1l
bnQgd2FzIGluIGFub3RoZXIgZG9jdW1lbnQgCiBQQVNTIGFwcGVuZENoaWxkIG9uIENoaWxkTm9k
ZSBtdXN0IGVucXVldWUgYSBjb25uZWN0ZWQgcmVhY3Rpb24gCiBQQVNTIGFwcGVuZENoaWxkIG9u
IENoaWxkTm9kZSBtdXN0IGVucXVldWUgYSBkaXNjb25uZWN0ZWQgcmVhY3Rpb24sIGFuIGFkb3B0
ZWQgcmVhY3Rpb24sIGFuZCBhIGNvbm5lY3RlZCByZWFjdGlvbiB3aGVuIHRoZSBjdXN0b20gZWxl
bWVudCB3YXMgaW4gYW5vdGhlciBkb2N1bWVudCAKLUZBSUwgcmVwbGFjZUNoaWxkIG9uIENoaWxk
Tm9kZSBtdXN0IGVucXVldWUgYSBjb25uZWN0ZWQgcmVhY3Rpb24gYXNzZXJ0X2FycmF5X2VxdWFs
czogbGVuZ3RocyBkaWZmZXIsIGV4cGVjdGVkIDEgZ290IDAKLUZBSUwgcmVwbGFjZUNoaWxkIG9u
IENoaWxkTm9kZSBtdXN0IGVucXVldWUgYSBkaXNjb25uZWN0ZWQgcmVhY3Rpb24sIGFuIGFkb3B0
ZWQgcmVhY3Rpb24sIGFuZCBhIGNvbm5lY3RlZCByZWFjdGlvbiB3aGVuIHRoZSBjdXN0b20gZWxl
bWVudCB3YXMgaW4gYW5vdGhlciBkb2N1bWVudCBhc3NlcnRfYXJyYXlfZXF1YWxzOiBsZW5ndGhz
IGRpZmZlciwgZXhwZWN0ZWQgMSBnb3QgMAorUEFTUyByZXBsYWNlQ2hpbGQgb24gQ2hpbGROb2Rl
IG11c3QgZW5xdWV1ZSBhIGNvbm5lY3RlZCByZWFjdGlvbiAKK1BBU1MgcmVwbGFjZUNoaWxkIG9u
IENoaWxkTm9kZSBtdXN0IGVucXVldWUgYSBkaXNjb25uZWN0ZWQgcmVhY3Rpb24sIGFuIGFkb3B0
ZWQgcmVhY3Rpb24sIGFuZCBhIGNvbm5lY3RlZCByZWFjdGlvbiB3aGVuIHRoZSBjdXN0b20gZWxl
bWVudCB3YXMgaW4gYW5vdGhlciBkb2N1bWVudCAKIFBBU1MgcmVtb3ZlQ2hpbGQgb24gQ2hpbGRO
b2RlIG11c3QgZW5xdWV1ZSBhIGRpc2Nvbm5lY3RlZCByZWFjdGlvbiAKIApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVu
dHMvcmVhY3Rpb25zL1BhcmVudE5vZGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL1BhcmVu
dE5vZGUtZXhwZWN0ZWQudHh0CmluZGV4IDhkZDczNTA3MWU0MDAxZDBiYjE2NmU4MDQ0MTY2ZjU0
OGEzYzkzNjMuLjRjZDg5ZGQxOGM3Mzk1YTAzYTQ1NzgxODAzODFmOTdkNDY5ZGI4ZDAgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9t
LWVsZW1lbnRzL3JlYWN0aW9ucy9QYXJlbnROb2RlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZWFj
dGlvbnMvUGFyZW50Tm9kZS1leHBlY3RlZC50eHQKQEAgLTEsNiArMSw2IEBACiAKLUZBSUwgcHJl
cGVuZCBvbiBQYXJlbnROb2RlIG11c3QgZW5xdWV1ZSBhIGNvbm5lY3RlZCByZWFjdGlvbiBhc3Nl
cnRfYXJyYXlfZXF1YWxzOiBsZW5ndGhzIGRpZmZlciwgZXhwZWN0ZWQgMSBnb3QgMAotRkFJTCBw
cmVwZW5kIG9uIFBhcmVudE5vZGUgbXVzdCBlbnF1ZXVlIGEgZGlzY29ubmVjdGVkIHJlYWN0aW9u
LCBhbiBhZG9wdGVkIHJlYWN0aW9uLCBhbmQgYSBjb25uZWN0ZWQgcmVhY3Rpb24gd2hlbiB0aGUg
Y3VzdG9tIGVsZW1lbnQgd2FzIGluIGFub3RoZXIgZG9jdW1lbnQgYXNzZXJ0X2FycmF5X2VxdWFs
czogbGVuZ3RocyBkaWZmZXIsIGV4cGVjdGVkIDEgZ290IDAKLUZBSUwgYXBwZW5kIG9uIFBhcmVu
dE5vZGUgbXVzdCBlbnF1ZXVlIGEgY29ubmVjdGVkIHJlYWN0aW9uIGFzc2VydF9hcnJheV9lcXVh
bHM6IGxlbmd0aHMgZGlmZmVyLCBleHBlY3RlZCAxIGdvdCAwCi1GQUlMIGFwcGVuZCBvbiBQYXJl
bnROb2RlIG11c3QgZW5xdWV1ZSBhIGRpc2Nvbm5lY3RlZCByZWFjdGlvbiwgYW4gYWRvcHRlZCBy
ZWFjdGlvbiwgYW5kIGEgY29ubmVjdGVkIHJlYWN0aW9uIHdoZW4gdGhlIGN1c3RvbSBlbGVtZW50
IHdhcyBpbiBhbm90aGVyIGRvY3VtZW50IGFzc2VydF9hcnJheV9lcXVhbHM6IGxlbmd0aHMgZGlm
ZmVyLCBleHBlY3RlZCAxIGdvdCAwCitQQVNTIHByZXBlbmQgb24gUGFyZW50Tm9kZSBtdXN0IGVu
cXVldWUgYSBjb25uZWN0ZWQgcmVhY3Rpb24gCitQQVNTIHByZXBlbmQgb24gUGFyZW50Tm9kZSBt
dXN0IGVucXVldWUgYSBkaXNjb25uZWN0ZWQgcmVhY3Rpb24sIGFuIGFkb3B0ZWQgcmVhY3Rpb24s
IGFuZCBhIGNvbm5lY3RlZCByZWFjdGlvbiB3aGVuIHRoZSBjdXN0b20gZWxlbWVudCB3YXMgaW4g
YW5vdGhlciBkb2N1bWVudCAKK1BBU1MgYXBwZW5kIG9uIFBhcmVudE5vZGUgbXVzdCBlbnF1ZXVl
IGEgY29ubmVjdGVkIHJlYWN0aW9uIAorUEFTUyBhcHBlbmQgb24gUGFyZW50Tm9kZSBtdXN0IGVu
cXVldWUgYSBkaXNjb25uZWN0ZWQgcmVhY3Rpb24sIGFuIGFkb3B0ZWQgcmVhY3Rpb24sIGFuZCBh
IGNvbm5lY3RlZCByZWFjdGlvbiB3aGVuIHRoZSBjdXN0b20gZWxlbWVudCB3YXMgaW4gYW5vdGhl
ciBkb2N1bWVudCAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL1JhbmdlLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVs
ZW1lbnRzL3JlYWN0aW9ucy9SYW5nZS1leHBlY3RlZC50eHQKaW5kZXggYTYzM2JkN2NlNjQ3OGNm
OGIyZDhiMGU1MWI5ZjkzOWUyZjFlODg0Ni4uOTE5M2ZkZGFmYjQ4NmUyZDNkZTg3MzJkYTZlM2Iy
YzliMWRhOTUyMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL1JhbmdlLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1l
bGVtZW50cy9yZWFjdGlvbnMvUmFuZ2UtZXhwZWN0ZWQudHh0CkBAIC0xLDExICsxLDExIEBACiAK
LUZBSUwgZGVsZXRlQ29udGVudHMgb24gUmFuZ2UgbXVzdCBlbnF1ZXVlIGEgZGlzY29ubmVjdGVk
IHJlYWN0aW9uIGFzc2VydF9hcnJheV9lcXVhbHM6IGxlbmd0aHMgZGlmZmVyLCBleHBlY3RlZCAx
IGdvdCAwCi1GQUlMIGV4dHJhY3RDb250ZW50cyBvbiBSYW5nZSBtdXN0IGVucXVldWUgYSBkaXNj
b25uZWN0ZWQgcmVhY3Rpb24gYXNzZXJ0X2FycmF5X2VxdWFsczogbGVuZ3RocyBkaWZmZXIsIGV4
cGVjdGVkIDEgZ290IDAKLUZBSUwgY2xvbmVDb250ZW50cyBvbiBSYW5nZSBtdXN0IGVucXVldWUg
YW4gYXR0cmlidXRlQ2hhbmdlZCByZWFjdGlvbiB3aGVuIGNsb25pbmcgYW4gZWxlbWVudCB3aXRo
IGFuIG9ic2VydmVkIGF0dHJpYnV0ZSBhc3NlcnRfYXJyYXlfZXF1YWxzOiBsZW5ndGhzIGRpZmZl
ciwgZXhwZWN0ZWQgMiBnb3QgMAotRkFJTCBjbG9uZUNvbnRlbnRzIG9uIFJhbmdlIG11c3Qgbm90
IGVucXVldWUgYW4gYXR0cmlidXRlQ2hhbmdlZCByZWFjdGlvbiB3aGVuIGNsb25pbmcgYW4gZWxl
bWVudCB3aXRoIGFuIHVub2JzZXJ2ZWQgYXR0cmlidXRlIGFzc2VydF9hcnJheV9lcXVhbHM6IGxl
bmd0aHMgZGlmZmVyLCBleHBlY3RlZCAxIGdvdCAwCi1GQUlMIGNsb25lQ29udGVudHMgb24gUmFu
Z2UgbXVzdCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiBjbG9uaW5n
IGFuIGVsZW1lbnQgb25seSBmb3Igb2JzZXJ2ZWQgYXR0cmlidXRlcyBhc3NlcnRfYXJyYXlfZXF1
YWxzOiBsZW5ndGhzIGRpZmZlciwgZXhwZWN0ZWQgNCBnb3QgMwotRkFJTCBpbnNlcnROb2RlIG9u
IFJhbmdlIG11c3QgZW5xdWV1ZSBhIGNvbm5lY3RlZCByZWFjdGlvbiBhc3NlcnRfYXJyYXlfZXF1
YWxzOiBsZW5ndGhzIGRpZmZlciwgZXhwZWN0ZWQgMSBnb3QgMAotRkFJTCBpbnNlcnROb2RlIG9u
IFJhbmdlIG11c3QgZW5xdWV1ZSBhIGRpc2Nvbm5lY3RlZCByZWFjdGlvbiwgYW4gYWRvcHRlZCBy
ZWFjdGlvbiwgYW5kIGEgY29ubmVjdGVkIHJlYWN0aW9uIHdoZW4gdGhlIGN1c3RvbSBlbGVtZW50
IHdhcyBpbiBhbm90aGVyIGRvY3VtZW50IGFzc2VydF9hcnJheV9lcXVhbHM6IGxlbmd0aHMgZGlm
ZmVyLCBleHBlY3RlZCAxIGdvdCAwCi1GQUlMIGluc2VydE5vZGUgb24gUmFuZ2UgbXVzdCBlbnF1
ZXVlIGEgY29ubmVjdGVkIHJlYWN0aW9uIGFzc2VydF9hcnJheV9lcXVhbHM6IGxlbmd0aHMgZGlm
ZmVyLCBleHBlY3RlZCAxIGdvdCAwCi1GQUlMIGluc2VydE5vZGUgb24gUmFuZ2UgbXVzdCBlbnF1
ZXVlIGEgZGlzY29ubmVjdGVkIHJlYWN0aW9uLCBhbiBhZG9wdGVkIHJlYWN0aW9uLCBhbmQgYSBj
b25uZWN0ZWQgcmVhY3Rpb24gd2hlbiB0aGUgY3VzdG9tIGVsZW1lbnQgd2FzIGluIGFub3RoZXIg
ZG9jdW1lbnQgYXNzZXJ0X2FycmF5X2VxdWFsczogbGVuZ3RocyBkaWZmZXIsIGV4cGVjdGVkIDEg
Z290IDAKK1BBU1MgZGVsZXRlQ29udGVudHMgb24gUmFuZ2UgbXVzdCBlbnF1ZXVlIGEgZGlzY29u
bmVjdGVkIHJlYWN0aW9uIAorUEFTUyBleHRyYWN0Q29udGVudHMgb24gUmFuZ2UgbXVzdCBlbnF1
ZXVlIGEgZGlzY29ubmVjdGVkIHJlYWN0aW9uIAorRkFJTCBjbG9uZUNvbnRlbnRzIG9uIFJhbmdl
IG11c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4gY2xvbmluZyBh
biBlbGVtZW50IHdpdGggYW4gb2JzZXJ2ZWQgYXR0cmlidXRlIGFzc2VydF9hcnJheV9lcXVhbHM6
IGxlbmd0aHMgZGlmZmVyLCBleHBlY3RlZCAyIGdvdCAxCitQQVNTIGNsb25lQ29udGVudHMgb24g
UmFuZ2UgbXVzdCBub3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4g
Y2xvbmluZyBhbiBlbGVtZW50IHdpdGggYW4gdW5vYnNlcnZlZCBhdHRyaWJ1dGUgCitGQUlMIGNs
b25lQ29udGVudHMgb24gUmFuZ2UgbXVzdCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5nZWQgcmVh
Y3Rpb24gd2hlbiBjbG9uaW5nIGFuIGVsZW1lbnQgb25seSBmb3Igb2JzZXJ2ZWQgYXR0cmlidXRl
cyBhc3NlcnRfYXJyYXlfZXF1YWxzOiBsZW5ndGhzIGRpZmZlciwgZXhwZWN0ZWQgMyBnb3QgMQor
UEFTUyBpbnNlcnROb2RlIG9uIFJhbmdlIG11c3QgZW5xdWV1ZSBhIGNvbm5lY3RlZCByZWFjdGlv
biAKK1BBU1MgaW5zZXJ0Tm9kZSBvbiBSYW5nZSBtdXN0IGVucXVldWUgYSBkaXNjb25uZWN0ZWQg
cmVhY3Rpb24sIGFuIGFkb3B0ZWQgcmVhY3Rpb24sIGFuZCBhIGNvbm5lY3RlZCByZWFjdGlvbiB3
aGVuIHRoZSBjdXN0b20gZWxlbWVudCB3YXMgaW4gYW5vdGhlciBkb2N1bWVudCAKK1BBU1MgaW5z
ZXJ0Tm9kZSBvbiBSYW5nZSBtdXN0IGVucXVldWUgYSBjb25uZWN0ZWQgcmVhY3Rpb24gCitQQVNT
IGluc2VydE5vZGUgb24gUmFuZ2UgbXVzdCBlbnF1ZXVlIGEgZGlzY29ubmVjdGVkIHJlYWN0aW9u
LCBhbiBhZG9wdGVkIHJlYWN0aW9uLCBhbmQgYSBjb25uZWN0ZWQgcmVhY3Rpb24gd2hlbiB0aGUg
Y3VzdG9tIGVsZW1lbnQgd2FzIGluIGFub3RoZXIgZG9jdW1lbnQgCiAK
</data>
<flag name="review"
          id="314359"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>