<?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>72421</bug_id>
          
          <creation_ts>2011-11-15 14:23:31 -0800</creation_ts>
          <short_desc>Add WebKit2 API object to represent a connection</short_desc>
          <delta_ts>2011-11-16 01:02:58 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>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></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Sam Weinig">sam</reporter>
          <assigned_to name="Sam Weinig">sam</assigned_to>
          <cc>abecsi</cc>
    
    <cc>hausmann</cc>
    
    <cc>kbalazs</cc>
    
    <cc>ossy</cc>
    
    <cc>vestbo</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zoltan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>503273</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2011-11-15 14:23:31 -0800</bug_when>
    <thetext>Add WebKit2 API object to represent a connection</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>503281</commentid>
    <comment_count>1</comment_count>
      <attachid>115246</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2011-11-15 14:26:45 -0800</bug_when>
    <thetext>Created attachment 115246
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>503284</commentid>
    <comment_count>2</comment_count>
      <attachid>115246</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2011-11-15 14:28:09 -0800</bug_when>
    <thetext>Comment on attachment 115246
Patch

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

&gt; Source/WebKit2/Shared/WebConnection.cpp:38
&gt; +

Extra newline</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>503290</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-15 14:30:45 -0800</bug_when>
    <thetext>Attachment 115246 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebKit2/ChangeLog&apos;, u&apos;Source/WebKit...&quot; exit_code: 1

Source/WebKit2/Shared/API/c/WKConnectionRef.cpp:30:  Alphabetical sorting problem.  [build/include_order] [4]
Source/WebKit2/Shared/WebConnectionClient.cpp:31:  Alphabetical sorting problem.  [build/include_order] [4]
Total errors found: 2 in 15 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>503318</commentid>
    <comment_count>4</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2011-11-15 15:01:14 -0800</bug_when>
    <thetext>Committed r100336: &lt;http://trac.webkit.org/changeset/100336&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>503630</commentid>
    <comment_count>5</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2011-11-15 23:30:26 -0800</bug_when>
    <thetext>It broke all layout tests on the Qt-WK2 platform.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>503667</commentid>
    <comment_count>6</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2011-11-16 00:16:31 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; It broke all layout tests on the Qt-WK2 platform.

That&apos;s odd, given that the patch only adds new code that isn&apos;t used currently.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>503677</commentid>
    <comment_count>7</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2011-11-16 00:27:12 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; (In reply to comment #5)
&gt; &gt; It broke all layout tests on the Qt-WK2 platform.
&gt; 
&gt; That&apos;s odd, given that the patch only adds new code that isn&apos;t used currently.

r100331 was good, r100337 was bad. Let&apos;s check these revisions:
- r100332 modified safari-534.53-branch
- r100333 modified chromium test expectations
- r100334 modified safari-534.53-branch
- r100335 modified safari-534.53-branch
- r100336 modified WK2 code
- r100337 modified chromium test expectations

So I am absolutely convinced that r100336 is the culprit revision.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>503682</commentid>
    <comment_count>8</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2011-11-16 00:33:30 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; (In reply to comment #6)
&gt; &gt; (In reply to comment #5)
&gt; &gt; &gt; It broke all layout tests on the Qt-WK2 platform.
&gt; &gt; 
&gt; &gt; That&apos;s odd, given that the patch only adds new code that isn&apos;t used currently.
&gt; 
&gt; r100331 was good, r100337 was bad. Let&apos;s check these revisions:
&gt; - r100332 modified safari-534.53-branch
&gt; - r100333 modified chromium test expectations
&gt; - r100334 modified safari-534.53-branch
&gt; - r100335 modified safari-534.53-branch
&gt; - r100336 modified WK2 code
&gt; - r100337 modified chromium test expectations
&gt; 
&gt; So I am absolutely convinced that r100336 is the culprit revision.

Unless touching of the .pro file caused a re-run of qmake, triggering previously broken dependencies. I&apos;ll take a look at the failures.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>503701</commentid>
    <comment_count>9</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2011-11-16 01:02:58 -0800</bug_when>
    <thetext>(In reply to comment #8)
&gt; (In reply to comment #7)
&gt; &gt; (In reply to comment #6)
&gt; &gt; &gt; (In reply to comment #5)
&gt; &gt; &gt; &gt; It broke all layout tests on the Qt-WK2 platform.
&gt; &gt; &gt; 
&gt; &gt; &gt; That&apos;s odd, given that the patch only adds new code that isn&apos;t used currently.
&gt; &gt; 
&gt; &gt; r100331 was good, r100337 was bad. Let&apos;s check these revisions:
&gt; &gt; - r100332 modified safari-534.53-branch
&gt; &gt; - r100333 modified chromium test expectations
&gt; &gt; - r100334 modified safari-534.53-branch
&gt; &gt; - r100335 modified safari-534.53-branch
&gt; &gt; - r100336 modified WK2 code
&gt; &gt; - r100337 modified chromium test expectations
&gt; &gt; 
&gt; &gt; So I am absolutely convinced that r100336 is the culprit revision.
&gt; 
&gt; Unless touching of the .pro file caused a re-run of qmake, triggering previously broken dependencies. I&apos;ll take a look at the failures.

Went back to r100333, did a clean build and still get the WTR timeouts. So it&apos;s definitely not this change that broke it.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>115246</attachid>
            <date>2011-11-15 14:26:45 -0800</date>
            <delta_ts>2011-11-15 14:28:09 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-72421-20111115142644.patch</filename>
            <type>text/plain</type>
            <size>30140</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDEwMDMyMikKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDUwIEBACisyMDExLTExLTE1ICBTYW0gV2Vp
bmlnICA8c2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgQWRkIFdlYktpdDIgQVBJIG9iamVjdCB0
byByZXByZXNlbnQgYSBjb25uZWN0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD03MjQyMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogR05VbWFrZWZpbGUuYW06CisgICAgICAgICogVGFyZ2V0LnByaToK
KyAgICAgICAgKiBXZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICog
d2luL1dlYktpdDIudmNwcm9qOgorICAgICAgICBBZGQgbmV3IGZpbGVzLgorCisgICAgICAgICog
U2hhcmVkL0FQSS9jL1dLQmFzZS5oOgorICAgICAgICBBZGQgdHlwZS4KKworICAgICAgICAqIFNo
YXJlZC9BUEkvYy9XS0Nvbm5lY3Rpb25SZWYuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdLQ29ubmVj
dGlvbkdldFR5cGVJRCk6CisgICAgICAgIChXS0Nvbm5lY3Rpb25TZXRDb25uZWN0aW9uQ2xpZW50
KToKKyAgICAgICAgKFdLQ29ubmVjdGlvblBvc3RNZXNzYWdlKToKKyAgICAgICAgKiBTaGFyZWQv
QVBJL2MvV0tDb25uZWN0aW9uUmVmLmg6IEFkZGVkLgorICAgICAgICBFeHBvc2UgaW50ZXJmYWNl
LiBDdXJyZW50bHkgbm8gc3VwcG9ydCBmb3Igc3luY2hyb25vdXMgbWVzc2FnZXMuCisKKyAgICAg
ICAgKiBTaGFyZWQvQVBJL2MvV0tTaGFyZWRBUElDYXN0Lmg6CisgICAgICAgIERlZmluZSByZWxh
dGlvbnNoaXAgYmV0d2VlbiBXZWJDb25uZWN0aW9uIDwtPiBXS0Nvbm5lY3Rpb25SZWYuCisKKyAg
ICAgICAgKiBTaGFyZWQvQVBJT2JqZWN0Lmg6CisgICAgICAgIEFkZCBBUEkgdHlwZS4KKworICAg
ICAgICAqIFNoYXJlZC9XZWJDb25uZWN0aW9uLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6
OldlYkNvbm5lY3Rpb246On5XZWJDb25uZWN0aW9uKToKKyAgICAgICAgKFdlYktpdDo6V2ViQ29u
bmVjdGlvbjo6aW5pdGlhbGl6ZUNvbm5lY3Rpb25DbGllbnQpOgorICAgICAgICAqIFNoYXJlZC9X
ZWJDb25uZWN0aW9uLmg6IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpXZWJDb25uZWN0aW9uOjp0
eXBlKToKKyAgICAgICAgU2tldGNoIG91dCB0aGUgY29ubmVjdGlvbiBvYmplY3QuIEl0IGlzIGN1
cnJlbnRseSBhYnN0cmFjdAorICAgICAgICB0byBhbGxvdyBkaWZmZXJlbnQgaW1wbGVtZW50YXRp
b25zIGZvciB0aGUgVUkgYW5kIFdlYlByb2Nlc3Mgc2lkZXMKKyAgICAgICAgd2hpbGUgcmV0YWlu
aW5nIHRoZSBzYW1lIGludGVyZmFjZS4KKworICAgICAgICAqIFNoYXJlZC9XZWJDb25uZWN0aW9u
Q2xpZW50LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6OldlYkNvbm5lY3Rpb25DbGllbnQ6
OmRpZFJlY2VpdmVNZXNzYWdlKToKKyAgICAgICAgKFdlYktpdDo6V2ViQ29ubmVjdGlvbkNsaWVu
dDo6ZGlkQ2xvc2UpOgorICAgICAgICAqIFNoYXJlZC9XZWJDb25uZWN0aW9uQ2xpZW50Lmg6IEFk
ZGVkLgorICAgICAgICBBZGQgc2ltcGxlIGNsaWVudC4KKworICAgICAgICAqIFVJUHJvY2Vzcy9B
UEkvQy9XZWJLaXQyLmg6CisgICAgICAgIEFkZCBuZXcgZmlsZS4KKwogMjAxMS0xMS0xNSAgQW5k
ZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgogCiAgICAgICAgIEhvc3RXaW5kb3cg
c2NyZWVuVG9XaW5kb3cvd2luZG93VG9TY3JlZW4gc2hvdWxkIGJlIHNjcmVlblRvUm9vdFZpZXcv
cm9vdFZpZXdUb1NjcmVlbgpJbmRleDogU291cmNlL1dlYktpdDIvR05VbWFrZWZpbGUuYW0KPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvR05VbWFrZWZpbGUuYW0JKHJldmlzaW9uIDEwMDI5
NikKKysrIFNvdXJjZS9XZWJLaXQyL0dOVW1ha2VmaWxlLmFtCSh3b3JraW5nIGNvcHkpCkBAIC00
LDYgKzQsNyBAQCBsaWJ3ZWJraXQyZ3RrX0BXRUJLSVRHVEtfQVBJX01BSk9SX1ZFUlNJCiAJJChX
ZWJLaXQyKS9TaGFyZWQvQVBJL2MvV0tBcnJheS5oIFwKIAkkKFdlYktpdDIpL1NoYXJlZC9BUEkv
Yy9XS0Jhc2UuaCBcCiAJJChXZWJLaXQyKS9TaGFyZWQvQVBJL2MvV0tDZXJ0aWZpY2F0ZUluZm8u
aCBcCisJJChXZWJLaXQyKS9TaGFyZWQvQVBJL2MvV0tDb25uZWN0aW9uUmVmLmggXAogCSQoV2Vi
S2l0MikvU2hhcmVkL0FQSS9jL1dLQ29udGV4dE1lbnVJdGVtLmggXAogCSQoV2ViS2l0MikvU2hh
cmVkL0FQSS9jL1dLQ29udGV4dE1lbnVJdGVtVHlwZXMuaCBcCiAJJChXZWJLaXQyKS9TaGFyZWQv
QVBJL2MvV0tEYXRhLmggXApAQCAtMjQwLDYgKzI0MSw4IEBAIGxpYndlYmtpdDJndGtfQFdFQktJ
VEdUS19BUElfTUFKT1JfVkVSU0kKIAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tCYXNl
LmggXAogCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9XS0NlcnRpZmljYXRlSW5mby5jcHAg
XAogCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9XS0NlcnRpZmljYXRlSW5mby5oIFwKKwlT
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tDb25uZWN0aW9uUmVmLmNwcCBcCisJU291cmNl
L1dlYktpdDIvU2hhcmVkL0FQSS9jL1dLQ29ubmVjdGlvblJlZi5oIFwKIAlTb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvQVBJL2MvV0tDb250ZXh0TWVudUl0ZW0uY3BwIFwKIAlTb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvQVBJL2MvV0tDb250ZXh0TWVudUl0ZW0uaCBcCiAJU291cmNlL1dlYktpdDIvU2hhcmVk
L0FQSS9jL1dLQ29udGV4dE1lbnVJdGVtVHlwZXMuaCBcCkBAIC0zNjMsNiArMzY2LDEwIEBAIGxp
YndlYmtpdDJndGtfQFdFQktJVEdUS19BUElfTUFKT1JfVkVSU0kKIAlTb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvV2ViQmFja0ZvcndhcmRMaXN0SXRlbS5jcHAgXAogCVNvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9XZWJCYWNrRm9yd2FyZExpc3RJdGVtLmggXAogCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJD
ZXJ0aWZpY2F0ZUluZm8uaCBcCisJU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvbm5lY3Rpb24u
Y3BwIFwKKwlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29ubmVjdGlvbi5oIFwKKwlTb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvV2ViQ29ubmVjdGlvbkNsaWVudC5jcHAgXAorCVNvdXJjZS9XZWJLaXQy
L1NoYXJlZC9XZWJDb25uZWN0aW9uQ2xpZW50LmggXAogCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9X
ZWJDb250ZXh0TWVudUl0ZW0uY3BwIFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29udGV4
dE1lbnVJdGVtRGF0YS5jcHAgXAogCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb250ZXh0TWVu
dUl0ZW1EYXRhLmggXApJbmRleDogU291cmNlL1dlYktpdDIvVGFyZ2V0LnByaQo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0Mi9UYXJnZXQucHJpCShyZXZpc2lvbiAxMDAyOTYpCisrKyBTb3Vy
Y2UvV2ViS2l0Mi9UYXJnZXQucHJpCSh3b3JraW5nIGNvcHkpCkBAIC0xMTksNiArMTE5LDcgQEAg
SEVBREVSUyArPSBcCiAgICAgUGx1Z2luUHJvY2Vzcy9XZWJQcm9jZXNzQ29ubmVjdGlvbi5oIFwK
ICAgICBTaGFyZWQvQVBJL2MvV0tCYXNlLmggXAogICAgIFNoYXJlZC9BUEkvYy9XS0NlcnRpZmlj
YXRlSW5mby5oIFwKKyAgICBTaGFyZWQvQVBJL2MvV0tDb25uZWN0aW9uUmVmLmggXAogICAgIFNo
YXJlZC9BUEkvYy9XS0NvbnRleHRNZW51SXRlbS5oIFwKICAgICBTaGFyZWQvQVBJL2MvV0tDb250
ZXh0TWVudUl0ZW1UeXBlcy5oIFwKICAgICBTaGFyZWQvQVBJL2MvV0tEaWN0aW9uYXJ5LmggXApA
QCAtMTY5LDYgKzE3MCw4IEBAIEhFQURFUlMgKz0gXAogICAgIFNoYXJlZC9XZWJDb3JlQXJndW1l
bnRDb2RlcnMuaCBcCiAgICAgU2hhcmVkL1dlYkJhY2tGb3J3YXJkTGlzdEl0ZW0uaCBcCiAgICAg
U2hhcmVkL1dlYkNlcnRpZmljYXRlSW5mby5oIFwKKyAgICBTaGFyZWQvV2ViQ29ubmVjdGlvbi5o
IFwKKyAgICBTaGFyZWQvV2ViQ29ubmVjdGlvbkNsaWVudC5oIFwKICAgICBTaGFyZWQvV2ViQ29u
dGV4dE1lbnVJdGVtLmggXAogICAgIFNoYXJlZC9XZWJDb250ZXh0TWVudUl0ZW1EYXRhLmggXAog
ICAgIFNoYXJlZC9XZWJFcnJvci5oIFwKQEAgLTQzNiw2ICs0MzksNyBAQCBTT1VSQ0VTICs9IFwK
ICAgICBQbHVnaW5Qcm9jZXNzL3F0L1BsdWdpblByb2Nlc3NRdC5jcHAgXAogICAgIFNoYXJlZC9B
UEkvYy9XS0FycmF5LmNwcCBcCiAgICAgU2hhcmVkL0FQSS9jL1dLQ2VydGlmaWNhdGVJbmZvLmNw
cCBcCisgICAgU2hhcmVkL0FQSS9jL1dLQ29ubmVjdGlvblJlZi5jcHAgXAogICAgIFNoYXJlZC9B
UEkvYy9XS0NvbnRleHRNZW51SXRlbS5jcHAgXAogICAgIFNoYXJlZC9BUEkvYy9XS0RpY3Rpb25h
cnkuY3BwIFwKICAgICBTaGFyZWQvQVBJL2MvV0tFcnJvci5jcHAgXApAQCAtNDgxLDYgKzQ4NSw4
IEBAIFNPVVJDRVMgKz0gXAogICAgIFNoYXJlZC9VcGRhdGVJbmZvLmNwcCBcCiAgICAgU2hhcmVk
L1Zpc2l0ZWRMaW5rVGFibGUuY3BwIFwKICAgICBTaGFyZWQvV2ViQmFja0ZvcndhcmRMaXN0SXRl
bS5jcHAgXAorICAgIFNoYXJlZC9XZWJDb25uZWN0aW9uLmNwcCBcCisgICAgU2hhcmVkL1dlYkNv
bm5lY3Rpb25DbGllbnQuY3BwIFwKICAgICBTaGFyZWQvV2ViQ29udGV4dE1lbnVJdGVtLmNwcCBc
CiAgICAgU2hhcmVkL1dlYkNvbnRleHRNZW51SXRlbURhdGEuY3BwIFwKICAgICBTaGFyZWQvV2Vi
Q29yZUFyZ3VtZW50Q29kZXJzLmNwcCBcCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJ
T2JqZWN0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSU9iamVjdC5o
CShyZXZpc2lvbiAxMDAyOTYpCisrKyBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJT2JqZWN0LmgJ
KHdvcmtpbmcgY29weSkKQEAgLTM5LDYgKzM5LDcgQEAgcHVibGljOgogICAgICAgICBUeXBlQXV0
aGVudGljYXRpb25DaGFsbGVuZ2UsCiAgICAgICAgIFR5cGVBdXRoZW50aWNhdGlvbkRlY2lzaW9u
TGlzdGVuZXIsCiAgICAgICAgIFR5cGVDZXJ0aWZpY2F0ZUluZm8sCisgICAgICAgIFR5cGVDb25u
ZWN0aW9uLAogICAgICAgICBUeXBlQ29udGV4dE1lbnVJdGVtLAogICAgICAgICBUeXBlQ3JlZGVu
dGlhbCwKICAgICAgICAgVHlwZURhdGEsCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2Vi
Q29ubmVjdGlvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNv
bm5lY3Rpb24uY3BwCShyZXZpc2lvbiAwKQorKysgU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNv
bm5lY3Rpb24uY3BwCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDQxIEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDExIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIldlYkNvbm5lY3Rpb24uaCIKKworbmFtZXNw
YWNlIFdlYktpdCB7CisKK1dlYkNvbm5lY3Rpb246On5XZWJDb25uZWN0aW9uKCkKK3sKK30KKwor
dm9pZCBXZWJDb25uZWN0aW9uOjppbml0aWFsaXplQ29ubmVjdGlvbkNsaWVudChjb25zdCBXS0Nv
bm5lY3Rpb25DbGllbnQqIGNsaWVudCkKK3sKKyAgICBtX2NsaWVudC5pbml0aWFsaXplKGNsaWVu
dCk7CisKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvV2ViQ29ubmVjdGlvbi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9XZWJDb25uZWN0aW9uLmgJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
V2ViQ29ubmVjdGlvbi5oCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDU0IEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDExIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBD
T05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAq
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisg
KiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworI2lmbmRlZiBXZWJDb25uZWN0aW9uX2gKKyNkZWZpbmUgV2ViQ29ubmVjdGlvbl9oCisKKyNp
bmNsdWRlICJBUElPYmplY3QuaCIKKyNpbmNsdWRlICJXZWJDb25uZWN0aW9uQ2xpZW50LmgiCisj
aW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK2NsYXNzIFdl
YkNvbm5lY3Rpb24gOiBwdWJsaWMgQVBJT2JqZWN0IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgY29u
c3QgVHlwZSBBUElUeXBlID0gVHlwZUNvbm5lY3Rpb247CisKKyAgICB2aXJ0dWFsIH5XZWJDb25u
ZWN0aW9uKCk7CisKKyAgICAvLyBJbml0aWFsaXplIHRoZSBjb25uZWN0aW9uIGNsaWVudC4KKyAg
ICB2b2lkIGluaXRpYWxpemVDb25uZWN0aW9uQ2xpZW50KGNvbnN0IFdLQ29ubmVjdGlvbkNsaWVu
dCopOworCisgICAgdmlydHVhbCB2b2lkIHBvc3RNZXNzYWdlKGNvbnN0IFN0cmluZyYsIEFQSU9i
amVjdCopID0gMDsKKworcHJvdGVjdGVkOgorICAgIHZpcnR1YWwgVHlwZSB0eXBlKCkgY29uc3Qg
eyByZXR1cm4gQVBJVHlwZTsgfQorCisgICAgV2ViQ29ubmVjdGlvbkNsaWVudCBtX2NsaWVudDsK
K307CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gV2ViQ29ubmVjdGlvbl9o
CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29ubmVjdGlvbkNsaWVudC5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvbm5lY3Rpb25DbGllbnQuY3Bw
CShyZXZpc2lvbiAwKQorKysgU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvbm5lY3Rpb25DbGll
bnQuY3BwCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDUxIEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDExIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENP
TlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1
ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIldlYkNvbm5lY3Rpb25DbGllbnQuaCIKKworI2luY2x1
ZGUgIkFQSU9iamVjdC5oIgorI2luY2x1ZGUgIldlYkNvbm5lY3Rpb24uaCIKKyNpbmNsdWRlICJX
S1NoYXJlZEFQSUNhc3QuaCIKKworbmFtZXNwYWNlIFdlYktpdCB7CisKK3ZvaWQgV2ViQ29ubmVj
dGlvbkNsaWVudDo6ZGlkUmVjZWl2ZU1lc3NhZ2UoV2ViQ29ubmVjdGlvbiogY29ubmVjdGlvbiwg
Y29uc3QgU3RyaW5nJiBtZXNzYWdlTmFtZSwgQVBJT2JqZWN0KiBtZXNzYWdlQm9keSkKK3sKKyAg
ICBpZiAoIW1fY2xpZW50LmRpZFJlY2VpdmVNZXNzYWdlKQorICAgICAgICByZXR1cm47CisgICAg
CisgICAgbV9jbGllbnQuZGlkUmVjZWl2ZU1lc3NhZ2UodG9BUEkoY29ubmVjdGlvbiksIHRvQVBJ
KG1lc3NhZ2VOYW1lLmltcGwoKSksIHRvQVBJKG1lc3NhZ2VCb2R5KSwgbV9jbGllbnQuY2xpZW50
SW5mbyk7Cit9CisKK3ZvaWQgV2ViQ29ubmVjdGlvbkNsaWVudDo6ZGlkQ2xvc2UoV2ViQ29ubmVj
dGlvbiogY29ubmVjdGlvbikKK3sKKyAgICBpZiAoIW1fY2xpZW50LmRpZENsb3NlKQorICAgICAg
ICByZXR1cm47CisgICAgCisgICAgbV9jbGllbnQuZGlkQ2xvc2UodG9BUEkoY29ubmVjdGlvbiks
IG1fY2xpZW50LmNsaWVudEluZm8pOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKSW5kZXg6
IFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb25uZWN0aW9uQ2xpZW50LmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvbm5lY3Rpb25DbGllbnQuaAkocmV2aXNpb24g
MCkKKysrIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb25uZWN0aW9uQ2xpZW50LmgJKHJldmlz
aW9uIDApCkBAIC0wLDAgKzEsNDYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycK
KyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisg
KiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFdlYkNvbm5lY3Rp
b25DbGllbnRfaAorI2RlZmluZSBXZWJDb25uZWN0aW9uQ2xpZW50X2gKKworI2luY2x1ZGUgIkFQ
SUNsaWVudC5oIgorI2luY2x1ZGUgIldLQ29ubmVjdGlvblJlZi5oIgorI2luY2x1ZGUgPHd0Zi9G
b3J3YXJkLmg+CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitjbGFzcyBBUElPYmplY3Q7CitjbGFz
cyBXZWJDb25uZWN0aW9uOworCitjbGFzcyBXZWJDb25uZWN0aW9uQ2xpZW50IDogcHVibGljIEFQ
SUNsaWVudDxXS0Nvbm5lY3Rpb25DbGllbnQsIFdLQ29ubmVjdGlvbkNsaWVudEN1cnJlbnRWZXJz
aW9uPiB7CitwdWJsaWM6CisgICAgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZShXZWJDb25uZWN0aW9u
KiwgY29uc3QgU3RyaW5nJiwgQVBJT2JqZWN0Kik7CisgICAgdm9pZCBkaWRDbG9zZShXZWJDb25u
ZWN0aW9uKik7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmIC8vIFdlYkNv
bm5lY3Rpb25DbGllbnRfaApJbmRleDogU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9jL1dLQmFz
ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9XS0Jhc2UuaAko
cmV2aXNpb24gMTAwMjk2KQorKysgU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9jL1dLQmFzZS5o
CSh3b3JraW5nIGNvcHkpCkBAIC01MCwxOSArNTAsMjAgQEAgdHlwZWRlZiBzdHJ1Y3QgT3BhcXVl
V0tEaWN0aW9uYXJ5KiBXS011dAogCiB0eXBlZGVmIGNvbnN0IHN0cnVjdCBPcGFxdWVXS0Jvb2xl
YW4qIFdLQm9vbGVhblJlZjsKIHR5cGVkZWYgY29uc3Qgc3RydWN0IE9wYXF1ZVdLQ2VydGlmaWNh
dGVJbmZvKiBXS0NlcnRpZmljYXRlSW5mb1JlZjsKK3R5cGVkZWYgY29uc3Qgc3RydWN0IE9wYXF1
ZVdLQ29ubmVjdGlvbiogV0tDb25uZWN0aW9uUmVmOwogdHlwZWRlZiBjb25zdCBzdHJ1Y3QgT3Bh
cXVlV0tDb250ZXh0TWVudUl0ZW0qIFdLQ29udGV4dE1lbnVJdGVtUmVmOwogdHlwZWRlZiBjb25z
dCBzdHJ1Y3QgT3BhcXVlV0tEYXRhKiBXS0RhdGFSZWY7CiB0eXBlZGVmIGNvbnN0IHN0cnVjdCBP
cGFxdWVXS0RvdWJsZSogV0tEb3VibGVSZWY7CiB0eXBlZGVmIGNvbnN0IHN0cnVjdCBPcGFxdWVX
S0Vycm9yKiBXS0Vycm9yUmVmOwogdHlwZWRlZiBjb25zdCBzdHJ1Y3QgT3BhcXVlV0tHcmFwaGlj
c0NvbnRleHQqIFdLR3JhcGhpY3NDb250ZXh0UmVmOwogdHlwZWRlZiBjb25zdCBzdHJ1Y3QgT3Bh
cXVlV0tJbWFnZSogV0tJbWFnZVJlZjsKK3R5cGVkZWYgY29uc3Qgc3RydWN0IE9wYXF1ZVdLUG9p
bnRSZWYqIFdLUG9pbnRSZWY7Cit0eXBlZGVmIGNvbnN0IHN0cnVjdCBPcGFxdWVXS1JlY3RSZWYq
IFdLUmVjdFJlZjsKIHR5cGVkZWYgY29uc3Qgc3RydWN0IE9wYXF1ZVdLU2VjdXJpdHlPcmlnaW4q
IFdLU2VjdXJpdHlPcmlnaW5SZWY7CiB0eXBlZGVmIGNvbnN0IHN0cnVjdCBPcGFxdWVXS1Nlcmlh
bGl6ZWRTY3JpcHRWYWx1ZSogV0tTZXJpYWxpemVkU2NyaXB0VmFsdWVSZWY7Cit0eXBlZGVmIGNv
bnN0IHN0cnVjdCBPcGFxdWVXS1NpemVSZWYqIFdLU2l6ZVJlZjsKIHR5cGVkZWYgY29uc3Qgc3Ry
dWN0IE9wYXF1ZVdLU3RyaW5nKiBXS1N0cmluZ1JlZjsKIHR5cGVkZWYgY29uc3Qgc3RydWN0IE9w
YXF1ZVdLVUludDY0KiBXS1VJbnQ2NFJlZjsKLXR5cGVkZWYgY29uc3Qgc3RydWN0IE9wYXF1ZVdL
U2l6ZVJlZiogV0tTaXplUmVmOwotdHlwZWRlZiBjb25zdCBzdHJ1Y3QgT3BhcXVlV0tQb2ludFJl
ZiogV0tQb2ludFJlZjsKLXR5cGVkZWYgY29uc3Qgc3RydWN0IE9wYXF1ZVdLUmVjdFJlZiogV0tS
ZWN0UmVmOwogdHlwZWRlZiBjb25zdCBzdHJ1Y3QgT3BhcXVlV0tVUkwqIFdLVVJMUmVmOwogdHlw
ZWRlZiBjb25zdCBzdHJ1Y3QgT3BhcXVlV0tVUkxSZXF1ZXN0KiBXS1VSTFJlcXVlc3RSZWY7CiB0
eXBlZGVmIGNvbnN0IHN0cnVjdCBPcGFxdWVXS1VSTFJlc3BvbnNlKiBXS1VSTFJlc3BvbnNlUmVm
OwpJbmRleDogU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9jL1dLQ29ubmVjdGlvblJlZi5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9jL1dLQ29ubmVjdGlvblJl
Zi5jcHAJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tDb25u
ZWN0aW9uUmVmLmNwcAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw0OCBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJXS0Nvbm5lY3Rpb25SZWYuaCIKKworI2lu
Y2x1ZGUgIldlYkNvbm5lY3Rpb24uaCIKKyNpbmNsdWRlICJXS0FQSUNhc3QuaCIKKwordXNpbmcg
bmFtZXNwYWNlIFdlYktpdDsKKworV0tUeXBlSUQgV0tDb25uZWN0aW9uR2V0VHlwZUlEKCkKK3sK
KyAgICByZXR1cm4gdG9BUEkoV2ViQ29ubmVjdGlvbjo6QVBJVHlwZSk7Cit9CisKK3ZvaWQgV0tD
b25uZWN0aW9uU2V0Q29ubmVjdGlvbkNsaWVudChXS0Nvbm5lY3Rpb25SZWYgY29ubmVjdGlvblJl
ZiwgY29uc3QgV0tDb25uZWN0aW9uQ2xpZW50KiB3a0NsaWVudCkKK3sKKyAgICB0b0ltcGwoY29u
bmVjdGlvblJlZiktPmluaXRpYWxpemVDb25uZWN0aW9uQ2xpZW50KHdrQ2xpZW50KTsKK30KKwor
dm9pZCBXS0Nvbm5lY3Rpb25Qb3N0TWVzc2FnZShXS0Nvbm5lY3Rpb25SZWYgY29ubmVjdGlvblJl
ZiwgV0tTdHJpbmdSZWYgbWVzc2FnZU5hbWVSZWYsIFdLVHlwZVJlZiBtZXNzYWdlQm9keVJlZikK
K3sKKyAgICB0b0ltcGwoY29ubmVjdGlvblJlZiktPnBvc3RNZXNzYWdlKHRvSW1wbChtZXNzYWdl
TmFtZVJlZiktPnN0cmluZygpLCB0b0ltcGwobWVzc2FnZUJvZHlSZWYpKTsKK30KKwpJbmRleDog
U291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9jL1dLQ29ubmVjdGlvblJlZi5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9XS0Nvbm5lY3Rpb25SZWYuaAkocmV2aXNp
b24gMCkKKysrIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9XS0Nvbm5lY3Rpb25SZWYuaAko
cmV2aXNpb24gMCkKQEAgLTAsMCArMSw1NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
KyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgor
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgV0tDb25u
ZWN0aW9uUmVmX2gKKyNkZWZpbmUgV0tDb25uZWN0aW9uUmVmX2gKKworI2luY2x1ZGUgPFdlYktp
dDIvV0tCYXNlLmg+CisKKyNpZmRlZiBfX2NwbHVzcGx1cworZXh0ZXJuICJDIiB7CisjZW5kaWYK
KwordHlwZWRlZiB2b2lkICgqV0tDb25uZWN0aW9uRGlkUmVjZWl2ZU1lc3NhZ2VDYWxsYmFjayko
V0tDb25uZWN0aW9uUmVmIGNvbm5lY3Rpb24sIFdLU3RyaW5nUmVmIG1lc3NhZ2VOYW1lLCBXS1R5
cGVSZWYgbWVzc2FnZUJvZHksIGNvbnN0IHZvaWQgKmNsaWVudEluZm8pOwordHlwZWRlZiB2b2lk
ICgqV0tDb25uZWN0aW9uRGlkQ2xvc2VDYWxsYmFjaykoV0tDb25uZWN0aW9uUmVmIGNvbm5lY3Rp
b24sIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOworCitzdHJ1Y3QgV0tDb25uZWN0aW9uQ2xpZW50
IHsKKyAgICBpbnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHZlcnNpb247CisgICAgY29uc3Qgdm9pZCAqICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGllbnRJbmZvOwor
ICAgIFdLQ29ubmVjdGlvbkRpZFJlY2VpdmVNZXNzYWdlQ2FsbGJhY2sgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgZGlkUmVjZWl2ZU1lc3NhZ2U7CisgICAgV0tDb25uZWN0aW9uRGlkQ2xv
c2VDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaWRDbG9z
ZTsKK307Cit0eXBlZGVmIHN0cnVjdCBXS0Nvbm5lY3Rpb25DbGllbnQgV0tDb25uZWN0aW9uQ2xp
ZW50OworCitlbnVtIHsgV0tDb25uZWN0aW9uQ2xpZW50Q3VycmVudFZlcnNpb24gPSAwIH07CisK
K1dLX0VYUE9SVCBXS1R5cGVJRCBXS0Nvbm5lY3Rpb25HZXRUeXBlSUQoKTsKKworV0tfRVhQT1JU
IHZvaWQgV0tDb25uZWN0aW9uU2V0Q29ubmVjdGlvbkNsaWVudChXS0Nvbm5lY3Rpb25SZWYgY29u
bmVjdGlvbiwgY29uc3QgV0tDb25uZWN0aW9uQ2xpZW50KiBjbGllbnQpOworV0tfRVhQT1JUIHZv
aWQgV0tDb25uZWN0aW9uUG9zdE1lc3NhZ2UoV0tDb25uZWN0aW9uUmVmIGNvbm5lY3Rpb24sIFdL
U3RyaW5nUmVmIG1lc3NhZ2VOYW1lLCBXS1R5cGVSZWYgbWVzc2FnZUJvZHkpOworCisjaWZkZWYg
X19jcGx1c3BsdXMKK30KKyNlbmRpZgorCisjZW5kaWYgLy8gV0tDb25uZWN0aW9uUmVmX2gKSW5k
ZXg6IFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9XS1NoYXJlZEFQSUNhc3QuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tTaGFyZWRBUElDYXN0LmgJKHJl
dmlzaW9uIDEwMDI5NikKKysrIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9XS1NoYXJlZEFQ
SUNhc3QuaAkod29ya2luZyBjb3B5KQpAQCAtNTYsMTUgKzU2LDE2IEBAIGNsYXNzIEltbXV0YWJs
ZURpY3Rpb25hcnk7CiBjbGFzcyBNdXRhYmxlQXJyYXk7CiBjbGFzcyBNdXRhYmxlRGljdGlvbmFy
eTsKIGNsYXNzIFdlYkNlcnRpZmljYXRlSW5mbzsKK2NsYXNzIFdlYkNvbm5lY3Rpb247CiBjbGFz
cyBXZWJDb250ZXh0TWVudUl0ZW07CiBjbGFzcyBXZWJEYXRhOwogY2xhc3MgV2ViR3JhcGhpY3ND
b250ZXh0OwogY2xhc3MgV2ViSW1hZ2U7CiBjbGFzcyBXZWJQb2ludDsKIGNsYXNzIFdlYlJlY3Q7
Ci1jbGFzcyBXZWJTaXplOwogY2xhc3MgV2ViU2VjdXJpdHlPcmlnaW47CiBjbGFzcyBXZWJTZXJp
YWxpemVkU2NyaXB0VmFsdWU7CitjbGFzcyBXZWJTaXplOwogY2xhc3MgV2ViVVJMUmVxdWVzdDsK
IGNsYXNzIFdlYlVSTFJlc3BvbnNlOwogY2xhc3MgV2ViVXNlckNvbnRlbnRVUkxQYXR0ZXJuOwpA
QCAtNzksNiArODAsNyBAQCB0ZW1wbGF0ZTx0eXBlbmFtZSBJbXBsVHlwZT4gc3RydWN0IEltcGxU
CiBXS19BRERfQVBJX01BUFBJTkcoV0tBcnJheVJlZiwgSW1tdXRhYmxlQXJyYXkpCiBXS19BRERf
QVBJX01BUFBJTkcoV0tCb29sZWFuUmVmLCBXZWJCb29sZWFuKQogV0tfQUREX0FQSV9NQVBQSU5H
KFdLQ2VydGlmaWNhdGVJbmZvUmVmLCBXZWJDZXJ0aWZpY2F0ZUluZm8pCitXS19BRERfQVBJX01B
UFBJTkcoV0tDb25uZWN0aW9uUmVmLCBXZWJDb25uZWN0aW9uKQogV0tfQUREX0FQSV9NQVBQSU5H
KFdLQ29udGV4dE1lbnVJdGVtUmVmLCBXZWJDb250ZXh0TWVudUl0ZW0pCiBXS19BRERfQVBJX01B
UFBJTkcoV0tEYXRhUmVmLCBXZWJEYXRhKQogV0tfQUREX0FQSV9NQVBQSU5HKFdLRGljdGlvbmFy
eVJlZiwgSW1tdXRhYmxlRGljdGlvbmFyeSkKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvQy9XZWJLaXQyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9DL1dlYktpdDIuaAkocmV2aXNpb24gMTAwMjk2KQorKysgU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9DL1dlYktpdDIuaAkod29ya2luZyBjb3B5KQpAQCAtMzIsNiArMzIsNyBAQAog
I2luY2x1ZGUgPFdlYktpdDIvV0tBcnJheS5oPgogI2luY2x1ZGUgPFdlYktpdDIvV0tCYWNrRm9y
d2FyZExpc3QuaD4KICNpbmNsdWRlIDxXZWJLaXQyL1dLQmFja0ZvcndhcmRMaXN0SXRlbS5oPgor
I2luY2x1ZGUgPFdlYktpdDIvV0tDb25uZWN0aW9uUmVmLmg+CiAjaW5jbHVkZSA8V2ViS2l0Mi9X
S0NvbnRleHQuaD4KICNpbmNsdWRlIDxXZWJLaXQyL1dLRGF0YS5oPgogI2luY2x1ZGUgPFdlYktp
dDIvV0tEaWN0aW9uYXJ5Lmg+CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViS2l0Mi54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAxMDAyOTYpCisrKyBTb3VyY2UvV2Vi
S2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAg
LTU3OSw2ICs1NzksMTIgQEAKIAkJQkM0OTg2MTkxMjREMTBFMjAwRDgzNEUxIC8qIEluamVjdGVk
QnVuZGxlSGl0VGVzdFJlc3VsdC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBCQzQ5ODYxNzEyNEQxMEUyMDBEODM0RTEgLyogSW5qZWN0ZWRCdW5kbGVI
aXRUZXN0UmVzdWx0LmNwcCAqLzsgfTsKIAkJQkM0OTg2MkYxMjREMThDMTAwRDgzNEUxIC8qIFdL
QnVuZGxlSGl0VGVzdFJlc3VsdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQkM0OTg2MkQxMjREMThDMTAwRDgzNEUxIC8qIFdLQnVuZGxlSGl0VGVzdFJl
c3VsdC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJ
CUJDNDk4NjMwMTI0RDE4QzEwMEQ4MzRFMSAvKiBXS0J1bmRsZUhpdFRlc3RSZXN1bHQuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkM0OTg2MkUxMjRE
MThDMTAwRDgzNEUxIC8qIFdLQnVuZGxlSGl0VGVzdFJlc3VsdC5jcHAgKi87IH07CisJCUJDNEE2
MjhGMTQ3MzEyQkUwMDZDNjgxQSAvKiBXZWJDb25uZWN0aW9uLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDNEE2MjhCMTQ3MzEyQkUwMDZDNjgxQSAv
KiBXZWJDb25uZWN0aW9uLmNwcCAqLzsgfTsKKwkJQkM0QTYyOTAxNDczMTJCRTAwNkM2ODFBIC8q
IFdlYkNvbm5lY3Rpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEJDNEE2MjhDMTQ3MzEyQkUwMDZDNjgxQSAvKiBXZWJDb25uZWN0aW9uLmggKi87IH07
CisJCUJDNEE2MjkxMTQ3MzEyQkUwMDZDNjgxQSAvKiBXZWJDb25uZWN0aW9uQ2xpZW50LmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDNEE2MjhEMTQ3
MzEyQkUwMDZDNjgxQSAvKiBXZWJDb25uZWN0aW9uQ2xpZW50LmNwcCAqLzsgfTsKKwkJQkM0QTYy
OTIxNDczMTJCRTAwNkM2ODFBIC8qIFdlYkNvbm5lY3Rpb25DbGllbnQuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDNEE2MjhFMTQ3MzEyQkUwMDZDNjgx
QSAvKiBXZWJDb25uZWN0aW9uQ2xpZW50LmggKi87IH07CisJCUJDNEE2Mjk2MTQ3MzEzQTAwMDZD
NjgxQSAvKiBXS0Nvbm5lY3Rpb25SZWYuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQkM0QTYyOTQxNDczMTNBMDAwNkM2ODFBIC8qIFdLQ29ubmVjdGlv
blJlZi5jcHAgKi87IH07CisJCUJDNEE2Mjk3MTQ3MzEzQTAwMDZDNjgxQSAvKiBXS0Nvbm5lY3Rp
b25SZWYuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJD
NEE2Mjk1MTQ3MzEzQTAwMDZDNjgxQSAvKiBXS0Nvbm5lY3Rpb25SZWYuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlCQzRCRUVBQjEyMEEwQTVGMDBG
QkEwQzcgLyogSW5qZWN0ZWRCdW5kbGVOb2RlSGFuZGxlLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzRCRUVBOTEyMEEwQTVFMDBGQkEwQzcgLyogSW5q
ZWN0ZWRCdW5kbGVOb2RlSGFuZGxlLmggKi87IH07CiAJCUJDNEJFRUFDMTIwQTBBNUYwMEZCQTBD
NyAvKiBJbmplY3RlZEJ1bmRsZU5vZGVIYW5kbGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkM0QkVFQUExMjBBMEE1RjAwRkJBMEM3IC8qIEluamVj
dGVkQnVuZGxlTm9kZUhhbmRsZS5jcHAgKi87IH07CiAJCUJDNEJFRkUxMTIwQTFBNEMwMEZCQTBD
NyAvKiBXS0J1bmRsZU5vZGVIYW5kbGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEJDNEJFRkRGMTIwQTFBNEMwMEZCQTBDNyAvKiBXS0J1bmRsZU5vZGVI
YW5kbGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpA
QCAtMTU1Miw2ICsxNTU4LDEyIEBACiAJCUJDNDk4NjE3MTI0RDEwRTIwMEQ4MzRFMSAvKiBJbmpl
Y3RlZEJ1bmRsZUhpdFRlc3RSZXN1bHQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gSW5qZWN0ZWRCdW5kbGVIaXRUZXN0UmVzdWx0LmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJQkM0OTg2MkQxMjREMThDMTAwRDgzNEUxIC8qIFdLQnVuZGxlSGl0VGVz
dFJlc3VsdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXS0J1bmRsZUhpdFRl
c3RSZXN1bHQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkM0OTg2MkUxMjREMThD
MTAwRDgzNEUxIC8qIFdLQnVuZGxlSGl0VGVzdFJlc3VsdC5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBXS0J1bmRsZUhpdFRlc3RSZXN1bHQuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQlCQzRBNjI4QjE0NzMxMkJFMDA2QzY4MUEgLyogV2ViQ29ubmVj
dGlvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJDb25uZWN0
aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQkM0QTYyOEMxNDczMTJCRTAw
NkM2ODFBIC8qIFdlYkNvbm5lY3Rpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gV2ViQ29ubmVjdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCQzRBNjI4
RDE0NzMxMkJFMDA2QzY4MUEgLyogV2ViQ29ubmVjdGlvbkNsaWVudC5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJDb25uZWN0aW9uQ2xpZW50LmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQkM0QTYyOEUxNDczMTJCRTAwNkM2ODFBIC8qIFdlYkNv
bm5lY3Rpb25DbGllbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViQ29u
bmVjdGlvbkNsaWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCQzRBNjI5NDE0
NzMxM0EwMDA2QzY4MUEgLyogV0tDb25uZWN0aW9uUmVmLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFdLQ29ubmVjdGlvblJlZi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCUJDNEE2Mjk1MTQ3MzEzQTAwMDZDNjgxQSAvKiBXS0Nvbm5lY3Rpb25SZWYu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0tDb25uZWN0aW9uUmVmLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJDNEJFRUE5MTIwQTBBNUUwMEZCQTBDNyAvKiBJ
bmplY3RlZEJ1bmRsZU5vZGVIYW5kbGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gSW5qZWN0ZWRCdW5kbGVOb2RlSGFuZGxlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUJDNEJFRUFBMTIwQTBBNUYwMEZCQTBDNyAvKiBJbmplY3RlZEJ1bmRsZU5vZGVIYW5kbGUu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSW5qZWN0ZWRCdW5kbGVO
b2RlSGFuZGxlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkM0QkVGREYxMjBB
MUE0QzAwRkJBMEM3IC8qIFdLQnVuZGxlTm9kZUhhbmRsZS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBXS0J1bmRsZU5vZGVIYW5kbGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKQEAgLTIyNTAsNiArMjI2MiwxMCBAQAogCQkJCTUxOEQyQ0FCMTJENTE1M0IwMDNCQjkz
QiAvKiBXZWJCYWNrRm9yd2FyZExpc3RJdGVtLmNwcCAqLywKIAkJCQk1MThEMkNBQzEyRDUxNTNC
MDAzQkI5M0IgLyogV2ViQmFja0ZvcndhcmRMaXN0SXRlbS5oICovLAogCQkJCUJDRjUwNzI2MTI0
MzI5QUEwMDU5NTVBRSAvKiBXZWJDZXJ0aWZpY2F0ZUluZm8uaCAqLywKKwkJCQlCQzRBNjI4QjE0
NzMxMkJFMDA2QzY4MUEgLyogV2ViQ29ubmVjdGlvbi5jcHAgKi8sCisJCQkJQkM0QTYyOEMxNDcz
MTJCRTAwNkM2ODFBIC8qIFdlYkNvbm5lY3Rpb24uaCAqLywKKwkJCQlCQzRBNjI4RDE0NzMxMkJF
MDA2QzY4MUEgLyogV2ViQ29ubmVjdGlvbkNsaWVudC5jcHAgKi8sCisJCQkJQkM0QTYyOEUxNDcz
MTJCRTAwNkM2ODFBIC8qIFdlYkNvbm5lY3Rpb25DbGllbnQuaCAqLywKIAkJCQk1MTI5MzVENTEy
ODhEMTk0MDBBNEI2OTUgLyogV2ViQ29udGV4dE1lbnVJdGVtLmNwcCAqLywKIAkJCQk1MTI5MzVE
NjEyODhEMTk0MDBBNEI2OTUgLyogV2ViQ29udGV4dE1lbnVJdGVtLmggKi8sCiAJCQkJNTEwRkJC
OTgxMjg4Qzk1RTAwQUZGREY0IC8qIFdlYkNvbnRleHRNZW51SXRlbURhdGEuY3BwICovLApAQCAt
MzI4OCw2ICszMzA0LDggQEAKIAkJCQlCQ0REQjMxNjEyNEVCRDEzMDA0OEQxM0MgLyogV0tCYXNl
LmggKi8sCiAJCQkJQkM0MDc1RDkxMjRGRjAyNzAwNjhGMjBBIC8qIFdLQ2VydGlmaWNhdGVJbmZv
LmNwcCAqLywKIAkJCQlCQzQwNzVEQTEyNEZGMDI3MDA2OEYyMEEgLyogV0tDZXJ0aWZpY2F0ZUlu
Zm8uaCAqLywKKwkJCQlCQzRBNjI5NDE0NzMxM0EwMDA2QzY4MUEgLyogV0tDb25uZWN0aW9uUmVm
LmNwcCAqLywKKwkJCQlCQzRBNjI5NTE0NzMxM0EwMDA2QzY4MUEgLyogV0tDb25uZWN0aW9uUmVm
LmggKi8sCiAJCQkJNTFBNTU1RjMxMjhDNkM0NzAwOUFCQ0VDIC8qIFdLQ29udGV4dE1lbnVJdGVt
LmNwcCAqLywKIAkJCQk1MUE1NTVGNDEyOEM2QzQ3MDA5QUJDRUMgLyogV0tDb250ZXh0TWVudUl0
ZW0uaCAqLywKIAkJCQk1MUE1NTYwMDEyOEM2RDkyMDA5QUJDRUMgLyogV0tDb250ZXh0TWVudUl0
ZW1UeXBlcy5oICovLApAQCAtMzk0MSw2ICszOTU5LDkgQEAKIAkJCQlFMUFFQTIyRjE0Njg3QkRC
MDA4MDQ1NjkgLyogV0tGdWxsS2V5Ym9hcmRBY2Nlc3NXYXRjaGVyLmggaW4gSGVhZGVycyAqLywK
IAkJCQkxQUFGMjYzOTE0Njg3QzM5MDA0QTFFOEEgLyogVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2lu
Z0FyZWEuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBRjA1RDg3MTQ2ODgzNDgwMDhCMUU4MSAvKiBU
aWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYVByb3h5LmggaW4gSGVhZGVycyAqLywKKwkJCQlC
QzRBNjI5MDE0NzMxMkJFMDA2QzY4MUEgLyogV2ViQ29ubmVjdGlvbi5oIGluIEhlYWRlcnMgKi8s
CisJCQkJQkM0QTYyOTIxNDczMTJCRTAwNkM2ODFBIC8qIFdlYkNvbm5lY3Rpb25DbGllbnQuaCBp
biBIZWFkZXJzICovLAorCQkJCUJDNEE2Mjk3MTQ3MzEzQTAwMDZDNjgxQSAvKiBXS0Nvbm5lY3Rp
b25SZWYuaCBpbiBIZWFkZXJzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9z
dHByb2Nlc3NpbmcgPSAwOwogCQl9OwpAQCAtNDYzOCw2ICs0NjU5LDkgQEAKIAkJCQlFMUFFQTIz
MDE0Njg3QkRCMDA4MDQ1NjkgLyogV0tGdWxsS2V5Ym9hcmRBY2Nlc3NXYXRjaGVyLm1tIGluIFNv
dXJjZXMgKi8sCiAJCQkJMUFBRjI2MzgxNDY4N0MzOTAwNEExRThBIC8qIFRpbGVkQ29yZUFuaW1h
dGlvbkRyYXdpbmdBcmVhLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMUFGMDVEODYxNDY4ODM0ODAw
OEIxRTgxIC8qIFRpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhUHJveHkubW0gaW4gU291cmNl
cyAqLywKKwkJCQlCQzRBNjI4RjE0NzMxMkJFMDA2QzY4MUEgLyogV2ViQ29ubmVjdGlvbi5jcHAg
aW4gU291cmNlcyAqLywKKwkJCQlCQzRBNjI5MTE0NzMxMkJFMDA2QzY4MUEgLyogV2ViQ29ubmVj
dGlvbkNsaWVudC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlCQzRBNjI5NjE0NzMxM0EwMDA2QzY4
MUEgLyogV0tDb25uZWN0aW9uUmVmLmNwcCBpbiBTb3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9u
bHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpJbmRleDogU291cmNlL1dl
YktpdDIvd2luL1dlYktpdDIudmNwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL3dp
bi9XZWJLaXQyLnZjcHJvagkocmV2aXNpb24gMTAwMjk2KQorKysgU291cmNlL1dlYktpdDIvd2lu
L1dlYktpdDIudmNwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC02MDcsNiArNjA3LDIyIEBACiAJCQkJ
PgogCQkJPC9GaWxlPgogCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXFNoYXJlZFxXZWJD
b25uZWN0aW9uLmNwcCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJlbGF0aXZl
UGF0aD0iLi5cU2hhcmVkXFdlYkNvbm5lY3Rpb24uaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8
RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cU2hhcmVkXFdlYkNvbm5lY3Rpb25DbGllbnQuY3Bw
IgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxTaGFy
ZWRcV2ViQ29ubmVjdGlvbkNsaWVudC5oIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCiAJ
CQkJUmVsYXRpdmVQYXRoPSIuLlxTaGFyZWRcV2ViQ29udGV4dE1lbnVJdGVtLmNwcCIKIAkJCQk+
CiAJCQk8L0ZpbGU+CkBAIC04MzgsNiArODU0LDE0IEBACiAJCQkJCT4KIAkJCQk8L0ZpbGU+CiAJ
CQkJPEZpbGUKKwkJCQkJUmVsYXRpdmVQYXRoPSIuLlxTaGFyZWRcQVBJXGNcV0tDb25uZWN0aW9u
UmVmLmNwcCIKKwkJCQkJPgorCQkJCTwvRmlsZT4KKwkJCQk8RmlsZQorCQkJCQlSZWxhdGl2ZVBh
dGg9Ii4uXFNoYXJlZFxBUElcY1xXS0Nvbm5lY3Rpb25SZWYuaCIKKwkJCQkJPgorCQkJCTwvRmls
ZT4KKwkJCQk8RmlsZQogCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXFNoYXJlZFxBUElcY1x3aW5cV0tD
ZXJ0aWZpY2F0ZUluZm9XaW4uY3BwIgogCQkJCQk+CiAJCQkJPC9GaWxlPgo=
</data>
<flag name="review"
          id="114100"
          type_id="1"
          status="+"
          setter="andersca"
    />
          </attachment>
      

    </bug>

</bugzilla>