<?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>71904</bug_id>
          
          <creation_ts>2011-11-09 06:44:48 -0800</creation_ts>
          <short_desc>CSS exclusions: parse the wrap-flow and wrap-through properties</short_desc>
          <delta_ts>2011-11-17 00:08:54 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>CSS</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://dev.w3.org/csswg/css3-exclusions/</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>57311</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexandru Chiculita">achicu</reporter>
          <assigned_to name="Mihnea Ovidenie">mihnea</assigned_to>
          <cc>dglazkov</cc>
    
    <cc>macpherson</cc>
    
    <cc>mihnea</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>498893</commentid>
    <comment_count>0</comment_count>
    <who name="Alexandru Chiculita">achicu</who>
    <bug_when>2011-11-09 06:44:48 -0800</bug_when>
    <thetext>Add parsing code for wrap-flow and wrap-through properties.

http://dev.w3.org/csswg/css3-exclusions/#wrap-flow-property
http://dev.w3.org/csswg/css3-exclusions/#wrap-through-property</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>499053</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2011-11-09 09:25:17 -0800</bug_when>
    <thetext>&lt;rdar://problem/10419702&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>501879</commentid>
    <comment_count>2</comment_count>
      <attachid>114940</attachid>
    <who name="Mihnea Ovidenie">mihnea</who>
    <bug_when>2011-11-14 07:00:02 -0800</bug_when>
    <thetext>Created attachment 114940
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>501891</commentid>
    <comment_count>3</comment_count>
      <attachid>114940</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-14 07:21:59 -0800</bug_when>
    <thetext>Comment on attachment 114940
Patch

Attachment 114940 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/10472258</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>501949</commentid>
    <comment_count>4</comment_count>
      <attachid>114954</attachid>
    <who name="Mihnea Ovidenie">mihnea</who>
    <bug_when>2011-11-14 08:46:42 -0800</bug_when>
    <thetext>Created attachment 114954
Patch 2

1. Use || instead of | in CSSParser.cpp
2. Rework wrap-through-parsing.js</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>502020</commentid>
    <comment_count>5</comment_count>
      <attachid>114954</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-14 09:51:32 -0800</bug_when>
    <thetext>Comment on attachment 114954
Patch 2

Attachment 114954 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/10473247

New failing tests:
svg/css/getComputedStyle-basic.xhtml
fast/css/getComputedStyle/computed-style.html
fast/css/getComputedStyle/computed-style-without-renderer.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>502724</commentid>
    <comment_count>6</comment_count>
      <attachid>115120</attachid>
    <who name="Mihnea Ovidenie">mihnea</who>
    <bug_when>2011-11-15 01:28:52 -0800</bug_when>
    <thetext>Created attachment 115120
Patch 3

Add expected results for chromium-win.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>504619</commentid>
    <comment_count>7</comment_count>
      <attachid>115120</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-17 00:08:49 -0800</bug_when>
    <thetext>Comment on attachment 115120
Patch 3

Clearing flags on attachment: 115120

Committed r100570: &lt;http://trac.webkit.org/changeset/100570&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>504620</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-17 00:08:54 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>114940</attachid>
            <date>2011-11-14 07:00:02 -0800</date>
            <delta_ts>2011-11-14 08:46:42 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>71904.patch</filename>
            <type>text/plain</type>
            <size>26831</size>
            <attacher name="Mihnea Ovidenie">mihnea</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA1M2IzZGVjLi5kMDg5MDk3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTEtMTEt
MTQgIE1paG5lYSBPdmlkZW5pZSAgPG1paG5lYUBhZG9iZS5jb20+CisKKyAgICAgICAgQ1NTIGV4
Y2x1c2lvbnM6IHBhcnNlIHRoZSB3cmFwLWZsb3cgYW5kIHdyYXAtdGhyb3VnaCBwcm9wZXJ0aWVz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTkwNAor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC9j
c3MvZ2V0Q29tcHV0ZWRTdHlsZS9jb21wdXRlZC1zdHlsZS1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogZmFzdC9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS9jb21wdXRlZC1zdHlsZS13aXRob3V0LXJlbmRl
cmVyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2V4Y2x1c2lvbnMvc2NyaXB0LXRlc3Rz
L3dyYXAtZmxvdy1wYXJzaW5nLmpzOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2V4Y2x1c2lvbnMv
c2NyaXB0LXRlc3RzL3dyYXAtdGhyb3VnaC1wYXJzaW5nLmpzOiBBZGRlZC4KKyAgICAgICAgKiBm
YXN0L2V4Y2x1c2lvbnMvd3JhcC1mbG93LXBhcnNpbmctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBmYXN0L2V4Y2x1c2lvbnMvd3JhcC1mbG93LXBhcnNpbmcuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZmFzdC9leGNsdXNpb25zL3dyYXAtdGhyb3VnaC1wYXJzaW5nLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZmFzdC9leGNsdXNpb25zL3dyYXAtdGhyb3VnaC1wYXJzaW5n
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHN2Zy9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS1iYXNpYy1l
eHBlY3RlZC50eHQ6CisKIDIwMTEtMTEtMTQgIFRvbnkgR2VudGlsY29yZSAgPHRvbnlnQGNocm9t
aXVtLm9yZz4KIAogICAgICAgICBUZXN0cyBvY2Nhc2lvbmFsbHkgcmVwb3J0IG1pc3NpbmcgZXhw
ZWN0YXRpb25zCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9nZXRDb21wdXRlZFN0
eWxlL2NvbXB1dGVkLXN0eWxlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL2dl
dENvbXB1dGVkU3R5bGUvY29tcHV0ZWQtc3R5bGUtZXhwZWN0ZWQudHh0CmluZGV4IGI2MWU4YTku
LjNjNDcyYTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL2dldENvbXB1dGVkU3R5
bGUvY29tcHV0ZWQtc3R5bGUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3Nz
L2dldENvbXB1dGVkU3R5bGUvY29tcHV0ZWQtc3R5bGUtZXhwZWN0ZWQudHh0CkBAIC0yMDcsNiAr
MjA3LDggQEAgem9vbTogMTsKIC13ZWJraXQtcmVnaW9uLWJyZWFrLWFmdGVyOiBhdXRvOwogLXdl
YmtpdC1yZWdpb24tYnJlYWstYmVmb3JlOiBhdXRvOwogLXdlYmtpdC1yZWdpb24tYnJlYWstaW5z
aWRlOiBhdXRvOworLXdlYmtpdC13cmFwLWZsb3c6IGF1dG87Cistd2Via2l0LXdyYXAtdGhyb3Vn
aDogd3JhcDsKIGNsaXAtcGF0aDogbm9uZTsKIGNsaXAtcnVsZTogbm9uemVybzsKIG1hc2s6IG5v
bmU7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9nZXRDb21wdXRlZFN0eWxlL2Nv
bXB1dGVkLXN0eWxlLXdpdGhvdXQtcmVuZGVyZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZmFzdC9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS9jb21wdXRlZC1zdHlsZS13aXRob3V0LXJlbmRlcmVy
LWV4cGVjdGVkLnR4dAppbmRleCAyZWQxNGE2Li5iZjk4YTMzIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9mYXN0L2Nzcy9nZXRDb21wdXRlZFN0eWxlL2NvbXB1dGVkLXN0eWxlLXdpdGhvdXQtcmVu
ZGVyZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL2dldENvbXB1dGVk
U3R5bGUvY29tcHV0ZWQtc3R5bGUtd2l0aG91dC1yZW5kZXJlci1leHBlY3RlZC50eHQKQEAgLTIw
Niw2ICsyMDYsOCBAQCBDb21wdXRlZCBzdHlsZSBvZiBhbiBlbGVtZW50IHdob3NlIHBhcmVudCdz
ICdkaXNwbGF5JyB2YWx1ZSBpcyAnbm9uZSc6CiAgICAgLXdlYmtpdC1yZWdpb24tYnJlYWstYWZ0
ZXI6IGF1dG8KICAgICAtd2Via2l0LXJlZ2lvbi1icmVhay1iZWZvcmU6IGF1dG8KICAgICAtd2Vi
a2l0LXJlZ2lvbi1icmVhay1pbnNpZGU6IGF1dG8KKyAgICAtd2Via2l0LXdyYXAtZmxvdzogYXV0
bworICAgIC13ZWJraXQtd3JhcC10aHJvdWdoOiB3cmFwCiAgICAgY2xpcC1wYXRoOiBub25lCiAg
ICAgY2xpcC1ydWxlOiBub256ZXJvCiAgICAgbWFzazogbm9uZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9leGNsdXNpb25zL3NjcmlwdC10ZXN0cy93cmFwLWZsb3ctcGFyc2luZy5qcyBi
L0xheW91dFRlc3RzL2Zhc3QvZXhjbHVzaW9ucy9zY3JpcHQtdGVzdHMvd3JhcC1mbG93LXBhcnNp
bmcuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjAzMTkwOAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXhjbHVzaW9ucy9zY3JpcHQtdGVzdHMvd3Jh
cC1mbG93LXBhcnNpbmcuanMKQEAgLTAsMCArMSw1MyBAQAorZGVzY3JpcHRpb24oJ1Rlc3QgcGFy
c2luZyBvZiB0aGUgQ1NTIHdyYXAtZmxvdyBwcm9wZXJ0eS4nKTsKKworZnVuY3Rpb24gdGVzdChk
ZWNsYXJhdGlvbikgeworICAgIHZhciBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYi
KTsKKyAgICBkaXYuc2V0QXR0cmlidXRlKCJzdHlsZSIsIGRlY2xhcmF0aW9uKTsKKyAgICByZXR1
cm4gZGl2LnN0eWxlLndlYmtpdFdyYXBGbG93OworfQorCitmdW5jdGlvbiB0ZXN0Q29tcHV0ZWRT
dHlsZSh2YWx1ZSkgeworICAgIHZhciBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYi
KTsKKyAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGRpdik7CisgICAgZGl2LnN0eWxlLnNl
dFByb3BlcnR5KCItd2Via2l0LXdyYXAtZmxvdyIsIHZhbHVlKTsKKyAgICB2YXIgd2Via2l0V3Jh
cEZsb3dDb21wdXRlZFZhbHVlID0gZ2V0Q29tcHV0ZWRTdHlsZShkaXYpLmdldFByb3BlcnR5VmFs
dWUoIi13ZWJraXQtd3JhcC1mbG93Iik7CisgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChk
aXYpOworICAgIHJldHVybiB3ZWJraXRXcmFwRmxvd0NvbXB1dGVkVmFsdWU7Cit9CisKK2Z1bmN0
aW9uIHRlc3ROb3RJbmhlcml0ZWQocGFyZW50VmFsdWUsIGNoaWxkVmFsdWUpIHsKKyAgICB2YXIg
cGFyZW50RGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CisgICAgZG9jdW1lbnQu
Ym9keS5hcHBlbmRDaGlsZChwYXJlbnREaXYpOworICAgIHBhcmVudERpdi5zdHlsZS5zZXRQcm9w
ZXJ0eSgiLXdlYmtpdC13cmFwLWZsb3ciLCBwYXJlbnRWYWx1ZSk7CisKKyAgICB2YXIgY2hpbGRE
aXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKKyAgICBwYXJlbnREaXYuYXBwZW5k
Q2hpbGQoY2hpbGREaXYpOworICAgIGNoaWxkRGl2LnN0eWxlLnNldFByb3BlcnR5KCItd2Via2l0
LXdyYXAtZmxvdyIsIGNoaWxkVmFsdWUpOworCisgICAgdmFyIGNoaWxkV2ViS2l0V3JhcEZsb3dD
b21wdXRlZFZhbHVlID0gZ2V0Q29tcHV0ZWRTdHlsZShjaGlsZERpdikuZ2V0UHJvcGVydHlWYWx1
ZSgiLXdlYmtpdC13cmFwLWZsb3ciKTsKKworICAgIHBhcmVudERpdi5yZW1vdmVDaGlsZChjaGls
ZERpdik7CisgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChwYXJlbnREaXYpOworCisgICAg
cmV0dXJuIGNoaWxkV2ViS2l0V3JhcEZsb3dDb21wdXRlZFZhbHVlOworfQorCitzaG91bGRCZUVx
dWFsVG9TdHJpbmcoJ3Rlc3QoIi13ZWJraXQtd3JhcC1mbG93OiBhdXRvIiknLCAiYXV0byIpOwor
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0KCItd2Via2l0LXdyYXAtZmxvdzogYm90aCIpJywg
ImJvdGgiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygndGVzdCgiLXdlYmtpdC13cmFwLWZsb3c6
IGxlZnQiKScsICJsZWZ0Iik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3QoIi13ZWJraXQt
d3JhcC1mbG93OiByaWdodCIpJywgInJpZ2h0Iik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rl
c3QoIi13ZWJraXQtd3JhcC1mbG93OiBtYXhpbXVtIiknLCAibWF4aW11bSIpOworc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCd0ZXN0KCItd2Via2l0LXdyYXAtZmxvdzogY2xlYXIiKScsICJjbGVhciIp
OworCitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3QoIi13ZWJraXQtd3JhcC1mbG93OiA7Iikn
LCAiIik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3QoIi13ZWJraXQtd3JhcC1mbG93OiA1
IiknLCAiIik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3QoIi13ZWJraXQtd3JhcC1mbG93
OiAtMS4yIiknLCAiIik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3QoIi13ZWJraXQtd3Jh
cC1mbG93OiBcJ3N0cmluZ1wnIiknLCAiIik7CisKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygndGVz
dENvbXB1dGVkU3R5bGUoImF1dG8iKScsICJhdXRvIik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmco
J3Rlc3RDb21wdXRlZFN0eWxlKCI1IiknLCAiYXV0byIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCd0ZXN0Q29tcHV0ZWRTdHlsZSgiXCdzdHJpbmdcJyIpJywgImF1dG8iKTsKKworc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCd0ZXN0Tm90SW5oZXJpdGVkKCJhdXRvIiwgImxlZnQiKScsICJsZWZ0Iik7
CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3ROb3RJbmhlcml0ZWQoInJpZ2h0IiwgImF1dG8i
KScsICJhdXRvIik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3ROb3RJbmhlcml0ZWQoImJv
dGgiLCAiY2xlYXIiKScsICJjbGVhciIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9l
eGNsdXNpb25zL3NjcmlwdC10ZXN0cy93cmFwLXRocm91Z2gtcGFyc2luZy5qcyBiL0xheW91dFRl
c3RzL2Zhc3QvZXhjbHVzaW9ucy9zY3JpcHQtdGVzdHMvd3JhcC10aHJvdWdoLXBhcnNpbmcuanMK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzUyZWQ0NAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXhjbHVzaW9ucy9zY3JpcHQtdGVzdHMvd3JhcC10aHJv
dWdoLXBhcnNpbmcuanMKQEAgLTAsMCArMSw0OCBAQAorZGVzY3JpcHRpb24oJ1Rlc3QgcGFyc2lu
ZyBvZiB0aGUgQ1NTIHdyYXAtdGhyb3VnaCBwcm9wZXJ0eS4nKTsKKworZnVuY3Rpb24gdGVzdChk
ZWNsYXJhdGlvbikgeworICAgIHZhciBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYi
KTsKKyAgICBkaXYuc2V0QXR0cmlidXRlKCJzdHlsZSIsIGRlY2xhcmF0aW9uKTsKKyAgICByZXR1
cm4gZGl2LnN0eWxlLndlYmtpdFdyYXBUaHJvdWdoOworfQorCitmdW5jdGlvbiB0ZXN0Q29tcHV0
ZWRTdHlsZSh2YWx1ZSkgeworICAgIHZhciBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJk
aXYiKTsKKyAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGRpdik7CisgICAgZGl2LnN0eWxl
LnNldFByb3BlcnR5KCItd2Via2l0LXdyYXAtdGhyb3VnaCIsIHZhbHVlKTsKKyAgICB2YXIgd2Vi
a2l0V3JhcFRocm91Z2hDb21wdXRlZFZhbHVlID0gZ2V0Q29tcHV0ZWRTdHlsZShkaXYpLmdldFBy
b3BlcnR5VmFsdWUoIi13ZWJraXQtd3JhcC10aHJvdWdoIik7CisgICAgZG9jdW1lbnQuYm9keS5y
ZW1vdmVDaGlsZChkaXYpOworICAgIHJldHVybiB3ZWJraXRXcmFwVGhyb3VnaENvbXB1dGVkVmFs
dWU7Cit9CisKK2Z1bmN0aW9uIHRlc3ROb3RJbmhlcml0ZWQocGFyZW50VmFsdWUsIGNoaWxkVmFs
dWUpIHsKKyAgICB2YXIgcGFyZW50RGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7
CisgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChwYXJlbnREaXYpOworICAgIHBhcmVudERp
di5zdHlsZS5zZXRQcm9wZXJ0eSgiLXdlYmtpdC13cmFwLXRocm91Z2giLCBwYXJlbnRWYWx1ZSk7
CisKKyAgICB2YXIgY2hpbGREaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKKyAg
ICBwYXJlbnREaXYuYXBwZW5kQ2hpbGQoY2hpbGREaXYpOworICAgIGNoaWxkRGl2LnN0eWxlLnNl
dFByb3BlcnR5KCItd2Via2l0LXdyYXAtdGhyb3VnaCIsIGNoaWxkVmFsdWUpOworCisgICAgdmFy
IGNoaWxkV2ViS2l0V3JhcFRocm91Z2hDb21wdXRlZFZhbHVlID0gZ2V0Q29tcHV0ZWRTdHlsZShj
aGlsZERpdikuZ2V0UHJvcGVydHlWYWx1ZSgiLXdlYmtpdC13cmFwLXRocm91Z2giKTsKKworICAg
IHBhcmVudERpdi5yZW1vdmVDaGlsZChjaGlsZERpdik7CisgICAgZG9jdW1lbnQuYm9keS5yZW1v
dmVDaGlsZChwYXJlbnREaXYpOworCisgICAgcmV0dXJuIGNoaWxkV2ViS2l0V3JhcFRocm91Z2hD
b21wdXRlZFZhbHVlOworfQorCitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3QoIi13ZWJraXQt
d3JhcC10aHJvdWdoOiB3cmFwIiknLCAid3JhcCIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0
ZXN0KCItd2Via2l0LXdyYXAtdGhyb3VnaDogbm9uZSIpJywgIm5vbmUiKTsKKworc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCd0ZXN0KCItd2Via2l0LXdyYXAtZmxvdzogOyIpJywgIiIpOworc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCd0ZXN0KCItd2Via2l0LXdyYXAtZmxvdzogNSIpJywgIiIpOworc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0KCItd2Via2l0LXdyYXAtZmxvdzogLTEuMiIpJywgIiIp
Oworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0KCItd2Via2l0LXdyYXAtZmxvdzogXCdzdHJp
bmdcJyIpJywgIiIpOworCitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3RDb21wdXRlZFN0eWxl
KCJ3cmFwIiknLCAid3JhcCIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0Q29tcHV0ZWRT
dHlsZSgiNSIpJywgIndyYXAiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygndGVzdENvbXB1dGVk
U3R5bGUoIlwnc3RyaW5nXCciKScsICJ3cmFwIik7CisKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygn
dGVzdE5vdEluaGVyaXRlZCgid3JhcCIsICJub25lIiknLCAibm9uZSIpOworc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCd0ZXN0Tm90SW5oZXJpdGVkKCJub25lIiwgIndyYXAiKScsICJ3cmFwIik7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V4Y2x1c2lvbnMvd3JhcC1mbG93LXBhcnNpbmct
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9leGNsdXNpb25zL3dyYXAtZmxvdy1wYXJz
aW5nLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MzYz
MGI4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9leGNsdXNpb25zL3dyYXAt
Zmxvdy1wYXJzaW5nLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDI1IEBACitUZXN0IHBhcnNpbmcg
b2YgdGhlIENTUyB3cmFwLWZsb3cgcHJvcGVydHkuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworCitQQVNTIHRlc3QoIi13ZWJraXQtd3JhcC1mbG93OiBhdXRvIikgaXMgImF1dG8iCitQ
QVNTIHRlc3QoIi13ZWJraXQtd3JhcC1mbG93OiBib3RoIikgaXMgImJvdGgiCitQQVNTIHRlc3Qo
Ii13ZWJraXQtd3JhcC1mbG93OiBsZWZ0IikgaXMgImxlZnQiCitQQVNTIHRlc3QoIi13ZWJraXQt
d3JhcC1mbG93OiByaWdodCIpIGlzICJyaWdodCIKK1BBU1MgdGVzdCgiLXdlYmtpdC13cmFwLWZs
b3c6IG1heGltdW0iKSBpcyAibWF4aW11bSIKK1BBU1MgdGVzdCgiLXdlYmtpdC13cmFwLWZsb3c6
IGNsZWFyIikgaXMgImNsZWFyIgorUEFTUyB0ZXN0KCItd2Via2l0LXdyYXAtZmxvdzogOyIpIGlz
ICIiCitQQVNTIHRlc3QoIi13ZWJraXQtd3JhcC1mbG93OiA1IikgaXMgIiIKK1BBU1MgdGVzdCgi
LXdlYmtpdC13cmFwLWZsb3c6IC0xLjIiKSBpcyAiIgorUEFTUyB0ZXN0KCItd2Via2l0LXdyYXAt
ZmxvdzogJ3N0cmluZyciKSBpcyAiIgorUEFTUyB0ZXN0Q29tcHV0ZWRTdHlsZSgiYXV0byIpIGlz
ICJhdXRvIgorUEFTUyB0ZXN0Q29tcHV0ZWRTdHlsZSgiNSIpIGlzICJhdXRvIgorUEFTUyB0ZXN0
Q29tcHV0ZWRTdHlsZSgiJ3N0cmluZyciKSBpcyAiYXV0byIKK1BBU1MgdGVzdE5vdEluaGVyaXRl
ZCgiYXV0byIsICJsZWZ0IikgaXMgImxlZnQiCitQQVNTIHRlc3ROb3RJbmhlcml0ZWQoInJpZ2h0
IiwgImF1dG8iKSBpcyAiYXV0byIKK1BBU1MgdGVzdE5vdEluaGVyaXRlZCgiYm90aCIsICJjbGVh
ciIpIGlzICJjbGVhciIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V4Y2x1c2lvbnMvd3JhcC1m
bG93LXBhcnNpbmcuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZXhjbHVzaW9ucy93cmFwLWZsb3ct
cGFyc2luZy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZkYTM1ZGYK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V4Y2x1c2lvbnMvd3JhcC1mbG93
LXBhcnNpbmcuaHRtbApAQCAtMCwwICsxLDEwIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0v
L0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy93cmFwLWZsb3ctcGFyc2luZy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0
LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvZXhjbHVzaW9ucy93cmFwLXRocm91Z2gtcGFyc2luZy1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9mYXN0L2V4Y2x1c2lvbnMvd3JhcC10aHJvdWdoLXBhcnNpbmctZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ4MjZiOTQKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V4Y2x1c2lvbnMvd3JhcC10aHJvdWdoLXBhcnNpbmct
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjAgQEAKK1Rlc3QgcGFyc2luZyBvZiB0aGUgQ1NTIHdy
YXAtdGhyb3VnaCBwcm9wZXJ0eS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BB
U1MgdGVzdCgiLXdlYmtpdC13cmFwLXRocm91Z2g6IHdyYXAiKSBpcyAid3JhcCIKK1BBU1MgdGVz
dCgiLXdlYmtpdC13cmFwLXRocm91Z2g6IG5vbmUiKSBpcyAibm9uZSIKK1BBU1MgdGVzdCgiLXdl
YmtpdC13cmFwLWZsb3c6IDsiKSBpcyAiIgorUEFTUyB0ZXN0KCItd2Via2l0LXdyYXAtZmxvdzog
NSIpIGlzICIiCitQQVNTIHRlc3QoIi13ZWJraXQtd3JhcC1mbG93OiAtMS4yIikgaXMgIiIKK1BB
U1MgdGVzdCgiLXdlYmtpdC13cmFwLWZsb3c6ICdzdHJpbmcnIikgaXMgIiIKK1BBU1MgdGVzdENv
bXB1dGVkU3R5bGUoIndyYXAiKSBpcyAid3JhcCIKK1BBU1MgdGVzdENvbXB1dGVkU3R5bGUoIjUi
KSBpcyAid3JhcCIKK1BBU1MgdGVzdENvbXB1dGVkU3R5bGUoIidzdHJpbmcnIikgaXMgIndyYXAi
CitQQVNTIHRlc3ROb3RJbmhlcml0ZWQoIndyYXAiLCAibm9uZSIpIGlzICJub25lIgorUEFTUyB0
ZXN0Tm90SW5oZXJpdGVkKCJub25lIiwgIndyYXAiKSBpcyAid3JhcCIKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2V4Y2x1c2lvbnMvd3JhcC10aHJvdWdoLXBhcnNpbmcuaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvZXhjbHVzaW9ucy93cmFwLXRocm91Z2gtcGFyc2luZy5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAwNDU1OTAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L2V4Y2x1c2lvbnMvd3JhcC10aHJvdWdoLXBhcnNpbmcuaHRtbApAQCAtMCww
ICsxLDEwIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+
Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9InNj
cmlwdC10ZXN0cy93cmFwLXRocm91Z2gtcGFyc2luZy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9jc3MvZ2V0Q29tcHV0
ZWRTdHlsZS1iYXNpYy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdmcvY3NzL2dldENvbXB1
dGVkU3R5bGUtYmFzaWMtZXhwZWN0ZWQudHh0CmluZGV4IDdiMmRjNmIuLmRlMGQxM2EgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS1iYXNpYy1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2Nzcy9nZXRDb21wdXRlZFN0eWxlLWJhc2ljLWV4
cGVjdGVkLnR4dApAQCAtNDEyLDYgKzQxMiwxMCBAQCByZWN0OiBzdHlsZS5nZXRQcm9wZXJ0eVZh
bHVlKC13ZWJraXQtcmVnaW9uLWJyZWFrLWJlZm9yZSkgOiBhdXRvCiByZWN0OiBzdHlsZS5nZXRQ
cm9wZXJ0eUNTU1ZhbHVlKC13ZWJraXQtcmVnaW9uLWJyZWFrLWJlZm9yZSkgOiBbb2JqZWN0IENT
U1ByaW1pdGl2ZVZhbHVlXQogcmVjdDogc3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgtd2Via2l0LXJl
Z2lvbi1icmVhay1pbnNpZGUpIDogYXV0bwogcmVjdDogc3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1
ZSgtd2Via2l0LXJlZ2lvbi1icmVhay1pbnNpZGUpIDogW29iamVjdCBDU1NQcmltaXRpdmVWYWx1
ZV0KK3JlY3Q6IHN0eWxlLmdldFByb3BlcnR5VmFsdWUoLXdlYmtpdC13cmFwLWZsb3cpIDogYXV0
bworcmVjdDogc3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgtd2Via2l0LXdyYXAtZmxvdykgOiBb
b2JqZWN0IENTU1ByaW1pdGl2ZVZhbHVlXQorcmVjdDogc3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgt
d2Via2l0LXdyYXAtdGhyb3VnaCkgOiB3cmFwCityZWN0OiBzdHlsZS5nZXRQcm9wZXJ0eUNTU1Zh
bHVlKC13ZWJraXQtd3JhcC10aHJvdWdoKSA6IFtvYmplY3QgQ1NTUHJpbWl0aXZlVmFsdWVdCiBy
ZWN0OiBzdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKGNsaXAtcGF0aCkgOiBub25lCiByZWN0OiBzdHls
ZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKGNsaXAtcGF0aCkgOiBbb2JqZWN0IENTU1ByaW1pdGl2ZVZh
bHVlXQogcmVjdDogc3R5bGUuZ2V0UHJvcGVydHlWYWx1ZShjbGlwLXJ1bGUpIDogbm9uemVybwpA
QCAtOTAwLDYgKzkwNCwxMCBAQCBnOiBzdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKC13ZWJraXQtcmVn
aW9uLWJyZWFrLWJlZm9yZSkgOiBhdXRvCiBnOiBzdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKC13
ZWJraXQtcmVnaW9uLWJyZWFrLWJlZm9yZSkgOiBbb2JqZWN0IENTU1ByaW1pdGl2ZVZhbHVlXQog
Zzogc3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgtd2Via2l0LXJlZ2lvbi1icmVhay1pbnNpZGUpIDog
YXV0bwogZzogc3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgtd2Via2l0LXJlZ2lvbi1icmVhay1p
bnNpZGUpIDogW29iamVjdCBDU1NQcmltaXRpdmVWYWx1ZV0KK2c6IHN0eWxlLmdldFByb3BlcnR5
VmFsdWUoLXdlYmtpdC13cmFwLWZsb3cpIDogYXV0bworZzogc3R5bGUuZ2V0UHJvcGVydHlDU1NW
YWx1ZSgtd2Via2l0LXdyYXAtZmxvdykgOiBbb2JqZWN0IENTU1ByaW1pdGl2ZVZhbHVlXQorZzog
c3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgtd2Via2l0LXdyYXAtdGhyb3VnaCkgOiB3cmFwCitnOiBz
dHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKC13ZWJraXQtd3JhcC10aHJvdWdoKSA6IFtvYmplY3Qg
Q1NTUHJpbWl0aXZlVmFsdWVdCiBnOiBzdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKGNsaXAtcGF0aCkg
OiBub25lCiBnOiBzdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKGNsaXAtcGF0aCkgOiBbb2JqZWN0
IENTU1ByaW1pdGl2ZVZhbHVlXQogZzogc3R5bGUuZ2V0UHJvcGVydHlWYWx1ZShjbGlwLXJ1bGUp
IDogbm9uemVybwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGM3MjIyMzMuLmQzNDc0NTEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAg
LTEsMyArMSw0MiBAQAorMjAxMS0xMS0xNCAgTWlobmVhIE92aWRlbmllICA8bWlobmVhQGFkb2Jl
LmNvbT4KKworICAgICAgICBDU1MgZXhjbHVzaW9uczogcGFyc2UgdGhlIHdyYXAtZmxvdyBhbmQg
d3JhcC10aHJvdWdoIHByb3BlcnRpZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTcxOTA0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgVGVzdHM6IGZhc3QvZXhjbHVzaW9ucy93cmFwLWZsb3ctcGFyc2luZy5o
dG1sCisgICAgICAgICAgICAgICBmYXN0L2V4Y2x1c2lvbnMvd3JhcC10aHJvdWdoLXBhcnNpbmcu
aHRtbAorCisgICAgICAgICogY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb246OmdldFByb3BlcnR5
Q1NTVmFsdWUpOgorICAgICAgICAqIGNzcy9DU1NQYXJzZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6Q1NTUGFyc2VyOjpwYXJzZVZhbHVlKToKKyAgICAgICAgKiBjc3MvQ1NTUHJpbWl0aXZlVmFs
dWVNYXBwaW5ncy5oOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJpbWl0aXZlVmFsdWU6OkNTU1By
aW1pdGl2ZVZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1ByaW1pdGl2ZVZhbHVlOjpvcGVy
YXRvciBXcmFwRmxvdyk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcmltaXRpdmVWYWx1ZTo6b3Bl
cmF0b3IgV3JhcFRocm91Z2gpOgorICAgICAgICAqIGNzcy9DU1NQcm9wZXJ0eS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpDU1NQcm9wZXJ0eTo6aXNJbmhlcml0ZWRQcm9wZXJ0eSk6CisgICAgICAg
ICogY3NzL0NTU1Byb3BlcnR5TmFtZXMuaW46CisgICAgICAgICogY3NzL0NTU1N0eWxlU2VsZWN0
b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVTZWxlY3Rvcjo6YXBwbHlQcm9wZXJ0
eSk6CisgICAgICAgICogY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW46CisgICAgICAgICogcmVuZGVy
aW5nL3N0eWxlL1JlbmRlclN0eWxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclN0eWxl
OjpkaWZmKToKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaDoKKyAgICAg
ICAgKFdlYkNvcmU6OkluaGVyaXRlZEZsYWdzOjp3cmFwRmxvdyk6CisgICAgICAgIChXZWJDb3Jl
OjpJbmhlcml0ZWRGbGFnczo6d3JhcFRocm91Z2gpOgorICAgICAgICAoV2ViQ29yZTo6SW5oZXJp
dGVkRmxhZ3M6OnNldFdyYXBGbG93KToKKyAgICAgICAgKFdlYkNvcmU6OkluaGVyaXRlZEZsYWdz
OjpzZXRXcmFwVGhyb3VnaCk6CisgICAgICAgIChXZWJDb3JlOjpJbmhlcml0ZWRGbGFnczo6aW5p
dGlhbFdyYXBGbG93KToKKyAgICAgICAgKFdlYkNvcmU6OkluaGVyaXRlZEZsYWdzOjppbml0aWFs
V3JhcFRocm91Z2gpOgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZUNvbnN0
YW50cy5oOgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVOb25Jbmhlcml0ZWRE
YXRhLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUmFyZU5vbkluaGVyaXRlZERhdGE6OlN0
eWxlUmFyZU5vbkluaGVyaXRlZERhdGEpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVSYXJlTm9u
SW5oZXJpdGVkRGF0YTo6b3BlcmF0b3I9PSk6CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1N0
eWxlUmFyZU5vbkluaGVyaXRlZERhdGEuaDoKKwogMjAxMS0xMS0xNCAgVG9yIEFybmUgVmVzdGLD
uCAgPHRvci5hcm5lLnZlc3Rib0Bub2tpYS5jb20+CiAKICAgICAgICAgW1F0XSBVbmJyZWFrIHRo
ZSBidWlsZCBvbiBNYWMgT1MgWApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0Nv
bXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0
ZWRTdHlsZURlY2xhcmF0aW9uLmNwcAppbmRleCA5NTNlZWFjLi42OTI4ZDZmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcApAQCAt
MjgzLDcgKzI4Myw5IEBAIHN0YXRpYyBjb25zdCBpbnQgY29tcHV0ZWRQcm9wZXJ0aWVzW10gPSB7
CiAgICAgQ1NTUHJvcGVydHlXZWJraXRSZWdpb25PdmVyZmxvdywKICAgICBDU1NQcm9wZXJ0eVdl
YmtpdFJlZ2lvbkJyZWFrQWZ0ZXIsCiAgICAgQ1NTUHJvcGVydHlXZWJraXRSZWdpb25CcmVha0Jl
Zm9yZSwKLSAgICBDU1NQcm9wZXJ0eVdlYmtpdFJlZ2lvbkJyZWFrSW5zaWRlCisgICAgQ1NTUHJv
cGVydHlXZWJraXRSZWdpb25CcmVha0luc2lkZSwKKyAgICBDU1NQcm9wZXJ0eVdlYmtpdFdyYXBG
bG93LAorICAgIENTU1Byb3BlcnR5V2Via2l0V3JhcFRocm91Z2gKICNpZiBFTkFCTEUoU1ZHKQog
ICAgICwKICAgICBDU1NQcm9wZXJ0eUNsaXBQYXRoLApAQCAtMjE0Myw2ICsyMTQ1LDEwIEBAIFBh
c3NSZWZQdHI8Q1NTVmFsdWU+IENTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbjo6Z2V0UHJvcGVy
dHlDU1NWYWx1ZShpbnQgcHJvcGVyCiAKICAgICAgICAgICAgIHJldHVybiBwcmltaXRpdmVWYWx1
ZUNhY2hlLT5jcmVhdGVWYWx1ZShzdHlsZS0+d3JhcFNoYXBlKCkpOwogCisgICAgICAgIGNhc2Ug
Q1NTUHJvcGVydHlXZWJraXRXcmFwRmxvdzoKKyAgICAgICAgICAgIHJldHVybiBwcmltaXRpdmVW
YWx1ZUNhY2hlLT5jcmVhdGVWYWx1ZShzdHlsZS0+d3JhcEZsb3coKSk7CisgICAgICAgIGNhc2Ug
Q1NTUHJvcGVydHlXZWJraXRXcmFwVGhyb3VnaDoKKyAgICAgICAgICAgIHJldHVybiBwcmltaXRp
dmVWYWx1ZUNhY2hlLT5jcmVhdGVWYWx1ZShzdHlsZS0+d3JhcFRocm91Z2goKSk7CiAjaWYgRU5B
QkxFKFNWRykKICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eUNsaXBQYXRoOgogICAgICAgICBjYXNl
IENTU1Byb3BlcnR5Q2xpcFJ1bGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
UGFyc2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCmluZGV4IDg1ZDFh
YmQuLjAyMTM5OTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCkBAIC0yMjAxLDYgKzIyMDEs
MTYgQEAgYm9vbCBDU1NQYXJzZXI6OnBhcnNlVmFsdWUoaW50IHByb3BJZCwgYm9vbCBpbXBvcnRh
bnQpCiAgICAgICAgICAgICByZXR1cm4gcGFyc2VXcmFwU2hhcGUoaW1wb3J0YW50KTsKICAgICAg
ICAgYnJlYWs7CiAKKyAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0V3JhcEZsb3c6CisgICAgICAg
IGlmIChpZCA9PSBDU1NWYWx1ZUF1dG8gfHwgaWQgPT0gQ1NTVmFsdWVCb3RoIHx8IGlkID09IENT
U1ZhbHVlTGVmdCB8fCBpZCA9PSBDU1NWYWx1ZVJpZ2h0IHwgaWQgPT0gQ1NTVmFsdWVNYXhpbXVt
IHwgaWQgPT0gQ1NTVmFsdWVDbGVhcikKKyAgICAgICAgICAgIHZhbGlkUHJpbWl0aXZlID0gdHJ1
ZTsKKyAgICAgICAgYnJlYWs7CisKKyAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0V3JhcFRocm91
Z2g6CisgICAgICAgIGlmIChpZCA9PSBDU1NWYWx1ZVdyYXAgfHwgaWQgPT0gQ1NTVmFsdWVOb25l
KQorICAgICAgICAgICAgdmFsaWRQcmltaXRpdmUgPSB0cnVlOworICAgICAgICBicmVhazsKKwog
I2lmIEVOQUJMRShTVkcpCiAgICAgZGVmYXVsdDoKICAgICAgICAgcmV0dXJuIHBhcnNlU1ZHVmFs
dWUocHJvcElkLCBpbXBvcnRhbnQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRp
dmVWYWx1ZU1hcHBpbmdzLmgKaW5kZXggNGRkY2JhNi4uNGIxYTA4NyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oCkBAIC0zNDQzLDYgKzM0NDMs
ODAgQEAgdGVtcGxhdGU8PiBpbmxpbmUgQ1NTUHJpbWl0aXZlVmFsdWU6Om9wZXJhdG9yIENvbHVt
bkF4aXMoKSBjb25zdAogICAgIH0KIH0KIAordGVtcGxhdGU8PiBpbmxpbmUgQ1NTUHJpbWl0aXZl
VmFsdWU6OkNTU1ByaW1pdGl2ZVZhbHVlKFdyYXBGbG93IHdyYXBGbG93KQorOiBDU1NWYWx1ZShQ
cmltaXRpdmVDbGFzcykKK3sKKyAgICBtX3ByaW1pdGl2ZVVuaXRUeXBlID0gQ1NTX0lERU5UOwor
ICAgIHN3aXRjaCAod3JhcEZsb3cpIHsKKyAgICBjYXNlIFdyYXBGbG93QXV0bzoKKyAgICAgICAg
bV92YWx1ZS5pZGVudCA9IENTU1ZhbHVlQXV0bzsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBX
cmFwRmxvd0JvdGg6CisgICAgICAgIG1fdmFsdWUuaWRlbnQgPSBDU1NWYWx1ZUJvdGg7CisgICAg
ICAgIGJyZWFrOworICAgIGNhc2UgV3JhcEZsb3dMZWZ0OgorICAgICAgICBtX3ZhbHVlLmlkZW50
ID0gQ1NTVmFsdWVMZWZ0OworICAgICAgICBicmVhazsKKyAgICBjYXNlIFdyYXBGbG93UmlnaHQ6
CisgICAgICAgIG1fdmFsdWUuaWRlbnQgPSBDU1NWYWx1ZVJpZ2h0OworICAgICAgICBicmVhazsK
KyAgICBjYXNlIFdyYXBGbG93TWF4aW11bToKKyAgICAgICAgbV92YWx1ZS5pZGVudCA9IENTU1Zh
bHVlTWF4aW11bTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBXcmFwRmxvd0NsZWFyOgorICAg
ICAgICBtX3ZhbHVlLmlkZW50ID0gQ1NTVmFsdWVDbGVhcjsKKyAgICAgICAgYnJlYWs7CisgICAg
fQorfQorCit0ZW1wbGF0ZTw+IGlubGluZSBDU1NQcmltaXRpdmVWYWx1ZTo6b3BlcmF0b3IgV3Jh
cEZsb3coKSBjb25zdAoreworICAgIHN3aXRjaCAobV92YWx1ZS5pZGVudCkgeworICAgIGNhc2Ug
Q1NTVmFsdWVBdXRvOgorICAgICAgICByZXR1cm4gV3JhcEZsb3dBdXRvOworICAgIGNhc2UgQ1NT
VmFsdWVCb3RoOgorICAgICAgICByZXR1cm4gV3JhcEZsb3dCb3RoOworICAgIGNhc2UgQ1NTVmFs
dWVMZWZ0OgorICAgICAgICByZXR1cm4gV3JhcEZsb3dMZWZ0OworICAgIGNhc2UgQ1NTVmFsdWVS
aWdodDoKKyAgICAgICAgcmV0dXJuIFdyYXBGbG93UmlnaHQ7CisgICAgY2FzZSBDU1NWYWx1ZU1h
eGltdW06CisgICAgICAgIHJldHVybiBXcmFwRmxvd01heGltdW07CisgICAgY2FzZSBDU1NWYWx1
ZUNsZWFyOgorICAgICAgICByZXR1cm4gV3JhcEZsb3dDbGVhcjsKKyAgICBkZWZhdWx0OgorICAg
ICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgcmV0dXJuIFdyYXBGbG93QXV0bzsK
KyAgICB9Cit9CisKK3RlbXBsYXRlPD4gaW5saW5lIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NQcmlt
aXRpdmVWYWx1ZShXcmFwVGhyb3VnaCB3cmFwVGhyb3VnaCkKKzogQ1NTVmFsdWUoUHJpbWl0aXZl
Q2xhc3MpCit7CisgICAgbV9wcmltaXRpdmVVbml0VHlwZSA9IENTU19JREVOVDsKKyAgICBzd2l0
Y2ggKHdyYXBUaHJvdWdoKSB7CisgICAgY2FzZSBXcmFwVGhyb3VnaFdyYXA6CisgICAgICAgIG1f
dmFsdWUuaWRlbnQgPSBDU1NWYWx1ZVdyYXA7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgV3Jh
cFRocm91Z2hOb25lOgorICAgICAgICBtX3ZhbHVlLmlkZW50ID0gQ1NTVmFsdWVOb25lOworICAg
ICAgICBicmVhazsKKyAgICB9Cit9CisKK3RlbXBsYXRlPD4gaW5saW5lIENTU1ByaW1pdGl2ZVZh
bHVlOjpvcGVyYXRvciBXcmFwVGhyb3VnaCgpIGNvbnN0Cit7CisgICAgc3dpdGNoIChtX3ZhbHVl
LmlkZW50KSB7CisgICAgY2FzZSBDU1NWYWx1ZVdyYXA6CisgICAgICAgIHJldHVybiBXcmFwVGhy
b3VnaFdyYXA7CisgICAgY2FzZSBDU1NWYWx1ZU5vbmU6CisgICAgICAgIHJldHVybiBXcmFwVGhy
b3VnaE5vbmU7CisgICAgZGVmYXVsdDoKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Cisg
ICAgICAgIHJldHVybiBXcmFwVGhyb3VnaFdyYXA7CisgICAgfQorfQorCiAjaWYgRU5BQkxFKFNW
RykKIAogdGVtcGxhdGU8PiBpbmxpbmUgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU1ByaW1pdGl2ZVZh
bHVlKEVDb2xvckludGVycG9sYXRpb24gZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NQcm9wZXJ0eS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHkuY3BwCmlu
ZGV4IDA5NGJjOTUuLjE3M2QxNzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQ
cm9wZXJ0eS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5LmNwcApAQCAt
NjM3LDYgKzYzNyw4IEBAIGJvb2wgQ1NTUHJvcGVydHk6OmlzSW5oZXJpdGVkUHJvcGVydHkodW5z
aWduZWQgcHJvcGVydHlJRCkKICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0UmVnaW9uQnJlYWtB
ZnRlcjoKICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0UmVnaW9uQnJlYWtCZWZvcmU6CiAgICAg
Y2FzZSBDU1NQcm9wZXJ0eVdlYmtpdFJlZ2lvbkJyZWFrSW5zaWRlOgorICAgIGNhc2UgQ1NTUHJv
cGVydHlXZWJraXRXcmFwRmxvdzoKKyAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0V3JhcFRocm91
Z2g6CiAjaWYgRU5BQkxFKFNWRykKICAgICBjYXNlIENTU1Byb3BlcnR5Q2xpcFBhdGg6CiAgICAg
Y2FzZSBDU1NQcm9wZXJ0eU1hc2s6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
UHJvcGVydHlOYW1lcy5pbiBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eU5hbWVzLmlu
CmluZGV4IDM1MzQyNTYuLmFmZmFjYWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NQcm9wZXJ0eU5hbWVzLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eU5h
bWVzLmluCkBAIC0zNjAsNiArMzYwLDggQEAgei1pbmRleAogLXdlYmtpdC1yZWdpb24tYnJlYWst
YWZ0ZXIKIC13ZWJraXQtcmVnaW9uLWJyZWFrLWJlZm9yZQogLXdlYmtpdC1yZWdpb24tYnJlYWst
aW5zaWRlCistd2Via2l0LXdyYXAtZmxvdworLXdlYmtpdC13cmFwLXRocm91Z2gKICNpZiBkZWZp
bmVkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICYmIEVOQUJMRV9UT1VDSF9FVkVOVFMKIC13ZWJraXQt
dGFwLWhpZ2hsaWdodC1jb2xvcgogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxl
Y3Rvci5jcHAKaW5kZXggNmJlZTgzNi4uM2UxM2YzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NT
dHlsZVNlbGVjdG9yLmNwcApAQCAtMzgzNiw2ICszODM2LDE0IEBAIHZvaWQgQ1NTU3R5bGVTZWxl
Y3Rvcjo6YXBwbHlQcm9wZXJ0eShpbnQgaWQsIENTU1ZhbHVlICp2YWx1ZSkKIAogICAgICAgICBy
ZXR1cm47CiAKKyAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0V3JhcEZsb3c6CisgICAgICAgIEhB
TkRMRV9JTkhFUklUX0FORF9JTklUSUFMX0FORF9QUklNSVRJVkUod3JhcEZsb3csIFdyYXBGbG93
KTsKKyAgICAgICAgcmV0dXJuOworCisgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdFdyYXBUaHJv
dWdoOgorICAgICAgICBIQU5ETEVfSU5IRVJJVF9BTkRfSU5JVElBTF9BTkRfUFJJTUlUSVZFKHdy
YXBUaHJvdWdoLCBXcmFwVGhyb3VnaCk7CisgICAgICAgIHJldHVybjsKKwogICAgIC8vIENTUyBG
b250cyBNb2R1bGUgTGV2ZWwgMwogICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRGb250RmVhdHVy
ZVNldHRpbmdzOiB7CiAgICAgICAgIGlmIChwcmltaXRpdmVWYWx1ZSAmJiBwcmltaXRpdmVWYWx1
ZS0+Z2V0SWRlbnQoKSA9PSBDU1NWYWx1ZU5vcm1hbCkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW4gYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFs
dWVLZXl3b3Jkcy5pbgppbmRleCBiM2IxMWJlLi4yZDE5MDE1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTVmFsdWVLZXl3b3Jkcy5pbgpAQCAtODUzLDYgKzg1MywxOCBAQCBldmVub2RkCiAvLyBhdXRv
CiBicmVhawogCisvLyAtd2Via2l0LXdyYXAtZmxvdworLy8gYXV0bworLy8gYm90aAorLy8gbGVm
dAorLy8gcmlnaHQKK21heGltdW0KKy8vIGNsZWFyCisKKy8vIC13ZWJraXQtd3JhcC10aHJvdWdo
Cit3cmFwCisvLyBub25lCisKICNpZiBkZWZpbmVkKEVOQUJMRV9DU1NfRklMVEVSUykgJiYgRU5B
QkxFX0NTU19GSUxURVJTCiAvLyAtd2Via2l0LWZpbHRlcgogI2lmIGRlZmluZWQoRU5BQkxFX0NT
U19TSEFERVJTKSAmJiBFTkFCTEVfQ1NTX1NIQURFUlMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwCmluZGV4IDkxOWFiMTEuLmRlOWVkYjIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmNwcApAQCAtMzg3
LDYgKzM4NywxMCBAQCBTdHlsZURpZmZlcmVuY2UgUmVuZGVyU3R5bGU6OmRpZmYoY29uc3QgUmVu
ZGVyU3R5bGUqIG90aGVyLCB1bnNpZ25lZCYgY2hhbmdlZENvbgogICAgICAgICBpZiAocmFyZU5v
bkluaGVyaXRlZERhdGEtPm1fcmVnaW9uT3ZlcmZsb3cgIT0gb3RoZXItPnJhcmVOb25Jbmhlcml0
ZWREYXRhLT5tX3JlZ2lvbk92ZXJmbG93KQogICAgICAgICAgICAgcmV0dXJuIFN0eWxlRGlmZmVy
ZW5jZUxheW91dDsKIAorICAgICAgICBpZiAocmFyZU5vbkluaGVyaXRlZERhdGEtPm1fd3JhcEZs
b3cgIT0gb3RoZXItPnJhcmVOb25Jbmhlcml0ZWREYXRhLT5tX3dyYXBGbG93CisgICAgICAgICAg
ICB8fCByYXJlTm9uSW5oZXJpdGVkRGF0YS0+bV93cmFwVGhyb3VnaCAhPSBvdGhlci0+cmFyZU5v
bkluaGVyaXRlZERhdGEtPm1fd3JhcFRocm91Z2gpCisgICAgICAgICAgICByZXR1cm4gU3R5bGVE
aWZmZXJlbmNlTGF5b3V0OworCiAgICAgICAgIGlmIChyYXJlTm9uSW5oZXJpdGVkRGF0YS0+bV9k
ZXByZWNhdGVkRmxleGlibGVCb3guZ2V0KCkgIT0gb3RoZXItPnJhcmVOb25Jbmhlcml0ZWREYXRh
LT5tX2RlcHJlY2F0ZWRGbGV4aWJsZUJveC5nZXQoKQogICAgICAgICAgICAgJiYgKnJhcmVOb25J
bmhlcml0ZWREYXRhLT5tX2RlcHJlY2F0ZWRGbGV4aWJsZUJveC5nZXQoKSAhPSAqb3RoZXItPnJh
cmVOb25Jbmhlcml0ZWREYXRhLT5tX2RlcHJlY2F0ZWRGbGV4aWJsZUJveC5nZXQoKSkKICAgICAg
ICAgICAgIHJldHVybiBTdHlsZURpZmZlcmVuY2VMYXlvdXQ7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCmluZGV4IGYxNzc3OGMuLmNlMTQwMjIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCkBAIC04MTAsNiAr
ODEwLDkgQEAgcHVibGljOgogICAgIGNvbnN0IEF0b21pY1N0cmluZyYgbGluZUdyaWQoKSBjb25z
dCB7IHJldHVybiByYXJlSW5oZXJpdGVkRGF0YS0+bV9saW5lR3JpZDsgfQogICAgIExpbmVHcmlk
U25hcCBsaW5lR3JpZFNuYXAoKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxMaW5lR3JpZFNu
YXA+KHJhcmVJbmhlcml0ZWREYXRhLT5tX2xpbmVHcmlkU25hcCk7IH0KIAorICAgIFdyYXBGbG93
IHdyYXBGbG93KCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8V3JhcEZsb3c+KHJhcmVOb25J
bmhlcml0ZWREYXRhLT5tX3dyYXBGbG93KTsgfQorICAgIFdyYXBUaHJvdWdoIHdyYXBUaHJvdWdo
KCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8V3JhcFRocm91Z2g+KHJhcmVOb25Jbmhlcml0
ZWREYXRhLT5tX3dyYXBUaHJvdWdoKTsgfQorCiAgICAgLy8gQXBwbGUtc3BlY2lmaWMgcHJvcGVy
dHkgZ2V0dGVyIG1ldGhvZHMKICAgICBFUG9pbnRlckV2ZW50cyBwb2ludGVyRXZlbnRzKCkgY29u
c3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8RVBvaW50ZXJFdmVudHM+KGluaGVyaXRlZF9mbGFncy5f
cG9pbnRlckV2ZW50cyk7IH0KICAgICBjb25zdCBBbmltYXRpb25MaXN0KiBhbmltYXRpb25zKCkg
Y29uc3QgeyByZXR1cm4gcmFyZU5vbkluaGVyaXRlZERhdGEtPm1fYW5pbWF0aW9ucy5nZXQoKTsg
fQpAQCAtMTE5OCw2ICsxMjAxLDkgQEAgcHVibGljOgogICAgIHZvaWQgc2V0UmVnaW9uVGhyZWFk
KGNvbnN0IEF0b21pY1N0cmluZyYgcmVnaW9uVGhyZWFkKSB7IFNFVF9WQVIocmFyZU5vbkluaGVy
aXRlZERhdGEsIG1fcmVnaW9uVGhyZWFkLCByZWdpb25UaHJlYWQpOyB9CiAgICAgdm9pZCBzZXRS
ZWdpb25PdmVyZmxvdyhSZWdpb25PdmVyZmxvdyByZWdpb25PdmVyZmxvdykgeyBTRVRfVkFSKHJh
cmVOb25Jbmhlcml0ZWREYXRhLCBtX3JlZ2lvbk92ZXJmbG93LCByZWdpb25PdmVyZmxvdyk7IH0K
IAorICAgIHZvaWQgc2V0V3JhcEZsb3coV3JhcEZsb3cgd3JhcEZsb3cpIHsgU0VUX1ZBUihyYXJl
Tm9uSW5oZXJpdGVkRGF0YSwgbV93cmFwRmxvdywgd3JhcEZsb3cpOyB9CisgICAgdm9pZCBzZXRX
cmFwVGhyb3VnaChXcmFwVGhyb3VnaCB3cmFwVGhyb3VnaCkgeyBTRVRfVkFSKHJhcmVOb25Jbmhl
cml0ZWREYXRhLCBtX3dyYXBUaHJvdWdoLCB3cmFwVGhyb3VnaCk7IH0KKwogICAgIC8vIEFwcGxl
LXNwZWNpZmljIHByb3BlcnR5IHNldHRlcnMKICAgICB2b2lkIHNldFBvaW50ZXJFdmVudHMoRVBv
aW50ZXJFdmVudHMgcCkgeyBpbmhlcml0ZWRfZmxhZ3MuX3BvaW50ZXJFdmVudHMgPSBwOyB9CiAK
QEAgLTE0ODUsNiArMTQ5MSw5IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgY29uc3QgQXRvbWljU3Ry
aW5nJiBpbml0aWFsUmVnaW9uVGhyZWFkKCkgeyByZXR1cm4gbnVsbEF0b207IH0KICAgICBzdGF0
aWMgUmVnaW9uT3ZlcmZsb3cgaW5pdGlhbFJlZ2lvbk92ZXJmbG93KCkgeyByZXR1cm4gQXV0b1Jl
Z2lvbk92ZXJmbG93OyB9CiAKKyAgICBzdGF0aWMgV3JhcEZsb3cgaW5pdGlhbFdyYXBGbG93KCkg
eyByZXR1cm4gV3JhcEZsb3dBdXRvOyB9CisgICAgc3RhdGljIFdyYXBUaHJvdWdoIGluaXRpYWxX
cmFwVGhyb3VnaCgpIHsgcmV0dXJuIFdyYXBUaHJvdWdoV3JhcDsgfQorCiAgICAgLy8gS2VlcCB0
aGVzZSBhdCB0aGUgZW5kLgogICAgIHN0YXRpYyBMaW5lQ2xhbXBWYWx1ZSBpbml0aWFsTGluZUNs
YW1wKCkgeyByZXR1cm4gTGluZUNsYW1wVmFsdWUoKTsgfQogICAgIHN0YXRpYyBib29sIGluaXRp
YWxUZXh0U2l6ZUFkanVzdCgpIHsgcmV0dXJuIHRydWU7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5oIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlQ29uc3RhbnRzLmgKaW5kZXggNDBhMTg0
My4uNjU1MDcyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1Jl
bmRlclN0eWxlQ29uc3RhbnRzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxl
L1JlbmRlclN0eWxlQ29uc3RhbnRzLmgKQEAgLTQ1OSw2ICs0NTksMTAgQEAgZW51bSBDb2x1bW5B
eGlzIHsgSG9yaXpvbnRhbENvbHVtbkF4aXMsIFZlcnRpY2FsQ29sdW1uQXhpcywgQXV0b0NvbHVt
bkF4aXMgfTsKIAogZW51bSBMaW5lR3JpZFNuYXAgeyBMaW5lR3JpZFNuYXBOb25lLCBMaW5lR3Jp
ZFNuYXBCYXNlbGluZSwgTGluZUdyaWRTbmFwQm91bmRzIH07CiAKK2VudW0gV3JhcEZsb3cgeyBX
cmFwRmxvd0F1dG8sIFdyYXBGbG93Qm90aCwgV3JhcEZsb3dMZWZ0LCBXcmFwRmxvd1JpZ2h0LCBX
cmFwRmxvd01heGltdW0sIFdyYXBGbG93Q2xlYXIgfTsKKworZW51bSBXcmFwVGhyb3VnaCB7IFdy
YXBUaHJvdWdoV3JhcCwgV3JhcFRocm91Z2hOb25lIH07CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKIAogI2VuZGlmIC8vIFJlbmRlclN0eWxlQ29uc3RhbnRzX2gKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRh
LmNwcAppbmRleCBjYTMxNzU2Li41NjQ2OTQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEuY3BwCkBA
IC02Miw2ICs2Miw4IEBAIFN0eWxlUmFyZU5vbkluaGVyaXRlZERhdGE6OlN0eWxlUmFyZU5vbklu
aGVyaXRlZERhdGEoKQogICAgICwgbV9hcHBlYXJhbmNlKFJlbmRlclN0eWxlOjppbml0aWFsQXBw
ZWFyYW5jZSgpKQogICAgICwgbV9ib3JkZXJGaXQoUmVuZGVyU3R5bGU6OmluaXRpYWxCb3JkZXJG
aXQoKSkKICAgICAsIG1fdGV4dENvbWJpbmUoUmVuZGVyU3R5bGU6OmluaXRpYWxUZXh0Q29tYmlu
ZSgpKQorICAgICwgbV93cmFwRmxvdyhSZW5kZXJTdHlsZTo6aW5pdGlhbFdyYXBGbG93KCkpCisg
ICAgLCBtX3dyYXBUaHJvdWdoKFJlbmRlclN0eWxlOjppbml0aWFsV3JhcFRocm91Z2goKSkKICNp
ZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCiAgICAgLCBtX3J1bm5pbmdBY2NlbGVyYXRl
ZEFuaW1hdGlvbihmYWxzZSkKICNlbmRpZgpAQCAtMTIxLDYgKzEyMyw4IEBAIFN0eWxlUmFyZU5v
bkluaGVyaXRlZERhdGE6OlN0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEoY29uc3QgU3R5bGVSYXJl
Tm9uSW5oZXJpdGVkCiAgICAgLCBtX2FwcGVhcmFuY2Uoby5tX2FwcGVhcmFuY2UpCiAgICAgLCBt
X2JvcmRlckZpdChvLm1fYm9yZGVyRml0KQogICAgICwgbV90ZXh0Q29tYmluZShvLm1fdGV4dENv
bWJpbmUpCisgICAgLCBtX3dyYXBGbG93KG8ubV93cmFwRmxvdykKKyAgICAsIG1fd3JhcFRocm91
Z2goby5tX3dyYXBUaHJvdWdoKQogI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKICAg
ICAsIG1fcnVubmluZ0FjY2VsZXJhdGVkQW5pbWF0aW9uKG8ubV9ydW5uaW5nQWNjZWxlcmF0ZWRB
bmltYXRpb24pCiAjZW5kaWYKQEAgLTE4MCw2ICsxODQsOCBAQCBib29sIFN0eWxlUmFyZU5vbklu
aGVyaXRlZERhdGE6Om9wZXJhdG9yPT0oY29uc3QgU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YSYg
bykgYwogICAgICAgICAmJiAobV9yZWdpb25UaHJlYWQgPT0gby5tX3JlZ2lvblRocmVhZCkKICAg
ICAgICAgJiYgKG1fcmVnaW9uT3ZlcmZsb3cgPT0gby5tX3JlZ2lvbk92ZXJmbG93KQogICAgICAg
ICAmJiAobV93cmFwU2hhcGUgPT0gby5tX3dyYXBTaGFwZSkKKyAgICAgICAgJiYgKG1fd3JhcEZs
b3cgPT0gby5tX3dyYXBGbG93KQorICAgICAgICAmJiAobV93cmFwVGhyb3VnaCA9PSBvLm1fd3Jh
cFRocm91Z2gpCiAgICAgICAgICYmIG1fdmlzaXRlZExpbmtCYWNrZ3JvdW5kQ29sb3IgPT0gby5t
X3Zpc2l0ZWRMaW5rQmFja2dyb3VuZENvbG9yCiAgICAgICAgICYmIG1fdmlzaXRlZExpbmtPdXRs
aW5lQ29sb3IgPT0gby5tX3Zpc2l0ZWRMaW5rT3V0bGluZUNvbG9yCiAgICAgICAgICYmIG1fdmlz
aXRlZExpbmtCb3JkZXJMZWZ0Q29sb3IgPT0gby5tX3Zpc2l0ZWRMaW5rQm9yZGVyTGVmdENvbG9y
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9u
SW5oZXJpdGVkRGF0YS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFy
ZU5vbkluaGVyaXRlZERhdGEuaAppbmRleCA5ZTYyZGZmLi44ZWYwYjE2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVOb25Jbmhlcml0
ZWREYXRhLmgKQEAgLTE1OCw2ICsxNTgsOSBAQCBwdWJsaWM6CiAgICAgdW5zaWduZWQgbV9ib3Jk
ZXJGaXQgOiAxOyAvLyBFQm9yZGVyRml0CiAgICAgdW5zaWduZWQgbV90ZXh0Q29tYmluZSA6IDE7
IC8vIENTUzMgdGV4dC1jb21iaW5lIHByb3BlcnRpZXMKIAorICAgIHVuc2lnbmVkIG1fd3JhcEZs
b3c6IDM7IC8vIFdyYXBGbG93CisgICAgdW5zaWduZWQgbV93cmFwVGhyb3VnaDogMTsgLy8gV3Jh
cFRocm91Z2gKKwogI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKICAgICBib29sIG1f
cnVubmluZ0FjY2VsZXJhdGVkQW5pbWF0aW9uIDogMTsKICNlbmRpZgo=
</data>
<flag name="commit-queue"
          id="113716"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>114954</attachid>
            <date>2011-11-14 08:46:42 -0800</date>
            <delta_ts>2011-11-15 01:28:52 -0800</delta_ts>
            <desc>Patch 2</desc>
            <filename>71904-2.patch</filename>
            <type>text/plain</type>
            <size>26897</size>
            <attacher name="Mihnea Ovidenie">mihnea</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA3MzQ5Y2M3Li4wNzNhZDg4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTEtMTEt
MTQgIE1paG5lYSBPdmlkZW5pZSAgPG1paG5lYUBhZG9iZS5jb20+CisKKyAgICAgICAgQ1NTIGV4
Y2x1c2lvbnM6IHBhcnNlIHRoZSB3cmFwLWZsb3cgYW5kIHdyYXAtdGhyb3VnaCBwcm9wZXJ0aWVz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTkwNAor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC9j
c3MvZ2V0Q29tcHV0ZWRTdHlsZS9jb21wdXRlZC1zdHlsZS1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogZmFzdC9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS9jb21wdXRlZC1zdHlsZS13aXRob3V0LXJlbmRl
cmVyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2V4Y2x1c2lvbnMvc2NyaXB0LXRlc3Rz
L3dyYXAtZmxvdy1wYXJzaW5nLmpzOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2V4Y2x1c2lvbnMv
c2NyaXB0LXRlc3RzL3dyYXAtdGhyb3VnaC1wYXJzaW5nLmpzOiBBZGRlZC4KKyAgICAgICAgKiBm
YXN0L2V4Y2x1c2lvbnMvd3JhcC1mbG93LXBhcnNpbmctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBmYXN0L2V4Y2x1c2lvbnMvd3JhcC1mbG93LXBhcnNpbmcuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZmFzdC9leGNsdXNpb25zL3dyYXAtdGhyb3VnaC1wYXJzaW5nLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZmFzdC9leGNsdXNpb25zL3dyYXAtdGhyb3VnaC1wYXJzaW5n
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHN2Zy9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS1iYXNpYy1l
eHBlY3RlZC50eHQ6CisKIDIwMTEtMTEtMTQgIERvbWluaWMgTWF6em9uaSAgPGRtYXp6b25pQGdv
b2dsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgbW92aW5nIHJlZmVyZW5jZSB0byBuZXds
eS1hZGRlZCB0ZXN0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9nZXRDb21wdXRl
ZFN0eWxlL2NvbXB1dGVkLXN0eWxlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvY3Nz
L2dldENvbXB1dGVkU3R5bGUvY29tcHV0ZWQtc3R5bGUtZXhwZWN0ZWQudHh0CmluZGV4IGI2MWU4
YTkuLjNjNDcyYTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL2dldENvbXB1dGVk
U3R5bGUvY29tcHV0ZWQtc3R5bGUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
Y3NzL2dldENvbXB1dGVkU3R5bGUvY29tcHV0ZWQtc3R5bGUtZXhwZWN0ZWQudHh0CkBAIC0yMDcs
NiArMjA3LDggQEAgem9vbTogMTsKIC13ZWJraXQtcmVnaW9uLWJyZWFrLWFmdGVyOiBhdXRvOwog
LXdlYmtpdC1yZWdpb24tYnJlYWstYmVmb3JlOiBhdXRvOwogLXdlYmtpdC1yZWdpb24tYnJlYWst
aW5zaWRlOiBhdXRvOworLXdlYmtpdC13cmFwLWZsb3c6IGF1dG87Cistd2Via2l0LXdyYXAtdGhy
b3VnaDogd3JhcDsKIGNsaXAtcGF0aDogbm9uZTsKIGNsaXAtcnVsZTogbm9uemVybzsKIG1hc2s6
IG5vbmU7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9nZXRDb21wdXRlZFN0eWxl
L2NvbXB1dGVkLXN0eWxlLXdpdGhvdXQtcmVuZGVyZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZmFzdC9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS9jb21wdXRlZC1zdHlsZS13aXRob3V0LXJlbmRl
cmVyLWV4cGVjdGVkLnR4dAppbmRleCAyZWQxNGE2Li5iZjk4YTMzIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9mYXN0L2Nzcy9nZXRDb21wdXRlZFN0eWxlL2NvbXB1dGVkLXN0eWxlLXdpdGhvdXQt
cmVuZGVyZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL2dldENvbXB1
dGVkU3R5bGUvY29tcHV0ZWQtc3R5bGUtd2l0aG91dC1yZW5kZXJlci1leHBlY3RlZC50eHQKQEAg
LTIwNiw2ICsyMDYsOCBAQCBDb21wdXRlZCBzdHlsZSBvZiBhbiBlbGVtZW50IHdob3NlIHBhcmVu
dCdzICdkaXNwbGF5JyB2YWx1ZSBpcyAnbm9uZSc6CiAgICAgLXdlYmtpdC1yZWdpb24tYnJlYWst
YWZ0ZXI6IGF1dG8KICAgICAtd2Via2l0LXJlZ2lvbi1icmVhay1iZWZvcmU6IGF1dG8KICAgICAt
d2Via2l0LXJlZ2lvbi1icmVhay1pbnNpZGU6IGF1dG8KKyAgICAtd2Via2l0LXdyYXAtZmxvdzog
YXV0bworICAgIC13ZWJraXQtd3JhcC10aHJvdWdoOiB3cmFwCiAgICAgY2xpcC1wYXRoOiBub25l
CiAgICAgY2xpcC1ydWxlOiBub256ZXJvCiAgICAgbWFzazogbm9uZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9leGNsdXNpb25zL3NjcmlwdC10ZXN0cy93cmFwLWZsb3ctcGFyc2luZy5q
cyBiL0xheW91dFRlc3RzL2Zhc3QvZXhjbHVzaW9ucy9zY3JpcHQtdGVzdHMvd3JhcC1mbG93LXBh
cnNpbmcuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjAzMTkwOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXhjbHVzaW9ucy9zY3JpcHQtdGVzdHMv
d3JhcC1mbG93LXBhcnNpbmcuanMKQEAgLTAsMCArMSw1MyBAQAorZGVzY3JpcHRpb24oJ1Rlc3Qg
cGFyc2luZyBvZiB0aGUgQ1NTIHdyYXAtZmxvdyBwcm9wZXJ0eS4nKTsKKworZnVuY3Rpb24gdGVz
dChkZWNsYXJhdGlvbikgeworICAgIHZhciBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJk
aXYiKTsKKyAgICBkaXYuc2V0QXR0cmlidXRlKCJzdHlsZSIsIGRlY2xhcmF0aW9uKTsKKyAgICBy
ZXR1cm4gZGl2LnN0eWxlLndlYmtpdFdyYXBGbG93OworfQorCitmdW5jdGlvbiB0ZXN0Q29tcHV0
ZWRTdHlsZSh2YWx1ZSkgeworICAgIHZhciBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJk
aXYiKTsKKyAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGRpdik7CisgICAgZGl2LnN0eWxl
LnNldFByb3BlcnR5KCItd2Via2l0LXdyYXAtZmxvdyIsIHZhbHVlKTsKKyAgICB2YXIgd2Via2l0
V3JhcEZsb3dDb21wdXRlZFZhbHVlID0gZ2V0Q29tcHV0ZWRTdHlsZShkaXYpLmdldFByb3BlcnR5
VmFsdWUoIi13ZWJraXQtd3JhcC1mbG93Iik7CisgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGls
ZChkaXYpOworICAgIHJldHVybiB3ZWJraXRXcmFwRmxvd0NvbXB1dGVkVmFsdWU7Cit9CisKK2Z1
bmN0aW9uIHRlc3ROb3RJbmhlcml0ZWQocGFyZW50VmFsdWUsIGNoaWxkVmFsdWUpIHsKKyAgICB2
YXIgcGFyZW50RGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CisgICAgZG9jdW1l
bnQuYm9keS5hcHBlbmRDaGlsZChwYXJlbnREaXYpOworICAgIHBhcmVudERpdi5zdHlsZS5zZXRQ
cm9wZXJ0eSgiLXdlYmtpdC13cmFwLWZsb3ciLCBwYXJlbnRWYWx1ZSk7CisKKyAgICB2YXIgY2hp
bGREaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKKyAgICBwYXJlbnREaXYuYXBw
ZW5kQ2hpbGQoY2hpbGREaXYpOworICAgIGNoaWxkRGl2LnN0eWxlLnNldFByb3BlcnR5KCItd2Vi
a2l0LXdyYXAtZmxvdyIsIGNoaWxkVmFsdWUpOworCisgICAgdmFyIGNoaWxkV2ViS2l0V3JhcEZs
b3dDb21wdXRlZFZhbHVlID0gZ2V0Q29tcHV0ZWRTdHlsZShjaGlsZERpdikuZ2V0UHJvcGVydHlW
YWx1ZSgiLXdlYmtpdC13cmFwLWZsb3ciKTsKKworICAgIHBhcmVudERpdi5yZW1vdmVDaGlsZChj
aGlsZERpdik7CisgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChwYXJlbnREaXYpOworCisg
ICAgcmV0dXJuIGNoaWxkV2ViS2l0V3JhcEZsb3dDb21wdXRlZFZhbHVlOworfQorCitzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoJ3Rlc3QoIi13ZWJraXQtd3JhcC1mbG93OiBhdXRvIiknLCAiYXV0byIp
Oworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0KCItd2Via2l0LXdyYXAtZmxvdzogYm90aCIp
JywgImJvdGgiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygndGVzdCgiLXdlYmtpdC13cmFwLWZs
b3c6IGxlZnQiKScsICJsZWZ0Iik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3QoIi13ZWJr
aXQtd3JhcC1mbG93OiByaWdodCIpJywgInJpZ2h0Iik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmco
J3Rlc3QoIi13ZWJraXQtd3JhcC1mbG93OiBtYXhpbXVtIiknLCAibWF4aW11bSIpOworc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCd0ZXN0KCItd2Via2l0LXdyYXAtZmxvdzogY2xlYXIiKScsICJjbGVh
ciIpOworCitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3QoIi13ZWJraXQtd3JhcC1mbG93OiA7
IiknLCAiIik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3QoIi13ZWJraXQtd3JhcC1mbG93
OiA1IiknLCAiIik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3QoIi13ZWJraXQtd3JhcC1m
bG93OiAtMS4yIiknLCAiIik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3QoIi13ZWJraXQt
d3JhcC1mbG93OiBcJ3N0cmluZ1wnIiknLCAiIik7CisKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygn
dGVzdENvbXB1dGVkU3R5bGUoImF1dG8iKScsICJhdXRvIik7CitzaG91bGRCZUVxdWFsVG9TdHJp
bmcoJ3Rlc3RDb21wdXRlZFN0eWxlKCI1IiknLCAiYXV0byIpOworc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCd0ZXN0Q29tcHV0ZWRTdHlsZSgiXCdzdHJpbmdcJyIpJywgImF1dG8iKTsKKworc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCd0ZXN0Tm90SW5oZXJpdGVkKCJhdXRvIiwgImxlZnQiKScsICJsZWZ0
Iik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3ROb3RJbmhlcml0ZWQoInJpZ2h0IiwgImF1
dG8iKScsICJhdXRvIik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3ROb3RJbmhlcml0ZWQo
ImJvdGgiLCAiY2xlYXIiKScsICJjbGVhciIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9leGNsdXNpb25zL3NjcmlwdC10ZXN0cy93cmFwLXRocm91Z2gtcGFyc2luZy5qcyBiL0xheW91
dFRlc3RzL2Zhc3QvZXhjbHVzaW9ucy9zY3JpcHQtdGVzdHMvd3JhcC10aHJvdWdoLXBhcnNpbmcu
anMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDNiYTQyMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXhjbHVzaW9ucy9zY3JpcHQtdGVzdHMvd3JhcC10
aHJvdWdoLXBhcnNpbmcuanMKQEAgLTAsMCArMSw0OCBAQAorZGVzY3JpcHRpb24oJ1Rlc3QgcGFy
c2luZyBvZiB0aGUgQ1NTIHdyYXAtdGhyb3VnaCBwcm9wZXJ0eS4nKTsKKworZnVuY3Rpb24gdGVz
dChkZWNsYXJhdGlvbikgeworICAgIHZhciBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJk
aXYiKTsKKyAgICBkaXYuc2V0QXR0cmlidXRlKCJzdHlsZSIsIGRlY2xhcmF0aW9uKTsKKyAgICBy
ZXR1cm4gZGl2LnN0eWxlLndlYmtpdFdyYXBUaHJvdWdoOworfQorCitmdW5jdGlvbiB0ZXN0Q29t
cHV0ZWRTdHlsZSh2YWx1ZSkgeworICAgIHZhciBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJkaXYiKTsKKyAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGRpdik7CisgICAgZGl2LnN0
eWxlLnNldFByb3BlcnR5KCItd2Via2l0LXdyYXAtdGhyb3VnaCIsIHZhbHVlKTsKKyAgICB2YXIg
d2Via2l0V3JhcFRocm91Z2hDb21wdXRlZFZhbHVlID0gZ2V0Q29tcHV0ZWRTdHlsZShkaXYpLmdl
dFByb3BlcnR5VmFsdWUoIi13ZWJraXQtd3JhcC10aHJvdWdoIik7CisgICAgZG9jdW1lbnQuYm9k
eS5yZW1vdmVDaGlsZChkaXYpOworICAgIHJldHVybiB3ZWJraXRXcmFwVGhyb3VnaENvbXB1dGVk
VmFsdWU7Cit9CisKK2Z1bmN0aW9uIHRlc3ROb3RJbmhlcml0ZWQocGFyZW50VmFsdWUsIGNoaWxk
VmFsdWUpIHsKKyAgICB2YXIgcGFyZW50RGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2
Iik7CisgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChwYXJlbnREaXYpOworICAgIHBhcmVu
dERpdi5zdHlsZS5zZXRQcm9wZXJ0eSgiLXdlYmtpdC13cmFwLXRocm91Z2giLCBwYXJlbnRWYWx1
ZSk7CisKKyAgICB2YXIgY2hpbGREaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsK
KyAgICBwYXJlbnREaXYuYXBwZW5kQ2hpbGQoY2hpbGREaXYpOworICAgIGNoaWxkRGl2LnN0eWxl
LnNldFByb3BlcnR5KCItd2Via2l0LXdyYXAtdGhyb3VnaCIsIGNoaWxkVmFsdWUpOworCisgICAg
dmFyIGNoaWxkV2ViS2l0V3JhcFRocm91Z2hDb21wdXRlZFZhbHVlID0gZ2V0Q29tcHV0ZWRTdHls
ZShjaGlsZERpdikuZ2V0UHJvcGVydHlWYWx1ZSgiLXdlYmtpdC13cmFwLXRocm91Z2giKTsKKwor
ICAgIHBhcmVudERpdi5yZW1vdmVDaGlsZChjaGlsZERpdik7CisgICAgZG9jdW1lbnQuYm9keS5y
ZW1vdmVDaGlsZChwYXJlbnREaXYpOworCisgICAgcmV0dXJuIGNoaWxkV2ViS2l0V3JhcFRocm91
Z2hDb21wdXRlZFZhbHVlOworfQorCitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3QoIi13ZWJr
aXQtd3JhcC10aHJvdWdoOiB3cmFwIiknLCAid3JhcCIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCd0ZXN0KCItd2Via2l0LXdyYXAtdGhyb3VnaDogbm9uZSIpJywgIm5vbmUiKTsKKworc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCd0ZXN0KCItd2Via2l0LXdyYXAtdGhyb3VnaDogOyIpJywgIiIpOwor
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0KCItd2Via2l0LXdyYXAtdGhyb3VnaDogNSIpJywg
IiIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0KCItd2Via2l0LXdyYXAtdGhyb3VnaDog
LTEuMiIpJywgIiIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0KCItd2Via2l0LXdyYXAt
dGhyb3VnaDogXCdzdHJpbmdcJyIpJywgIiIpOworCitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rl
c3RDb21wdXRlZFN0eWxlKCJ3cmFwIiknLCAid3JhcCIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCd0ZXN0Q29tcHV0ZWRTdHlsZSgiNSIpJywgIndyYXAiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmlu
ZygndGVzdENvbXB1dGVkU3R5bGUoIlwnc3RyaW5nXCciKScsICJ3cmFwIik7CisKK3Nob3VsZEJl
RXF1YWxUb1N0cmluZygndGVzdE5vdEluaGVyaXRlZCgid3JhcCIsICJub25lIiknLCAibm9uZSIp
Oworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0Tm90SW5oZXJpdGVkKCJub25lIiwgIndyYXAi
KScsICJ3cmFwIik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V4Y2x1c2lvbnMvd3Jh
cC1mbG93LXBhcnNpbmctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9leGNsdXNpb25z
L3dyYXAtZmxvdy1wYXJzaW5nLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwLi45MzYzMGI4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9l
eGNsdXNpb25zL3dyYXAtZmxvdy1wYXJzaW5nLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDI1IEBA
CitUZXN0IHBhcnNpbmcgb2YgdGhlIENTUyB3cmFwLWZsb3cgcHJvcGVydHkuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIHRlc3QoIi13ZWJraXQtd3JhcC1mbG93OiBhdXRv
IikgaXMgImF1dG8iCitQQVNTIHRlc3QoIi13ZWJraXQtd3JhcC1mbG93OiBib3RoIikgaXMgImJv
dGgiCitQQVNTIHRlc3QoIi13ZWJraXQtd3JhcC1mbG93OiBsZWZ0IikgaXMgImxlZnQiCitQQVNT
IHRlc3QoIi13ZWJraXQtd3JhcC1mbG93OiByaWdodCIpIGlzICJyaWdodCIKK1BBU1MgdGVzdCgi
LXdlYmtpdC13cmFwLWZsb3c6IG1heGltdW0iKSBpcyAibWF4aW11bSIKK1BBU1MgdGVzdCgiLXdl
YmtpdC13cmFwLWZsb3c6IGNsZWFyIikgaXMgImNsZWFyIgorUEFTUyB0ZXN0KCItd2Via2l0LXdy
YXAtZmxvdzogOyIpIGlzICIiCitQQVNTIHRlc3QoIi13ZWJraXQtd3JhcC1mbG93OiA1IikgaXMg
IiIKK1BBU1MgdGVzdCgiLXdlYmtpdC13cmFwLWZsb3c6IC0xLjIiKSBpcyAiIgorUEFTUyB0ZXN0
KCItd2Via2l0LXdyYXAtZmxvdzogJ3N0cmluZyciKSBpcyAiIgorUEFTUyB0ZXN0Q29tcHV0ZWRT
dHlsZSgiYXV0byIpIGlzICJhdXRvIgorUEFTUyB0ZXN0Q29tcHV0ZWRTdHlsZSgiNSIpIGlzICJh
dXRvIgorUEFTUyB0ZXN0Q29tcHV0ZWRTdHlsZSgiJ3N0cmluZyciKSBpcyAiYXV0byIKK1BBU1Mg
dGVzdE5vdEluaGVyaXRlZCgiYXV0byIsICJsZWZ0IikgaXMgImxlZnQiCitQQVNTIHRlc3ROb3RJ
bmhlcml0ZWQoInJpZ2h0IiwgImF1dG8iKSBpcyAiYXV0byIKK1BBU1MgdGVzdE5vdEluaGVyaXRl
ZCgiYm90aCIsICJjbGVhciIpIGlzICJjbGVhciIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V4
Y2x1c2lvbnMvd3JhcC1mbG93LXBhcnNpbmcuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZXhjbHVz
aW9ucy93cmFwLWZsb3ctcGFyc2luZy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAuLjZkYTM1ZGYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V4Y2x1
c2lvbnMvd3JhcC1mbG93LXBhcnNpbmcuaHRtbApAQCAtMCwwICsxLDEwIEBACis8IURPQ1RZUEUg
SFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy93cmFwLWZsb3ct
cGFyc2luZy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJj
ZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvZXhjbHVzaW9ucy93cmFwLXRocm91Z2gtcGFyc2luZy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2V4Y2x1c2lvbnMvd3JhcC10aHJvdWdoLXBhcnNp
bmctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI4MzFj
OWQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V4Y2x1c2lvbnMvd3JhcC10
aHJvdWdoLXBhcnNpbmctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjAgQEAKK1Rlc3QgcGFyc2lu
ZyBvZiB0aGUgQ1NTIHdyYXAtdGhyb3VnaCBwcm9wZXJ0eS4KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCisKK1BBU1MgdGVzdCgiLXdlYmtpdC13cmFwLXRocm91Z2g6IHdyYXAiKSBpcyAi
d3JhcCIKK1BBU1MgdGVzdCgiLXdlYmtpdC13cmFwLXRocm91Z2g6IG5vbmUiKSBpcyAibm9uZSIK
K1BBU1MgdGVzdCgiLXdlYmtpdC13cmFwLXRocm91Z2g6IDsiKSBpcyAiIgorUEFTUyB0ZXN0KCIt
d2Via2l0LXdyYXAtdGhyb3VnaDogNSIpIGlzICIiCitQQVNTIHRlc3QoIi13ZWJraXQtd3JhcC10
aHJvdWdoOiAtMS4yIikgaXMgIiIKK1BBU1MgdGVzdCgiLXdlYmtpdC13cmFwLXRocm91Z2g6ICdz
dHJpbmcnIikgaXMgIiIKK1BBU1MgdGVzdENvbXB1dGVkU3R5bGUoIndyYXAiKSBpcyAid3JhcCIK
K1BBU1MgdGVzdENvbXB1dGVkU3R5bGUoIjUiKSBpcyAid3JhcCIKK1BBU1MgdGVzdENvbXB1dGVk
U3R5bGUoIidzdHJpbmcnIikgaXMgIndyYXAiCitQQVNTIHRlc3ROb3RJbmhlcml0ZWQoIndyYXAi
LCAibm9uZSIpIGlzICJub25lIgorUEFTUyB0ZXN0Tm90SW5oZXJpdGVkKCJub25lIiwgIndyYXAi
KSBpcyAid3JhcCIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V4Y2x1c2lvbnMvd3JhcC10aHJv
dWdoLXBhcnNpbmcuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZXhjbHVzaW9ucy93cmFwLXRocm91
Z2gtcGFyc2luZy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAwNDU1
OTAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V4Y2x1c2lvbnMvd3JhcC10
aHJvdWdoLXBhcnNpbmcuaHRtbApAQCAtMCwwICsxLDEwIEBACis8IURPQ1RZUEUgSFRNTCBQVUJM
SUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy93cmFwLXRocm91Z2gtcGFyc2lu
Zy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3N2Zy9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS1iYXNpYy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9zdmcvY3NzL2dldENvbXB1dGVkU3R5bGUtYmFzaWMtZXhwZWN0ZWQudHh0Cmlu
ZGV4IDdiMmRjNmIuLmRlMGQxM2EgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9jc3MvZ2V0
Q29tcHV0ZWRTdHlsZS1iYXNpYy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2Nz
cy9nZXRDb21wdXRlZFN0eWxlLWJhc2ljLWV4cGVjdGVkLnR4dApAQCAtNDEyLDYgKzQxMiwxMCBA
QCByZWN0OiBzdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKC13ZWJraXQtcmVnaW9uLWJyZWFrLWJlZm9y
ZSkgOiBhdXRvCiByZWN0OiBzdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKC13ZWJraXQtcmVnaW9u
LWJyZWFrLWJlZm9yZSkgOiBbb2JqZWN0IENTU1ByaW1pdGl2ZVZhbHVlXQogcmVjdDogc3R5bGUu
Z2V0UHJvcGVydHlWYWx1ZSgtd2Via2l0LXJlZ2lvbi1icmVhay1pbnNpZGUpIDogYXV0bwogcmVj
dDogc3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgtd2Via2l0LXJlZ2lvbi1icmVhay1pbnNpZGUp
IDogW29iamVjdCBDU1NQcmltaXRpdmVWYWx1ZV0KK3JlY3Q6IHN0eWxlLmdldFByb3BlcnR5VmFs
dWUoLXdlYmtpdC13cmFwLWZsb3cpIDogYXV0bworcmVjdDogc3R5bGUuZ2V0UHJvcGVydHlDU1NW
YWx1ZSgtd2Via2l0LXdyYXAtZmxvdykgOiBbb2JqZWN0IENTU1ByaW1pdGl2ZVZhbHVlXQorcmVj
dDogc3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgtd2Via2l0LXdyYXAtdGhyb3VnaCkgOiB3cmFwCity
ZWN0OiBzdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKC13ZWJraXQtd3JhcC10aHJvdWdoKSA6IFtv
YmplY3QgQ1NTUHJpbWl0aXZlVmFsdWVdCiByZWN0OiBzdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKGNs
aXAtcGF0aCkgOiBub25lCiByZWN0OiBzdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKGNsaXAtcGF0
aCkgOiBbb2JqZWN0IENTU1ByaW1pdGl2ZVZhbHVlXQogcmVjdDogc3R5bGUuZ2V0UHJvcGVydHlW
YWx1ZShjbGlwLXJ1bGUpIDogbm9uemVybwpAQCAtOTAwLDYgKzkwNCwxMCBAQCBnOiBzdHlsZS5n
ZXRQcm9wZXJ0eVZhbHVlKC13ZWJraXQtcmVnaW9uLWJyZWFrLWJlZm9yZSkgOiBhdXRvCiBnOiBz
dHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKC13ZWJraXQtcmVnaW9uLWJyZWFrLWJlZm9yZSkgOiBb
b2JqZWN0IENTU1ByaW1pdGl2ZVZhbHVlXQogZzogc3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgtd2Vi
a2l0LXJlZ2lvbi1icmVhay1pbnNpZGUpIDogYXV0bwogZzogc3R5bGUuZ2V0UHJvcGVydHlDU1NW
YWx1ZSgtd2Via2l0LXJlZ2lvbi1icmVhay1pbnNpZGUpIDogW29iamVjdCBDU1NQcmltaXRpdmVW
YWx1ZV0KK2c6IHN0eWxlLmdldFByb3BlcnR5VmFsdWUoLXdlYmtpdC13cmFwLWZsb3cpIDogYXV0
bworZzogc3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgtd2Via2l0LXdyYXAtZmxvdykgOiBbb2Jq
ZWN0IENTU1ByaW1pdGl2ZVZhbHVlXQorZzogc3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgtd2Via2l0
LXdyYXAtdGhyb3VnaCkgOiB3cmFwCitnOiBzdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKC13ZWJr
aXQtd3JhcC10aHJvdWdoKSA6IFtvYmplY3QgQ1NTUHJpbWl0aXZlVmFsdWVdCiBnOiBzdHlsZS5n
ZXRQcm9wZXJ0eVZhbHVlKGNsaXAtcGF0aCkgOiBub25lCiBnOiBzdHlsZS5nZXRQcm9wZXJ0eUNT
U1ZhbHVlKGNsaXAtcGF0aCkgOiBbb2JqZWN0IENTU1ByaW1pdGl2ZVZhbHVlXQogZzogc3R5bGUu
Z2V0UHJvcGVydHlWYWx1ZShjbGlwLXJ1bGUpIDogbm9uemVybwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGFmM2M0
NjMuLjVjMDc0ZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0MiBAQAorMjAxMS0xMS0xNCAgTWlo
bmVhIE92aWRlbmllICA8bWlobmVhQGFkb2JlLmNvbT4KKworICAgICAgICBDU1MgZXhjbHVzaW9u
czogcGFyc2UgdGhlIHdyYXAtZmxvdyBhbmQgd3JhcC10aHJvdWdoIHByb3BlcnRpZXMKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxOTA0CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdHM6IGZhc3QvZXhj
bHVzaW9ucy93cmFwLWZsb3ctcGFyc2luZy5odG1sCisgICAgICAgICAgICAgICBmYXN0L2V4Y2x1
c2lvbnMvd3JhcC10aHJvdWdoLXBhcnNpbmcuaHRtbAorCisgICAgICAgICogY3NzL0NTU0NvbXB1
dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NDb21wdXRlZFN0
eWxlRGVjbGFyYXRpb246OmdldFByb3BlcnR5Q1NTVmFsdWUpOgorICAgICAgICAqIGNzcy9DU1NQ
YXJzZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJzZVZhbHVlKToKKyAg
ICAgICAgKiBjc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oOgorICAgICAgICAoV2ViQ29y
ZTo6Q1NTUHJpbWl0aXZlVmFsdWU6OkNTU1ByaW1pdGl2ZVZhbHVlKToKKyAgICAgICAgKFdlYkNv
cmU6OkNTU1ByaW1pdGl2ZVZhbHVlOjpvcGVyYXRvciBXcmFwRmxvdyk6CisgICAgICAgIChXZWJD
b3JlOjpDU1NQcmltaXRpdmVWYWx1ZTo6b3BlcmF0b3IgV3JhcFRocm91Z2gpOgorICAgICAgICAq
IGNzcy9DU1NQcm9wZXJ0eS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcm9wZXJ0eTo6aXNJ
bmhlcml0ZWRQcm9wZXJ0eSk6CisgICAgICAgICogY3NzL0NTU1Byb3BlcnR5TmFtZXMuaW46Cisg
ICAgICAgICogY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NT
U3R5bGVTZWxlY3Rvcjo6YXBwbHlQcm9wZXJ0eSk6CisgICAgICAgICogY3NzL0NTU1ZhbHVlS2V5
d29yZHMuaW46CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlclN0eWxlOjpkaWZmKToKKyAgICAgICAgKiByZW5kZXJpbmcv
c3R5bGUvUmVuZGVyU3R5bGUuaDoKKyAgICAgICAgKFdlYkNvcmU6OkluaGVyaXRlZEZsYWdzOjp3
cmFwRmxvdyk6CisgICAgICAgIChXZWJDb3JlOjpJbmhlcml0ZWRGbGFnczo6d3JhcFRocm91Z2gp
OgorICAgICAgICAoV2ViQ29yZTo6SW5oZXJpdGVkRmxhZ3M6OnNldFdyYXBGbG93KToKKyAgICAg
ICAgKFdlYkNvcmU6OkluaGVyaXRlZEZsYWdzOjpzZXRXcmFwVGhyb3VnaCk6CisgICAgICAgIChX
ZWJDb3JlOjpJbmhlcml0ZWRGbGFnczo6aW5pdGlhbFdyYXBGbG93KToKKyAgICAgICAgKFdlYkNv
cmU6OkluaGVyaXRlZEZsYWdzOjppbml0aWFsV3JhcFRocm91Z2gpOgorICAgICAgICAqIHJlbmRl
cmluZy9zdHlsZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5oOgorICAgICAgICAqIHJlbmRlcmluZy9z
dHlsZS9TdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0
eWxlUmFyZU5vbkluaGVyaXRlZERhdGE6OlN0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEpOgorICAg
ICAgICAoV2ViQ29yZTo6U3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YTo6b3BlcmF0b3I9PSk6Cisg
ICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEuaDoKKwog
MjAxMS0xMS0xNCAgUGF2ZWwgRmVsZG1hbiAgPHBmZWxkbWFuQGdvb2dsZS5jb20+CiAKICAgICAg
ICAgV2ViIEluc3BlY3RvcjogY29uc29sZSdzIHByb3RvY29sIHBheWxvYWQgZG9lcyBub3QgaGF2
ZSB1cmwgYW5kIGxpbmUgcHJvcGVydGllcy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKaW5kZXggOTUzZWVhYy4uNjkyOGQ2ZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5j
cHAKQEAgLTI4Myw3ICsyODMsOSBAQCBzdGF0aWMgY29uc3QgaW50IGNvbXB1dGVkUHJvcGVydGll
c1tdID0gewogICAgIENTU1Byb3BlcnR5V2Via2l0UmVnaW9uT3ZlcmZsb3csCiAgICAgQ1NTUHJv
cGVydHlXZWJraXRSZWdpb25CcmVha0FmdGVyLAogICAgIENTU1Byb3BlcnR5V2Via2l0UmVnaW9u
QnJlYWtCZWZvcmUsCi0gICAgQ1NTUHJvcGVydHlXZWJraXRSZWdpb25CcmVha0luc2lkZQorICAg
IENTU1Byb3BlcnR5V2Via2l0UmVnaW9uQnJlYWtJbnNpZGUsCisgICAgQ1NTUHJvcGVydHlXZWJr
aXRXcmFwRmxvdywKKyAgICBDU1NQcm9wZXJ0eVdlYmtpdFdyYXBUaHJvdWdoCiAjaWYgRU5BQkxF
KFNWRykKICAgICAsCiAgICAgQ1NTUHJvcGVydHlDbGlwUGF0aCwKQEAgLTIxNDMsNiArMjE0NSwx
MCBAQCBQYXNzUmVmUHRyPENTU1ZhbHVlPiBDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb246Omdl
dFByb3BlcnR5Q1NTVmFsdWUoaW50IHByb3BlcgogCiAgICAgICAgICAgICByZXR1cm4gcHJpbWl0
aXZlVmFsdWVDYWNoZS0+Y3JlYXRlVmFsdWUoc3R5bGUtPndyYXBTaGFwZSgpKTsKIAorICAgICAg
ICBjYXNlIENTU1Byb3BlcnR5V2Via2l0V3JhcEZsb3c6CisgICAgICAgICAgICByZXR1cm4gcHJp
bWl0aXZlVmFsdWVDYWNoZS0+Y3JlYXRlVmFsdWUoc3R5bGUtPndyYXBGbG93KCkpOworICAgICAg
ICBjYXNlIENTU1Byb3BlcnR5V2Via2l0V3JhcFRocm91Z2g6CisgICAgICAgICAgICByZXR1cm4g
cHJpbWl0aXZlVmFsdWVDYWNoZS0+Y3JlYXRlVmFsdWUoc3R5bGUtPndyYXBUaHJvdWdoKCkpOwog
I2lmIEVOQUJMRShTVkcpCiAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlDbGlwUGF0aDoKICAgICAg
ICAgY2FzZSBDU1NQcm9wZXJ0eUNsaXBSdWxlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1BhcnNlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcAppbmRl
eCA4NWQxYWJkLi4wYzZiZWY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFy
c2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcApAQCAtMjIwMSw2
ICsyMjAxLDE2IEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZVZhbHVlKGludCBwcm9wSWQsIGJvb2wg
aW1wb3J0YW50KQogICAgICAgICAgICAgcmV0dXJuIHBhcnNlV3JhcFNoYXBlKGltcG9ydGFudCk7
CiAgICAgICAgIGJyZWFrOwogCisgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdFdyYXBGbG93Ogor
ICAgICAgICBpZiAoaWQgPT0gQ1NTVmFsdWVBdXRvIHx8IGlkID09IENTU1ZhbHVlQm90aCB8fCBp
ZCA9PSBDU1NWYWx1ZUxlZnQgfHwgaWQgPT0gQ1NTVmFsdWVSaWdodCB8fCBpZCA9PSBDU1NWYWx1
ZU1heGltdW0gfHwgaWQgPT0gQ1NTVmFsdWVDbGVhcikKKyAgICAgICAgICAgIHZhbGlkUHJpbWl0
aXZlID0gdHJ1ZTsKKyAgICAgICAgYnJlYWs7CisKKyAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0
V3JhcFRocm91Z2g6CisgICAgICAgIGlmIChpZCA9PSBDU1NWYWx1ZVdyYXAgfHwgaWQgPT0gQ1NT
VmFsdWVOb25lKQorICAgICAgICAgICAgdmFsaWRQcmltaXRpdmUgPSB0cnVlOworICAgICAgICBi
cmVhazsKKwogI2lmIEVOQUJMRShTVkcpCiAgICAgZGVmYXVsdDoKICAgICAgICAgcmV0dXJuIHBh
cnNlU1ZHVmFsdWUocHJvcElkLCBpbXBvcnRhbnQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmgKaW5kZXggNGRkY2JhNi4uNGIxYTA4NyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oCkBAIC0zNDQz
LDYgKzM0NDMsODAgQEAgdGVtcGxhdGU8PiBpbmxpbmUgQ1NTUHJpbWl0aXZlVmFsdWU6Om9wZXJh
dG9yIENvbHVtbkF4aXMoKSBjb25zdAogICAgIH0KIH0KIAordGVtcGxhdGU8PiBpbmxpbmUgQ1NT
UHJpbWl0aXZlVmFsdWU6OkNTU1ByaW1pdGl2ZVZhbHVlKFdyYXBGbG93IHdyYXBGbG93KQorOiBD
U1NWYWx1ZShQcmltaXRpdmVDbGFzcykKK3sKKyAgICBtX3ByaW1pdGl2ZVVuaXRUeXBlID0gQ1NT
X0lERU5UOworICAgIHN3aXRjaCAod3JhcEZsb3cpIHsKKyAgICBjYXNlIFdyYXBGbG93QXV0bzoK
KyAgICAgICAgbV92YWx1ZS5pZGVudCA9IENTU1ZhbHVlQXV0bzsKKyAgICAgICAgYnJlYWs7Cisg
ICAgY2FzZSBXcmFwRmxvd0JvdGg6CisgICAgICAgIG1fdmFsdWUuaWRlbnQgPSBDU1NWYWx1ZUJv
dGg7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgV3JhcEZsb3dMZWZ0OgorICAgICAgICBtX3Zh
bHVlLmlkZW50ID0gQ1NTVmFsdWVMZWZ0OworICAgICAgICBicmVhazsKKyAgICBjYXNlIFdyYXBG
bG93UmlnaHQ6CisgICAgICAgIG1fdmFsdWUuaWRlbnQgPSBDU1NWYWx1ZVJpZ2h0OworICAgICAg
ICBicmVhazsKKyAgICBjYXNlIFdyYXBGbG93TWF4aW11bToKKyAgICAgICAgbV92YWx1ZS5pZGVu
dCA9IENTU1ZhbHVlTWF4aW11bTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBXcmFwRmxvd0Ns
ZWFyOgorICAgICAgICBtX3ZhbHVlLmlkZW50ID0gQ1NTVmFsdWVDbGVhcjsKKyAgICAgICAgYnJl
YWs7CisgICAgfQorfQorCit0ZW1wbGF0ZTw+IGlubGluZSBDU1NQcmltaXRpdmVWYWx1ZTo6b3Bl
cmF0b3IgV3JhcEZsb3coKSBjb25zdAoreworICAgIHN3aXRjaCAobV92YWx1ZS5pZGVudCkgewor
ICAgIGNhc2UgQ1NTVmFsdWVBdXRvOgorICAgICAgICByZXR1cm4gV3JhcEZsb3dBdXRvOworICAg
IGNhc2UgQ1NTVmFsdWVCb3RoOgorICAgICAgICByZXR1cm4gV3JhcEZsb3dCb3RoOworICAgIGNh
c2UgQ1NTVmFsdWVMZWZ0OgorICAgICAgICByZXR1cm4gV3JhcEZsb3dMZWZ0OworICAgIGNhc2Ug
Q1NTVmFsdWVSaWdodDoKKyAgICAgICAgcmV0dXJuIFdyYXBGbG93UmlnaHQ7CisgICAgY2FzZSBD
U1NWYWx1ZU1heGltdW06CisgICAgICAgIHJldHVybiBXcmFwRmxvd01heGltdW07CisgICAgY2Fz
ZSBDU1NWYWx1ZUNsZWFyOgorICAgICAgICByZXR1cm4gV3JhcEZsb3dDbGVhcjsKKyAgICBkZWZh
dWx0OgorICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgcmV0dXJuIFdyYXBG
bG93QXV0bzsKKyAgICB9Cit9CisKK3RlbXBsYXRlPD4gaW5saW5lIENTU1ByaW1pdGl2ZVZhbHVl
OjpDU1NQcmltaXRpdmVWYWx1ZShXcmFwVGhyb3VnaCB3cmFwVGhyb3VnaCkKKzogQ1NTVmFsdWUo
UHJpbWl0aXZlQ2xhc3MpCit7CisgICAgbV9wcmltaXRpdmVVbml0VHlwZSA9IENTU19JREVOVDsK
KyAgICBzd2l0Y2ggKHdyYXBUaHJvdWdoKSB7CisgICAgY2FzZSBXcmFwVGhyb3VnaFdyYXA6Cisg
ICAgICAgIG1fdmFsdWUuaWRlbnQgPSBDU1NWYWx1ZVdyYXA7CisgICAgICAgIGJyZWFrOworICAg
IGNhc2UgV3JhcFRocm91Z2hOb25lOgorICAgICAgICBtX3ZhbHVlLmlkZW50ID0gQ1NTVmFsdWVO
b25lOworICAgICAgICBicmVhazsKKyAgICB9Cit9CisKK3RlbXBsYXRlPD4gaW5saW5lIENTU1By
aW1pdGl2ZVZhbHVlOjpvcGVyYXRvciBXcmFwVGhyb3VnaCgpIGNvbnN0Cit7CisgICAgc3dpdGNo
IChtX3ZhbHVlLmlkZW50KSB7CisgICAgY2FzZSBDU1NWYWx1ZVdyYXA6CisgICAgICAgIHJldHVy
biBXcmFwVGhyb3VnaFdyYXA7CisgICAgY2FzZSBDU1NWYWx1ZU5vbmU6CisgICAgICAgIHJldHVy
biBXcmFwVGhyb3VnaE5vbmU7CisgICAgZGVmYXVsdDoKKyAgICAgICAgQVNTRVJUX05PVF9SRUFD
SEVEKCk7CisgICAgICAgIHJldHVybiBXcmFwVGhyb3VnaFdyYXA7CisgICAgfQorfQorCiAjaWYg
RU5BQkxFKFNWRykKIAogdGVtcGxhdGU8PiBpbmxpbmUgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU1By
aW1pdGl2ZVZhbHVlKEVDb2xvckludGVycG9sYXRpb24gZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVy
dHkuY3BwCmluZGV4IDA5NGJjOTUuLjE3M2QxNzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NQcm9wZXJ0eS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5
LmNwcApAQCAtNjM3LDYgKzYzNyw4IEBAIGJvb2wgQ1NTUHJvcGVydHk6OmlzSW5oZXJpdGVkUHJv
cGVydHkodW5zaWduZWQgcHJvcGVydHlJRCkKICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0UmVn
aW9uQnJlYWtBZnRlcjoKICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0UmVnaW9uQnJlYWtCZWZv
cmU6CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdFJlZ2lvbkJyZWFrSW5zaWRlOgorICAgIGNh
c2UgQ1NTUHJvcGVydHlXZWJraXRXcmFwRmxvdzoKKyAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0
V3JhcFRocm91Z2g6CiAjaWYgRU5BQkxFKFNWRykKICAgICBjYXNlIENTU1Byb3BlcnR5Q2xpcFBh
dGg6CiAgICAgY2FzZSBDU1NQcm9wZXJ0eU1hc2s6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTUHJvcGVydHlOYW1lcy5pbiBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0
eU5hbWVzLmluCmluZGV4IDM1MzQyNTYuLmFmZmFjYWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NQcm9wZXJ0eU5hbWVzLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQ
cm9wZXJ0eU5hbWVzLmluCkBAIC0zNjAsNiArMzYwLDggQEAgei1pbmRleAogLXdlYmtpdC1yZWdp
b24tYnJlYWstYWZ0ZXIKIC13ZWJraXQtcmVnaW9uLWJyZWFrLWJlZm9yZQogLXdlYmtpdC1yZWdp
b24tYnJlYWstaW5zaWRlCistd2Via2l0LXdyYXAtZmxvdworLXdlYmtpdC13cmFwLXRocm91Z2gK
ICNpZiBkZWZpbmVkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICYmIEVOQUJMRV9UT1VDSF9FVkVOVFMK
IC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcgogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
U3R5bGVTZWxlY3Rvci5jcHAKaW5kZXggNmJlZTgzNi4uM2UxM2YzOCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcApAQCAtMzgzNiw2ICszODM2LDE0IEBAIHZvaWQgQ1NT
U3R5bGVTZWxlY3Rvcjo6YXBwbHlQcm9wZXJ0eShpbnQgaWQsIENTU1ZhbHVlICp2YWx1ZSkKIAog
ICAgICAgICByZXR1cm47CiAKKyAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0V3JhcEZsb3c6Cisg
ICAgICAgIEhBTkRMRV9JTkhFUklUX0FORF9JTklUSUFMX0FORF9QUklNSVRJVkUod3JhcEZsb3cs
IFdyYXBGbG93KTsKKyAgICAgICAgcmV0dXJuOworCisgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtp
dFdyYXBUaHJvdWdoOgorICAgICAgICBIQU5ETEVfSU5IRVJJVF9BTkRfSU5JVElBTF9BTkRfUFJJ
TUlUSVZFKHdyYXBUaHJvdWdoLCBXcmFwVGhyb3VnaCk7CisgICAgICAgIHJldHVybjsKKwogICAg
IC8vIENTUyBGb250cyBNb2R1bGUgTGV2ZWwgMwogICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRG
b250RmVhdHVyZVNldHRpbmdzOiB7CiAgICAgICAgIGlmIChwcmltaXRpdmVWYWx1ZSAmJiBwcmlt
aXRpdmVWYWx1ZS0+Z2V0SWRlbnQoKSA9PSBDU1NWYWx1ZU5vcm1hbCkgewpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW4gYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbgppbmRleCBiM2IxMWJlLi4yZDE5MDE1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbgorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbgpAQCAtODUzLDYgKzg1MywxOCBAQCBldmVub2Rk
CiAvLyBhdXRvCiBicmVhawogCisvLyAtd2Via2l0LXdyYXAtZmxvdworLy8gYXV0bworLy8gYm90
aAorLy8gbGVmdAorLy8gcmlnaHQKK21heGltdW0KKy8vIGNsZWFyCisKKy8vIC13ZWJraXQtd3Jh
cC10aHJvdWdoCit3cmFwCisvLyBub25lCisKICNpZiBkZWZpbmVkKEVOQUJMRV9DU1NfRklMVEVS
UykgJiYgRU5BQkxFX0NTU19GSUxURVJTCiAvLyAtd2Via2l0LWZpbHRlcgogI2lmIGRlZmluZWQo
RU5BQkxFX0NTU19TSEFERVJTKSAmJiBFTkFCTEVfQ1NTX1NIQURFUlMKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwCmluZGV4IDkxOWFiMTEuLmRlOWVk
YjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHls
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmNw
cApAQCAtMzg3LDYgKzM4NywxMCBAQCBTdHlsZURpZmZlcmVuY2UgUmVuZGVyU3R5bGU6OmRpZmYo
Y29uc3QgUmVuZGVyU3R5bGUqIG90aGVyLCB1bnNpZ25lZCYgY2hhbmdlZENvbgogICAgICAgICBp
ZiAocmFyZU5vbkluaGVyaXRlZERhdGEtPm1fcmVnaW9uT3ZlcmZsb3cgIT0gb3RoZXItPnJhcmVO
b25Jbmhlcml0ZWREYXRhLT5tX3JlZ2lvbk92ZXJmbG93KQogICAgICAgICAgICAgcmV0dXJuIFN0
eWxlRGlmZmVyZW5jZUxheW91dDsKIAorICAgICAgICBpZiAocmFyZU5vbkluaGVyaXRlZERhdGEt
Pm1fd3JhcEZsb3cgIT0gb3RoZXItPnJhcmVOb25Jbmhlcml0ZWREYXRhLT5tX3dyYXBGbG93Cisg
ICAgICAgICAgICB8fCByYXJlTm9uSW5oZXJpdGVkRGF0YS0+bV93cmFwVGhyb3VnaCAhPSBvdGhl
ci0+cmFyZU5vbkluaGVyaXRlZERhdGEtPm1fd3JhcFRocm91Z2gpCisgICAgICAgICAgICByZXR1
cm4gU3R5bGVEaWZmZXJlbmNlTGF5b3V0OworCiAgICAgICAgIGlmIChyYXJlTm9uSW5oZXJpdGVk
RGF0YS0+bV9kZXByZWNhdGVkRmxleGlibGVCb3guZ2V0KCkgIT0gb3RoZXItPnJhcmVOb25Jbmhl
cml0ZWREYXRhLT5tX2RlcHJlY2F0ZWRGbGV4aWJsZUJveC5nZXQoKQogICAgICAgICAgICAgJiYg
KnJhcmVOb25Jbmhlcml0ZWREYXRhLT5tX2RlcHJlY2F0ZWRGbGV4aWJsZUJveC5nZXQoKSAhPSAq
b3RoZXItPnJhcmVOb25Jbmhlcml0ZWREYXRhLT5tX2RlcHJlY2F0ZWRGbGV4aWJsZUJveC5nZXQo
KSkKICAgICAgICAgICAgIHJldHVybiBTdHlsZURpZmZlcmVuY2VMYXlvdXQ7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCmluZGV4IGYxNzc3OGMuLmNlMTQw
MjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHls
ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCkBA
IC04MTAsNiArODEwLDkgQEAgcHVibGljOgogICAgIGNvbnN0IEF0b21pY1N0cmluZyYgbGluZUdy
aWQoKSBjb25zdCB7IHJldHVybiByYXJlSW5oZXJpdGVkRGF0YS0+bV9saW5lR3JpZDsgfQogICAg
IExpbmVHcmlkU25hcCBsaW5lR3JpZFNuYXAoKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxM
aW5lR3JpZFNuYXA+KHJhcmVJbmhlcml0ZWREYXRhLT5tX2xpbmVHcmlkU25hcCk7IH0KIAorICAg
IFdyYXBGbG93IHdyYXBGbG93KCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8V3JhcEZsb3c+
KHJhcmVOb25Jbmhlcml0ZWREYXRhLT5tX3dyYXBGbG93KTsgfQorICAgIFdyYXBUaHJvdWdoIHdy
YXBUaHJvdWdoKCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8V3JhcFRocm91Z2g+KHJhcmVO
b25Jbmhlcml0ZWREYXRhLT5tX3dyYXBUaHJvdWdoKTsgfQorCiAgICAgLy8gQXBwbGUtc3BlY2lm
aWMgcHJvcGVydHkgZ2V0dGVyIG1ldGhvZHMKICAgICBFUG9pbnRlckV2ZW50cyBwb2ludGVyRXZl
bnRzKCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8RVBvaW50ZXJFdmVudHM+KGluaGVyaXRl
ZF9mbGFncy5fcG9pbnRlckV2ZW50cyk7IH0KICAgICBjb25zdCBBbmltYXRpb25MaXN0KiBhbmlt
YXRpb25zKCkgY29uc3QgeyByZXR1cm4gcmFyZU5vbkluaGVyaXRlZERhdGEtPm1fYW5pbWF0aW9u
cy5nZXQoKTsgfQpAQCAtMTE5OCw2ICsxMjAxLDkgQEAgcHVibGljOgogICAgIHZvaWQgc2V0UmVn
aW9uVGhyZWFkKGNvbnN0IEF0b21pY1N0cmluZyYgcmVnaW9uVGhyZWFkKSB7IFNFVF9WQVIocmFy
ZU5vbkluaGVyaXRlZERhdGEsIG1fcmVnaW9uVGhyZWFkLCByZWdpb25UaHJlYWQpOyB9CiAgICAg
dm9pZCBzZXRSZWdpb25PdmVyZmxvdyhSZWdpb25PdmVyZmxvdyByZWdpb25PdmVyZmxvdykgeyBT
RVRfVkFSKHJhcmVOb25Jbmhlcml0ZWREYXRhLCBtX3JlZ2lvbk92ZXJmbG93LCByZWdpb25PdmVy
Zmxvdyk7IH0KIAorICAgIHZvaWQgc2V0V3JhcEZsb3coV3JhcEZsb3cgd3JhcEZsb3cpIHsgU0VU
X1ZBUihyYXJlTm9uSW5oZXJpdGVkRGF0YSwgbV93cmFwRmxvdywgd3JhcEZsb3cpOyB9CisgICAg
dm9pZCBzZXRXcmFwVGhyb3VnaChXcmFwVGhyb3VnaCB3cmFwVGhyb3VnaCkgeyBTRVRfVkFSKHJh
cmVOb25Jbmhlcml0ZWREYXRhLCBtX3dyYXBUaHJvdWdoLCB3cmFwVGhyb3VnaCk7IH0KKwogICAg
IC8vIEFwcGxlLXNwZWNpZmljIHByb3BlcnR5IHNldHRlcnMKICAgICB2b2lkIHNldFBvaW50ZXJF
dmVudHMoRVBvaW50ZXJFdmVudHMgcCkgeyBpbmhlcml0ZWRfZmxhZ3MuX3BvaW50ZXJFdmVudHMg
PSBwOyB9CiAKQEAgLTE0ODUsNiArMTQ5MSw5IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgY29uc3Qg
QXRvbWljU3RyaW5nJiBpbml0aWFsUmVnaW9uVGhyZWFkKCkgeyByZXR1cm4gbnVsbEF0b207IH0K
ICAgICBzdGF0aWMgUmVnaW9uT3ZlcmZsb3cgaW5pdGlhbFJlZ2lvbk92ZXJmbG93KCkgeyByZXR1
cm4gQXV0b1JlZ2lvbk92ZXJmbG93OyB9CiAKKyAgICBzdGF0aWMgV3JhcEZsb3cgaW5pdGlhbFdy
YXBGbG93KCkgeyByZXR1cm4gV3JhcEZsb3dBdXRvOyB9CisgICAgc3RhdGljIFdyYXBUaHJvdWdo
IGluaXRpYWxXcmFwVGhyb3VnaCgpIHsgcmV0dXJuIFdyYXBUaHJvdWdoV3JhcDsgfQorCiAgICAg
Ly8gS2VlcCB0aGVzZSBhdCB0aGUgZW5kLgogICAgIHN0YXRpYyBMaW5lQ2xhbXBWYWx1ZSBpbml0
aWFsTGluZUNsYW1wKCkgeyByZXR1cm4gTGluZUNsYW1wVmFsdWUoKTsgfQogICAgIHN0YXRpYyBi
b29sIGluaXRpYWxUZXh0U2l6ZUFkanVzdCgpIHsgcmV0dXJuIHRydWU7IH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5oIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlQ29uc3RhbnRzLmgKaW5k
ZXggNDBhMTg0My4uNjU1MDcyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3N0eWxlL1JlbmRlclN0eWxlQ29uc3RhbnRzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL3N0eWxlL1JlbmRlclN0eWxlQ29uc3RhbnRzLmgKQEAgLTQ1OSw2ICs0NTksMTAgQEAgZW51
bSBDb2x1bW5BeGlzIHsgSG9yaXpvbnRhbENvbHVtbkF4aXMsIFZlcnRpY2FsQ29sdW1uQXhpcywg
QXV0b0NvbHVtbkF4aXMgfTsKIAogZW51bSBMaW5lR3JpZFNuYXAgeyBMaW5lR3JpZFNuYXBOb25l
LCBMaW5lR3JpZFNuYXBCYXNlbGluZSwgTGluZUdyaWRTbmFwQm91bmRzIH07CiAKK2VudW0gV3Jh
cEZsb3cgeyBXcmFwRmxvd0F1dG8sIFdyYXBGbG93Qm90aCwgV3JhcEZsb3dMZWZ0LCBXcmFwRmxv
d1JpZ2h0LCBXcmFwRmxvd01heGltdW0sIFdyYXBGbG93Q2xlYXIgfTsKKworZW51bSBXcmFwVGhy
b3VnaCB7IFdyYXBUaHJvdWdoV3JhcCwgV3JhcFRocm91Z2hOb25lIH07CisKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIFJlbmRlclN0eWxlQ29uc3RhbnRzX2gKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVOb25Jbmhlcml0ZWRE
YXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVOb25Jbmhl
cml0ZWREYXRhLmNwcAppbmRleCBjYTMxNzU2Li41NjQ2OTQxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZU5vbkluaGVyaXRlZERh
dGEuY3BwCkBAIC02Miw2ICs2Miw4IEBAIFN0eWxlUmFyZU5vbkluaGVyaXRlZERhdGE6OlN0eWxl
UmFyZU5vbkluaGVyaXRlZERhdGEoKQogICAgICwgbV9hcHBlYXJhbmNlKFJlbmRlclN0eWxlOjpp
bml0aWFsQXBwZWFyYW5jZSgpKQogICAgICwgbV9ib3JkZXJGaXQoUmVuZGVyU3R5bGU6OmluaXRp
YWxCb3JkZXJGaXQoKSkKICAgICAsIG1fdGV4dENvbWJpbmUoUmVuZGVyU3R5bGU6OmluaXRpYWxU
ZXh0Q29tYmluZSgpKQorICAgICwgbV93cmFwRmxvdyhSZW5kZXJTdHlsZTo6aW5pdGlhbFdyYXBG
bG93KCkpCisgICAgLCBtX3dyYXBUaHJvdWdoKFJlbmRlclN0eWxlOjppbml0aWFsV3JhcFRocm91
Z2goKSkKICNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCiAgICAgLCBtX3J1bm5pbmdB
Y2NlbGVyYXRlZEFuaW1hdGlvbihmYWxzZSkKICNlbmRpZgpAQCAtMTIxLDYgKzEyMyw4IEBAIFN0
eWxlUmFyZU5vbkluaGVyaXRlZERhdGE6OlN0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEoY29uc3Qg
U3R5bGVSYXJlTm9uSW5oZXJpdGVkCiAgICAgLCBtX2FwcGVhcmFuY2Uoby5tX2FwcGVhcmFuY2Up
CiAgICAgLCBtX2JvcmRlckZpdChvLm1fYm9yZGVyRml0KQogICAgICwgbV90ZXh0Q29tYmluZShv
Lm1fdGV4dENvbWJpbmUpCisgICAgLCBtX3dyYXBGbG93KG8ubV93cmFwRmxvdykKKyAgICAsIG1f
d3JhcFRocm91Z2goby5tX3dyYXBUaHJvdWdoKQogI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJ
VElORykKICAgICAsIG1fcnVubmluZ0FjY2VsZXJhdGVkQW5pbWF0aW9uKG8ubV9ydW5uaW5nQWNj
ZWxlcmF0ZWRBbmltYXRpb24pCiAjZW5kaWYKQEAgLTE4MCw2ICsxODQsOCBAQCBib29sIFN0eWxl
UmFyZU5vbkluaGVyaXRlZERhdGE6Om9wZXJhdG9yPT0oY29uc3QgU3R5bGVSYXJlTm9uSW5oZXJp
dGVkRGF0YSYgbykgYwogICAgICAgICAmJiAobV9yZWdpb25UaHJlYWQgPT0gby5tX3JlZ2lvblRo
cmVhZCkKICAgICAgICAgJiYgKG1fcmVnaW9uT3ZlcmZsb3cgPT0gby5tX3JlZ2lvbk92ZXJmbG93
KQogICAgICAgICAmJiAobV93cmFwU2hhcGUgPT0gby5tX3dyYXBTaGFwZSkKKyAgICAgICAgJiYg
KG1fd3JhcEZsb3cgPT0gby5tX3dyYXBGbG93KQorICAgICAgICAmJiAobV93cmFwVGhyb3VnaCA9
PSBvLm1fd3JhcFRocm91Z2gpCiAgICAgICAgICYmIG1fdmlzaXRlZExpbmtCYWNrZ3JvdW5kQ29s
b3IgPT0gby5tX3Zpc2l0ZWRMaW5rQmFja2dyb3VuZENvbG9yCiAgICAgICAgICYmIG1fdmlzaXRl
ZExpbmtPdXRsaW5lQ29sb3IgPT0gby5tX3Zpc2l0ZWRMaW5rT3V0bGluZUNvbG9yCiAgICAgICAg
ICYmIG1fdmlzaXRlZExpbmtCb3JkZXJMZWZ0Q29sb3IgPT0gby5tX3Zpc2l0ZWRMaW5rQm9yZGVy
TGVmdENvbG9yCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5
bGVSYXJlTm9uSW5oZXJpdGVkRGF0YS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxl
L1N0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEuaAppbmRleCA5ZTYyZGZmLi44ZWYwYjE2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJp
dGVkRGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVO
b25Jbmhlcml0ZWREYXRhLmgKQEAgLTE1OCw2ICsxNTgsOSBAQCBwdWJsaWM6CiAgICAgdW5zaWdu
ZWQgbV9ib3JkZXJGaXQgOiAxOyAvLyBFQm9yZGVyRml0CiAgICAgdW5zaWduZWQgbV90ZXh0Q29t
YmluZSA6IDE7IC8vIENTUzMgdGV4dC1jb21iaW5lIHByb3BlcnRpZXMKIAorICAgIHVuc2lnbmVk
IG1fd3JhcEZsb3c6IDM7IC8vIFdyYXBGbG93CisgICAgdW5zaWduZWQgbV93cmFwVGhyb3VnaDog
MTsgLy8gV3JhcFRocm91Z2gKKwogI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKICAg
ICBib29sIG1fcnVubmluZ0FjY2VsZXJhdGVkQW5pbWF0aW9uIDogMTsKICNlbmRpZgo=
</data>
<flag name="commit-queue"
          id="113731"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>115120</attachid>
            <date>2011-11-15 01:28:52 -0800</date>
            <delta_ts>2011-11-17 00:08:49 -0800</delta_ts>
            <desc>Patch 3</desc>
            <filename>71904-3.patch</filename>
            <type>text/plain</type>
            <size>30534</size>
            <attacher name="Mihnea Ovidenie">mihnea</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA2NDk1NWIxLi41ZDFhMzdlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTEtMTEt
MTUgIE1paG5lYSBPdmlkZW5pZSAgPG1paG5lYUBhZG9iZS5jb20+CisKKyAgICAgICAgQ1NTIGV4
Y2x1c2lvbnM6IHBhcnNlIHRoZSB3cmFwLWZsb3cgYW5kIHdyYXAtdGhyb3VnaCBwcm9wZXJ0aWVz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTkwNAor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC9j
c3MvZ2V0Q29tcHV0ZWRTdHlsZS9jb21wdXRlZC1zdHlsZS1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogZmFzdC9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS9jb21wdXRlZC1zdHlsZS13aXRob3V0LXJlbmRl
cmVyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2V4Y2x1c2lvbnMvc2NyaXB0LXRlc3Rz
L3dyYXAtZmxvdy1wYXJzaW5nLmpzOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2V4Y2x1c2lvbnMv
c2NyaXB0LXRlc3RzL3dyYXAtdGhyb3VnaC1wYXJzaW5nLmpzOiBBZGRlZC4KKyAgICAgICAgKiBm
YXN0L2V4Y2x1c2lvbnMvd3JhcC1mbG93LXBhcnNpbmctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBmYXN0L2V4Y2x1c2lvbnMvd3JhcC1mbG93LXBhcnNpbmcuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZmFzdC9leGNsdXNpb25zL3dyYXAtdGhyb3VnaC1wYXJzaW5nLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZmFzdC9leGNsdXNpb25zL3dyYXAtdGhyb3VnaC1wYXJzaW5n
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtLXdpbi9mYXN0L2Nzcy9n
ZXRDb21wdXRlZFN0eWxlL2NvbXB1dGVkLXN0eWxlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9jaHJvbWl1bS13aW4vZmFzdC9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS9jb21wdXRlZC1z
dHlsZS13aXRob3V0LXJlbmRlcmVyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9j
aHJvbWl1bS13aW4vc3ZnL2Nzcy9nZXRDb21wdXRlZFN0eWxlLWJhc2ljLWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgKiBzdmcvY3NzL2dldENvbXB1dGVkU3R5bGUtYmFzaWMtZXhwZWN0ZWQudHh0Ogor
CiAyMDExLTExLTE1ICBLZW50IFRhbXVyYSAgPHRrZW50QGNocm9taXVtLm9yZz4KIAogICAgICAg
ICBbVjhdIEZpeCBpbmNvcnJlY3QgaGFuZGxpbmcgb2YgSmF2YVNjcmlwdCBwcm9wZXJ0aWVzIGlu
IERPTVN0cmluZ01hcApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MvZ2V0Q29tcHV0
ZWRTdHlsZS9jb21wdXRlZC1zdHlsZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Nz
cy9nZXRDb21wdXRlZFN0eWxlL2NvbXB1dGVkLXN0eWxlLWV4cGVjdGVkLnR4dAppbmRleCA0NGNk
ZjVhLi5lMzhjODE1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9nZXRDb21wdXRl
ZFN0eWxlL2NvbXB1dGVkLXN0eWxlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L2Nzcy9nZXRDb21wdXRlZFN0eWxlL2NvbXB1dGVkLXN0eWxlLWV4cGVjdGVkLnR4dApAQCAtMjEx
LDYgKzIxMSw4IEBAIHpvb206IDE7CiAtd2Via2l0LXJlZ2lvbi1icmVhay1hZnRlcjogYXV0bzsK
IC13ZWJraXQtcmVnaW9uLWJyZWFrLWJlZm9yZTogYXV0bzsKIC13ZWJraXQtcmVnaW9uLWJyZWFr
LWluc2lkZTogYXV0bzsKKy13ZWJraXQtd3JhcC1mbG93OiBhdXRvOworLXdlYmtpdC13cmFwLXRo
cm91Z2g6IHdyYXA7CiBjbGlwLXBhdGg6IG5vbmU7CiBjbGlwLXJ1bGU6IG5vbnplcm87CiBtYXNr
OiBub25lOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MvZ2V0Q29tcHV0ZWRTdHls
ZS9jb21wdXRlZC1zdHlsZS13aXRob3V0LXJlbmRlcmVyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2Zhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUvY29tcHV0ZWQtc3R5bGUtd2l0aG91dC1yZW5k
ZXJlci1leHBlY3RlZC50eHQKaW5kZXggYjdhODk2Yy4uZTMyNTU3OSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvZmFzdC9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS9jb21wdXRlZC1zdHlsZS13aXRob3V0
LXJlbmRlcmVyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9nZXRDb21w
dXRlZFN0eWxlL2NvbXB1dGVkLXN0eWxlLXdpdGhvdXQtcmVuZGVyZXItZXhwZWN0ZWQudHh0CkBA
IC0yMTAsNiArMjEwLDggQEAgQ29tcHV0ZWQgc3R5bGUgb2YgYW4gZWxlbWVudCB3aG9zZSBwYXJl
bnQncyAnZGlzcGxheScgdmFsdWUgaXMgJ25vbmUnOgogICAgIC13ZWJraXQtcmVnaW9uLWJyZWFr
LWFmdGVyOiBhdXRvCiAgICAgLXdlYmtpdC1yZWdpb24tYnJlYWstYmVmb3JlOiBhdXRvCiAgICAg
LXdlYmtpdC1yZWdpb24tYnJlYWstaW5zaWRlOiBhdXRvCisgICAgLXdlYmtpdC13cmFwLWZsb3c6
IGF1dG8KKyAgICAtd2Via2l0LXdyYXAtdGhyb3VnaDogd3JhcAogICAgIGNsaXAtcGF0aDogbm9u
ZQogICAgIGNsaXAtcnVsZTogbm9uemVybwogICAgIG1hc2s6IG5vbmUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvZXhjbHVzaW9ucy9zY3JpcHQtdGVzdHMvd3JhcC1mbG93LXBhcnNpbmcu
anMgYi9MYXlvdXRUZXN0cy9mYXN0L2V4Y2x1c2lvbnMvc2NyaXB0LXRlc3RzL3dyYXAtZmxvdy1w
YXJzaW5nLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIwMzE5MDgKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V4Y2x1c2lvbnMvc2NyaXB0LXRlc3Rz
L3dyYXAtZmxvdy1wYXJzaW5nLmpzCkBAIC0wLDAgKzEsNTMgQEAKK2Rlc2NyaXB0aW9uKCdUZXN0
IHBhcnNpbmcgb2YgdGhlIENTUyB3cmFwLWZsb3cgcHJvcGVydHkuJyk7CisKK2Z1bmN0aW9uIHRl
c3QoZGVjbGFyYXRpb24pIHsKKyAgICB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
ZGl2Iik7CisgICAgZGl2LnNldEF0dHJpYnV0ZSgic3R5bGUiLCBkZWNsYXJhdGlvbik7CisgICAg
cmV0dXJuIGRpdi5zdHlsZS53ZWJraXRXcmFwRmxvdzsKK30KKworZnVuY3Rpb24gdGVzdENvbXB1
dGVkU3R5bGUodmFsdWUpIHsKKyAgICB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
ZGl2Iik7CisgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkaXYpOworICAgIGRpdi5zdHls
ZS5zZXRQcm9wZXJ0eSgiLXdlYmtpdC13cmFwLWZsb3ciLCB2YWx1ZSk7CisgICAgdmFyIHdlYmtp
dFdyYXBGbG93Q29tcHV0ZWRWYWx1ZSA9IGdldENvbXB1dGVkU3R5bGUoZGl2KS5nZXRQcm9wZXJ0
eVZhbHVlKCItd2Via2l0LXdyYXAtZmxvdyIpOworICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hp
bGQoZGl2KTsKKyAgICByZXR1cm4gd2Via2l0V3JhcEZsb3dDb21wdXRlZFZhbHVlOworfQorCitm
dW5jdGlvbiB0ZXN0Tm90SW5oZXJpdGVkKHBhcmVudFZhbHVlLCBjaGlsZFZhbHVlKSB7CisgICAg
dmFyIHBhcmVudERpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOworICAgIGRvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQocGFyZW50RGl2KTsKKyAgICBwYXJlbnREaXYuc3R5bGUuc2V0
UHJvcGVydHkoIi13ZWJraXQtd3JhcC1mbG93IiwgcGFyZW50VmFsdWUpOworCisgICAgdmFyIGNo
aWxkRGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CisgICAgcGFyZW50RGl2LmFw
cGVuZENoaWxkKGNoaWxkRGl2KTsKKyAgICBjaGlsZERpdi5zdHlsZS5zZXRQcm9wZXJ0eSgiLXdl
YmtpdC13cmFwLWZsb3ciLCBjaGlsZFZhbHVlKTsKKworICAgIHZhciBjaGlsZFdlYktpdFdyYXBG
bG93Q29tcHV0ZWRWYWx1ZSA9IGdldENvbXB1dGVkU3R5bGUoY2hpbGREaXYpLmdldFByb3BlcnR5
VmFsdWUoIi13ZWJraXQtd3JhcC1mbG93Iik7CisKKyAgICBwYXJlbnREaXYucmVtb3ZlQ2hpbGQo
Y2hpbGREaXYpOworICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQocGFyZW50RGl2KTsKKwor
ICAgIHJldHVybiBjaGlsZFdlYktpdFdyYXBGbG93Q29tcHV0ZWRWYWx1ZTsKK30KKworc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCd0ZXN0KCItd2Via2l0LXdyYXAtZmxvdzogYXV0byIpJywgImF1dG8i
KTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygndGVzdCgiLXdlYmtpdC13cmFwLWZsb3c6IGJvdGgi
KScsICJib3RoIik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3QoIi13ZWJraXQtd3JhcC1m
bG93OiBsZWZ0IiknLCAibGVmdCIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0KCItd2Vi
a2l0LXdyYXAtZmxvdzogcmlnaHQiKScsICJyaWdodCIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCd0ZXN0KCItd2Via2l0LXdyYXAtZmxvdzogbWF4aW11bSIpJywgIm1heGltdW0iKTsKK3Nob3Vs
ZEJlRXF1YWxUb1N0cmluZygndGVzdCgiLXdlYmtpdC13cmFwLWZsb3c6IGNsZWFyIiknLCAiY2xl
YXIiKTsKKworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0KCItd2Via2l0LXdyYXAtZmxvdzog
OyIpJywgIiIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0KCItd2Via2l0LXdyYXAtZmxv
dzogNSIpJywgIiIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0KCItd2Via2l0LXdyYXAt
ZmxvdzogLTEuMiIpJywgIiIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0KCItd2Via2l0
LXdyYXAtZmxvdzogXCdzdHJpbmdcJyIpJywgIiIpOworCitzaG91bGRCZUVxdWFsVG9TdHJpbmco
J3Rlc3RDb21wdXRlZFN0eWxlKCJhdXRvIiknLCAiYXV0byIpOworc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCd0ZXN0Q29tcHV0ZWRTdHlsZSgiNSIpJywgImF1dG8iKTsKK3Nob3VsZEJlRXF1YWxUb1N0
cmluZygndGVzdENvbXB1dGVkU3R5bGUoIlwnc3RyaW5nXCciKScsICJhdXRvIik7CisKK3Nob3Vs
ZEJlRXF1YWxUb1N0cmluZygndGVzdE5vdEluaGVyaXRlZCgiYXV0byIsICJsZWZ0IiknLCAibGVm
dCIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0Tm90SW5oZXJpdGVkKCJyaWdodCIsICJh
dXRvIiknLCAiYXV0byIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0Tm90SW5oZXJpdGVk
KCJib3RoIiwgImNsZWFyIiknLCAiY2xlYXIiKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvZXhjbHVzaW9ucy9zY3JpcHQtdGVzdHMvd3JhcC10aHJvdWdoLXBhcnNpbmcuanMgYi9MYXlv
dXRUZXN0cy9mYXN0L2V4Y2x1c2lvbnMvc2NyaXB0LXRlc3RzL3dyYXAtdGhyb3VnaC1wYXJzaW5n
LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAzYmE0MjMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V4Y2x1c2lvbnMvc2NyaXB0LXRlc3RzL3dyYXAt
dGhyb3VnaC1wYXJzaW5nLmpzCkBAIC0wLDAgKzEsNDggQEAKK2Rlc2NyaXB0aW9uKCdUZXN0IHBh
cnNpbmcgb2YgdGhlIENTUyB3cmFwLXRocm91Z2ggcHJvcGVydHkuJyk7CisKK2Z1bmN0aW9uIHRl
c3QoZGVjbGFyYXRpb24pIHsKKyAgICB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
ZGl2Iik7CisgICAgZGl2LnNldEF0dHJpYnV0ZSgic3R5bGUiLCBkZWNsYXJhdGlvbik7CisgICAg
cmV0dXJuIGRpdi5zdHlsZS53ZWJraXRXcmFwVGhyb3VnaDsKK30KKworZnVuY3Rpb24gdGVzdENv
bXB1dGVkU3R5bGUodmFsdWUpIHsKKyAgICB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgiZGl2Iik7CisgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkaXYpOworICAgIGRpdi5z
dHlsZS5zZXRQcm9wZXJ0eSgiLXdlYmtpdC13cmFwLXRocm91Z2giLCB2YWx1ZSk7CisgICAgdmFy
IHdlYmtpdFdyYXBUaHJvdWdoQ29tcHV0ZWRWYWx1ZSA9IGdldENvbXB1dGVkU3R5bGUoZGl2KS5n
ZXRQcm9wZXJ0eVZhbHVlKCItd2Via2l0LXdyYXAtdGhyb3VnaCIpOworICAgIGRvY3VtZW50LmJv
ZHkucmVtb3ZlQ2hpbGQoZGl2KTsKKyAgICByZXR1cm4gd2Via2l0V3JhcFRocm91Z2hDb21wdXRl
ZFZhbHVlOworfQorCitmdW5jdGlvbiB0ZXN0Tm90SW5oZXJpdGVkKHBhcmVudFZhbHVlLCBjaGls
ZFZhbHVlKSB7CisgICAgdmFyIHBhcmVudERpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRp
diIpOworICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocGFyZW50RGl2KTsKKyAgICBwYXJl
bnREaXYuc3R5bGUuc2V0UHJvcGVydHkoIi13ZWJraXQtd3JhcC10aHJvdWdoIiwgcGFyZW50VmFs
dWUpOworCisgICAgdmFyIGNoaWxkRGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7
CisgICAgcGFyZW50RGl2LmFwcGVuZENoaWxkKGNoaWxkRGl2KTsKKyAgICBjaGlsZERpdi5zdHls
ZS5zZXRQcm9wZXJ0eSgiLXdlYmtpdC13cmFwLXRocm91Z2giLCBjaGlsZFZhbHVlKTsKKworICAg
IHZhciBjaGlsZFdlYktpdFdyYXBUaHJvdWdoQ29tcHV0ZWRWYWx1ZSA9IGdldENvbXB1dGVkU3R5
bGUoY2hpbGREaXYpLmdldFByb3BlcnR5VmFsdWUoIi13ZWJraXQtd3JhcC10aHJvdWdoIik7CisK
KyAgICBwYXJlbnREaXYucmVtb3ZlQ2hpbGQoY2hpbGREaXYpOworICAgIGRvY3VtZW50LmJvZHku
cmVtb3ZlQ2hpbGQocGFyZW50RGl2KTsKKworICAgIHJldHVybiBjaGlsZFdlYktpdFdyYXBUaHJv
dWdoQ29tcHV0ZWRWYWx1ZTsKK30KKworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0KCItd2Vi
a2l0LXdyYXAtdGhyb3VnaDogd3JhcCIpJywgIndyYXAiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmlu
ZygndGVzdCgiLXdlYmtpdC13cmFwLXRocm91Z2g6IG5vbmUiKScsICJub25lIik7CisKK3Nob3Vs
ZEJlRXF1YWxUb1N0cmluZygndGVzdCgiLXdlYmtpdC13cmFwLXRocm91Z2g6IDsiKScsICIiKTsK
K3Nob3VsZEJlRXF1YWxUb1N0cmluZygndGVzdCgiLXdlYmtpdC13cmFwLXRocm91Z2g6IDUiKScs
ICIiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygndGVzdCgiLXdlYmtpdC13cmFwLXRocm91Z2g6
IC0xLjIiKScsICIiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygndGVzdCgiLXdlYmtpdC13cmFw
LXRocm91Z2g6IFwnc3RyaW5nXCciKScsICIiKTsKKworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0
ZXN0Q29tcHV0ZWRTdHlsZSgid3JhcCIpJywgIndyYXAiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmlu
ZygndGVzdENvbXB1dGVkU3R5bGUoIjUiKScsICJ3cmFwIik7CitzaG91bGRCZUVxdWFsVG9TdHJp
bmcoJ3Rlc3RDb21wdXRlZFN0eWxlKCJcJ3N0cmluZ1wnIiknLCAid3JhcCIpOworCitzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoJ3Rlc3ROb3RJbmhlcml0ZWQoIndyYXAiLCAibm9uZSIpJywgIm5vbmUi
KTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygndGVzdE5vdEluaGVyaXRlZCgibm9uZSIsICJ3cmFw
IiknLCAid3JhcCIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9leGNsdXNpb25zL3dy
YXAtZmxvdy1wYXJzaW5nLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZXhjbHVzaW9u
cy93cmFwLWZsb3ctcGFyc2luZy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMC4uOTM2MzBiOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
ZXhjbHVzaW9ucy93cmFwLWZsb3ctcGFyc2luZy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyNSBA
QAorVGVzdCBwYXJzaW5nIG9mIHRoZSBDU1Mgd3JhcC1mbG93IHByb3BlcnR5LgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyB0ZXN0KCItd2Via2l0LXdyYXAtZmxvdzogYXV0
byIpIGlzICJhdXRvIgorUEFTUyB0ZXN0KCItd2Via2l0LXdyYXAtZmxvdzogYm90aCIpIGlzICJi
b3RoIgorUEFTUyB0ZXN0KCItd2Via2l0LXdyYXAtZmxvdzogbGVmdCIpIGlzICJsZWZ0IgorUEFT
UyB0ZXN0KCItd2Via2l0LXdyYXAtZmxvdzogcmlnaHQiKSBpcyAicmlnaHQiCitQQVNTIHRlc3Qo
Ii13ZWJraXQtd3JhcC1mbG93OiBtYXhpbXVtIikgaXMgIm1heGltdW0iCitQQVNTIHRlc3QoIi13
ZWJraXQtd3JhcC1mbG93OiBjbGVhciIpIGlzICJjbGVhciIKK1BBU1MgdGVzdCgiLXdlYmtpdC13
cmFwLWZsb3c6IDsiKSBpcyAiIgorUEFTUyB0ZXN0KCItd2Via2l0LXdyYXAtZmxvdzogNSIpIGlz
ICIiCitQQVNTIHRlc3QoIi13ZWJraXQtd3JhcC1mbG93OiAtMS4yIikgaXMgIiIKK1BBU1MgdGVz
dCgiLXdlYmtpdC13cmFwLWZsb3c6ICdzdHJpbmcnIikgaXMgIiIKK1BBU1MgdGVzdENvbXB1dGVk
U3R5bGUoImF1dG8iKSBpcyAiYXV0byIKK1BBU1MgdGVzdENvbXB1dGVkU3R5bGUoIjUiKSBpcyAi
YXV0byIKK1BBU1MgdGVzdENvbXB1dGVkU3R5bGUoIidzdHJpbmcnIikgaXMgImF1dG8iCitQQVNT
IHRlc3ROb3RJbmhlcml0ZWQoImF1dG8iLCAibGVmdCIpIGlzICJsZWZ0IgorUEFTUyB0ZXN0Tm90
SW5oZXJpdGVkKCJyaWdodCIsICJhdXRvIikgaXMgImF1dG8iCitQQVNTIHRlc3ROb3RJbmhlcml0
ZWQoImJvdGgiLCAiY2xlYXIiKSBpcyAiY2xlYXIiCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9l
eGNsdXNpb25zL3dyYXAtZmxvdy1wYXJzaW5nLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2V4Y2x1
c2lvbnMvd3JhcC1mbG93LXBhcnNpbmcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwLi42ZGEzNWRmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9leGNs
dXNpb25zL3dyYXAtZmxvdy1wYXJzaW5nLmh0bWwKQEAgLTAsMCArMSwxMCBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvd3JhcC1mbG93
LXBhcnNpbmcuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V4Y2x1c2lvbnMvd3JhcC10aHJvdWdoLXBhcnNpbmctZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9leGNsdXNpb25zL3dyYXAtdGhyb3VnaC1wYXJz
aW5nLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yODMx
YzlkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9leGNsdXNpb25zL3dyYXAt
dGhyb3VnaC1wYXJzaW5nLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDIwIEBACitUZXN0IHBhcnNp
bmcgb2YgdGhlIENTUyB3cmFwLXRocm91Z2ggcHJvcGVydHkuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworCitQQVNTIHRlc3QoIi13ZWJraXQtd3JhcC10aHJvdWdoOiB3cmFwIikgaXMg
IndyYXAiCitQQVNTIHRlc3QoIi13ZWJraXQtd3JhcC10aHJvdWdoOiBub25lIikgaXMgIm5vbmUi
CitQQVNTIHRlc3QoIi13ZWJraXQtd3JhcC10aHJvdWdoOiA7IikgaXMgIiIKK1BBU1MgdGVzdCgi
LXdlYmtpdC13cmFwLXRocm91Z2g6IDUiKSBpcyAiIgorUEFTUyB0ZXN0KCItd2Via2l0LXdyYXAt
dGhyb3VnaDogLTEuMiIpIGlzICIiCitQQVNTIHRlc3QoIi13ZWJraXQtd3JhcC10aHJvdWdoOiAn
c3RyaW5nJyIpIGlzICIiCitQQVNTIHRlc3RDb21wdXRlZFN0eWxlKCJ3cmFwIikgaXMgIndyYXAi
CitQQVNTIHRlc3RDb21wdXRlZFN0eWxlKCI1IikgaXMgIndyYXAiCitQQVNTIHRlc3RDb21wdXRl
ZFN0eWxlKCInc3RyaW5nJyIpIGlzICJ3cmFwIgorUEFTUyB0ZXN0Tm90SW5oZXJpdGVkKCJ3cmFw
IiwgIm5vbmUiKSBpcyAibm9uZSIKK1BBU1MgdGVzdE5vdEluaGVyaXRlZCgibm9uZSIsICJ3cmFw
IikgaXMgIndyYXAiCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9leGNsdXNpb25zL3dyYXAtdGhy
b3VnaC1wYXJzaW5nLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2V4Y2x1c2lvbnMvd3JhcC10aHJv
dWdoLXBhcnNpbmcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMDQ1
NTkwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9leGNsdXNpb25zL3dyYXAt
dGhyb3VnaC1wYXJzaW5nLmh0bWwKQEAgLTAsMCArMSwxMCBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvd3JhcC10aHJvdWdoLXBhcnNp
bmcuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS13aW4vZmFzdC9jc3MvZ2V0Q29tcHV0ZWRTdHls
ZS9jb21wdXRlZC1zdHlsZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJv
bWl1bS13aW4vZmFzdC9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS9jb21wdXRlZC1zdHlsZS1leHBlY3Rl
ZC50eHQKaW5kZXggOTY0Nzc1ZC4uMDM4NDMzMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vY2hyb21pdW0td2luL2Zhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUvY29tcHV0ZWQtc3R5
bGUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLXdpbi9m
YXN0L2Nzcy9nZXRDb21wdXRlZFN0eWxlL2NvbXB1dGVkLXN0eWxlLWV4cGVjdGVkLnR4dApAQCAt
MjExLDYgKzIxMSw4IEBAIHpvb206IDE7CiAtd2Via2l0LXJlZ2lvbi1icmVhay1hZnRlcjogYXV0
bzsKIC13ZWJraXQtcmVnaW9uLWJyZWFrLWJlZm9yZTogYXV0bzsKIC13ZWJraXQtcmVnaW9uLWJy
ZWFrLWluc2lkZTogYXV0bzsKKy13ZWJraXQtd3JhcC1mbG93OiBhdXRvOworLXdlYmtpdC13cmFw
LXRocm91Z2g6IHdyYXA7CiBjbGlwLXBhdGg6IG5vbmU7CiBjbGlwLXJ1bGU6IG5vbnplcm87CiBt
YXNrOiBub25lOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0td2lu
L2Zhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUvY29tcHV0ZWQtc3R5bGUtd2l0aG91dC1yZW5kZXJl
ci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS13aW4vZmFzdC9j
c3MvZ2V0Q29tcHV0ZWRTdHlsZS9jb21wdXRlZC1zdHlsZS13aXRob3V0LXJlbmRlcmVyLWV4cGVj
dGVkLnR4dAppbmRleCA3Y2IwOGM4Li4yYjQyMjgyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9jaHJvbWl1bS13aW4vZmFzdC9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS9jb21wdXRlZC1z
dHlsZS13aXRob3V0LXJlbmRlcmVyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9jaHJvbWl1bS13aW4vZmFzdC9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS9jb21wdXRlZC1zdHls
ZS13aXRob3V0LXJlbmRlcmVyLWV4cGVjdGVkLnR4dApAQCAtMjEwLDYgKzIxMCw4IEBAIENvbXB1
dGVkIHN0eWxlIG9mIGFuIGVsZW1lbnQgd2hvc2UgcGFyZW50J3MgJ2Rpc3BsYXknIHZhbHVlIGlz
ICdub25lJzoKICAgICAtd2Via2l0LXJlZ2lvbi1icmVhay1hZnRlcjogYXV0bwogICAgIC13ZWJr
aXQtcmVnaW9uLWJyZWFrLWJlZm9yZTogYXV0bwogICAgIC13ZWJraXQtcmVnaW9uLWJyZWFrLWlu
c2lkZTogYXV0bworICAgIC13ZWJraXQtd3JhcC1mbG93OiBhdXRvCisgICAgLXdlYmtpdC13cmFw
LXRocm91Z2g6IHdyYXAKICAgICBjbGlwLXBhdGg6IG5vbmUKICAgICBjbGlwLXJ1bGU6IG5vbnpl
cm8KICAgICBtYXNrOiBub25lCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJv
bWl1bS13aW4vc3ZnL2Nzcy9nZXRDb21wdXRlZFN0eWxlLWJhc2ljLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLXdpbi9zdmcvY3NzL2dldENvbXB1dGVkU3R5bGUt
YmFzaWMtZXhwZWN0ZWQudHh0CmluZGV4IGM5NjQ2ZWQuLjRmYjljNWYgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLXdpbi9zdmcvY3NzL2dldENvbXB1dGVkU3R5bGUt
YmFzaWMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLXdp
bi9zdmcvY3NzL2dldENvbXB1dGVkU3R5bGUtYmFzaWMtZXhwZWN0ZWQudHh0CkBAIC00MjAsNiAr
NDIwLDEwIEBAIHJlY3Q6IHN0eWxlLmdldFByb3BlcnR5VmFsdWUoLXdlYmtpdC1yZWdpb24tYnJl
YWstYmVmb3JlKSA6IGF1dG8KIHJlY3Q6IHN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoLXdlYmtp
dC1yZWdpb24tYnJlYWstYmVmb3JlKSA6IFtvYmplY3QgQ1NTUHJpbWl0aXZlVmFsdWVdCiByZWN0
OiBzdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKC13ZWJraXQtcmVnaW9uLWJyZWFrLWluc2lkZSkgOiBh
dXRvCiByZWN0OiBzdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKC13ZWJraXQtcmVnaW9uLWJyZWFr
LWluc2lkZSkgOiBbb2JqZWN0IENTU1ByaW1pdGl2ZVZhbHVlXQorcmVjdDogc3R5bGUuZ2V0UHJv
cGVydHlWYWx1ZSgtd2Via2l0LXdyYXAtZmxvdykgOiBhdXRvCityZWN0OiBzdHlsZS5nZXRQcm9w
ZXJ0eUNTU1ZhbHVlKC13ZWJraXQtd3JhcC1mbG93KSA6IFtvYmplY3QgQ1NTUHJpbWl0aXZlVmFs
dWVdCityZWN0OiBzdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKC13ZWJraXQtd3JhcC10aHJvdWdoKSA6
IHdyYXAKK3JlY3Q6IHN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoLXdlYmtpdC13cmFwLXRocm91
Z2gpIDogW29iamVjdCBDU1NQcmltaXRpdmVWYWx1ZV0KIHJlY3Q6IHN0eWxlLmdldFByb3BlcnR5
VmFsdWUoY2xpcC1wYXRoKSA6IG5vbmUKIHJlY3Q6IHN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUo
Y2xpcC1wYXRoKSA6IFtvYmplY3QgQ1NTUHJpbWl0aXZlVmFsdWVdCiByZWN0OiBzdHlsZS5nZXRQ
cm9wZXJ0eVZhbHVlKGNsaXAtcnVsZSkgOiBub256ZXJvCkBAIC05MTYsNiArOTIwLDEwIEBAIGc6
IHN0eWxlLmdldFByb3BlcnR5VmFsdWUoLXdlYmtpdC1yZWdpb24tYnJlYWstYmVmb3JlKSA6IGF1
dG8KIGc6IHN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoLXdlYmtpdC1yZWdpb24tYnJlYWstYmVm
b3JlKSA6IFtvYmplY3QgQ1NTUHJpbWl0aXZlVmFsdWVdCiBnOiBzdHlsZS5nZXRQcm9wZXJ0eVZh
bHVlKC13ZWJraXQtcmVnaW9uLWJyZWFrLWluc2lkZSkgOiBhdXRvCiBnOiBzdHlsZS5nZXRQcm9w
ZXJ0eUNTU1ZhbHVlKC13ZWJraXQtcmVnaW9uLWJyZWFrLWluc2lkZSkgOiBbb2JqZWN0IENTU1By
aW1pdGl2ZVZhbHVlXQorZzogc3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgtd2Via2l0LXdyYXAtZmxv
dykgOiBhdXRvCitnOiBzdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKC13ZWJraXQtd3JhcC1mbG93
KSA6IFtvYmplY3QgQ1NTUHJpbWl0aXZlVmFsdWVdCitnOiBzdHlsZS5nZXRQcm9wZXJ0eVZhbHVl
KC13ZWJraXQtd3JhcC10aHJvdWdoKSA6IHdyYXAKK2c6IHN0eWxlLmdldFByb3BlcnR5Q1NTVmFs
dWUoLXdlYmtpdC13cmFwLXRocm91Z2gpIDogW29iamVjdCBDU1NQcmltaXRpdmVWYWx1ZV0KIGc6
IHN0eWxlLmdldFByb3BlcnR5VmFsdWUoY2xpcC1wYXRoKSA6IG5vbmUKIGc6IHN0eWxlLmdldFBy
b3BlcnR5Q1NTVmFsdWUoY2xpcC1wYXRoKSA6IFtvYmplY3QgQ1NTUHJpbWl0aXZlVmFsdWVdCiBn
OiBzdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKGNsaXAtcnVsZSkgOiBub256ZXJvCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9zdmcvY3NzL2dldENvbXB1dGVkU3R5bGUtYmFzaWMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvc3ZnL2Nzcy9nZXRDb21wdXRlZFN0eWxlLWJhc2ljLWV4cGVjdGVkLnR4
dAppbmRleCA5MDM4YmMzLi5mMzBlYmQ4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvY3Nz
L2dldENvbXB1dGVkU3R5bGUtYmFzaWMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3N2
Zy9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS1iYXNpYy1leHBlY3RlZC50eHQKQEAgLTQyMCw2ICs0MjAs
MTAgQEAgcmVjdDogc3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgtd2Via2l0LXJlZ2lvbi1icmVhay1i
ZWZvcmUpIDogYXV0bwogcmVjdDogc3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgtd2Via2l0LXJl
Z2lvbi1icmVhay1iZWZvcmUpIDogW29iamVjdCBDU1NQcmltaXRpdmVWYWx1ZV0KIHJlY3Q6IHN0
eWxlLmdldFByb3BlcnR5VmFsdWUoLXdlYmtpdC1yZWdpb24tYnJlYWstaW5zaWRlKSA6IGF1dG8K
IHJlY3Q6IHN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoLXdlYmtpdC1yZWdpb24tYnJlYWstaW5z
aWRlKSA6IFtvYmplY3QgQ1NTUHJpbWl0aXZlVmFsdWVdCityZWN0OiBzdHlsZS5nZXRQcm9wZXJ0
eVZhbHVlKC13ZWJraXQtd3JhcC1mbG93KSA6IGF1dG8KK3JlY3Q6IHN0eWxlLmdldFByb3BlcnR5
Q1NTVmFsdWUoLXdlYmtpdC13cmFwLWZsb3cpIDogW29iamVjdCBDU1NQcmltaXRpdmVWYWx1ZV0K
K3JlY3Q6IHN0eWxlLmdldFByb3BlcnR5VmFsdWUoLXdlYmtpdC13cmFwLXRocm91Z2gpIDogd3Jh
cAorcmVjdDogc3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgtd2Via2l0LXdyYXAtdGhyb3VnaCkg
OiBbb2JqZWN0IENTU1ByaW1pdGl2ZVZhbHVlXQogcmVjdDogc3R5bGUuZ2V0UHJvcGVydHlWYWx1
ZShjbGlwLXBhdGgpIDogbm9uZQogcmVjdDogc3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZShjbGlw
LXBhdGgpIDogW29iamVjdCBDU1NQcmltaXRpdmVWYWx1ZV0KIHJlY3Q6IHN0eWxlLmdldFByb3Bl
cnR5VmFsdWUoY2xpcC1ydWxlKSA6IG5vbnplcm8KQEAgLTkxNiw2ICs5MjAsMTAgQEAgZzogc3R5
bGUuZ2V0UHJvcGVydHlWYWx1ZSgtd2Via2l0LXJlZ2lvbi1icmVhay1iZWZvcmUpIDogYXV0bwog
Zzogc3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgtd2Via2l0LXJlZ2lvbi1icmVhay1iZWZvcmUp
IDogW29iamVjdCBDU1NQcmltaXRpdmVWYWx1ZV0KIGc6IHN0eWxlLmdldFByb3BlcnR5VmFsdWUo
LXdlYmtpdC1yZWdpb24tYnJlYWstaW5zaWRlKSA6IGF1dG8KIGc6IHN0eWxlLmdldFByb3BlcnR5
Q1NTVmFsdWUoLXdlYmtpdC1yZWdpb24tYnJlYWstaW5zaWRlKSA6IFtvYmplY3QgQ1NTUHJpbWl0
aXZlVmFsdWVdCitnOiBzdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKC13ZWJraXQtd3JhcC1mbG93KSA6
IGF1dG8KK2c6IHN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoLXdlYmtpdC13cmFwLWZsb3cpIDog
W29iamVjdCBDU1NQcmltaXRpdmVWYWx1ZV0KK2c6IHN0eWxlLmdldFByb3BlcnR5VmFsdWUoLXdl
YmtpdC13cmFwLXRocm91Z2gpIDogd3JhcAorZzogc3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgt
d2Via2l0LXdyYXAtdGhyb3VnaCkgOiBbb2JqZWN0IENTU1ByaW1pdGl2ZVZhbHVlXQogZzogc3R5
bGUuZ2V0UHJvcGVydHlWYWx1ZShjbGlwLXBhdGgpIDogbm9uZQogZzogc3R5bGUuZ2V0UHJvcGVy
dHlDU1NWYWx1ZShjbGlwLXBhdGgpIDogW29iamVjdCBDU1NQcmltaXRpdmVWYWx1ZV0KIGc6IHN0
eWxlLmdldFByb3BlcnR5VmFsdWUoY2xpcC1ydWxlKSA6IG5vbnplcm8KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA1
OGMzZTJjLi5hMzk2YWJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDIgQEAKKzIwMTEtMTEtMTUg
IE1paG5lYSBPdmlkZW5pZSAgPG1paG5lYUBhZG9iZS5jb20+CisKKyAgICAgICAgQ1NTIGV4Y2x1
c2lvbnM6IHBhcnNlIHRoZSB3cmFwLWZsb3cgYW5kIHdyYXAtdGhyb3VnaCBwcm9wZXJ0aWVzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTkwNAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3RzOiBmYXN0
L2V4Y2x1c2lvbnMvd3JhcC1mbG93LXBhcnNpbmcuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9l
eGNsdXNpb25zL3dyYXAtdGhyb3VnaC1wYXJzaW5nLmh0bWwKKworICAgICAgICAqIGNzcy9DU1ND
b21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ29tcHV0
ZWRTdHlsZURlY2xhcmF0aW9uOjpnZXRQcm9wZXJ0eUNTU1ZhbHVlKToKKyAgICAgICAgKiBjc3Mv
Q1NTUGFyc2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6cGFyc2VWYWx1ZSk6
CisgICAgICAgICogY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaDoKKyAgICAgICAgKFdl
YkNvcmU6OkNTU1ByaW1pdGl2ZVZhbHVlOjpDU1NQcmltaXRpdmVWYWx1ZSk6CisgICAgICAgIChX
ZWJDb3JlOjpDU1NQcmltaXRpdmVWYWx1ZTo6b3BlcmF0b3IgV3JhcEZsb3cpOgorICAgICAgICAo
V2ViQ29yZTo6Q1NTUHJpbWl0aXZlVmFsdWU6Om9wZXJhdG9yIFdyYXBUaHJvdWdoKToKKyAgICAg
ICAgKiBjc3MvQ1NTUHJvcGVydHkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJvcGVydHk6
OmlzSW5oZXJpdGVkUHJvcGVydHkpOgorICAgICAgICAqIGNzcy9DU1NQcm9wZXJ0eU5hbWVzLmlu
OgorICAgICAgICAqIGNzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkNTU1N0eWxlU2VsZWN0b3I6OmFwcGx5UHJvcGVydHkpOgorICAgICAgICAqIGNzcy9DU1NWYWx1
ZUtleXdvcmRzLmluOgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6ZGlmZik6CisgICAgICAgICogcmVuZGVy
aW5nL3N0eWxlL1JlbmRlclN0eWxlLmg6CisgICAgICAgIChXZWJDb3JlOjpJbmhlcml0ZWRGbGFn
czo6d3JhcEZsb3cpOgorICAgICAgICAoV2ViQ29yZTo6SW5oZXJpdGVkRmxhZ3M6OndyYXBUaHJv
dWdoKToKKyAgICAgICAgKFdlYkNvcmU6OkluaGVyaXRlZEZsYWdzOjpzZXRXcmFwRmxvdyk6Cisg
ICAgICAgIChXZWJDb3JlOjpJbmhlcml0ZWRGbGFnczo6c2V0V3JhcFRocm91Z2gpOgorICAgICAg
ICAoV2ViQ29yZTo6SW5oZXJpdGVkRmxhZ3M6OmluaXRpYWxXcmFwRmxvdyk6CisgICAgICAgIChX
ZWJDb3JlOjpJbmhlcml0ZWRGbGFnczo6aW5pdGlhbFdyYXBUaHJvdWdoKToKKyAgICAgICAgKiBy
ZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGVDb25zdGFudHMuaDoKKyAgICAgICAgKiByZW5kZXJp
bmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpTdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhOjpTdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhKToK
KyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUmFyZU5vbkluaGVyaXRlZERhdGE6Om9wZXJhdG9yPT0p
OgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhLmg6
CisKIDIwMTEtMTEtMTUgIEtlbnQgVGFtdXJhICA8dGtlbnRAY2hyb21pdW0ub3JnPgogCiAgICAg
ICAgIFtWOF0gRml4IGluY29ycmVjdCBoYW5kbGluZyBvZiBKYXZhU2NyaXB0IHByb3BlcnRpZXMg
aW4gRE9NU3RyaW5nTWFwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0
ZWRTdHlsZURlY2xhcmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0
eWxlRGVjbGFyYXRpb24uY3BwCmluZGV4IGZkMWZiMzIuLmY1YWIwMDMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCkBAIC0yODEs
NyArMjgxLDkgQEAgc3RhdGljIGNvbnN0IGludCBjb21wdXRlZFByb3BlcnRpZXNbXSA9IHsKICAg
ICBDU1NQcm9wZXJ0eVdlYmtpdFJlZ2lvbk92ZXJmbG93LAogICAgIENTU1Byb3BlcnR5V2Via2l0
UmVnaW9uQnJlYWtBZnRlciwKICAgICBDU1NQcm9wZXJ0eVdlYmtpdFJlZ2lvbkJyZWFrQmVmb3Jl
LAotICAgIENTU1Byb3BlcnR5V2Via2l0UmVnaW9uQnJlYWtJbnNpZGUKKyAgICBDU1NQcm9wZXJ0
eVdlYmtpdFJlZ2lvbkJyZWFrSW5zaWRlLAorICAgIENTU1Byb3BlcnR5V2Via2l0V3JhcEZsb3cs
CisgICAgQ1NTUHJvcGVydHlXZWJraXRXcmFwVGhyb3VnaAogI2lmIEVOQUJMRShTVkcpCiAgICAg
LAogICAgIENTU1Byb3BlcnR5Q2xpcFBhdGgsCkBAIC0yMTM5LDYgKzIxNDEsMTAgQEAgUGFzc1Jl
ZlB0cjxDU1NWYWx1ZT4gQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uOjpnZXRQcm9wZXJ0eUNT
U1ZhbHVlKGludCBwcm9wZXIKIAogICAgICAgICAgICAgcmV0dXJuIHByaW1pdGl2ZVZhbHVlQ2Fj
aGUtPmNyZWF0ZVZhbHVlKHN0eWxlLT53cmFwU2hhcGUoKSk7CiAKKyAgICAgICAgY2FzZSBDU1NQ
cm9wZXJ0eVdlYmtpdFdyYXBGbG93OgorICAgICAgICAgICAgcmV0dXJuIHByaW1pdGl2ZVZhbHVl
Q2FjaGUtPmNyZWF0ZVZhbHVlKHN0eWxlLT53cmFwRmxvdygpKTsKKyAgICAgICAgY2FzZSBDU1NQ
cm9wZXJ0eVdlYmtpdFdyYXBUaHJvdWdoOgorICAgICAgICAgICAgcmV0dXJuIHByaW1pdGl2ZVZh
bHVlQ2FjaGUtPmNyZWF0ZVZhbHVlKHN0eWxlLT53cmFwVGhyb3VnaCgpKTsKICNpZiBFTkFCTEUo
U1ZHKQogICAgICAgICBjYXNlIENTU1Byb3BlcnR5Q2xpcFBhdGg6CiAgICAgICAgIGNhc2UgQ1NT
UHJvcGVydHlDbGlwUnVsZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJz
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKaW5kZXggNDViMzQ0ZC4u
MTQ5OWYxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKQEAgLTIxOTYsNiArMjE5NiwxNiBA
QCBib29sIENTU1BhcnNlcjo6cGFyc2VWYWx1ZShpbnQgcHJvcElkLCBib29sIGltcG9ydGFudCkK
ICAgICAgICAgICAgIHJldHVybiBwYXJzZVdyYXBTaGFwZShpbXBvcnRhbnQpOwogICAgICAgICBi
cmVhazsKIAorICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRXcmFwRmxvdzoKKyAgICAgICAgaWYg
KGlkID09IENTU1ZhbHVlQXV0byB8fCBpZCA9PSBDU1NWYWx1ZUJvdGggfHwgaWQgPT0gQ1NTVmFs
dWVMZWZ0IHx8IGlkID09IENTU1ZhbHVlUmlnaHQgfHwgaWQgPT0gQ1NTVmFsdWVNYXhpbXVtIHx8
IGlkID09IENTU1ZhbHVlQ2xlYXIpCisgICAgICAgICAgICB2YWxpZFByaW1pdGl2ZSA9IHRydWU7
CisgICAgICAgIGJyZWFrOworCisgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdFdyYXBUaHJvdWdo
OgorICAgICAgICBpZiAoaWQgPT0gQ1NTVmFsdWVXcmFwIHx8IGlkID09IENTU1ZhbHVlTm9uZSkK
KyAgICAgICAgICAgIHZhbGlkUHJpbWl0aXZlID0gdHJ1ZTsKKyAgICAgICAgYnJlYWs7CisKICNp
ZiBFTkFCTEUoU1ZHKQogICAgIGRlZmF1bHQ6CiAgICAgICAgIHJldHVybiBwYXJzZVNWR1ZhbHVl
KHByb3BJZCwgaW1wb3J0YW50KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQ
cmltaXRpdmVWYWx1ZU1hcHBpbmdzLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZl
VmFsdWVNYXBwaW5ncy5oCmluZGV4IGQ1YWZlZjAuLjYyNGJlMWEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaApAQCAtMzQ0MSw2ICszNDQxLDgw
IEBAIHRlbXBsYXRlPD4gaW5saW5lIENTU1ByaW1pdGl2ZVZhbHVlOjpvcGVyYXRvciBDb2x1bW5B
eGlzKCkgY29uc3QKICAgICB9CiB9CiAKK3RlbXBsYXRlPD4gaW5saW5lIENTU1ByaW1pdGl2ZVZh
bHVlOjpDU1NQcmltaXRpdmVWYWx1ZShXcmFwRmxvdyB3cmFwRmxvdykKKzogQ1NTVmFsdWUoUHJp
bWl0aXZlQ2xhc3MpCit7CisgICAgbV9wcmltaXRpdmVVbml0VHlwZSA9IENTU19JREVOVDsKKyAg
ICBzd2l0Y2ggKHdyYXBGbG93KSB7CisgICAgY2FzZSBXcmFwRmxvd0F1dG86CisgICAgICAgIG1f
dmFsdWUuaWRlbnQgPSBDU1NWYWx1ZUF1dG87CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgV3Jh
cEZsb3dCb3RoOgorICAgICAgICBtX3ZhbHVlLmlkZW50ID0gQ1NTVmFsdWVCb3RoOworICAgICAg
ICBicmVhazsKKyAgICBjYXNlIFdyYXBGbG93TGVmdDoKKyAgICAgICAgbV92YWx1ZS5pZGVudCA9
IENTU1ZhbHVlTGVmdDsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBXcmFwRmxvd1JpZ2h0Ogor
ICAgICAgICBtX3ZhbHVlLmlkZW50ID0gQ1NTVmFsdWVSaWdodDsKKyAgICAgICAgYnJlYWs7Cisg
ICAgY2FzZSBXcmFwRmxvd01heGltdW06CisgICAgICAgIG1fdmFsdWUuaWRlbnQgPSBDU1NWYWx1
ZU1heGltdW07CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgV3JhcEZsb3dDbGVhcjoKKyAgICAg
ICAgbV92YWx1ZS5pZGVudCA9IENTU1ZhbHVlQ2xlYXI7CisgICAgICAgIGJyZWFrOworICAgIH0K
K30KKwordGVtcGxhdGU8PiBpbmxpbmUgQ1NTUHJpbWl0aXZlVmFsdWU6Om9wZXJhdG9yIFdyYXBG
bG93KCkgY29uc3QKK3sKKyAgICBzd2l0Y2ggKG1fdmFsdWUuaWRlbnQpIHsKKyAgICBjYXNlIENT
U1ZhbHVlQXV0bzoKKyAgICAgICAgcmV0dXJuIFdyYXBGbG93QXV0bzsKKyAgICBjYXNlIENTU1Zh
bHVlQm90aDoKKyAgICAgICAgcmV0dXJuIFdyYXBGbG93Qm90aDsKKyAgICBjYXNlIENTU1ZhbHVl
TGVmdDoKKyAgICAgICAgcmV0dXJuIFdyYXBGbG93TGVmdDsKKyAgICBjYXNlIENTU1ZhbHVlUmln
aHQ6CisgICAgICAgIHJldHVybiBXcmFwRmxvd1JpZ2h0OworICAgIGNhc2UgQ1NTVmFsdWVNYXhp
bXVtOgorICAgICAgICByZXR1cm4gV3JhcEZsb3dNYXhpbXVtOworICAgIGNhc2UgQ1NTVmFsdWVD
bGVhcjoKKyAgICAgICAgcmV0dXJuIFdyYXBGbG93Q2xlYXI7CisgICAgZGVmYXVsdDoKKyAgICAg
ICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIHJldHVybiBXcmFwRmxvd0F1dG87Cisg
ICAgfQorfQorCit0ZW1wbGF0ZTw+IGlubGluZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTUHJpbWl0
aXZlVmFsdWUoV3JhcFRocm91Z2ggd3JhcFRocm91Z2gpCis6IENTU1ZhbHVlKFByaW1pdGl2ZUNs
YXNzKQoreworICAgIG1fcHJpbWl0aXZlVW5pdFR5cGUgPSBDU1NfSURFTlQ7CisgICAgc3dpdGNo
ICh3cmFwVGhyb3VnaCkgeworICAgIGNhc2UgV3JhcFRocm91Z2hXcmFwOgorICAgICAgICBtX3Zh
bHVlLmlkZW50ID0gQ1NTVmFsdWVXcmFwOworICAgICAgICBicmVhazsKKyAgICBjYXNlIFdyYXBU
aHJvdWdoTm9uZToKKyAgICAgICAgbV92YWx1ZS5pZGVudCA9IENTU1ZhbHVlTm9uZTsKKyAgICAg
ICAgYnJlYWs7CisgICAgfQorfQorCit0ZW1wbGF0ZTw+IGlubGluZSBDU1NQcmltaXRpdmVWYWx1
ZTo6b3BlcmF0b3IgV3JhcFRocm91Z2goKSBjb25zdAoreworICAgIHN3aXRjaCAobV92YWx1ZS5p
ZGVudCkgeworICAgIGNhc2UgQ1NTVmFsdWVXcmFwOgorICAgICAgICByZXR1cm4gV3JhcFRocm91
Z2hXcmFwOworICAgIGNhc2UgQ1NTVmFsdWVOb25lOgorICAgICAgICByZXR1cm4gV3JhcFRocm91
Z2hOb25lOworICAgIGRlZmF1bHQ6CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAg
ICAgICByZXR1cm4gV3JhcFRocm91Z2hXcmFwOworICAgIH0KK30KKwogI2lmIEVOQUJMRShTVkcp
CiAKIHRlbXBsYXRlPD4gaW5saW5lIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NQcmltaXRpdmVWYWx1
ZShFQ29sb3JJbnRlcnBvbGF0aW9uIGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTUHJvcGVydHkuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5LmNwcAppbmRl
eCBiZTAwMDZlLi45ODRmYjJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJv
cGVydHkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eS5jcHAKQEAgLTYz
NSw2ICs2MzUsOCBAQCBib29sIENTU1Byb3BlcnR5Ojppc0luaGVyaXRlZFByb3BlcnR5KHVuc2ln
bmVkIHByb3BlcnR5SUQpCiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdFJlZ2lvbkJyZWFrQWZ0
ZXI6CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdFJlZ2lvbkJyZWFrQmVmb3JlOgogICAgIGNh
c2UgQ1NTUHJvcGVydHlXZWJraXRSZWdpb25CcmVha0luc2lkZToKKyAgICBjYXNlIENTU1Byb3Bl
cnR5V2Via2l0V3JhcEZsb3c6CisgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdFdyYXBUaHJvdWdo
OgogI2lmIEVOQUJMRShTVkcpCiAgICAgY2FzZSBDU1NQcm9wZXJ0eUNsaXBQYXRoOgogICAgIGNh
c2UgQ1NTUHJvcGVydHlNYXNrOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1By
b3BlcnR5TmFtZXMuaW4gYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHlOYW1lcy5pbgpp
bmRleCA5NzFkMTBkLi4wZDE5YjFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
UHJvcGVydHlOYW1lcy5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHlOYW1l
cy5pbgpAQCAtMzU4LDYgKzM1OCw4IEBAIHotaW5kZXgKIC13ZWJraXQtcmVnaW9uLWJyZWFrLWFm
dGVyCiAtd2Via2l0LXJlZ2lvbi1icmVhay1iZWZvcmUKIC13ZWJraXQtcmVnaW9uLWJyZWFrLWlu
c2lkZQorLXdlYmtpdC13cmFwLWZsb3cKKy13ZWJraXQtd3JhcC10aHJvdWdoCiAjaWYgZGVmaW5l
ZChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAmJiBFTkFCTEVfVE9VQ0hfRVZFTlRTCiAtd2Via2l0LXRh
cC1oaWdobGlnaHQtY29sb3IKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1N0eWxlU2VsZWN0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0
b3IuY3BwCmluZGV4IDA1ZDE0NjMuLmE0NmZjNTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5
bGVTZWxlY3Rvci5jcHAKQEAgLTM4MzYsNiArMzgzNiwxNCBAQCB2b2lkIENTU1N0eWxlU2VsZWN0
b3I6OmFwcGx5UHJvcGVydHkoaW50IGlkLCBDU1NWYWx1ZSAqdmFsdWUpCiAKICAgICAgICAgcmV0
dXJuOwogCisgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdFdyYXBGbG93OgorICAgICAgICBIQU5E
TEVfSU5IRVJJVF9BTkRfSU5JVElBTF9BTkRfUFJJTUlUSVZFKHdyYXBGbG93LCBXcmFwRmxvdyk7
CisgICAgICAgIHJldHVybjsKKworICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRXcmFwVGhyb3Vn
aDoKKyAgICAgICAgSEFORExFX0lOSEVSSVRfQU5EX0lOSVRJQUxfQU5EX1BSSU1JVElWRSh3cmFw
VGhyb3VnaCwgV3JhcFRocm91Z2gpOworICAgICAgICByZXR1cm47CisKICAgICAvLyBDU1MgRm9u
dHMgTW9kdWxlIExldmVsIDMKICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0Rm9udEZlYXR1cmVT
ZXR0aW5nczogewogICAgICAgICBpZiAocHJpbWl0aXZlVmFsdWUgJiYgcHJpbWl0aXZlVmFsdWUt
PmdldElkZW50KCkgPT0gQ1NTVmFsdWVOb3JtYWwpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVl
S2V5d29yZHMuaW4KaW5kZXggMDZhZDZlMi4uY2E4YTJkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1ZhbHVlS2V5d29yZHMuaW4KQEAgLTg1Miw2ICs4NTIsMTggQEAgZXZlbm9kZAogLy8gYXV0bwog
YnJlYWsKIAorLy8gLXdlYmtpdC13cmFwLWZsb3cKKy8vIGF1dG8KKy8vIGJvdGgKKy8vIGxlZnQK
Ky8vIHJpZ2h0CittYXhpbXVtCisvLyBjbGVhcgorCisvLyAtd2Via2l0LXdyYXAtdGhyb3VnaAor
d3JhcAorLy8gbm9uZQorCiAjaWYgZGVmaW5lZChFTkFCTEVfQ1NTX0ZJTFRFUlMpICYmIEVOQUJM
RV9DU1NfRklMVEVSUwogLy8gLXdlYmtpdC1maWx0ZXIKICNpZiBkZWZpbmVkKEVOQUJMRV9DU1Nf
U0hBREVSUykgJiYgRU5BQkxFX0NTU19TSEFERVJTCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL3N0eWxlL1JlbmRlclN0eWxlLmNwcAppbmRleCA5MmE0OTk3Li5lMDk3Mzg1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5jcHAKQEAgLTM4NSw2
ICszODUsMTAgQEAgU3R5bGVEaWZmZXJlbmNlIFJlbmRlclN0eWxlOjpkaWZmKGNvbnN0IFJlbmRl
clN0eWxlKiBvdGhlciwgdW5zaWduZWQmIGNoYW5nZWRDb24KICAgICAgICAgaWYgKHJhcmVOb25J
bmhlcml0ZWREYXRhLT5tX3JlZ2lvbk92ZXJmbG93ICE9IG90aGVyLT5yYXJlTm9uSW5oZXJpdGVk
RGF0YS0+bV9yZWdpb25PdmVyZmxvdykKICAgICAgICAgICAgIHJldHVybiBTdHlsZURpZmZlcmVu
Y2VMYXlvdXQ7CiAKKyAgICAgICAgaWYgKHJhcmVOb25Jbmhlcml0ZWREYXRhLT5tX3dyYXBGbG93
ICE9IG90aGVyLT5yYXJlTm9uSW5oZXJpdGVkRGF0YS0+bV93cmFwRmxvdworICAgICAgICAgICAg
fHwgcmFyZU5vbkluaGVyaXRlZERhdGEtPm1fd3JhcFRocm91Z2ggIT0gb3RoZXItPnJhcmVOb25J
bmhlcml0ZWREYXRhLT5tX3dyYXBUaHJvdWdoKQorICAgICAgICAgICAgcmV0dXJuIFN0eWxlRGlm
ZmVyZW5jZUxheW91dDsKKwogICAgICAgICBpZiAocmFyZU5vbkluaGVyaXRlZERhdGEtPm1fZGVw
cmVjYXRlZEZsZXhpYmxlQm94LmdldCgpICE9IG90aGVyLT5yYXJlTm9uSW5oZXJpdGVkRGF0YS0+
bV9kZXByZWNhdGVkRmxleGlibGVCb3guZ2V0KCkKICAgICAgICAgICAgICYmICpyYXJlTm9uSW5o
ZXJpdGVkRGF0YS0+bV9kZXByZWNhdGVkRmxleGlibGVCb3guZ2V0KCkgIT0gKm90aGVyLT5yYXJl
Tm9uSW5oZXJpdGVkRGF0YS0+bV9kZXByZWNhdGVkRmxleGlibGVCb3guZ2V0KCkpCiAgICAgICAg
ICAgICByZXR1cm4gU3R5bGVEaWZmZXJlbmNlTGF5b3V0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaAppbmRleCBkOGIyYTUwLi4zYzM3YjQ4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaApAQCAtODA4LDYgKzgw
OCw5IEBAIHB1YmxpYzoKICAgICBjb25zdCBBdG9taWNTdHJpbmcmIGxpbmVHcmlkKCkgY29uc3Qg
eyByZXR1cm4gcmFyZUluaGVyaXRlZERhdGEtPm1fbGluZUdyaWQ7IH0KICAgICBMaW5lR3JpZFNu
YXAgbGluZUdyaWRTbmFwKCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8TGluZUdyaWRTbmFw
PihyYXJlSW5oZXJpdGVkRGF0YS0+bV9saW5lR3JpZFNuYXApOyB9CiAKKyAgICBXcmFwRmxvdyB3
cmFwRmxvdygpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PFdyYXBGbG93PihyYXJlTm9uSW5o
ZXJpdGVkRGF0YS0+bV93cmFwRmxvdyk7IH0KKyAgICBXcmFwVGhyb3VnaCB3cmFwVGhyb3VnaCgp
IGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PFdyYXBUaHJvdWdoPihyYXJlTm9uSW5oZXJpdGVk
RGF0YS0+bV93cmFwVGhyb3VnaCk7IH0KKwogICAgIC8vIEFwcGxlLXNwZWNpZmljIHByb3BlcnR5
IGdldHRlciBtZXRob2RzCiAgICAgRVBvaW50ZXJFdmVudHMgcG9pbnRlckV2ZW50cygpIGNvbnN0
IHsgcmV0dXJuIHN0YXRpY19jYXN0PEVQb2ludGVyRXZlbnRzPihpbmhlcml0ZWRfZmxhZ3MuX3Bv
aW50ZXJFdmVudHMpOyB9CiAgICAgY29uc3QgQW5pbWF0aW9uTGlzdCogYW5pbWF0aW9ucygpIGNv
bnN0IHsgcmV0dXJuIHJhcmVOb25Jbmhlcml0ZWREYXRhLT5tX2FuaW1hdGlvbnMuZ2V0KCk7IH0K
QEAgLTExOTQsNiArMTE5Nyw5IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFJlZ2lvblRocmVhZChj
b25zdCBBdG9taWNTdHJpbmcmIHJlZ2lvblRocmVhZCkgeyBTRVRfVkFSKHJhcmVOb25Jbmhlcml0
ZWREYXRhLCBtX3JlZ2lvblRocmVhZCwgcmVnaW9uVGhyZWFkKTsgfQogICAgIHZvaWQgc2V0UmVn
aW9uT3ZlcmZsb3coUmVnaW9uT3ZlcmZsb3cgcmVnaW9uT3ZlcmZsb3cpIHsgU0VUX1ZBUihyYXJl
Tm9uSW5oZXJpdGVkRGF0YSwgbV9yZWdpb25PdmVyZmxvdywgcmVnaW9uT3ZlcmZsb3cpOyB9CiAK
KyAgICB2b2lkIHNldFdyYXBGbG93KFdyYXBGbG93IHdyYXBGbG93KSB7IFNFVF9WQVIocmFyZU5v
bkluaGVyaXRlZERhdGEsIG1fd3JhcEZsb3csIHdyYXBGbG93KTsgfQorICAgIHZvaWQgc2V0V3Jh
cFRocm91Z2goV3JhcFRocm91Z2ggd3JhcFRocm91Z2gpIHsgU0VUX1ZBUihyYXJlTm9uSW5oZXJp
dGVkRGF0YSwgbV93cmFwVGhyb3VnaCwgd3JhcFRocm91Z2gpOyB9CisKICAgICAvLyBBcHBsZS1z
cGVjaWZpYyBwcm9wZXJ0eSBzZXR0ZXJzCiAgICAgdm9pZCBzZXRQb2ludGVyRXZlbnRzKEVQb2lu
dGVyRXZlbnRzIHApIHsgaW5oZXJpdGVkX2ZsYWdzLl9wb2ludGVyRXZlbnRzID0gcDsgfQogCkBA
IC0xNDgxLDYgKzE0ODcsOSBAQCBwdWJsaWM6CiAgICAgc3RhdGljIGNvbnN0IEF0b21pY1N0cmlu
ZyYgaW5pdGlhbFJlZ2lvblRocmVhZCgpIHsgcmV0dXJuIG51bGxBdG9tOyB9CiAgICAgc3RhdGlj
IFJlZ2lvbk92ZXJmbG93IGluaXRpYWxSZWdpb25PdmVyZmxvdygpIHsgcmV0dXJuIEF1dG9SZWdp
b25PdmVyZmxvdzsgfQogCisgICAgc3RhdGljIFdyYXBGbG93IGluaXRpYWxXcmFwRmxvdygpIHsg
cmV0dXJuIFdyYXBGbG93QXV0bzsgfQorICAgIHN0YXRpYyBXcmFwVGhyb3VnaCBpbml0aWFsV3Jh
cFRocm91Z2goKSB7IHJldHVybiBXcmFwVGhyb3VnaFdyYXA7IH0KKwogICAgIC8vIEtlZXAgdGhl
c2UgYXQgdGhlIGVuZC4KICAgICBzdGF0aWMgTGluZUNsYW1wVmFsdWUgaW5pdGlhbExpbmVDbGFt
cCgpIHsgcmV0dXJuIExpbmVDbGFtcFZhbHVlKCk7IH0KICAgICBzdGF0aWMgYm9vbCBpbml0aWFs
VGV4dFNpemVBZGp1c3QoKSB7IHJldHVybiB0cnVlOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGVDb25zdGFudHMuaCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5oCmluZGV4IGViNmFjNzAu
LjRhYTMyODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5k
ZXJTdHlsZUNvbnN0YW50cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9S
ZW5kZXJTdHlsZUNvbnN0YW50cy5oCkBAIC00NTcsNiArNDU3LDEwIEBAIGVudW0gQ29sdW1uQXhp
cyB7IEhvcml6b250YWxDb2x1bW5BeGlzLCBWZXJ0aWNhbENvbHVtbkF4aXMsIEF1dG9Db2x1bW5B
eGlzIH07CiAKIGVudW0gTGluZUdyaWRTbmFwIHsgTGluZUdyaWRTbmFwTm9uZSwgTGluZUdyaWRT
bmFwQmFzZWxpbmUsIExpbmVHcmlkU25hcEJvdW5kcyB9OwogCitlbnVtIFdyYXBGbG93IHsgV3Jh
cEZsb3dBdXRvLCBXcmFwRmxvd0JvdGgsIFdyYXBGbG93TGVmdCwgV3JhcEZsb3dSaWdodCwgV3Jh
cEZsb3dNYXhpbXVtLCBXcmFwRmxvd0NsZWFyIH07CisKK2VudW0gV3JhcFRocm91Z2ggeyBXcmFw
VGhyb3VnaFdyYXAsIFdyYXBUaHJvdWdoTm9uZSB9OworCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CiAKICNlbmRpZiAvLyBSZW5kZXJTdHlsZUNvbnN0YW50c19oCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YS5j
cHAKaW5kZXggOGQ5MGNhOC4uMGNhMmM1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3N0eWxlL1N0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhLmNwcApAQCAt
NjIsNiArNjIsOCBAQCBTdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhOjpTdHlsZVJhcmVOb25Jbmhl
cml0ZWREYXRhKCkKICAgICAsIG1fYXBwZWFyYW5jZShSZW5kZXJTdHlsZTo6aW5pdGlhbEFwcGVh
cmFuY2UoKSkKICAgICAsIG1fYm9yZGVyRml0KFJlbmRlclN0eWxlOjppbml0aWFsQm9yZGVyRml0
KCkpCiAgICAgLCBtX3RleHRDb21iaW5lKFJlbmRlclN0eWxlOjppbml0aWFsVGV4dENvbWJpbmUo
KSkKKyAgICAsIG1fd3JhcEZsb3coUmVuZGVyU3R5bGU6OmluaXRpYWxXcmFwRmxvdygpKQorICAg
ICwgbV93cmFwVGhyb3VnaChSZW5kZXJTdHlsZTo6aW5pdGlhbFdyYXBUaHJvdWdoKCkpCiAjaWYg
VVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQogICAgICwgbV9ydW5uaW5nQWNjZWxlcmF0ZWRB
bmltYXRpb24oZmFsc2UpCiAjZW5kaWYKQEAgLTExOSw2ICsxMjEsOCBAQCBTdHlsZVJhcmVOb25J
bmhlcml0ZWREYXRhOjpTdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhKGNvbnN0IFN0eWxlUmFyZU5v
bkluaGVyaXRlZAogICAgICwgbV9hcHBlYXJhbmNlKG8ubV9hcHBlYXJhbmNlKQogICAgICwgbV9i
b3JkZXJGaXQoby5tX2JvcmRlckZpdCkKICAgICAsIG1fdGV4dENvbWJpbmUoby5tX3RleHRDb21i
aW5lKQorICAgICwgbV93cmFwRmxvdyhvLm1fd3JhcEZsb3cpCisgICAgLCBtX3dyYXBUaHJvdWdo
KG8ubV93cmFwVGhyb3VnaCkKICNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCiAgICAg
LCBtX3J1bm5pbmdBY2NlbGVyYXRlZEFuaW1hdGlvbihvLm1fcnVubmluZ0FjY2VsZXJhdGVkQW5p
bWF0aW9uKQogI2VuZGlmCkBAIC0xNzYsNiArMTgwLDggQEAgYm9vbCBTdHlsZVJhcmVOb25Jbmhl
cml0ZWREYXRhOjpvcGVyYXRvcj09KGNvbnN0IFN0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEmIG8p
IGMKICAgICAgICAgJiYgKG1fcmVnaW9uVGhyZWFkID09IG8ubV9yZWdpb25UaHJlYWQpCiAgICAg
ICAgICYmIChtX3JlZ2lvbk92ZXJmbG93ID09IG8ubV9yZWdpb25PdmVyZmxvdykKICAgICAgICAg
JiYgKG1fd3JhcFNoYXBlID09IG8ubV93cmFwU2hhcGUpCisgICAgICAgICYmIChtX3dyYXBGbG93
ID09IG8ubV93cmFwRmxvdykKKyAgICAgICAgJiYgKG1fd3JhcFRocm91Z2ggPT0gby5tX3dyYXBU
aHJvdWdoKQogICAgICAgICAmJiBtX3Zpc2l0ZWRMaW5rQmFja2dyb3VuZENvbG9yID09IG8ubV92
aXNpdGVkTGlua0JhY2tncm91bmRDb2xvcgogICAgICAgICAmJiBtX3Zpc2l0ZWRMaW5rT3V0bGlu
ZUNvbG9yID09IG8ubV92aXNpdGVkTGlua091dGxpbmVDb2xvcgogICAgICAgICAmJiBtX3Zpc2l0
ZWRMaW5rQm9yZGVyTGVmdENvbG9yID09IG8ubV92aXNpdGVkTGlua0JvcmRlckxlZnRDb2xvcgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZU5vbklu
aGVyaXRlZERhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVO
b25Jbmhlcml0ZWREYXRhLmgKaW5kZXggZDJhYTJlOC4uZTA0ZGMwYSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVk
RGF0YS5oCkBAIC0xNTYsNiArMTU2LDkgQEAgcHVibGljOgogICAgIHVuc2lnbmVkIG1fYm9yZGVy
Rml0IDogMTsgLy8gRUJvcmRlckZpdAogICAgIHVuc2lnbmVkIG1fdGV4dENvbWJpbmUgOiAxOyAv
LyBDU1MzIHRleHQtY29tYmluZSBwcm9wZXJ0aWVzCiAKKyAgICB1bnNpZ25lZCBtX3dyYXBGbG93
OiAzOyAvLyBXcmFwRmxvdworICAgIHVuc2lnbmVkIG1fd3JhcFRocm91Z2g6IDE7IC8vIFdyYXBU
aHJvdWdoCisKICNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCiAgICAgYm9vbCBtX3J1
bm5pbmdBY2NlbGVyYXRlZEFuaW1hdGlvbiA6IDE7CiAjZW5kaWYK
</data>

          </attachment>
      

    </bug>

</bugzilla>