<?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>116445</bug_id>
          
          <creation_ts>2013-05-20 10:31:54 -0700</creation_ts>
          <short_desc>Move MD5, SHA1 unit tests from WTF to TestWebKitAPI</short_desc>
          <delta_ts>2013-05-31 03:06:29 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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="Zan Dobersek">zan</reporter>
          <assigned_to name="Zan Dobersek">zan</assigned_to>
          <cc>benjamin</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>rakuco</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>891240</commentid>
    <comment_count>0</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2013-05-20 10:31:54 -0700</bug_when>
    <thetext>Move MD5, SHA1 unit tests from WTF to TestWebKitAPI</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>891249</commentid>
    <comment_count>1</comment_count>
      <attachid>202291</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2013-05-20 10:43:40 -0700</bug_when>
    <thetext>Created attachment 202291
Provisional patch

Still needs to add the new files to the XCode build system.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>895614</commentid>
    <comment_count>2</comment_count>
      <attachid>203369</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2013-05-30 12:00:19 -0700</bug_when>
    <thetext>Created attachment 203369
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>895725</commentid>
    <comment_count>3</comment_count>
      <attachid>203369</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2013-05-30 16:28:29 -0700</bug_when>
    <thetext>Comment on attachment 203369
Patch

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

Great!

&gt; Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:761
&gt; +				CD5393C91757BAC400C07123 /* SHA1.cpp */,
&gt; +				CD5393C71757BA9700C07123 /* MD5.cpp */,

The build section should be sorted alphabetically.

&gt; Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:1182
&gt;  				2E7765CF16C4D81100BA2BB1 /* mainMac.mm in Sources */,
&gt; +				CD5393C81757BA9700C07123 /* MD5.cpp in Sources */,
&gt; +				CD5393CA1757BAC400C07123 /* SHA1.cpp in Sources */,

Ditto.

&gt; Tools/TestWebKitAPI/Tests/WTF/MD5.cpp:29
&gt; +/*
&gt; + * Copyright (C) 2010 Google Inc. All rights reserved.
&gt; + *
&gt; + * Redistribution and use in source and binary forms, with or without
&gt; + * modification, are permitted provided that the following conditions are
&gt; + * met:
&gt; + *
&gt; + *     * Redistributions of source code must retain the above copyright
&gt; + * notice, this list of conditions and the following disclaimer.
&gt; + *     * Redistributions in binary form must reproduce the above
&gt; + * copyright notice, this list of conditions and the following disclaimer
&gt; + * in the documentation and/or other materials provided with the
&gt; + * distribution.
&gt; + *     * Neither the name of Google Inc. nor the names of its
&gt; + * contributors may be used to endorse or promote products derived from
&gt; + * this software without specific prior written permission.
&gt; + *
&gt; + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
&gt; + * &quot;AS IS&quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
&gt; + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
&gt; + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
&gt; + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
&gt; + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
&gt; + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
&gt; + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
&gt; + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
&gt; + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
&gt; + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
&gt; + */

I am not sure this is the right copyright.

If the test comes from the original sqlite code, it should be the one starting with &quot;This code implements the MD5 message-digest algorithm.&quot;

&gt; Tools/TestWebKitAPI/Tests/WTF/MD5.cpp:54
&gt; +    // MD5 Test suite from http://www.ietf.org/rfc/rfc1321.txt

Missing period.

&gt; Tools/TestWebKitAPI/Tests/WTF/SHA1.cpp:1
&gt; +/*

ditto for the copyright.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>895807</commentid>
    <comment_count>4</comment_count>
      <attachid>203369</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2013-05-31 01:01:27 -0700</bug_when>
    <thetext>Comment on attachment 203369
Patch

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

&gt;&gt; Tools/TestWebKitAPI/Tests/WTF/SHA1.cpp:1
&gt;&gt; +/*
&gt; 
&gt; ditto for the copyright.

There&apos;s no other copyright located in Source/WTF/wtf/SHA1.cpp apart from this one and the three lines of comment about RFC3174 that I don&apos;t believe count as copyright.
Should I leave this one as it is or concoct something third?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>895816</commentid>
    <comment_count>5</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2013-05-31 01:43:26 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; There&apos;s no other copyright located in Source/WTF/wtf/SHA1.cpp apart from this one and the three lines of comment about RFC3174 that I don&apos;t believe count as copyright.
&gt; Should I leave this one as it is or concoct something third?

You are right, my bad.
I assumed that was the same as the other file.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>895821</commentid>
    <comment_count>6</comment_count>
      <attachid>203424</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2013-05-31 01:50:49 -0700</bug_when>
    <thetext>Created attachment 203424
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>895827</commentid>
    <comment_count>7</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2013-05-31 01:59:48 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; Created an attachment (id=203424) [details]
&gt; Patch for landing

Addressed the review comments. Uses the Source/WTF/wtf/MD5.cpp copyright that explains the origin of this code but omits the instructions on how to use the MD5 class as that&apos;s not relevant here.

Benjamin, can you please cq+ if the patch looks OK to you now?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>895828</commentid>
    <comment_count>8</comment_count>
      <attachid>203424</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2013-05-31 02:10:48 -0700</bug_when>
    <thetext>Comment on attachment 203424
Patch for landing

Looks good.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>895840</commentid>
    <comment_count>9</comment_count>
      <attachid>203424</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-05-31 03:06:25 -0700</bug_when>
    <thetext>Comment on attachment 203424
Patch for landing

Clearing flags on attachment: 203424

Committed r151012: &lt;http://trac.webkit.org/changeset/151012&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>895841</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-05-31 03:06:29 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>202291</attachid>
            <date>2013-05-20 10:43:40 -0700</date>
            <delta_ts>2013-05-30 12:00:14 -0700</delta_ts>
            <desc>Provisional patch</desc>
            <filename>bug-116445-20130520194229.patch</filename>
            <type>text/plain</type>
            <size>16930</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUwMzcyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDVlNjQ4ZmJiNDQxNWVjODA5Zjg3YTky
NDU4OTU4OTM1OGJhYTA3M2UuLjdmNDY1MzEyNTY3Y2Y2Y2MwZGFjMmFjNDE1MWIzNGU2MjI1MGJj
MzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTMtMDUtMjAgIFphbiBEb2JlcnNlayAgPHpkb2Jl
cnNla0BpZ2FsaWEuY29tPgorCisgICAgICAgIE1vdmUgTUQ1LCBTSEExIHVuaXQgdGVzdHMgZnJv
bSBXVEYgdG8gVGVzdFdlYktpdEFQSQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTE2NDQ1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgUmVtb3ZlIHRoZSBNRDUgYW5kIFNIQTEgdGVzdCBjYXNlcyBmcm9tIHRo
ZSBXVEYgY29kZS4gVGhlIHNhbWUgY2FzZXMgYXJlIG5vdyBidWlsdCBhbmQgcnVuIHVuZGVyIFRl
c3RXZWJLaXRBUEkuCisKKyAgICAgICAgKiB3dGYvTUQ1LmNwcDoKKyAgICAgICAgKFdURjo6TUQ1
OjpNRDUpOgorICAgICAgICAqIHd0Zi9TSEExLmNwcDoKKyAgICAgICAgKFdURjo6U0hBMTo6U0hB
MSk6CisKIDIwMTMtMDUtMTkgIEFuZGVycyBDYXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4K
IAogICAgICAgICBSZW1vdmUgbGluayBwcmVyZW5kZXJpbmcgY29kZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dURi93dGYvTUQ1LmNwcCBiL1NvdXJjZS9XVEYvd3RmL01ENS5jcHAKaW5kZXggMDdiYmFk
ZDlmNWVhM2RiZjE3MThhOTkwMjI5NDk4NDIwYzkwMmIyNy4uN2QwMTAwZDBlNWEzZDYwNzdmMWQw
ODYwYzljNzM2MjYyMThkMDJhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvTUQ1LmNwcAor
KysgYi9Tb3VyY2UvV1RGL3d0Zi9NRDUuY3BwCkBAIC01OCw0NCArNTgsNiBAQAogCiBuYW1lc3Bh
Y2UgV1RGIHsKIAotI2lmZGVmIE5ERUJVRwotc3RhdGljIGlubGluZSB2b2lkIHRlc3RNRDUoKSB7
IH0KLSNlbHNlCi0vLyBNRDUgdGVzdCBjYXNlLgotc3RhdGljIGJvb2wgaXNUZXN0TUQ1RG9uZTsK
LQotc3RhdGljIHZvaWQgZXhwZWN0TUQ1KENTdHJpbmcgaW5wdXQsIENTdHJpbmcgZXhwZWN0ZWQp
Ci17Ci0gICAgTUQ1IG1kNTsKLSAgICBtZDUuYWRkQnl0ZXMocmVpbnRlcnByZXRfY2FzdDxjb25z
dCB1aW50OF90Kj4oaW5wdXQuZGF0YSgpKSwgaW5wdXQubGVuZ3RoKCkpOwotICAgIFZlY3Rvcjx1
aW50OF90LCAxNj4gZGlnZXN0OwotICAgIG1kNS5jaGVja3N1bShkaWdlc3QpOwotICAgIGNoYXIq
IGJ1ZiA9IDA7Ci0gICAgQ1N0cmluZyBhY3R1YWwgPSBDU3RyaW5nOjpuZXdVbmluaXRpYWxpemVk
KDMyLCBidWYpOwotICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgMTY7IGkrKykgewotICAgICAg
ICBzbnByaW50ZihidWYsIDMsICIlMDJ4IiwgZGlnZXN0LmF0KGkpKTsKLSAgICAgICAgYnVmICs9
IDI7Ci0gICAgfQotICAgIEFTU0VSVF9XSVRIX01FU1NBR0UoYWN0dWFsID09IGV4cGVjdGVkLCAi
aW5wdXQ6JXNbJWx1XSBhY3R1YWw6JXMgZXhwZWN0ZWQ6JXMiLCBpbnB1dC5kYXRhKCksIHN0YXRp
Y19jYXN0PHVuc2lnbmVkIGxvbmc+KGlucHV0Lmxlbmd0aCgpKSwgYWN0dWFsLmRhdGEoKSwgZXhw
ZWN0ZWQuZGF0YSgpKTsKLX0KLQotc3RhdGljIHZvaWQgdGVzdE1ENSgpCi17Ci0gICAgaWYgKGlz
VGVzdE1ENURvbmUpCi0gICAgICAgIHJldHVybjsKLSAgICBpc1Rlc3RNRDVEb25lID0gdHJ1ZTsK
LQotICAgIC8vIE1ENSBUZXN0IHN1aXRlIGZyb20gaHR0cDovL3d3dy5pZXRmLm9yZy9yZmMvcmZj
MTMyMS50eHQKLSAgICBleHBlY3RNRDUoIiIsICJkNDFkOGNkOThmMDBiMjA0ZTk4MDA5OThlY2Y4
NDI3ZSIpOwotICAgIGV4cGVjdE1ENSgiYSIsICIwY2MxNzViOWMwZjFiNmE4MzFjMzk5ZTI2OTc3
MjY2MSIpOwotICAgIGV4cGVjdE1ENSgiYWJjIiwgIjkwMDE1MDk4M2NkMjRmYjBkNjk2M2Y3ZDI4
ZTE3ZjcyIik7Ci0gICAgZXhwZWN0TUQ1KCJtZXNzYWdlIGRpZ2VzdCIsICJmOTZiNjk3ZDdjYjc5
MzhkNTI1YTJmMzFhYWYxNjFkMCIpOwotICAgIGV4cGVjdE1ENSgiYWJjZGVmZ2hpamtsbW5vcHFy
c3R1dnd4eXoiLCAiYzNmY2QzZDc2MTkyZTQwMDdkZmI0OTZjY2E2N2UxM2IiKTsKLSAgICBleHBl
Y3RNRDUoIkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4
eXowMTIzNDU2Nzg5IiwgImQxNzRhYjk4ZDI3N2Q5ZjVhNTYxMWMyYzlmNDE5ZDlmIik7Ci0gICAg
ZXhwZWN0TUQ1KCIxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2
Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MCIsICI1N2VkZjRhMjJiZTNjOTU1YWM0
OWRhMmUyMTA3YjY3YSIpOwotfQotI2VuZGlmCi0KIC8vIE5vdGU6IHRoaXMgY29kZSBpcyBoYXJt
bGVzcyBvbiBsaXR0bGUtZW5kaWFuIG1hY2hpbmVzLgogCiBzdGF0aWMgdm9pZCByZXZlcnNlQnl0
ZXModWludDhfdCogYnVmLCB1bnNpZ25lZCBsb25ncykKQEAgLTIwMyw4ICsxNjUsNiBAQCBzdGF0
aWMgdm9pZCBNRDVUcmFuc2Zvcm0odWludDMyX3QgYnVmWzRdLCBjb25zdCB1aW50MzJfdCBpblsx
Nl0pCiAKIE1ENTo6TUQ1KCkKIHsKLSAgICAvLyBGSVhNRTogTW92ZSB1bml0IHRlc3RzIHNvbWV3
aGVyZSBvdXRzaWRlIHRoZSBjb25zdHJ1Y3Rvci4gU2VlIGJ1ZyA1NTg1My4KLSAgICB0ZXN0TUQ1
KCk7CiAgICAgbV9idWZbMF0gPSAweDY3NDUyMzAxOwogICAgIG1fYnVmWzFdID0gMHhlZmNkYWI4
OTsKICAgICBtX2J1ZlsyXSA9IDB4OThiYWRjZmU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0
Zi9TSEExLmNwcCBiL1NvdXJjZS9XVEYvd3RmL1NIQTEuY3BwCmluZGV4IDg5MWMxNzZlYjg3YjM5
ZTg0MTVlM2UyNTQxN2FiMjI5OWNjYjcxNDYuLjUyYjU1MjlmMTE2ZmY2MDlkODlkMGM1OTYyOTM5
ZWUxZDZhMmFiZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1NIQTEuY3BwCisrKyBiL1Nv
dXJjZS9XVEYvd3RmL1NIQTEuY3BwCkBAIC00MiwzNCArNDIsNiBAQAogCiBuYW1lc3BhY2UgV1RG
IHsKIAotI2lmZGVmIE5ERUJVRwotc3RhdGljIGlubGluZSB2b2lkIHRlc3RTSEExKCkgeyB9Ci0j
ZWxzZQotc3RhdGljIGJvb2wgaXNUZXN0U0hBMURvbmU7Ci0KLXN0YXRpYyB2b2lkIGV4cGVjdFNI
QTEoQ1N0cmluZyBpbnB1dCwgaW50IHJlcGVhdCwgQ1N0cmluZyBleHBlY3RlZCkKLXsKLSAgICBT
SEExIHNoYTE7Ci0gICAgZm9yIChpbnQgaSA9IDA7IGkgPCByZXBlYXQ7ICsraSkKLSAgICAgICAg
c2hhMS5hZGRCeXRlcyhpbnB1dCk7Ci0gICAgQ1N0cmluZyBhY3R1YWwgPSBzaGExLmNvbXB1dGVI
ZXhEaWdlc3QoKTsKLSAgICBBU1NFUlRfV0lUSF9NRVNTQUdFKGFjdHVhbCA9PSBleHBlY3RlZCwg
ImlucHV0OiAlcywgcmVwZWF0OiAlZCwgYWN0dWFsOiAlcywgZXhwZWN0ZWQ6ICVzIiwgaW5wdXQu
ZGF0YSgpLCByZXBlYXQsIGFjdHVhbC5kYXRhKCksIGV4cGVjdGVkLmRhdGEoKSk7Ci19Ci0KLXN0
YXRpYyB2b2lkIHRlc3RTSEExKCkKLXsKLSAgICBpZiAoaXNUZXN0U0hBMURvbmUpCi0gICAgICAg
IHJldHVybjsKLSAgICBpc1Rlc3RTSEExRG9uZSA9IHRydWU7Ci0KLSAgICAvLyBFeGFtcGxlcyB0
YWtlbiBmcm9tIHNhbXBsZSBjb2RlIGluIFJGQyAzMTc0LgotICAgIGV4cGVjdFNIQTEoImFiYyIs
IDEsICJBOTk5M0UzNjQ3MDY4MTZBQkEzRTI1NzE3ODUwQzI2QzlDRDBEODlEIik7Ci0gICAgZXhw
ZWN0U0hBMSgiYWJjZGJjZGVjZGVmZGVmZ2VmZ2hmZ2hpZ2hpamhpamtpamtsamtsbWtsbW5sbW5v
bW5vcG5vcHEiLCAxLCAiODQ5ODNFNDQxQzNCRDI2RUJBQUU0QUExRjk1MTI5RTVFNTQ2NzBGMSIp
OwotICAgIGV4cGVjdFNIQTEoImEiLCAxMDAwMDAwLCAiMzRBQTk3M0NENEM0REFBNEY2MUVFQjJC
REJBRDI3MzE2NTM0MDE2RiIpOwotICAgIGV4cGVjdFNIQTEoIjAxMjM0NTY3MDEyMzQ1NjcwMTIz
NDU2NzAxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjciLCAxMCwgIkRFQTM1
NkEyQ0RERDkwQzdBN0VDRURDNUVCQjU2MzkzNEY0NjA0NTIiKTsKLX0KLSNlbmRpZgotCiBzdGF0
aWMgaW5saW5lIHVpbnQzMl90IGYoaW50IHQsIHVpbnQzMl90IGIsIHVpbnQzMl90IGMsIHVpbnQz
Ml90IGQpCiB7CiAgICAgQVNTRVJUKHQgPj0gMCAmJiB0IDwgODApOwpAQCAtMTAyLDggKzc0LDYg
QEAgc3RhdGljIGlubGluZSB1aW50MzJfdCByb3RhdGVMZWZ0KGludCBuLCB1aW50MzJfdCB4KQog
CiBTSEExOjpTSEExKCkKIHsKLSAgICAvLyBGSVhNRTogTW92ZSB1bml0IHRlc3RzIHNvbWV3aGVy
ZSBvdXRzaWRlIHRoZSBjb25zdHJ1Y3Rvci4gU2VlIGJ1ZyA1NTg1My4KLSAgICB0ZXN0U0hBMSgp
OwogICAgIHJlc2V0KCk7CiB9CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xz
L0NoYW5nZUxvZwppbmRleCAxMmM2MDRmYjUxNTZmNjJhYTRjYTZkOWY4YzQwYmUwMjI4MzRiZjE2
Li5hNjJmYmMzZDA2YWI0ODM5M2UzMTcwMDg3NmNiMDk5NTk1ZWY2YjIxIDEwMDY0NAotLS0gYS9U
b29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjcgQEAKKzIw
MTMtMDUtMjAgIFphbiBEb2JlcnNlayAgPHpkb2JlcnNla0BpZ2FsaWEuY29tPgorCisgICAgICAg
IE1vdmUgTUQ1LCBTSEExIHVuaXQgdGVzdHMgZnJvbSBXVEYgdG8gVGVzdFdlYktpdEFQSQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE2NDQ1CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHRoZSBNRDUg
YW5kIFNIQTEgdW5pdCB0ZXN0cyB0aGF0IHdlcmUgcHJldmlvdXNseSBsb2NhdGVkIGluc2lkZSBX
VEYuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL0NNYWtlTGlzdHMudHh0OgorICAgICAgICAq
IFRlc3RXZWJLaXRBUEkvR05VbWFrZWZpbGUuYW06CisgICAgICAgICogVGVzdFdlYktpdEFQSS9U
ZXN0V2ViS2l0QVBJLnZjeHByb2ovVGVzdFdlYktpdEFQSS52Y3hwcm9qOgorICAgICAgICAqIFRl
c3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS52Y3hwcm9qL1Rlc3RXZWJLaXRBUEkudmN4cHJvai5m
aWx0ZXJzOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL01ENS5jcHA6IEFkZGVk
LgorICAgICAgICAoVGVzdFdlYktpdEFQSSk6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpleHBl
Y3RNRDUpOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6CisgICAgICAgICogVGVzdFdl
YktpdEFQSS9UZXN0cy9XVEYvU0hBMS5jcHA6IEFkZGVkLgorICAgICAgICAoVGVzdFdlYktpdEFQ
SSk6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpleHBlY3RTSEExKToKKyAgICAgICAgKFRlc3RX
ZWJLaXRBUEk6OlRFU1QpOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL1dURi5w
cm86CisgICAgICAgICogVGVzdFdlYktpdEFQSS93aW4vVGVzdFdlYktpdEFQSS52Y3Byb2o6CisK
IDIwMTMtMDUtMjAgIENocmlzdG9waGUgRHVtZXogIDxjaC5kdW1lekBzaXNhLnNhbXN1bmcuY29t
PgogCiAgICAgICAgIFtFRkxdIFJlZW5hYmxlZCBJTkRFWEVEX0RBVEFCQVNFIGFmdGVyIHIxNTAz
NDQKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvQ01ha2VMaXN0cy50eHQgYi9Ub29s
cy9UZXN0V2ViS2l0QVBJL0NNYWtlTGlzdHMudHh0CmluZGV4IDRkNmM3YzM4OGM2YWJjZmJjYmI4
M2U0OTU4YmFhNTJiM2E1MjBjYTAuLjQ5MzgxNGQzNjU2ZTA5NzFkNmJlZWNlOTQzZDA2YTQ0ZGE2
NWNmNmUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvQ01ha2VMaXN0cy50eHQKKysr
IGIvVG9vbHMvVGVzdFdlYktpdEFQSS9DTWFrZUxpc3RzLnR4dApAQCAtNzYsOSArNzYsMTEgQEAg
YWRkX2V4ZWN1dGFibGUodGVzdF93dGYKICAgICAke1RFU1RXRUJLSVRBUElfRElSfS9UZXN0cy9X
VEYvSGFzaE1hcC5jcHAKICAgICAke1RFU1RXRUJLSVRBUElfRElSfS9UZXN0cy9XVEYvSW50ZWdl
clRvU3RyaW5nQ29udmVyc2lvbi5jcHAKICAgICAke1RFU1RXRUJLSVRBUElfRElSfS9UZXN0cy9X
VEYvTGlzdEhhc2hTZXQuY3BwCisgICAgJHtURVNUV0VCS0lUQVBJX0RJUn0vVGVzdHMvV1RGL01E
NS5jcHAKICAgICAke1RFU1RXRUJLSVRBUElfRElSfS9UZXN0cy9XVEYvTWF0aEV4dHJhcy5jcHAK
ICAgICAke1RFU1RXRUJLSVRBUElfRElSfS9UZXN0cy9XVEYvTWV0YUFsbG9jYXRvci5jcHAKICAg
ICAke1RFU1RXRUJLSVRBUElfRElSfS9UZXN0cy9XVEYvUmVkQmxhY2tUcmVlLmNwcAorICAgICR7
VEVTVFdFQktJVEFQSV9ESVJ9L1Rlc3RzL1dURi9TSEExLmNwcAogICAgICR7VEVTVFdFQktJVEFQ
SV9ESVJ9L1Rlc3RzL1dURi9TYXR1cmF0ZWRBcml0aG1ldGljT3BlcmF0aW9ucy5jcHAKICAgICAk
e1RFU1RXRUJLSVRBUElfRElSfS9UZXN0cy9XVEYvU3RyaW5nQnVpbGRlci5jcHAKICAgICAke1RF
U1RXRUJLSVRBUElfRElSfS9UZXN0cy9XVEYvU3RyaW5nSGFzaGVyLmNwcApkaWZmIC0tZ2l0IGEv
VG9vbHMvVGVzdFdlYktpdEFQSS9HTlVtYWtlZmlsZS5hbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
R05VbWFrZWZpbGUuYW0KaW5kZXggNzJmNDc1OWM0NTg4YzMyZjUxOTRkMzJlNDRmYTMzY2U0ZGU4
NTQzOS4uZGEzOWU2YzhhNWRjY2JjYTNhZTdiYzRjMzU3NDBjYzAzMmU3NTY2NiAxMDA2NDQKLS0t
IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9HTlVtYWtlZmlsZS5hbQorKysgYi9Ub29scy9UZXN0V2Vi
S2l0QVBJL0dOVW1ha2VmaWxlLmFtCkBAIC01OSwxMCArNTksMTIgQEAgUHJvZ3JhbXNfVGVzdFdl
YktpdEFQSV9UZXN0V1RGX1NPVVJDRVMgPSBcCiAJVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9X
VEYvSGFzaFNldC5jcHAgXAogCVRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL0ludGVnZXJU
b1N0cmluZ0NvbnZlcnNpb24uY3BwIFwKIAlUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9M
aXN0SGFzaFNldC5jcHAgXAorCVRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL01ENS5jcHAg
XAogCVRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL01hdGhFeHRyYXMuY3BwIFwKIAlUb29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9NZWRpYVRpbWUuY3BwIFwKIAlUb29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RzL1dURi9NZXRhQWxsb2NhdG9yLmNwcCBcCiAJVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0cy9XVEYvUmVkQmxhY2tUcmVlLmNwcCBcCisJVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
cy9XVEYvU0hBMS5jcHAgXAogCVRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL1NhdHVyYXRl
ZEFyaXRobWV0aWNPcGVyYXRpb25zLmNwcCBcCiAJVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9X
VEYvU3RyaW5nQnVpbGRlci5jcHAgXAogCVRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL1N0
cmluZ0hhc2hlci5jcHAgXApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2Vi
S2l0QVBJLnZjeHByb2ovVGVzdFdlYktpdEFQSS52Y3hwcm9qIGIvVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0V2ViS2l0QVBJLnZjeHByb2ovVGVzdFdlYktpdEFQSS52Y3hwcm9qCmluZGV4IGQxYTVh
ZmYxMjQwYzQ2NjdmMjlmYmY4Nzg0MTlmOTk5MDY3OWZjNTIuLjY0YzMxOTAzMmUwMWU3ODRhYTg1
Zjc3OGNiYTc0ODc4NTM2MjU0MzggMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dFdlYktpdEFQSS52Y3hwcm9qL1Rlc3RXZWJLaXRBUEkudmN4cHJvagorKysgYi9Ub29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkudmN4cHJvai9UZXN0V2ViS2l0QVBJLnZjeHByb2oKQEAg
LTE2MCw4ICsxNjAsMTAgQEAKICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXFRlc3RzXFdURlxD
aGVja2VkQXJpdGhtZXRpY09wZXJhdGlvbnMuY3BwIiAvPg0KICAgICA8Q2xDb21waWxlIEluY2x1
ZGU9Ii4uXFRlc3RzXFdURlxGdW5jdGlvbmFsLmNwcCIgLz4NCiAgICAgPENsQ29tcGlsZSBJbmNs
dWRlPSIuLlxUZXN0c1xXVEZcSGFzaE1hcC5jcHAiIC8+DQorICAgIDxDbENvbXBpbGUgSW5jbHVk
ZT0iLi5cVGVzdHNcV1RGXE1ENS5jcHAiIC8+DQogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5c
VGVzdHNcV1RGXE1hdGhFeHRyYXMuY3BwIiAvPg0KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4u
XFRlc3RzXFdURlxNZWRpYVRpbWUuY3BwIiAvPg0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4u
XFRlc3RzXFdURlxTSEExLmNwcCIgLz4NCiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxUZXN0
c1xXVEZcU2F0dXJhdGVkQXJpdGhtZXRpY09wZXJhdGlvbnMuY3BwIiAvPg0KICAgICA8Q2xDb21w
aWxlIEluY2x1ZGU9Ii4uXFRlc3RzXFdURlxTdHJpbmdIYXNoZXIuY3BwIiAvPg0KICAgICA8Q2xD
b21waWxlIEluY2x1ZGU9Ii4uXFRlc3RzXFdURlxTdHJpbmdPcGVyYXRvcnMuY3BwIiAvPg0KZGlm
ZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS52Y3hwcm9qL1Rlc3RX
ZWJLaXRBUEkudmN4cHJvai5maWx0ZXJzIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0
QVBJLnZjeHByb2ovVGVzdFdlYktpdEFQSS52Y3hwcm9qLmZpbHRlcnMKaW5kZXggMzc1NjM4MzZi
ZGMzZjJmMjhmYTIxZDhiNWM3MDAyNDliN2ZmMDQxMi4uZTgyNDE4OWU1MzZhZmFlMzVhYTRhZGNk
MzI5ZjllMmNjYTA3YTRlOCAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2Vi
S2l0QVBJLnZjeHByb2ovVGVzdFdlYktpdEFQSS52Y3hwcm9qLmZpbHRlcnMKKysrIGIvVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnZjeHByb2ovVGVzdFdlYktpdEFQSS52Y3hwcm9q
LmZpbHRlcnMKQEAgLTU0LDEyICs1NCwxOCBAQAogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5c
VGVzdHNcV1RGXEhhc2hNYXAuY3BwIj4NCiAgICAgICA8RmlsdGVyPlRlc3RzXFdURjwvRmlsdGVy
Pg0KICAgICA8L0NsQ29tcGlsZT4NCisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxUZXN0c1xX
VEZcTUQ1LmNwcCI+DQorICAgICAgPEZpbHRlcj5UZXN0c1xXVEY8L0ZpbHRlcj4NCisgICAgPC9D
bENvbXBpbGU+DQogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cVGVzdHNcV1RGXE1hdGhFeHRy
YXMuY3BwIj4NCiAgICAgICA8RmlsdGVyPlRlc3RzXFdURjwvRmlsdGVyPg0KICAgICA8L0NsQ29t
cGlsZT4NCiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxUZXN0c1xXVEZcTWVkaWFUaW1lLmNw
cCI+DQogICAgICAgPEZpbHRlcj5UZXN0c1xXVEY8L0ZpbHRlcj4NCiAgICAgPC9DbENvbXBpbGU+
DQorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cVGVzdHNcV1RGXFNIQTEuY3BwIj4NCisgICAg
ICA8RmlsdGVyPlRlc3RzXFdURjwvRmlsdGVyPg0KKyAgICA8L0NsQ29tcGlsZT4NCiAgICAgPENs
Q29tcGlsZSBJbmNsdWRlPSIuLlxUZXN0c1xXVEZcU2F0dXJhdGVkQXJpdGhtZXRpY09wZXJhdGlv
bnMuY3BwIj4NCiAgICAgICA8RmlsdGVyPlRlc3RzXFdURjwvRmlsdGVyPg0KICAgICA8L0NsQ29t
cGlsZT4NCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9NRDUuY3Bw
IGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvTUQ1LmNwcApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hMDkx
ZGYxMjgwNTAzZGEzYmUwMzUzZWZjYWI3M2M1MWJmYTc0ZGI3Ci0tLSAvZGV2L251bGwKKysrIGIv
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvTUQ1LmNwcApAQCAtMCwwICsxLDY0IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAg
ICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAq
IGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4g
bm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRv
cnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdp
dGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRP
UlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05F
UiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisg
KiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lu
Y2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgPHd0Zi9NRDUuaD4KKyNpbmNsdWRlIDx3dGYvdGV4
dC9DU3RyaW5nLmg+CisKK25hbWVzcGFjZSBUZXN0V2ViS2l0QVBJIHsKKworc3RhdGljIHZvaWQg
ZXhwZWN0TUQ1KENTdHJpbmcgaW5wdXQsIENTdHJpbmcgZXhwZWN0ZWQpCit7CisgICAgTUQ1IG1k
NTsKKyAgICBtZDUuYWRkQnl0ZXMocmVpbnRlcnByZXRfY2FzdDxjb25zdCB1aW50OF90Kj4oaW5w
dXQuZGF0YSgpKSwgaW5wdXQubGVuZ3RoKCkpOworICAgIFZlY3Rvcjx1aW50OF90LCAxNj4gZGln
ZXN0OworICAgIG1kNS5jaGVja3N1bShkaWdlc3QpOworICAgIGNoYXIqIGJ1ZiA9IDA7CisgICAg
Q1N0cmluZyBhY3R1YWwgPSBDU3RyaW5nOjpuZXdVbmluaXRpYWxpemVkKDMyLCBidWYpOworICAg
IGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgMTY7IGkrKywgYnVmICs9IDIpCisgICAgICAgIHNucHJp
bnRmKGJ1ZiwgMywgIiUwMngiLCBkaWdlc3QuYXQoaSkpOworCisgICAgQVNTRVJUX0VRKGV4cGVj
dGVkLmxlbmd0aCgpLCBhY3R1YWwubGVuZ3RoKCkpOworICAgIEFTU0VSVF9TVFJFUShleHBlY3Rl
ZC5kYXRhKCksIGFjdHVhbC5kYXRhKCkpOworfQorCitURVNUKFdURl9NRDUsIENvbXB1dGF0aW9u
KQoreworICAgIC8vIE1ENSBUZXN0IHN1aXRlIGZyb20gaHR0cDovL3d3dy5pZXRmLm9yZy9yZmMv
cmZjMTMyMS50eHQKKyAgICBleHBlY3RNRDUoIiIsICJkNDFkOGNkOThmMDBiMjA0ZTk4MDA5OThl
Y2Y4NDI3ZSIpOworICAgIGV4cGVjdE1ENSgiYSIsICIwY2MxNzViOWMwZjFiNmE4MzFjMzk5ZTI2
OTc3MjY2MSIpOworICAgIGV4cGVjdE1ENSgiYWJjIiwgIjkwMDE1MDk4M2NkMjRmYjBkNjk2M2Y3
ZDI4ZTE3ZjcyIik7CisgICAgZXhwZWN0TUQ1KCJtZXNzYWdlIGRpZ2VzdCIsICJmOTZiNjk3ZDdj
Yjc5MzhkNTI1YTJmMzFhYWYxNjFkMCIpOworICAgIGV4cGVjdE1ENSgiYWJjZGVmZ2hpamtsbW5v
cHFyc3R1dnd4eXoiLCAiYzNmY2QzZDc2MTkyZTQwMDdkZmI0OTZjY2E2N2UxM2IiKTsKKyAgICBl
eHBlY3RNRDUoIkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1
dnd4eXowMTIzNDU2Nzg5IiwgImQxNzRhYjk4ZDI3N2Q5ZjVhNTYxMWMyYzlmNDE5ZDlmIik7Cisg
ICAgZXhwZWN0TUQ1KCIxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIz
NDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MCIsICI1N2VkZjRhMjJiZTNjOTU1
YWM0OWRhMmUyMTA3YjY3YSIpOworfQorCit9IC8vIG5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJCmRp
ZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9TSEExLmNwcCBiL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL1NIQTEuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRjZjlkMjdiMzIy
YjZiZmZkNDhmZTIzMTE4MTdlNGJkODM4Y2VhMTAKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9TSEExLmNwcApAQCAtMCwwICsxLDU3IEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3Ry
aWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRo
ZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9y
IHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQg
c3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAq
ICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUg
ImNvbmZpZy5oIgorI2luY2x1ZGUgPHd0Zi9TSEExLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvQ1N0
cmluZy5oPgorCituYW1lc3BhY2UgVGVzdFdlYktpdEFQSSB7CisKK3N0YXRpYyB2b2lkIGV4cGVj
dFNIQTEoQ1N0cmluZyBpbnB1dCwgaW50IHJlcGVhdCwgQ1N0cmluZyBleHBlY3RlZCkKK3sKKyAg
ICBTSEExIHNoYTE7CisgICAgZm9yIChpbnQgaSA9IDA7IGkgPCByZXBlYXQ7ICsraSkKKyAgICAg
ICAgc2hhMS5hZGRCeXRlcyhpbnB1dCk7CisgICAgQ1N0cmluZyBhY3R1YWwgPSBzaGExLmNvbXB1
dGVIZXhEaWdlc3QoKTsKKworICAgIEFTU0VSVF9FUShleHBlY3RlZC5sZW5ndGgoKSwgYWN0dWFs
Lmxlbmd0aCgpKTsKKyAgICBBU1NFUlRfU1RSRVEoZXhwZWN0ZWQuZGF0YSgpLCBhY3R1YWwuZGF0
YSgpKTsKK30KKworVEVTVChXVEZfU0hBMSwgQ29tcHV0YXRpb24pCit7CisgICAgLy8gRXhhbXBs
ZXMgdGFrZW4gZnJvbSBzYW1wbGUgY29kZSBpbiBSRkMgMzE3NC4KKyAgICBleHBlY3RTSEExKCJh
YmMiLCAxLCAiQTk5OTNFMzY0NzA2ODE2QUJBM0UyNTcxNzg1MEMyNkM5Q0QwRDg5RCIpOworICAg
IGV4cGVjdFNIQTEoImFiY2RiY2RlY2RlZmRlZmdlZmdoZmdoaWdoaWpoaWpraWprbGprbG1rbG1u
bG1ub21ub3Bub3BxIiwgMSwgIjg0OTgzRTQ0MUMzQkQyNkVCQUFFNEFBMUY5NTEyOUU1RTU0Njcw
RjEiKTsKKyAgICBleHBlY3RTSEExKCJhIiwgMTAwMDAwMCwgIjM0QUE5NzNDRDRDNERBQTRGNjFF
RUIyQkRCQUQyNzMxNjUzNDAxNkYiKTsKKyAgICBleHBlY3RTSEExKCIwMTIzNDU2NzAxMjM0NTY3
MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3IiwgMTAsICJE
RUEzNTZBMkNEREQ5MEM3QTdFQ0VEQzVFQkI1NjM5MzRGNDYwNDUyIik7Cit9CisKK30gLy8gbmFt
ZXNwYWNlIFRlc3RXZWJLaXRBUEkKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvV1RGL1dURi5wcm8gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9XVEYucHJvCmlu
ZGV4IDEyMDgxOTgxY2M5MWNjZDQ0ZjU1ZTQ4MDY5MGRmNDY1OThiYzAwZWYuLjhiMzY1OGZmZGQ3
NTdkYzQ4ZjczODE5OTc3YjM2ZDhkOTY3YWE0ZjYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdHMvV1RGL1dURi5wcm8KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9X
VEYvV1RGLnBybwpAQCAtMTAsOSArMTAsMTEgQEAgU09VUkNFUyArPSBcCiAgICAgSGFzaFNldC5j
cHAgXAogICAgIEludGVnZXJUb1N0cmluZ0NvbnZlcnNpb24uY3BwIFwKICAgICBMaXN0SGFzaFNl
dC5jcHAgXAorICAgIE1ENS5jcHAgXAogICAgIE1hdGhFeHRyYXMuY3BwIFwKICAgICBNZWRpYVRp
bWUuY3BwIFwKICAgICBSZWRCbGFja1RyZWUuY3BwIFwKKyAgICBTSEExLmNwcCBcCiAgICAgU2F0
dXJhdGVkQXJpdGhtZXRpY09wZXJhdGlvbnMuY3BwIFwKICAgICBTdHJpbmdCdWlsZGVyLmNwcCBc
CiAgICAgU3RyaW5nSGFzaGVyLmNwcCBcCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJ
L3dpbi9UZXN0V2ViS2l0QVBJLnZjcHJvaiBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvd2luL1Rlc3RX
ZWJLaXRBUEkudmNwcm9qCmluZGV4IDY2ZTQ4ZjQ5YzRiYmI0YTFmNmRmMDRkZDM1MTA5YzI0Yjk4
MjcyZWUuLjkwOWY3Yzk5NmQ5OWMzMWMzYjIyMTViMTM0NjkzMjNiN2QzMTMzYTcgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvd2luL1Rlc3RXZWJLaXRBUEkudmNwcm9qCisrKyBiL1Rv
b2xzL1Rlc3RXZWJLaXRBUEkvd2luL1Rlc3RXZWJLaXRBUEkudmNwcm9qCkBAIC00ODQsNiArNDg0
LDEwIEBACiAJCQkJCT4KIAkJCQk8L0ZpbGU+CiAJCQkJPEZpbGUKKwkJCQkJUmVsYXRpdmVQYXRo
PSIuLlxUZXN0c1xXVEZcTUQ1LmNwcCIKKwkJCQkJPgorCQkJCTwvRmlsZT4KKwkJCQk8RmlsZQog
CQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXFRlc3RzXFdURlxNYXRoRXh0cmFzLmNwcCIKIAkJCQkJPgog
CQkJCTwvRmlsZT4KQEAgLTQ5Miw2ICs0OTYsMTAgQEAKIAkJCQkJPgogCQkJCTwvRmlsZT4KIAkJ
CQk8RmlsZQorCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXFRlc3RzXFdURlxTSEExLmNwcCIKKwkJCQkJ
PgorCQkJCTwvRmlsZT4KKwkJCQk8RmlsZQogCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXFRlc3RzXFdU
RlxTYXR1cmF0ZWRBcml0aG1ldGljT3BlcmF0aW9ucy5jcHAiCiAJCQkJCT4KIAkJCQk8L0ZpbGU+
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>203369</attachid>
            <date>2013-05-30 12:00:19 -0700</date>
            <delta_ts>2013-05-31 01:50:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-116445-20130530205854.patch</filename>
            <type>text/plain</type>
            <size>21478</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUwOTczCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDFlMGY1YjlmNTgzMTg0OTY3MGI1MmQ3
Mzk2YWExOGM2Y2E1NmNhM2MuLjc5Nzk5M2NlNGIxZmQzMTFhNjAxYWQ3YTUzYzIxNmNjOThkYTI1
MjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTMtMDUtMzAgIFphbiBEb2JlcnNlayAgPHpkb2Jl
cnNla0BpZ2FsaWEuY29tPgorCisgICAgICAgIE1vdmUgTUQ1LCBTSEExIHVuaXQgdGVzdHMgZnJv
bSBXVEYgdG8gVGVzdFdlYktpdEFQSQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTE2NDQ1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgUmVtb3ZlIHRoZSBNRDUgYW5kIFNIQTEgdGVzdCBjYXNlcyBmcm9tIHRo
ZSBXVEYgY29kZS4gVGhlIHNhbWUgY2FzZXMgYXJlIG5vdyBidWlsdCBhbmQgcnVuIHVuZGVyIFRl
c3RXZWJLaXRBUEkuCisKKyAgICAgICAgKiB3dGYvTUQ1LmNwcDoKKyAgICAgICAgKFdURjo6TUQ1
OjpNRDUpOgorICAgICAgICAqIHd0Zi9TSEExLmNwcDoKKyAgICAgICAgKFdURjo6U0hBMTo6U0hB
MSk6CisKIDIwMTMtMDUtMjkgIEtlbnQgVGFtdXJhICA8dGtlbnRAY2hyb21pdW0ub3JnPgogCiAg
ICAgICAgIFJlbW92ZSBFTkFCTEVfSU5QVVRfTVVMVElQTEVfRklFTERTX1VJLgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dURi93dGYvTUQ1LmNwcCBiL1NvdXJjZS9XVEYvd3RmL01ENS5jcHAKaW5kZXgg
MDdiYmFkZDlmNWVhM2RiZjE3MThhOTkwMjI5NDk4NDIwYzkwMmIyNy4uN2QwMTAwZDBlNWEzZDYw
NzdmMWQwODYwYzljNzM2MjYyMThkMDJhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvTUQ1
LmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9NRDUuY3BwCkBAIC01OCw0NCArNTgsNiBAQAogCiBu
YW1lc3BhY2UgV1RGIHsKIAotI2lmZGVmIE5ERUJVRwotc3RhdGljIGlubGluZSB2b2lkIHRlc3RN
RDUoKSB7IH0KLSNlbHNlCi0vLyBNRDUgdGVzdCBjYXNlLgotc3RhdGljIGJvb2wgaXNUZXN0TUQ1
RG9uZTsKLQotc3RhdGljIHZvaWQgZXhwZWN0TUQ1KENTdHJpbmcgaW5wdXQsIENTdHJpbmcgZXhw
ZWN0ZWQpCi17Ci0gICAgTUQ1IG1kNTsKLSAgICBtZDUuYWRkQnl0ZXMocmVpbnRlcnByZXRfY2Fz
dDxjb25zdCB1aW50OF90Kj4oaW5wdXQuZGF0YSgpKSwgaW5wdXQubGVuZ3RoKCkpOwotICAgIFZl
Y3Rvcjx1aW50OF90LCAxNj4gZGlnZXN0OwotICAgIG1kNS5jaGVja3N1bShkaWdlc3QpOwotICAg
IGNoYXIqIGJ1ZiA9IDA7Ci0gICAgQ1N0cmluZyBhY3R1YWwgPSBDU3RyaW5nOjpuZXdVbmluaXRp
YWxpemVkKDMyLCBidWYpOwotICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgMTY7IGkrKykgewot
ICAgICAgICBzbnByaW50ZihidWYsIDMsICIlMDJ4IiwgZGlnZXN0LmF0KGkpKTsKLSAgICAgICAg
YnVmICs9IDI7Ci0gICAgfQotICAgIEFTU0VSVF9XSVRIX01FU1NBR0UoYWN0dWFsID09IGV4cGVj
dGVkLCAiaW5wdXQ6JXNbJWx1XSBhY3R1YWw6JXMgZXhwZWN0ZWQ6JXMiLCBpbnB1dC5kYXRhKCks
IHN0YXRpY19jYXN0PHVuc2lnbmVkIGxvbmc+KGlucHV0Lmxlbmd0aCgpKSwgYWN0dWFsLmRhdGEo
KSwgZXhwZWN0ZWQuZGF0YSgpKTsKLX0KLQotc3RhdGljIHZvaWQgdGVzdE1ENSgpCi17Ci0gICAg
aWYgKGlzVGVzdE1ENURvbmUpCi0gICAgICAgIHJldHVybjsKLSAgICBpc1Rlc3RNRDVEb25lID0g
dHJ1ZTsKLQotICAgIC8vIE1ENSBUZXN0IHN1aXRlIGZyb20gaHR0cDovL3d3dy5pZXRmLm9yZy9y
ZmMvcmZjMTMyMS50eHQKLSAgICBleHBlY3RNRDUoIiIsICJkNDFkOGNkOThmMDBiMjA0ZTk4MDA5
OThlY2Y4NDI3ZSIpOwotICAgIGV4cGVjdE1ENSgiYSIsICIwY2MxNzViOWMwZjFiNmE4MzFjMzk5
ZTI2OTc3MjY2MSIpOwotICAgIGV4cGVjdE1ENSgiYWJjIiwgIjkwMDE1MDk4M2NkMjRmYjBkNjk2
M2Y3ZDI4ZTE3ZjcyIik7Ci0gICAgZXhwZWN0TUQ1KCJtZXNzYWdlIGRpZ2VzdCIsICJmOTZiNjk3
ZDdjYjc5MzhkNTI1YTJmMzFhYWYxNjFkMCIpOwotICAgIGV4cGVjdE1ENSgiYWJjZGVmZ2hpamts
bW5vcHFyc3R1dnd4eXoiLCAiYzNmY2QzZDc2MTkyZTQwMDdkZmI0OTZjY2E2N2UxM2IiKTsKLSAg
ICBleHBlY3RNRDUoIkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFy
c3R1dnd4eXowMTIzNDU2Nzg5IiwgImQxNzRhYjk4ZDI3N2Q5ZjVhNTYxMWMyYzlmNDE5ZDlmIik7
Ci0gICAgZXhwZWN0TUQ1KCIxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkw
MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MCIsICI1N2VkZjRhMjJiZTNj
OTU1YWM0OWRhMmUyMTA3YjY3YSIpOwotfQotI2VuZGlmCi0KIC8vIE5vdGU6IHRoaXMgY29kZSBp
cyBoYXJtbGVzcyBvbiBsaXR0bGUtZW5kaWFuIG1hY2hpbmVzLgogCiBzdGF0aWMgdm9pZCByZXZl
cnNlQnl0ZXModWludDhfdCogYnVmLCB1bnNpZ25lZCBsb25ncykKQEAgLTIwMyw4ICsxNjUsNiBA
QCBzdGF0aWMgdm9pZCBNRDVUcmFuc2Zvcm0odWludDMyX3QgYnVmWzRdLCBjb25zdCB1aW50MzJf
dCBpblsxNl0pCiAKIE1ENTo6TUQ1KCkKIHsKLSAgICAvLyBGSVhNRTogTW92ZSB1bml0IHRlc3Rz
IHNvbWV3aGVyZSBvdXRzaWRlIHRoZSBjb25zdHJ1Y3Rvci4gU2VlIGJ1ZyA1NTg1My4KLSAgICB0
ZXN0TUQ1KCk7CiAgICAgbV9idWZbMF0gPSAweDY3NDUyMzAxOwogICAgIG1fYnVmWzFdID0gMHhl
ZmNkYWI4OTsKICAgICBtX2J1ZlsyXSA9IDB4OThiYWRjZmU7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V1RGL3d0Zi9TSEExLmNwcCBiL1NvdXJjZS9XVEYvd3RmL1NIQTEuY3BwCmluZGV4IDg5MWMxNzZl
Yjg3YjM5ZTg0MTVlM2UyNTQxN2FiMjI5OWNjYjcxNDYuLjUyYjU1MjlmMTE2ZmY2MDlkODlkMGM1
OTYyOTM5ZWUxZDZhMmFiZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1NIQTEuY3BwCisr
KyBiL1NvdXJjZS9XVEYvd3RmL1NIQTEuY3BwCkBAIC00MiwzNCArNDIsNiBAQAogCiBuYW1lc3Bh
Y2UgV1RGIHsKIAotI2lmZGVmIE5ERUJVRwotc3RhdGljIGlubGluZSB2b2lkIHRlc3RTSEExKCkg
eyB9Ci0jZWxzZQotc3RhdGljIGJvb2wgaXNUZXN0U0hBMURvbmU7Ci0KLXN0YXRpYyB2b2lkIGV4
cGVjdFNIQTEoQ1N0cmluZyBpbnB1dCwgaW50IHJlcGVhdCwgQ1N0cmluZyBleHBlY3RlZCkKLXsK
LSAgICBTSEExIHNoYTE7Ci0gICAgZm9yIChpbnQgaSA9IDA7IGkgPCByZXBlYXQ7ICsraSkKLSAg
ICAgICAgc2hhMS5hZGRCeXRlcyhpbnB1dCk7Ci0gICAgQ1N0cmluZyBhY3R1YWwgPSBzaGExLmNv
bXB1dGVIZXhEaWdlc3QoKTsKLSAgICBBU1NFUlRfV0lUSF9NRVNTQUdFKGFjdHVhbCA9PSBleHBl
Y3RlZCwgImlucHV0OiAlcywgcmVwZWF0OiAlZCwgYWN0dWFsOiAlcywgZXhwZWN0ZWQ6ICVzIiwg
aW5wdXQuZGF0YSgpLCByZXBlYXQsIGFjdHVhbC5kYXRhKCksIGV4cGVjdGVkLmRhdGEoKSk7Ci19
Ci0KLXN0YXRpYyB2b2lkIHRlc3RTSEExKCkKLXsKLSAgICBpZiAoaXNUZXN0U0hBMURvbmUpCi0g
ICAgICAgIHJldHVybjsKLSAgICBpc1Rlc3RTSEExRG9uZSA9IHRydWU7Ci0KLSAgICAvLyBFeGFt
cGxlcyB0YWtlbiBmcm9tIHNhbXBsZSBjb2RlIGluIFJGQyAzMTc0LgotICAgIGV4cGVjdFNIQTEo
ImFiYyIsIDEsICJBOTk5M0UzNjQ3MDY4MTZBQkEzRTI1NzE3ODUwQzI2QzlDRDBEODlEIik7Ci0g
ICAgZXhwZWN0U0hBMSgiYWJjZGJjZGVjZGVmZGVmZ2VmZ2hmZ2hpZ2hpamhpamtpamtsamtsbWts
bW5sbW5vbW5vcG5vcHEiLCAxLCAiODQ5ODNFNDQxQzNCRDI2RUJBQUU0QUExRjk1MTI5RTVFNTQ2
NzBGMSIpOwotICAgIGV4cGVjdFNIQTEoImEiLCAxMDAwMDAwLCAiMzRBQTk3M0NENEM0REFBNEY2
MUVFQjJCREJBRDI3MzE2NTM0MDE2RiIpOwotICAgIGV4cGVjdFNIQTEoIjAxMjM0NTY3MDEyMzQ1
NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjciLCAxMCwg
IkRFQTM1NkEyQ0RERDkwQzdBN0VDRURDNUVCQjU2MzkzNEY0NjA0NTIiKTsKLX0KLSNlbmRpZgot
CiBzdGF0aWMgaW5saW5lIHVpbnQzMl90IGYoaW50IHQsIHVpbnQzMl90IGIsIHVpbnQzMl90IGMs
IHVpbnQzMl90IGQpCiB7CiAgICAgQVNTRVJUKHQgPj0gMCAmJiB0IDwgODApOwpAQCAtMTAyLDgg
Kzc0LDYgQEAgc3RhdGljIGlubGluZSB1aW50MzJfdCByb3RhdGVMZWZ0KGludCBuLCB1aW50MzJf
dCB4KQogCiBTSEExOjpTSEExKCkKIHsKLSAgICAvLyBGSVhNRTogTW92ZSB1bml0IHRlc3RzIHNv
bWV3aGVyZSBvdXRzaWRlIHRoZSBjb25zdHJ1Y3Rvci4gU2VlIGJ1ZyA1NTg1My4KLSAgICB0ZXN0
U0hBMSgpOwogICAgIHJlc2V0KCk7CiB9CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBi
L1Rvb2xzL0NoYW5nZUxvZwppbmRleCA1M2RiMWQyMTA2MWYwOGZlYjE1NmVmNzllYzQ1NGFkMmJl
MzVhZDYwLi5jMjcyZmY4NTU3NDdiY2FhOTYzZjBmMDc5NmExM2QyNGIyMjQ2MzIwIDEwMDY0NAot
LS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjgg
QEAKKzIwMTMtMDUtMzAgIFphbiBEb2JlcnNlayAgPHpkb2JlcnNla0BpZ2FsaWEuY29tPgorCisg
ICAgICAgIE1vdmUgTUQ1LCBTSEExIHVuaXQgdGVzdHMgZnJvbSBXVEYgdG8gVGVzdFdlYktpdEFQ
SQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE2NDQ1
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHRo
ZSBNRDUgYW5kIFNIQTEgdW5pdCB0ZXN0cyB0aGF0IHdlcmUgcHJldmlvdXNseSBsb2NhdGVkIGlu
c2lkZSBXVEYuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL0NNYWtlTGlzdHMudHh0OgorICAg
ICAgICAqIFRlc3RXZWJLaXRBUEkvR05VbWFrZWZpbGUuYW06CisgICAgICAgICogVGVzdFdlYktp
dEFQSS9UZXN0V2ViS2l0QVBJLnZjeHByb2ovVGVzdFdlYktpdEFQSS52Y3hwcm9qOgorICAgICAg
ICAqIFRlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS52Y3hwcm9qL1Rlc3RXZWJLaXRBUEkudmN4
cHJvai5maWx0ZXJzOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV1RG
L01ENS5jcHA6IEFkZGVkLgorICAgICAgICAoVGVzdFdlYktpdEFQSSk6CisgICAgICAgIChUZXN0
V2ViS2l0QVBJOjpleHBlY3RNRDUpOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6Cisg
ICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvU0hBMS5jcHA6IEFkZGVkLgorICAgICAg
ICAoVGVzdFdlYktpdEFQSSk6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpleHBlY3RTSEExKToK
KyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRFU1QpOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkv
VGVzdHMvV1RGL1dURi5wcm86CisgICAgICAgICogVGVzdFdlYktpdEFQSS93aW4vVGVzdFdlYktp
dEFQSS52Y3Byb2o6CisKIDIwMTMtMDUtMzAgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5v
cmc+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogdGVzdHMgaW4gUGVyZm9ybWFuY2VUZXN0cy9p
bnNwZWN0b3IvIGFyZSB0aW1pbmcgb3V0CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJ
L0NNYWtlTGlzdHMudHh0IGIvVG9vbHMvVGVzdFdlYktpdEFQSS9DTWFrZUxpc3RzLnR4dAppbmRl
eCA0ZDZjN2MzODhjNmFiY2ZiY2JiODNlNDk1OGJhYTUyYjNhNTIwY2EwLi40OTM4MTRkMzY1NmUw
OTcxZDZiZWVjZTk0M2QwNmE0NGRhNjVjZjZlIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0
QVBJL0NNYWtlTGlzdHMudHh0CisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvQ01ha2VMaXN0cy50
eHQKQEAgLTc2LDkgKzc2LDExIEBAIGFkZF9leGVjdXRhYmxlKHRlc3Rfd3RmCiAgICAgJHtURVNU
V0VCS0lUQVBJX0RJUn0vVGVzdHMvV1RGL0hhc2hNYXAuY3BwCiAgICAgJHtURVNUV0VCS0lUQVBJ
X0RJUn0vVGVzdHMvV1RGL0ludGVnZXJUb1N0cmluZ0NvbnZlcnNpb24uY3BwCiAgICAgJHtURVNU
V0VCS0lUQVBJX0RJUn0vVGVzdHMvV1RGL0xpc3RIYXNoU2V0LmNwcAorICAgICR7VEVTVFdFQktJ
VEFQSV9ESVJ9L1Rlc3RzL1dURi9NRDUuY3BwCiAgICAgJHtURVNUV0VCS0lUQVBJX0RJUn0vVGVz
dHMvV1RGL01hdGhFeHRyYXMuY3BwCiAgICAgJHtURVNUV0VCS0lUQVBJX0RJUn0vVGVzdHMvV1RG
L01ldGFBbGxvY2F0b3IuY3BwCiAgICAgJHtURVNUV0VCS0lUQVBJX0RJUn0vVGVzdHMvV1RGL1Jl
ZEJsYWNrVHJlZS5jcHAKKyAgICAke1RFU1RXRUJLSVRBUElfRElSfS9UZXN0cy9XVEYvU0hBMS5j
cHAKICAgICAke1RFU1RXRUJLSVRBUElfRElSfS9UZXN0cy9XVEYvU2F0dXJhdGVkQXJpdGhtZXRp
Y09wZXJhdGlvbnMuY3BwCiAgICAgJHtURVNUV0VCS0lUQVBJX0RJUn0vVGVzdHMvV1RGL1N0cmlu
Z0J1aWxkZXIuY3BwCiAgICAgJHtURVNUV0VCS0lUQVBJX0RJUn0vVGVzdHMvV1RGL1N0cmluZ0hh
c2hlci5jcHAKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvR05VbWFrZWZpbGUuYW0g
Yi9Ub29scy9UZXN0V2ViS2l0QVBJL0dOVW1ha2VmaWxlLmFtCmluZGV4IGNiNTYzNjhjMTc5ZTBh
ZTk2MjFjZmEzY2ZiZjdkYjU1NDYzMzM5OTcuLjRlMmE2ZWYzN2FlNTVmZWFhNDNiYWVjOWUwOGE2
OTBmYjUyZjRiYWYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvR05VbWFrZWZpbGUu
YW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9HTlVtYWtlZmlsZS5hbQpAQCAtNjAsMTAgKzYw
LDEyIEBAIFByb2dyYW1zX1Rlc3RXZWJLaXRBUElfVGVzdFdURl9TT1VSQ0VTID0gXAogCVRvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL0hhc2hTZXQuY3BwIFwKIAlUb29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzL1dURi9JbnRlZ2VyVG9TdHJpbmdDb252ZXJzaW9uLmNwcCBcCiAJVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0cy9XVEYvTGlzdEhhc2hTZXQuY3BwIFwKKwlUb29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzL1dURi9NRDUuY3BwIFwKIAlUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9N
YXRoRXh0cmFzLmNwcCBcCiAJVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvTWVkaWFUaW1l
LmNwcCBcCiAJVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvTWV0YUFsbG9jYXRvci5jcHAg
XAogCVRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL1JlZEJsYWNrVHJlZS5jcHAgXAorCVRv
b2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL1NIQTEuY3BwIFwKIAlUb29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzL1dURi9TYXR1cmF0ZWRBcml0aG1ldGljT3BlcmF0aW9ucy5jcHAgXAogCVRvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL1N0cmluZ0J1aWxkZXIuY3BwIFwKIAlUb29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL1dURi9TdHJpbmdIYXNoZXIuY3BwIFwKZGlmZiAtLWdpdCBhL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS52Y3hwcm9qL1Rlc3RXZWJLaXRBUEkudmN4cHJv
aiBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS52Y3hwcm9qL1Rlc3RXZWJLaXRB
UEkudmN4cHJvagppbmRleCBkMWE1YWZmMTI0MGM0NjY3ZjI5ZmJmODc4NDE5Zjk5OTA2NzlmYzUy
Li42NGMzMTkwMzJlMDFlNzg0YWE4NWY3NzhjYmE3NDg3ODUzNjI1NDM4IDEwMDY0NAotLS0gYS9U
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkudmN4cHJvai9UZXN0V2ViS2l0QVBJLnZj
eHByb2oKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnZjeHByb2ovVGVz
dFdlYktpdEFQSS52Y3hwcm9qCkBAIC0xNjAsOCArMTYwLDEwIEBACiAgICAgPENsQ29tcGlsZSBJ
bmNsdWRlPSIuLlxUZXN0c1xXVEZcQ2hlY2tlZEFyaXRobWV0aWNPcGVyYXRpb25zLmNwcCIgLz4N
CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxUZXN0c1xXVEZcRnVuY3Rpb25hbC5jcHAiIC8+
DQogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cVGVzdHNcV1RGXEhhc2hNYXAuY3BwIiAvPg0K
KyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXFRlc3RzXFdURlxNRDUuY3BwIiAvPg0KICAgICA8
Q2xDb21waWxlIEluY2x1ZGU9Ii4uXFRlc3RzXFdURlxNYXRoRXh0cmFzLmNwcCIgLz4NCiAgICAg
PENsQ29tcGlsZSBJbmNsdWRlPSIuLlxUZXN0c1xXVEZcTWVkaWFUaW1lLmNwcCIgLz4NCisgICAg
PENsQ29tcGlsZSBJbmNsdWRlPSIuLlxUZXN0c1xXVEZcU0hBMS5jcHAiIC8+DQogICAgIDxDbENv
bXBpbGUgSW5jbHVkZT0iLi5cVGVzdHNcV1RGXFNhdHVyYXRlZEFyaXRobWV0aWNPcGVyYXRpb25z
LmNwcCIgLz4NCiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxUZXN0c1xXVEZcU3RyaW5nSGFz
aGVyLmNwcCIgLz4NCiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxUZXN0c1xXVEZcU3RyaW5n
T3BlcmF0b3JzLmNwcCIgLz4NCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RX
ZWJLaXRBUEkudmN4cHJvai9UZXN0V2ViS2l0QVBJLnZjeHByb2ouZmlsdGVycyBiL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS52Y3hwcm9qL1Rlc3RXZWJLaXRBUEkudmN4cHJvai5m
aWx0ZXJzCmluZGV4IDM3NTYzODM2YmRjM2YyZjI4ZmEyMWQ4YjVjNzAwMjQ5YjdmZjA0MTIuLmU4
MjQxODllNTM2YWZhZTM1YWE0YWRjZDMyOWY5ZTJjY2EwN2E0ZTggMTAwNjQ0Ci0tLSBhL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS52Y3hwcm9qL1Rlc3RXZWJLaXRBUEkudmN4cHJv
ai5maWx0ZXJzCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS52Y3hwcm9q
L1Rlc3RXZWJLaXRBUEkudmN4cHJvai5maWx0ZXJzCkBAIC01NCwxMiArNTQsMTggQEAKICAgICA8
Q2xDb21waWxlIEluY2x1ZGU9Ii4uXFRlc3RzXFdURlxIYXNoTWFwLmNwcCI+DQogICAgICAgPEZp
bHRlcj5UZXN0c1xXVEY8L0ZpbHRlcj4NCiAgICAgPC9DbENvbXBpbGU+DQorICAgIDxDbENvbXBp
bGUgSW5jbHVkZT0iLi5cVGVzdHNcV1RGXE1ENS5jcHAiPg0KKyAgICAgIDxGaWx0ZXI+VGVzdHNc
V1RGPC9GaWx0ZXI+DQorICAgIDwvQ2xDb21waWxlPg0KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9
Ii4uXFRlc3RzXFdURlxNYXRoRXh0cmFzLmNwcCI+DQogICAgICAgPEZpbHRlcj5UZXN0c1xXVEY8
L0ZpbHRlcj4NCiAgICAgPC9DbENvbXBpbGU+DQogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5c
VGVzdHNcV1RGXE1lZGlhVGltZS5jcHAiPg0KICAgICAgIDxGaWx0ZXI+VGVzdHNcV1RGPC9GaWx0
ZXI+DQogICAgIDwvQ2xDb21waWxlPg0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXFRlc3Rz
XFdURlxTSEExLmNwcCI+DQorICAgICAgPEZpbHRlcj5UZXN0c1xXVEY8L0ZpbHRlcj4NCisgICAg
PC9DbENvbXBpbGU+DQogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cVGVzdHNcV1RGXFNhdHVy
YXRlZEFyaXRobWV0aWNPcGVyYXRpb25zLmNwcCI+DQogICAgICAgPEZpbHRlcj5UZXN0c1xXVEY8
L0ZpbHRlcj4NCiAgICAgPC9DbENvbXBpbGU+DQpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Ub29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA4
ZTY1MmE5NDFhZjVkNjExNTBkYTU4NjM5YWQwN2I1N2YzZTFhOTM1Li5hYjQ1MjYyYWEyMjQwMGU0
ZDNhMzlkMjA1ZDhmZmNmNmEyNDMwOTI5IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Ub29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMjAx
LDYgKzIwMSw4IEBACiAJCUM1NDIzN0YwMTZCODk1NTgwMEU2MzhGQyAvKiBQYXN0ZWJvYXJkTm90
aWZpY2F0aW9ucy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEM1NDIzN0VFMTZCODk1NTgwMEU2MzhGQyAvKiBQYXN0ZWJvYXJkTm90aWZpY2F0aW9ucy5t
bSAqLzsgfTsKIAkJQzU0MjM3RjExNkI4OTU3RDAwRTYzOEZDIC8qIFBhc3RlYm9hcmROb3RpZmlj
YXRpb25zX0J1bmRsZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBDNTQyMzdFRDE2Qjg5NTU4MDBFNjM4RkMgLyogUGFzdGVib2FyZE5vdGlmaWNhdGlv
bnNfQnVuZGxlLmNwcCAqLzsgfTsKIAkJQzVFMUFGRkUxNkIyMjFGMTAwNkNDMUYyIC8qIGV4ZWND
b3B5Lmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQzVFMUFGRkQxNkIyMjE3OTAwNkNDMUYyIC8qIGV4ZWNDb3B5Lmh0bWwgKi87IH07CisJ
CUNENTM5M0M4MTc1N0JBOTcwMEMwNzEyMyAvKiBNRDUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0Q1MzkzQzcxNzU3QkE5NzAwQzA3MTIzIC8qIE1E
NS5jcHAgKi87IH07CisJCUNENTM5M0NBMTc1N0JBQzQwMEMwNzEyMyAvKiBTSEExLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENENTM5M0M5MTc1N0JB
QzQwMEMwNzEyMyAvKiBTSEExLmNwcCAqLzsgfTsKIAkJQ0Q1NDk3QjQxNTg1N0YwQzAwQjVCQzMw
IC8qIE1lZGlhVGltZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBDRDU0OTdCMzE1ODU3RjBDMDBCNUJDMzAgLyogTWVkaWFUaW1lLmNwcCAqLzsgfTsK
IAkJRTEyMjBEQTAxNTVCMjU0ODAwMTNFMkZDIC8qIE1lbW9yeUNhY2hlRGlzYWJsZVdpdGhpblJl
c291cmNlTG9hZERlbGVnYXRlLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gRTEyMjBEOUYxNTVCMjU0ODAwMTNFMkZDIC8qIE1lbW9yeUNhY2hlRGlzYWJs
ZVdpdGhpblJlc291cmNlTG9hZERlbGVnYXRlLm1tICovOyB9OwogCQlFMTIyMERDQTE1NUIyOEFB
MDAxM0UyRkMgLyogTWVtb3J5Q2FjaGVEaXNhYmxlV2l0aGluUmVzb3VyY2VMb2FkRGVsZWdhdGUu
aHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBFMTIyMERDOTE1NUIyODdEMDAxM0UyRkMgLyogTWVtb3J5Q2FjaGVEaXNhYmxlV2l0aGluUmVz
b3VyY2VMb2FkRGVsZWdhdGUuaHRtbCAqLzsgfTsKQEAgLTUwNiw2ICs1MDgsOCBAQAogCQlDNTQy
MzdFRDE2Qjg5NTU4MDBFNjM4RkMgLyogUGFzdGVib2FyZE5vdGlmaWNhdGlvbnNfQnVuZGxlLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBhc3RlYm9hcmROb3RpZmlj
YXRpb25zX0J1bmRsZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUM1NDIzN0VF
MTZCODk1NTgwMEU2MzhGQyAvKiBQYXN0ZWJvYXJkTm90aWZpY2F0aW9ucy5tbSAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFBhc3RlYm9hcmROb3RpZmljYXRpb25zLm1t
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDNUUxQUZGRDE2QjIyMTc5MDA2Q0MxRjIg
LyogZXhlY0NvcHkuaHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuaHRtbDsgcGF0aCA9IGV4ZWNDb3B5Lmh0
bWw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNENTM5M0M3MTc1N0JBOTcwMEMwNzEy
MyAvKiBNRDUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gTUQ1LmNw
cDsgcGF0aCA9IFdURi9NRDUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDRDUz
OTNDOTE3NTdCQUM0MDBDMDcxMjMgLyogU0hBMS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IG5hbWUgPSBTSEExLmNwcDsgcGF0aCA9IFdURi9TSEExLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJQ0Q1NDk3QjMxNTg1N0YwQzAwQjVCQzMwIC8qIE1lZGlhVGltZS5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBNZWRpYVRpbWUuY3BwOyBw
YXRoID0gV1RGL01lZGlhVGltZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUx
MjIwRDlGMTU1QjI1NDgwMDEzRTJGQyAvKiBNZW1vcnlDYWNoZURpc2FibGVXaXRoaW5SZXNvdXJj
ZUxvYWREZWxlZ2F0ZS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9
IE1lbW9yeUNhY2hlRGlzYWJsZVdpdGhpblJlc291cmNlTG9hZERlbGVnYXRlLm1tOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQlFMTIyMERDOTE1NUIyODdEMDAxM0UyRkMgLyogTWVtb3J5
Q2FjaGVEaXNhYmxlV2l0aGluUmVzb3VyY2VMb2FkRGVsZWdhdGUuaHRtbCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRl
eHQuaHRtbDsgcGF0aCA9IE1lbW9yeUNhY2hlRGlzYWJsZVdpdGhpblJlc291cmNlTG9hZERlbGVn
YXRlLmh0bWw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC03NTMsNiArNzU3LDggQEAK
IAkJQkM5MDk2NDYxMjU1NjE4OTAwMDgzNzU2IC8qIFdURiAqLyA9IHsKIAkJCWlzYSA9IFBCWEdy
b3VwOwogCQkJY2hpbGRyZW4gPSAoCisJCQkJQ0Q1MzkzQzkxNzU3QkFDNDAwQzA3MTIzIC8qIFNI
QTEuY3BwICovLAorCQkJCUNENTM5M0M3MTc1N0JBOTcwMEMwNzEyMyAvKiBNRDUuY3BwICovLAog
CQkJCUMwOTkxQzRGMTQzQzdENjgwMDc5OThGMiAvKiBjZiAqLywKIAkJCQlCQzAyOUIxQTE0ODZC
MjM4MDA4MTdEQTkgLyogbnMgKi8sCiAJCQkJMjZGMUI0NDIxNUNBNDM0RjAwRDFFNEJGIC8qIEF0
b21pY1N0cmluZy5jcHAgKi8sCkBAIC0xMDAwLDggKzEwMDYsNiBAQAogLyogQmVnaW4gUEJYUHJv
amVjdCBzZWN0aW9uICovCiAJCTA4RkI3NzkzRkU4NDE1NURDMDJBQUMwNyAvKiBQcm9qZWN0IG9i
amVjdCAqLyA9IHsKIAkJCWlzYSA9IFBCWFByb2plY3Q7Ci0JCQlhdHRyaWJ1dGVzID0gewotCQkJ
fTsKIAkJCWJ1aWxkQ29uZmlndXJhdGlvbkxpc3QgPSAxREVCOTI3ODA4NzMzREQ0MDAxMEU5Q0Qg
LyogQnVpbGQgY29uZmlndXJhdGlvbiBsaXN0IGZvciBQQlhQcm9qZWN0ICJUZXN0V2ViS2l0QVBJ
IiAqLzsKIAkJCWNvbXBhdGliaWxpdHlWZXJzaW9uID0gIlhjb2RlIDMuMSI7CiAJCQlkZXZlbG9w
bWVudFJlZ2lvbiA9IEVuZ2xpc2g7CkBAIC0xMTc0LDYgKzExNzgsOCBAQAogCQkJCTI2NUFGNTUw
MTVEMUU0OEEwMEIwQ0I0QSAvKiBXVEZTdHJpbmcuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMkU3
NzY1Q0QxNkM0RDgwQTAwQkEyQkIxIC8qIG1haW5JT1MubW0gaW4gU291cmNlcyAqLywKIAkJCQky
RTc3NjVDRjE2QzREODExMDBCQTJCQjEgLyogbWFpbk1hYy5tbSBpbiBTb3VyY2VzICovLAorCQkJ
CUNENTM5M0M4MTc1N0JBOTcwMEMwNzEyMyAvKiBNRDUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJ
Q0Q1MzkzQ0ExNzU3QkFDNDAwQzA3MTIzIC8qIFNIQTEuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkp
OwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CmRpZmYg
LS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9NRDUuY3BwIGIvVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0cy9XVEYvTUQ1LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hMDkxZGYxMjgwNTAzZGEz
YmUwMzUzZWZjYWI3M2M1MWJmYTc0ZGI3Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvVGVzdFdl
YktpdEFQSS9UZXN0cy9XVEYvTUQ1LmNwcApAQCAtMCwwICsxLDY0IEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlv
bi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1l
cyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lm
aWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAq
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZp
Zy5oIgorI2luY2x1ZGUgPHd0Zi9NRDUuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+
CisKK25hbWVzcGFjZSBUZXN0V2ViS2l0QVBJIHsKKworc3RhdGljIHZvaWQgZXhwZWN0TUQ1KENT
dHJpbmcgaW5wdXQsIENTdHJpbmcgZXhwZWN0ZWQpCit7CisgICAgTUQ1IG1kNTsKKyAgICBtZDUu
YWRkQnl0ZXMocmVpbnRlcnByZXRfY2FzdDxjb25zdCB1aW50OF90Kj4oaW5wdXQuZGF0YSgpKSwg
aW5wdXQubGVuZ3RoKCkpOworICAgIFZlY3Rvcjx1aW50OF90LCAxNj4gZGlnZXN0OworICAgIG1k
NS5jaGVja3N1bShkaWdlc3QpOworICAgIGNoYXIqIGJ1ZiA9IDA7CisgICAgQ1N0cmluZyBhY3R1
YWwgPSBDU3RyaW5nOjpuZXdVbmluaXRpYWxpemVkKDMyLCBidWYpOworICAgIGZvciAoc2l6ZV90
IGkgPSAwOyBpIDwgMTY7IGkrKywgYnVmICs9IDIpCisgICAgICAgIHNucHJpbnRmKGJ1ZiwgMywg
IiUwMngiLCBkaWdlc3QuYXQoaSkpOworCisgICAgQVNTRVJUX0VRKGV4cGVjdGVkLmxlbmd0aCgp
LCBhY3R1YWwubGVuZ3RoKCkpOworICAgIEFTU0VSVF9TVFJFUShleHBlY3RlZC5kYXRhKCksIGFj
dHVhbC5kYXRhKCkpOworfQorCitURVNUKFdURl9NRDUsIENvbXB1dGF0aW9uKQoreworICAgIC8v
IE1ENSBUZXN0IHN1aXRlIGZyb20gaHR0cDovL3d3dy5pZXRmLm9yZy9yZmMvcmZjMTMyMS50eHQK
KyAgICBleHBlY3RNRDUoIiIsICJkNDFkOGNkOThmMDBiMjA0ZTk4MDA5OThlY2Y4NDI3ZSIpOwor
ICAgIGV4cGVjdE1ENSgiYSIsICIwY2MxNzViOWMwZjFiNmE4MzFjMzk5ZTI2OTc3MjY2MSIpOwor
ICAgIGV4cGVjdE1ENSgiYWJjIiwgIjkwMDE1MDk4M2NkMjRmYjBkNjk2M2Y3ZDI4ZTE3ZjcyIik7
CisgICAgZXhwZWN0TUQ1KCJtZXNzYWdlIGRpZ2VzdCIsICJmOTZiNjk3ZDdjYjc5MzhkNTI1YTJm
MzFhYWYxNjFkMCIpOworICAgIGV4cGVjdE1ENSgiYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXoi
LCAiYzNmY2QzZDc2MTkyZTQwMDdkZmI0OTZjY2E2N2UxM2IiKTsKKyAgICBleHBlY3RNRDUoIkFC
Q0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2
Nzg5IiwgImQxNzRhYjk4ZDI3N2Q5ZjVhNTYxMWMyYzlmNDE5ZDlmIik7CisgICAgZXhwZWN0TUQ1
KCIxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1
Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MCIsICI1N2VkZjRhMjJiZTNjOTU1YWM0OWRhMmUyMTA3
YjY3YSIpOworfQorCit9IC8vIG5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJCmRpZmYgLS1naXQgYS9U
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9TSEExLmNwcCBiL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdHMvV1RGL1NIQTEuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRjZjlkMjdiMzIyYjZiZmZkNDhmZTIz
MTE4MTdlNGJkODM4Y2VhMTAKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dURi9TSEExLmNwcApAQCAtMCwwICsxLDU3IEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAq
ICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBp
dHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJv
ZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJp
b3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisg
KiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgor
I2luY2x1ZGUgPHd0Zi9TSEExLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgorCitu
YW1lc3BhY2UgVGVzdFdlYktpdEFQSSB7CisKK3N0YXRpYyB2b2lkIGV4cGVjdFNIQTEoQ1N0cmlu
ZyBpbnB1dCwgaW50IHJlcGVhdCwgQ1N0cmluZyBleHBlY3RlZCkKK3sKKyAgICBTSEExIHNoYTE7
CisgICAgZm9yIChpbnQgaSA9IDA7IGkgPCByZXBlYXQ7ICsraSkKKyAgICAgICAgc2hhMS5hZGRC
eXRlcyhpbnB1dCk7CisgICAgQ1N0cmluZyBhY3R1YWwgPSBzaGExLmNvbXB1dGVIZXhEaWdlc3Qo
KTsKKworICAgIEFTU0VSVF9FUShleHBlY3RlZC5sZW5ndGgoKSwgYWN0dWFsLmxlbmd0aCgpKTsK
KyAgICBBU1NFUlRfU1RSRVEoZXhwZWN0ZWQuZGF0YSgpLCBhY3R1YWwuZGF0YSgpKTsKK30KKwor
VEVTVChXVEZfU0hBMSwgQ29tcHV0YXRpb24pCit7CisgICAgLy8gRXhhbXBsZXMgdGFrZW4gZnJv
bSBzYW1wbGUgY29kZSBpbiBSRkMgMzE3NC4KKyAgICBleHBlY3RTSEExKCJhYmMiLCAxLCAiQTk5
OTNFMzY0NzA2ODE2QUJBM0UyNTcxNzg1MEMyNkM5Q0QwRDg5RCIpOworICAgIGV4cGVjdFNIQTEo
ImFiY2RiY2RlY2RlZmRlZmdlZmdoZmdoaWdoaWpoaWpraWprbGprbG1rbG1ubG1ub21ub3Bub3Bx
IiwgMSwgIjg0OTgzRTQ0MUMzQkQyNkVCQUFFNEFBMUY5NTEyOUU1RTU0NjcwRjEiKTsKKyAgICBl
eHBlY3RTSEExKCJhIiwgMTAwMDAwMCwgIjM0QUE5NzNDRDRDNERBQTRGNjFFRUIyQkRCQUQyNzMx
NjUzNDAxNkYiKTsKKyAgICBleHBlY3RTSEExKCIwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwMTIz
NDU2NzAxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3IiwgMTAsICJERUEzNTZBMkNEREQ5
MEM3QTdFQ0VEQzVFQkI1NjM5MzRGNDYwNDUyIik7Cit9CisKK30gLy8gbmFtZXNwYWNlIFRlc3RX
ZWJLaXRBUEkKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL1dURi5w
cm8gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9XVEYucHJvCmluZGV4IDEyMDgxOTgx
Y2M5MWNjZDQ0ZjU1ZTQ4MDY5MGRmNDY1OThiYzAwZWYuLjhiMzY1OGZmZGQ3NTdkYzQ4ZjczODE5
OTc3YjM2ZDhkOTY3YWE0ZjYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMv
V1RGL1dURi5wcm8KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvV1RGLnBybwpA
QCAtMTAsOSArMTAsMTEgQEAgU09VUkNFUyArPSBcCiAgICAgSGFzaFNldC5jcHAgXAogICAgIElu
dGVnZXJUb1N0cmluZ0NvbnZlcnNpb24uY3BwIFwKICAgICBMaXN0SGFzaFNldC5jcHAgXAorICAg
IE1ENS5jcHAgXAogICAgIE1hdGhFeHRyYXMuY3BwIFwKICAgICBNZWRpYVRpbWUuY3BwIFwKICAg
ICBSZWRCbGFja1RyZWUuY3BwIFwKKyAgICBTSEExLmNwcCBcCiAgICAgU2F0dXJhdGVkQXJpdGht
ZXRpY09wZXJhdGlvbnMuY3BwIFwKICAgICBTdHJpbmdCdWlsZGVyLmNwcCBcCiAgICAgU3RyaW5n
SGFzaGVyLmNwcCBcCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL3dpbi9UZXN0V2Vi
S2l0QVBJLnZjcHJvaiBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvd2luL1Rlc3RXZWJLaXRBUEkudmNw
cm9qCmluZGV4IDY2ZTQ4ZjQ5YzRiYmI0YTFmNmRmMDRkZDM1MTA5YzI0Yjk4MjcyZWUuLjkwOWY3
Yzk5NmQ5OWMzMWMzYjIyMTViMTM0NjkzMjNiN2QzMTMzYTcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvd2luL1Rlc3RXZWJLaXRBUEkudmNwcm9qCisrKyBiL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvd2luL1Rlc3RXZWJLaXRBUEkudmNwcm9qCkBAIC00ODQsNiArNDg0LDEwIEBACiAJCQkJ
CT4KIAkJCQk8L0ZpbGU+CiAJCQkJPEZpbGUKKwkJCQkJUmVsYXRpdmVQYXRoPSIuLlxUZXN0c1xX
VEZcTUQ1LmNwcCIKKwkJCQkJPgorCQkJCTwvRmlsZT4KKwkJCQk8RmlsZQogCQkJCQlSZWxhdGl2
ZVBhdGg9Ii4uXFRlc3RzXFdURlxNYXRoRXh0cmFzLmNwcCIKIAkJCQkJPgogCQkJCTwvRmlsZT4K
QEAgLTQ5Miw2ICs0OTYsMTAgQEAKIAkJCQkJPgogCQkJCTwvRmlsZT4KIAkJCQk8RmlsZQorCQkJ
CQlSZWxhdGl2ZVBhdGg9Ii4uXFRlc3RzXFdURlxTSEExLmNwcCIKKwkJCQkJPgorCQkJCTwvRmls
ZT4KKwkJCQk8RmlsZQogCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXFRlc3RzXFdURlxTYXR1cmF0ZWRB
cml0aG1ldGljT3BlcmF0aW9ucy5jcHAiCiAJCQkJCT4KIAkJCQk8L0ZpbGU+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>203424</attachid>
            <date>2013-05-31 01:50:49 -0700</date>
            <delta_ts>2013-05-31 03:06:25 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-116445-20130531014924.patch</filename>
            <type>text/plain</type>
            <size>20706</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hh
bmdlTG9nCShyZXZpc2lvbiAxNTEwMTApCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDE3IEBACisyMDEzLTA1LTMxICBaYW4gRG9iZXJzZWsgIDx6ZG9i
ZXJzZWtAaWdhbGlhLmNvbT4KKworICAgICAgICBNb3ZlIE1ENSwgU0hBMSB1bml0IHRlc3RzIGZy
b20gV1RGIHRvIFRlc3RXZWJLaXRBUEkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTExNjQ0NQorCisgICAgICAgIFJldmlld2VkIGJ5IEJlbmphbWluIFBv
dWxhaW4uCisKKyAgICAgICAgUmVtb3ZlIHRoZSBNRDUgYW5kIFNIQTEgdGVzdCBjYXNlcyBmcm9t
IHRoZSBXVEYgY29kZS4gVGhlIHNhbWUgY2FzZXMgYXJlIG5vdyBidWlsdCBhbmQgcnVuIHVuZGVy
IFRlc3RXZWJLaXRBUEkuCisKKyAgICAgICAgKiB3dGYvTUQ1LmNwcDoKKyAgICAgICAgKFdURjo6
TUQ1OjpNRDUpOgorICAgICAgICAqIHd0Zi9TSEExLmNwcDoKKyAgICAgICAgKFdURjo6U0hBMTo6
U0hBMSk6CisKIDIwMTMtMDUtMzAgIFJvZ2VyIEZvbmcgIDxyb2dlcl9mb25nQGFwcGxlLmNvbT4K
IAogICAgICAgICBBbm90aGVyIHVucmV2aWV3ZWQgYnVpbGQgZml4IGZvciBNYWMuCkluZGV4OiBT
b3VyY2UvV1RGL3d0Zi9NRDUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvd3RmL01ENS5j
cHAJKHJldmlzaW9uIDE1MTAxMCkKKysrIFNvdXJjZS9XVEYvd3RmL01ENS5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTU4LDQ0ICs1OCw2IEBACiAKIG5hbWVzcGFjZSBXVEYgewogCi0jaWZkZWYgTkRF
QlVHCi1zdGF0aWMgaW5saW5lIHZvaWQgdGVzdE1ENSgpIHsgfQotI2Vsc2UKLS8vIE1ENSB0ZXN0
IGNhc2UuCi1zdGF0aWMgYm9vbCBpc1Rlc3RNRDVEb25lOwotCi1zdGF0aWMgdm9pZCBleHBlY3RN
RDUoQ1N0cmluZyBpbnB1dCwgQ1N0cmluZyBleHBlY3RlZCkKLXsKLSAgICBNRDUgbWQ1OwotICAg
IG1kNS5hZGRCeXRlcyhyZWludGVycHJldF9jYXN0PGNvbnN0IHVpbnQ4X3QqPihpbnB1dC5kYXRh
KCkpLCBpbnB1dC5sZW5ndGgoKSk7Ci0gICAgVmVjdG9yPHVpbnQ4X3QsIDE2PiBkaWdlc3Q7Ci0g
ICAgbWQ1LmNoZWNrc3VtKGRpZ2VzdCk7Ci0gICAgY2hhciogYnVmID0gMDsKLSAgICBDU3RyaW5n
IGFjdHVhbCA9IENTdHJpbmc6Om5ld1VuaW5pdGlhbGl6ZWQoMzIsIGJ1Zik7Ci0gICAgZm9yIChz
aXplX3QgaSA9IDA7IGkgPCAxNjsgaSsrKSB7Ci0gICAgICAgIHNucHJpbnRmKGJ1ZiwgMywgIiUw
MngiLCBkaWdlc3QuYXQoaSkpOwotICAgICAgICBidWYgKz0gMjsKLSAgICB9Ci0gICAgQVNTRVJU
X1dJVEhfTUVTU0FHRShhY3R1YWwgPT0gZXhwZWN0ZWQsICJpbnB1dDolc1slbHVdIGFjdHVhbDol
cyBleHBlY3RlZDolcyIsIGlucHV0LmRhdGEoKSwgc3RhdGljX2Nhc3Q8dW5zaWduZWQgbG9uZz4o
aW5wdXQubGVuZ3RoKCkpLCBhY3R1YWwuZGF0YSgpLCBleHBlY3RlZC5kYXRhKCkpOwotfQotCi1z
dGF0aWMgdm9pZCB0ZXN0TUQ1KCkKLXsKLSAgICBpZiAoaXNUZXN0TUQ1RG9uZSkKLSAgICAgICAg
cmV0dXJuOwotICAgIGlzVGVzdE1ENURvbmUgPSB0cnVlOwotCi0gICAgLy8gTUQ1IFRlc3Qgc3Vp
dGUgZnJvbSBodHRwOi8vd3d3LmlldGYub3JnL3JmYy9yZmMxMzIxLnR4dAotICAgIGV4cGVjdE1E
NSgiIiwgImQ0MWQ4Y2Q5OGYwMGIyMDRlOTgwMDk5OGVjZjg0MjdlIik7Ci0gICAgZXhwZWN0TUQ1
KCJhIiwgIjBjYzE3NWI5YzBmMWI2YTgzMWMzOTllMjY5NzcyNjYxIik7Ci0gICAgZXhwZWN0TUQ1
KCJhYmMiLCAiOTAwMTUwOTgzY2QyNGZiMGQ2OTYzZjdkMjhlMTdmNzIiKTsKLSAgICBleHBlY3RN
RDUoIm1lc3NhZ2UgZGlnZXN0IiwgImY5NmI2OTdkN2NiNzkzOGQ1MjVhMmYzMWFhZjE2MWQwIik7
Ci0gICAgZXhwZWN0TUQ1KCJhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5eiIsICJjM2ZjZDNkNzYx
OTJlNDAwN2RmYjQ5NmNjYTY3ZTEzYiIpOwotICAgIGV4cGVjdE1ENSgiQUJDREVGR0hJSktMTU5P
UFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkiLCAiZDE3NGFi
OThkMjc3ZDlmNWE1NjExYzJjOWY0MTlkOWYiKTsKLSAgICBleHBlY3RNRDUoIjEyMzQ1Njc4OTAx
MjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4
OTAxMjM0NTY3ODkwIiwgIjU3ZWRmNGEyMmJlM2M5NTVhYzQ5ZGEyZTIxMDdiNjdhIik7Ci19Ci0j
ZW5kaWYKLQogLy8gTm90ZTogdGhpcyBjb2RlIGlzIGhhcm1sZXNzIG9uIGxpdHRsZS1lbmRpYW4g
bWFjaGluZXMuCiAKIHN0YXRpYyB2b2lkIHJldmVyc2VCeXRlcyh1aW50OF90KiBidWYsIHVuc2ln
bmVkIGxvbmdzKQpAQCAtMjAzLDggKzE2NSw2IEBAIHN0YXRpYyB2b2lkIE1ENVRyYW5zZm9ybSh1
aW50MzJfdCBidWZbNF0KIAogTUQ1OjpNRDUoKQogewotICAgIC8vIEZJWE1FOiBNb3ZlIHVuaXQg
dGVzdHMgc29tZXdoZXJlIG91dHNpZGUgdGhlIGNvbnN0cnVjdG9yLiBTZWUgYnVnIDU1ODUzLgot
ICAgIHRlc3RNRDUoKTsKICAgICBtX2J1ZlswXSA9IDB4Njc0NTIzMDE7CiAgICAgbV9idWZbMV0g
PSAweGVmY2RhYjg5OwogICAgIG1fYnVmWzJdID0gMHg5OGJhZGNmZTsKSW5kZXg6IFNvdXJjZS9X
VEYvd3RmL1NIQTEuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvd3RmL1NIQTEuY3BwCShy
ZXZpc2lvbiAxNTEwMTApCisrKyBTb3VyY2UvV1RGL3d0Zi9TSEExLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtNDIsMzQgKzQyLDYgQEAKIAogbmFtZXNwYWNlIFdURiB7CiAKLSNpZmRlZiBOREVCVUcK
LXN0YXRpYyBpbmxpbmUgdm9pZCB0ZXN0U0hBMSgpIHsgfQotI2Vsc2UKLXN0YXRpYyBib29sIGlz
VGVzdFNIQTFEb25lOwotCi1zdGF0aWMgdm9pZCBleHBlY3RTSEExKENTdHJpbmcgaW5wdXQsIGlu
dCByZXBlYXQsIENTdHJpbmcgZXhwZWN0ZWQpCi17Ci0gICAgU0hBMSBzaGExOwotICAgIGZvciAo
aW50IGkgPSAwOyBpIDwgcmVwZWF0OyArK2kpCi0gICAgICAgIHNoYTEuYWRkQnl0ZXMoaW5wdXQp
OwotICAgIENTdHJpbmcgYWN0dWFsID0gc2hhMS5jb21wdXRlSGV4RGlnZXN0KCk7Ci0gICAgQVNT
RVJUX1dJVEhfTUVTU0FHRShhY3R1YWwgPT0gZXhwZWN0ZWQsICJpbnB1dDogJXMsIHJlcGVhdDog
JWQsIGFjdHVhbDogJXMsIGV4cGVjdGVkOiAlcyIsIGlucHV0LmRhdGEoKSwgcmVwZWF0LCBhY3R1
YWwuZGF0YSgpLCBleHBlY3RlZC5kYXRhKCkpOwotfQotCi1zdGF0aWMgdm9pZCB0ZXN0U0hBMSgp
Ci17Ci0gICAgaWYgKGlzVGVzdFNIQTFEb25lKQotICAgICAgICByZXR1cm47Ci0gICAgaXNUZXN0
U0hBMURvbmUgPSB0cnVlOwotCi0gICAgLy8gRXhhbXBsZXMgdGFrZW4gZnJvbSBzYW1wbGUgY29k
ZSBpbiBSRkMgMzE3NC4KLSAgICBleHBlY3RTSEExKCJhYmMiLCAxLCAiQTk5OTNFMzY0NzA2ODE2
QUJBM0UyNTcxNzg1MEMyNkM5Q0QwRDg5RCIpOwotICAgIGV4cGVjdFNIQTEoImFiY2RiY2RlY2Rl
ZmRlZmdlZmdoZmdoaWdoaWpoaWpraWprbGprbG1rbG1ubG1ub21ub3Bub3BxIiwgMSwgIjg0OTgz
RTQ0MUMzQkQyNkVCQUFFNEFBMUY5NTEyOUU1RTU0NjcwRjEiKTsKLSAgICBleHBlY3RTSEExKCJh
IiwgMTAwMDAwMCwgIjM0QUE5NzNDRDRDNERBQTRGNjFFRUIyQkRCQUQyNzMxNjUzNDAxNkYiKTsK
LSAgICBleHBlY3RTSEExKCIwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3
MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3IiwgMTAsICJERUEzNTZBMkNEREQ5MEM3QTdFQ0VEQzVF
QkI1NjM5MzRGNDYwNDUyIik7Ci19Ci0jZW5kaWYKLQogc3RhdGljIGlubGluZSB1aW50MzJfdCBm
KGludCB0LCB1aW50MzJfdCBiLCB1aW50MzJfdCBjLCB1aW50MzJfdCBkKQogewogICAgIEFTU0VS
VCh0ID49IDAgJiYgdCA8IDgwKTsKQEAgLTEwMiw4ICs3NCw2IEBAIHN0YXRpYyBpbmxpbmUgdWlu
dDMyX3Qgcm90YXRlTGVmdChpbnQgbiwKIAogU0hBMTo6U0hBMSgpCiB7Ci0gICAgLy8gRklYTUU6
IE1vdmUgdW5pdCB0ZXN0cyBzb21ld2hlcmUgb3V0c2lkZSB0aGUgY29uc3RydWN0b3IuIFNlZSBi
dWcgNTU4NTMuCi0gICAgdGVzdFNIQTEoKTsKICAgICByZXNldCgpOwogfQogCkluZGV4OiBUb29s
cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAxNTEw
MTApCisrKyBUb29scy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyOCBAQAor
MjAxMy0wNS0zMSAgWmFuIERvYmVyc2VrICA8emRvYmVyc2VrQGlnYWxpYS5jb20+CisKKyAgICAg
ICAgTW92ZSBNRDUsIFNIQTEgdW5pdCB0ZXN0cyBmcm9tIFdURiB0byBUZXN0V2ViS2l0QVBJCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTY0NDUKKwor
ICAgICAgICBSZXZpZXdlZCBieSBCZW5qYW1pbiBQb3VsYWluLgorCisgICAgICAgIEFkZCB0aGUg
TUQ1IGFuZCBTSEExIHVuaXQgdGVzdHMgdGhhdCB3ZXJlIHByZXZpb3VzbHkgbG9jYXRlZCBpbnNp
ZGUgV1RGLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9DTWFrZUxpc3RzLnR4dDoKKyAgICAg
ICAgKiBUZXN0V2ViS2l0QVBJL0dOVW1ha2VmaWxlLmFtOgorICAgICAgICAqIFRlc3RXZWJLaXRB
UEkvVGVzdFdlYktpdEFQSS52Y3hwcm9qL1Rlc3RXZWJLaXRBUEkudmN4cHJvajoKKyAgICAgICAg
KiBUZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkudmN4cHJvai9UZXN0V2ViS2l0QVBJLnZjeHBy
b2ouZmlsdGVyczoKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9N
RDUuY3BwOiBBZGRlZC4KKyAgICAgICAgKFRlc3RXZWJLaXRBUEkpOgorICAgICAgICAoVGVzdFdl
YktpdEFQSTo6ZXhwZWN0TUQ1KToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRFU1QpOgorICAg
ICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL1NIQTEuY3BwOiBBZGRlZC4KKyAgICAgICAg
KFRlc3RXZWJLaXRBUEkpOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6ZXhwZWN0U0hBMSk6Cisg
ICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rl
c3RzL1dURi9XVEYucHJvOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvd2luL1Rlc3RXZWJLaXRB
UEkudmNwcm9qOgorCiAyMDEzLTA1LTMwICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUu
Y29tPgogCiAgICAgICAgIFtXaW5kb3dzXSBVbnJldmlld2VkIGJ1aWxkIGNvcnJlY3Rpb24uCklu
ZGV4OiBUb29scy9UZXN0V2ViS2l0QVBJL0NNYWtlTGlzdHMudHh0Cj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRv
b2xzL1Rlc3RXZWJLaXRBUEkvQ01ha2VMaXN0cy50eHQJKHJldmlzaW9uIDE1MTAxMCkKKysrIFRv
b2xzL1Rlc3RXZWJLaXRBUEkvQ01ha2VMaXN0cy50eHQJKHdvcmtpbmcgY29weSkKQEAgLTc2LDkg
Kzc2LDExIEBAIGFkZF9leGVjdXRhYmxlKHRlc3Rfd3RmCiAgICAgJHtURVNUV0VCS0lUQVBJX0RJ
Un0vVGVzdHMvV1RGL0hhc2hNYXAuY3BwCiAgICAgJHtURVNUV0VCS0lUQVBJX0RJUn0vVGVzdHMv
V1RGL0ludGVnZXJUb1N0cmluZ0NvbnZlcnNpb24uY3BwCiAgICAgJHtURVNUV0VCS0lUQVBJX0RJ
Un0vVGVzdHMvV1RGL0xpc3RIYXNoU2V0LmNwcAorICAgICR7VEVTVFdFQktJVEFQSV9ESVJ9L1Rl
c3RzL1dURi9NRDUuY3BwCiAgICAgJHtURVNUV0VCS0lUQVBJX0RJUn0vVGVzdHMvV1RGL01hdGhF
eHRyYXMuY3BwCiAgICAgJHtURVNUV0VCS0lUQVBJX0RJUn0vVGVzdHMvV1RGL01ldGFBbGxvY2F0
b3IuY3BwCiAgICAgJHtURVNUV0VCS0lUQVBJX0RJUn0vVGVzdHMvV1RGL1JlZEJsYWNrVHJlZS5j
cHAKKyAgICAke1RFU1RXRUJLSVRBUElfRElSfS9UZXN0cy9XVEYvU0hBMS5jcHAKICAgICAke1RF
U1RXRUJLSVRBUElfRElSfS9UZXN0cy9XVEYvU2F0dXJhdGVkQXJpdGhtZXRpY09wZXJhdGlvbnMu
Y3BwCiAgICAgJHtURVNUV0VCS0lUQVBJX0RJUn0vVGVzdHMvV1RGL1N0cmluZ0J1aWxkZXIuY3Bw
CiAgICAgJHtURVNUV0VCS0lUQVBJX0RJUn0vVGVzdHMvV1RGL1N0cmluZ0hhc2hlci5jcHAKSW5k
ZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvR05VbWFrZWZpbGUuYW0KPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9v
bHMvVGVzdFdlYktpdEFQSS9HTlVtYWtlZmlsZS5hbQkocmV2aXNpb24gMTUxMDEwKQorKysgVG9v
bHMvVGVzdFdlYktpdEFQSS9HTlVtYWtlZmlsZS5hbQkod29ya2luZyBjb3B5KQpAQCAtNjAsMTAg
KzYwLDEyIEBAIFByb2dyYW1zX1Rlc3RXZWJLaXRBUElfVGVzdFdURl9TT1VSQ0VTID0KIAlUb29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9IYXNoU2V0LmNwcCBcCiAJVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0cy9XVEYvSW50ZWdlclRvU3RyaW5nQ29udmVyc2lvbi5jcHAgXAogCVRvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdHMvV1RGL0xpc3RIYXNoU2V0LmNwcCBcCisJVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0cy9XVEYvTUQ1LmNwcCBcCiAJVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYv
TWF0aEV4dHJhcy5jcHAgXAogCVRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL01lZGlhVGlt
ZS5jcHAgXAogCVRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL01ldGFBbGxvY2F0b3IuY3Bw
IFwKIAlUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9SZWRCbGFja1RyZWUuY3BwIFwKKwlU
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9TSEExLmNwcCBcCiAJVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0cy9XVEYvU2F0dXJhdGVkQXJpdGhtZXRpY09wZXJhdGlvbnMuY3BwIFwKIAlUb29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9TdHJpbmdCdWlsZGVyLmNwcCBcCiAJVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0cy9XVEYvU3RyaW5nSGFzaGVyLmNwcCBcCkluZGV4OiBUb29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkudmN4cHJvai9UZXN0V2ViS2l0QVBJLnZjeHByb2oKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnZjeHByb2ovVGVz
dFdlYktpdEFQSS52Y3hwcm9qCShyZXZpc2lvbiAxNTEwMTApCisrKyBUb29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RXZWJLaXRBUEkudmN4cHJvai9UZXN0V2ViS2l0QVBJLnZjeHByb2oJKHdvcmtpbmcg
Y29weSkKQEAgLTE2MCw4ICsxNjAsMTAgQEAKICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXFRl
c3RzXFdURlxDaGVja2VkQXJpdGhtZXRpY09wZXJhdGlvbnMuY3BwIiAvPg0KICAgICA8Q2xDb21w
aWxlIEluY2x1ZGU9Ii4uXFRlc3RzXFdURlxGdW5jdGlvbmFsLmNwcCIgLz4NCiAgICAgPENsQ29t
cGlsZSBJbmNsdWRlPSIuLlxUZXN0c1xXVEZcSGFzaE1hcC5jcHAiIC8+DQorICAgIDxDbENvbXBp
bGUgSW5jbHVkZT0iLi5cVGVzdHNcV1RGXE1ENS5jcHAiIC8+DQogICAgIDxDbENvbXBpbGUgSW5j
bHVkZT0iLi5cVGVzdHNcV1RGXE1hdGhFeHRyYXMuY3BwIiAvPg0KICAgICA8Q2xDb21waWxlIElu
Y2x1ZGU9Ii4uXFRlc3RzXFdURlxNZWRpYVRpbWUuY3BwIiAvPg0KKyAgICA8Q2xDb21waWxlIElu
Y2x1ZGU9Ii4uXFRlc3RzXFdURlxTSEExLmNwcCIgLz4NCiAgICAgPENsQ29tcGlsZSBJbmNsdWRl
PSIuLlxUZXN0c1xXVEZcU2F0dXJhdGVkQXJpdGhtZXRpY09wZXJhdGlvbnMuY3BwIiAvPg0KICAg
ICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXFRlc3RzXFdURlxTdHJpbmdIYXNoZXIuY3BwIiAvPg0K
ICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXFRlc3RzXFdURlxTdHJpbmdPcGVyYXRvcnMuY3Bw
IiAvPg0KSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS52Y3hwcm9qL1Rl
c3RXZWJLaXRBUEkudmN4cHJvai5maWx0ZXJzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdFdlYktpdEFQSS52Y3hwcm9qL1Rlc3RXZWJLaXRBUEkudmN4cHJvai5maWx0ZXJz
CShyZXZpc2lvbiAxNTEwMTApCisrKyBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEku
dmN4cHJvai9UZXN0V2ViS2l0QVBJLnZjeHByb2ouZmlsdGVycwkod29ya2luZyBjb3B5KQpAQCAt
NTQsMTIgKzU0LDE4IEBACiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxUZXN0c1xXVEZcSGFz
aE1hcC5jcHAiPg0KICAgICAgIDxGaWx0ZXI+VGVzdHNcV1RGPC9GaWx0ZXI+DQogICAgIDwvQ2xD
b21waWxlPg0KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXFRlc3RzXFdURlxNRDUuY3BwIj4N
CisgICAgICA8RmlsdGVyPlRlc3RzXFdURjwvRmlsdGVyPg0KKyAgICA8L0NsQ29tcGlsZT4NCiAg
ICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxUZXN0c1xXVEZcTWF0aEV4dHJhcy5jcHAiPg0KICAg
ICAgIDxGaWx0ZXI+VGVzdHNcV1RGPC9GaWx0ZXI+DQogICAgIDwvQ2xDb21waWxlPg0KICAgICA8
Q2xDb21waWxlIEluY2x1ZGU9Ii4uXFRlc3RzXFdURlxNZWRpYVRpbWUuY3BwIj4NCiAgICAgICA8
RmlsdGVyPlRlc3RzXFdURjwvRmlsdGVyPg0KICAgICA8L0NsQ29tcGlsZT4NCisgICAgPENsQ29t
cGlsZSBJbmNsdWRlPSIuLlxUZXN0c1xXVEZcU0hBMS5jcHAiPg0KKyAgICAgIDxGaWx0ZXI+VGVz
dHNcV1RGPC9GaWx0ZXI+DQorICAgIDwvQ2xDb21waWxlPg0KICAgICA8Q2xDb21waWxlIEluY2x1
ZGU9Ii4uXFRlc3RzXFdURlxTYXR1cmF0ZWRBcml0aG1ldGljT3BlcmF0aW9ucy5jcHAiPg0KICAg
ICAgIDxGaWx0ZXI+VGVzdHNcV1RGPC9GaWx0ZXI+DQogICAgIDwvQ2xDb21waWxlPg0KSW5kZXg6
IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAxNTEwMTApCisrKyBUb29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2luZyBj
b3B5KQpAQCAtMjAxLDYgKzIwMSw4IEBACiAJCUM1NDIzN0YwMTZCODk1NTgwMEU2MzhGQyAvKiBQ
YXN0ZWJvYXJkTm90aWZpY2F0aW9ucy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEM1NDIzN0VFMTZCODk1NTgwMEU2MzhGQyAvKiBQYXN0ZWJvYXJkTm90
aWZpY2F0aW9ucy5tbSAqLzsgfTsKIAkJQzU0MjM3RjExNkI4OTU3RDAwRTYzOEZDIC8qIFBhc3Rl
Ym9hcmROb3RpZmljYXRpb25zX0J1bmRsZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBDNTQyMzdFRDE2Qjg5NTU4MDBFNjM4RkMgLyogUGFzdGVib2Fy
ZE5vdGlmaWNhdGlvbnNfQnVuZGxlLmNwcCAqLzsgfTsKIAkJQzVFMUFGRkUxNkIyMjFGMTAwNkND
MUYyIC8qIGV4ZWNDb3B5Lmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQzVFMUFGRkQxNkIyMjE3OTAwNkNDMUYyIC8qIGV4ZWNDb3B5Lmh0
bWwgKi87IH07CisJCUNENTM5M0M4MTc1N0JBOTcwMEMwNzEyMyAvKiBNRDUuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0Q1MzkzQzcxNzU3QkE5NzAw
QzA3MTIzIC8qIE1ENS5jcHAgKi87IH07CisJCUNENTM5M0NBMTc1N0JBQzQwMEMwNzEyMyAvKiBT
SEExLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENE
NTM5M0M5MTc1N0JBQzQwMEMwNzEyMyAvKiBTSEExLmNwcCAqLzsgfTsKIAkJQ0Q1NDk3QjQxNTg1
N0YwQzAwQjVCQzMwIC8qIE1lZGlhVGltZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBDRDU0OTdCMzE1ODU3RjBDMDBCNUJDMzAgLyogTWVkaWFUaW1l
LmNwcCAqLzsgfTsKIAkJRTEyMjBEQTAxNTVCMjU0ODAwMTNFMkZDIC8qIE1lbW9yeUNhY2hlRGlz
YWJsZVdpdGhpblJlc291cmNlTG9hZERlbGVnYXRlLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTEyMjBEOUYxNTVCMjU0ODAwMTNFMkZDIC8qIE1lbW9y
eUNhY2hlRGlzYWJsZVdpdGhpblJlc291cmNlTG9hZERlbGVnYXRlLm1tICovOyB9OwogCQlFMTIy
MERDQTE1NUIyOEFBMDAxM0UyRkMgLyogTWVtb3J5Q2FjaGVEaXNhYmxlV2l0aGluUmVzb3VyY2VM
b2FkRGVsZWdhdGUuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBFMTIyMERDOTE1NUIyODdEMDAxM0UyRkMgLyogTWVtb3J5Q2FjaGVEaXNh
YmxlV2l0aGluUmVzb3VyY2VMb2FkRGVsZWdhdGUuaHRtbCAqLzsgfTsKQEAgLTUwNiw2ICs1MDgs
OCBAQAogCQlDNTQyMzdFRDE2Qjg5NTU4MDBFNjM4RkMgLyogUGFzdGVib2FyZE5vdGlmaWNhdGlv
bnNfQnVuZGxlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBhc3Rl
Ym9hcmROb3RpZmljYXRpb25zX0J1bmRsZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUM1NDIzN0VFMTZCODk1NTgwMEU2MzhGQyAvKiBQYXN0ZWJvYXJkTm90aWZpY2F0aW9ucy5t
bSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFBhc3RlYm9hcmROb3Rp
ZmljYXRpb25zLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDNUUxQUZGRDE2QjIy
MTc5MDA2Q0MxRjIgLyogZXhlY0NvcHkuaHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuaHRtbDsgcGF0aCA9
IGV4ZWNDb3B5Lmh0bWw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNENTM5M0M3MTc1
N0JBOTcwMEMwNzEyMyAvKiBNRDUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBu
YW1lID0gTUQ1LmNwcDsgcGF0aCA9IFdURi9NRDUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQlDRDUzOTNDOTE3NTdCQUM0MDBDMDcxMjMgLyogU0hBMS5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBTSEExLmNwcDsgcGF0aCA9IFdURi9TSEExLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0Q1NDk3QjMxNTg1N0YwQzAwQjVCQzMwIC8q
IE1lZGlhVGltZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBNZWRp
YVRpbWUuY3BwOyBwYXRoID0gV1RGL01lZGlhVGltZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUUxMjIwRDlGMTU1QjI1NDgwMDEzRTJGQyAvKiBNZW1vcnlDYWNoZURpc2FibGVX
aXRoaW5SZXNvdXJjZUxvYWREZWxlZ2F0ZS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9i
amNwcDsgcGF0aCA9IE1lbW9yeUNhY2hlRGlzYWJsZVdpdGhpblJlc291cmNlTG9hZERlbGVnYXRl
Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMTIyMERDOTE1NUIyODdEMDAxM0Uy
RkMgLyogTWVtb3J5Q2FjaGVEaXNhYmxlV2l0aGluUmVzb3VyY2VMb2FkRGVsZWdhdGUuaHRtbCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHRleHQuaHRtbDsgcGF0aCA9IE1lbW9yeUNhY2hlRGlzYWJsZVdpdGhpblJlc291
cmNlTG9hZERlbGVnYXRlLmh0bWw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC03NjMs
MTAgKzc2NywxMiBAQAogCQkJCTI2QjJERkY4MTVCREU1OTkwMDRGNjkxRCAvKiBIYXNoU2V0LmNw
cCAqLywKIAkJCQkyNjZGQUZEMjE1RTU3NzUyMDBGNjFENUIgLyogSW50ZWdlclRvU3RyaW5nQ29u
dmVyc2lvbi5jcHAgKi8sCiAJCQkJMjYzMDBCMTcxNjc1NUNEOTAwNjY4ODZEIC8qIExpc3RIYXNo
U2V0LmNwcCAqLywKKwkJCQlDRDUzOTNDNzE3NTdCQTk3MDBDMDcxMjMgLyogTUQ1LmNwcCAqLywK
IAkJCQlCNDAzOUY5QzE1RTZEOEIzMDA3MjU1RDYgLyogTWF0aEV4dHJhcy5jcHAgKi8sCiAJCQkJ
Q0Q1NDk3QjMxNTg1N0YwQzAwQjVCQzMwIC8qIE1lZGlhVGltZS5jcHAgKi8sCiAJCQkJMEZDNkM0
Q0UxNDEwMzRBRDAwNUI3RjBDIC8qIE1ldGFBbGxvY2F0b3IuY3BwICovLAogCQkJCTBGQzZDNENC
MTQxMDI3RTAwMDVCN0YwQyAvKiBSZWRCbGFja1RyZWUuY3BwICovLAorCQkJCUNENTM5M0M5MTc1
N0JBQzQwMEMwNzEyMyAvKiBTSEExLmNwcCAqLywKIAkJCQkxNEYzQjExMjE1RTQ1RUFCMDAyMTAw
NjkgLyogU2F0dXJhdGVkQXJpdGhtZXRpY09wZXJhdGlvbnMuY3BwICovLAogCQkJCTgxQjUwMTky
MTQwRjIzMjMwMEQ5RUI1OCAvKiBTdHJpbmdCdWlsZGVyLmNwcCAqLywKIAkJCQk5M0FCQTgwODE2
RERBQjkxMDAyREIyRkEgLyogU3RyaW5nSGFzaGVyLmNwcCAqLywKQEAgLTEwMDAsOCArMTAwNiw2
IEBACiAvKiBCZWdpbiBQQlhQcm9qZWN0IHNlY3Rpb24gKi8KIAkJMDhGQjc3OTNGRTg0MTU1REMw
MkFBQzA3IC8qIFByb2plY3Qgb2JqZWN0ICovID0gewogCQkJaXNhID0gUEJYUHJvamVjdDsKLQkJ
CWF0dHJpYnV0ZXMgPSB7Ci0JCQl9OwogCQkJYnVpbGRDb25maWd1cmF0aW9uTGlzdCA9IDFERUI5
Mjc4MDg3MzNERDQwMDEwRTlDRCAvKiBCdWlsZCBjb25maWd1cmF0aW9uIGxpc3QgZm9yIFBCWFBy
b2plY3QgIlRlc3RXZWJLaXRBUEkiICovOwogCQkJY29tcGF0aWJpbGl0eVZlcnNpb24gPSAiWGNv
ZGUgMy4xIjsKIAkJCWRldmVsb3BtZW50UmVnaW9uID0gRW5nbGlzaDsKQEAgLTEwOTcsNiArMTEw
MSw3IEBACiAJCQkJNTJDQjQ3NDExNDQ4RkI5MzAwODczOTk1IC8qIExvYWRBbHRlcm5hdGVIVE1M
U3RyaW5nV2l0aE5vbkRpcmVjdG9yeVVSTC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkzM0RDODkx
MTE0MTk1M0EzMDA3NDdFRjcgLyogTG9hZENhbmNlbGVkTm9TZXJ2ZXJSZWRpcmVjdENhbGxiYWNr
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCThBQTI4QzFBMTZEMkZBN0IwMDJGRjREQiAvKiBMb2Fk
UGFnZU9uQ3Jhc2guY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQ0Q1MzkzQzgxNzU3QkE5NzAwQzA3
MTIzIC8qIE1ENS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCNDAzOUY5RDE1RTZEOEIzMDA3MjU1
RDYgLyogTWF0aEV4dHJhcy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlDRDU0OTdCNDE1ODU3RjBD
MDBCNUJDMzAgLyogTWVkaWFUaW1lLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUUxMjIwREEwMTU1
QjI1NDgwMDEzRTJGQyAvKiBNZW1vcnlDYWNoZURpc2FibGVXaXRoaW5SZXNvdXJjZUxvYWREZWxl
Z2F0ZS5tbSBpbiBTb3VyY2VzICovLApAQCAtMTEyOSw2ICsxMTM0LDcgQEAKIAkJCQlCQzAyOUIx
ODE0ODZBRDY0MDA4MTdEQTkgLyogUmV0YWluUHRyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJD
MDI5QjFDMTQ4NkIyNTkwMDgxN0RBOSAvKiBSZXRhaW5QdHIubW0gaW4gU291cmNlcyAqLywKIAkJ
CQlDMDk5MUM1MTE0M0M3RDY4MDA3OTk4RjIgLyogUmV0YWluUHRySGFzaGluZy5jcHAgaW4gU291
cmNlcyAqLywKKwkJCQlDRDUzOTNDQTE3NTdCQUM0MDBDMDcxMjMgLyogU0hBMS5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQkxNEYzQjExMzE1RTQ1RUFCMDAyMTAwNjkgLyogU2F0dXJhdGVkQXJpdGht
ZXRpY09wZXJhdGlvbnMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMjYxNTE2RDYxNUIwRTYwNTAw
QTJDMjAxIC8qIFNldEFuZFVwZGF0ZUNhY2hlTW9kZWwubW0gaW4gU291cmNlcyAqLywKIAkJCQk1
MkI4Q0Y5NjE1ODY4Q0YwMDAyODEwNTMgLyogU2V0RG9jdW1lbnRVUkkubW0gaW4gU291cmNlcyAq
LywKSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL01ENS5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvTUQ1LmNwcAkocmV2aXNpb24gMCkK
KysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL01ENS5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSw0NiBAQAorLyoKKyAqIFRoaXMgY29kZSBpbXBsZW1lbnRzIHRoZSBNRDUgbWVz
c2FnZS1kaWdlc3QgYWxnb3JpdGhtLgorICogVGhlIGFsZ29yaXRobSBpcyBkdWUgdG8gUm9uIFJp
dmVzdC4gIFRoaXMgY29kZSB3YXMKKyAqIHdyaXR0ZW4gYnkgQ29saW4gUGx1bWIgaW4gMTk5Mywg
bm8gY29weXJpZ2h0IGlzIGNsYWltZWQuCisgKiBUaGlzIGNvZGUgaXMgaW4gdGhlIHB1YmxpYyBk
b21haW47IGRvIHdpdGggaXQgd2hhdCB5b3Ugd2lzaC4KKyAqCisgKiBFcXVpdmFsZW50IGNvZGUg
aXMgYXZhaWxhYmxlIGZyb20gUlNBIERhdGEgU2VjdXJpdHksIEluYy4KKyAqIFRoaXMgY29kZSBo
YXMgYmVlbiB0ZXN0ZWQgYWdhaW5zdCB0aGF0LCBhbmQgaXMgZXF1aXZhbGVudCwKKyAqIGV4Y2Vw
dCB0aGF0IHlvdSBkb24ndCBuZWVkIHRvIGluY2x1ZGUgdHdvIHBhZ2VzIG9mIGxlZ2FsZXNlCisg
KiB3aXRoIGV2ZXJ5IGNvcHkuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUg
PHd0Zi9NRDUuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CisKK25hbWVzcGFjZSBU
ZXN0V2ViS2l0QVBJIHsKKworc3RhdGljIHZvaWQgZXhwZWN0TUQ1KENTdHJpbmcgaW5wdXQsIENT
dHJpbmcgZXhwZWN0ZWQpCit7CisgICAgTUQ1IG1kNTsKKyAgICBtZDUuYWRkQnl0ZXMocmVpbnRl
cnByZXRfY2FzdDxjb25zdCB1aW50OF90Kj4oaW5wdXQuZGF0YSgpKSwgaW5wdXQubGVuZ3RoKCkp
OworICAgIFZlY3Rvcjx1aW50OF90LCAxNj4gZGlnZXN0OworICAgIG1kNS5jaGVja3N1bShkaWdl
c3QpOworICAgIGNoYXIqIGJ1ZiA9IDA7CisgICAgQ1N0cmluZyBhY3R1YWwgPSBDU3RyaW5nOjpu
ZXdVbmluaXRpYWxpemVkKDMyLCBidWYpOworICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgMTY7
IGkrKywgYnVmICs9IDIpCisgICAgICAgIHNucHJpbnRmKGJ1ZiwgMywgIiUwMngiLCBkaWdlc3Qu
YXQoaSkpOworCisgICAgQVNTRVJUX0VRKGV4cGVjdGVkLmxlbmd0aCgpLCBhY3R1YWwubGVuZ3Ro
KCkpOworICAgIEFTU0VSVF9TVFJFUShleHBlY3RlZC5kYXRhKCksIGFjdHVhbC5kYXRhKCkpOwor
fQorCitURVNUKFdURl9NRDUsIENvbXB1dGF0aW9uKQoreworICAgIC8vIE1ENSBUZXN0IHN1aXRl
IGZyb20gaHR0cDovL3d3dy5pZXRmLm9yZy9yZmMvcmZjMTMyMS50eHQuCisgICAgZXhwZWN0TUQ1
KCIiLCAiZDQxZDhjZDk4ZjAwYjIwNGU5ODAwOTk4ZWNmODQyN2UiKTsKKyAgICBleHBlY3RNRDUo
ImEiLCAiMGNjMTc1YjljMGYxYjZhODMxYzM5OWUyNjk3NzI2NjEiKTsKKyAgICBleHBlY3RNRDUo
ImFiYyIsICI5MDAxNTA5ODNjZDI0ZmIwZDY5NjNmN2QyOGUxN2Y3MiIpOworICAgIGV4cGVjdE1E
NSgibWVzc2FnZSBkaWdlc3QiLCAiZjk2YjY5N2Q3Y2I3OTM4ZDUyNWEyZjMxYWFmMTYxZDAiKTsK
KyAgICBleHBlY3RNRDUoImFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6IiwgImMzZmNkM2Q3NjE5
MmU0MDA3ZGZiNDk2Y2NhNjdlMTNiIik7CisgICAgZXhwZWN0TUQ1KCJBQkNERUZHSElKS0xNTk9Q
UVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSIsICJkMTc0YWI5
OGQyNzdkOWY1YTU2MTFjMmM5ZjQxOWQ5ZiIpOworICAgIGV4cGVjdE1ENSgiMTIzNDU2Nzg5MDEy
MzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5
MDEyMzQ1Njc4OTAiLCAiNTdlZGY0YTIyYmUzYzk1NWFjNDlkYTJlMjEwN2I2N2EiKTsKK30KKwor
fSAvLyBuYW1lc3BhY2UgVGVzdFdlYktpdEFQSQpJbmRleDogVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0cy9XVEYvU0hBMS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
cy9XVEYvU0hBMS5jcHAJKHJldmlzaW9uIDApCisrKyBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dURi9TSEExLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDU3IEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1
dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBu
YW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHBy
b21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3Bl
Y2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJB
UyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwK
KyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNv
bmZpZy5oIgorI2luY2x1ZGUgPHd0Zi9TSEExLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmlu
Zy5oPgorCituYW1lc3BhY2UgVGVzdFdlYktpdEFQSSB7CisKK3N0YXRpYyB2b2lkIGV4cGVjdFNI
QTEoQ1N0cmluZyBpbnB1dCwgaW50IHJlcGVhdCwgQ1N0cmluZyBleHBlY3RlZCkKK3sKKyAgICBT
SEExIHNoYTE7CisgICAgZm9yIChpbnQgaSA9IDA7IGkgPCByZXBlYXQ7ICsraSkKKyAgICAgICAg
c2hhMS5hZGRCeXRlcyhpbnB1dCk7CisgICAgQ1N0cmluZyBhY3R1YWwgPSBzaGExLmNvbXB1dGVI
ZXhEaWdlc3QoKTsKKworICAgIEFTU0VSVF9FUShleHBlY3RlZC5sZW5ndGgoKSwgYWN0dWFsLmxl
bmd0aCgpKTsKKyAgICBBU1NFUlRfU1RSRVEoZXhwZWN0ZWQuZGF0YSgpLCBhY3R1YWwuZGF0YSgp
KTsKK30KKworVEVTVChXVEZfU0hBMSwgQ29tcHV0YXRpb24pCit7CisgICAgLy8gRXhhbXBsZXMg
dGFrZW4gZnJvbSBzYW1wbGUgY29kZSBpbiBSRkMgMzE3NC4KKyAgICBleHBlY3RTSEExKCJhYmMi
LCAxLCAiQTk5OTNFMzY0NzA2ODE2QUJBM0UyNTcxNzg1MEMyNkM5Q0QwRDg5RCIpOworICAgIGV4
cGVjdFNIQTEoImFiY2RiY2RlY2RlZmRlZmdlZmdoZmdoaWdoaWpoaWpraWprbGprbG1rbG1ubG1u
b21ub3Bub3BxIiwgMSwgIjg0OTgzRTQ0MUMzQkQyNkVCQUFFNEFBMUY5NTEyOUU1RTU0NjcwRjEi
KTsKKyAgICBleHBlY3RTSEExKCJhIiwgMTAwMDAwMCwgIjM0QUE5NzNDRDRDNERBQTRGNjFFRUIy
QkRCQUQyNzMxNjUzNDAxNkYiKTsKKyAgICBleHBlY3RTSEExKCIwMTIzNDU2NzAxMjM0NTY3MDEy
MzQ1NjcwMTIzNDU2NzAxMjM0NTY3MDEyMzQ1NjcwMTIzNDU2NzAxMjM0NTY3IiwgMTAsICJERUEz
NTZBMkNEREQ5MEM3QTdFQ0VEQzVFQkI1NjM5MzRGNDYwNDUyIik7Cit9CisKK30gLy8gbmFtZXNw
YWNlIFRlc3RXZWJLaXRBUEkKSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL1dU
Ri5wcm8KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvV1RGLnBy
bwkocmV2aXNpb24gMTUxMDEwKQorKysgVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvV1RG
LnBybwkod29ya2luZyBjb3B5KQpAQCAtMTAsOSArMTAsMTEgQEAgU09VUkNFUyArPSBcCiAgICAg
SGFzaFNldC5jcHAgXAogICAgIEludGVnZXJUb1N0cmluZ0NvbnZlcnNpb24uY3BwIFwKICAgICBM
aXN0SGFzaFNldC5jcHAgXAorICAgIE1ENS5jcHAgXAogICAgIE1hdGhFeHRyYXMuY3BwIFwKICAg
ICBNZWRpYVRpbWUuY3BwIFwKICAgICBSZWRCbGFja1RyZWUuY3BwIFwKKyAgICBTSEExLmNwcCBc
CiAgICAgU2F0dXJhdGVkQXJpdGhtZXRpY09wZXJhdGlvbnMuY3BwIFwKICAgICBTdHJpbmdCdWls
ZGVyLmNwcCBcCiAgICAgU3RyaW5nSGFzaGVyLmNwcCBcCkluZGV4OiBUb29scy9UZXN0V2ViS2l0
QVBJL3dpbi9UZXN0V2ViS2l0QVBJLnZjcHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9UZXN0V2Vi
S2l0QVBJL3dpbi9UZXN0V2ViS2l0QVBJLnZjcHJvagkocmV2aXNpb24gMTUxMDEwKQorKysgVG9v
bHMvVGVzdFdlYktpdEFQSS93aW4vVGVzdFdlYktpdEFQSS52Y3Byb2oJKHdvcmtpbmcgY29weSkK
QEAgLTQ4NCw2ICs0ODQsMTAgQEAKIAkJCQkJPgogCQkJCTwvRmlsZT4KIAkJCQk8RmlsZQorCQkJ
CQlSZWxhdGl2ZVBhdGg9Ii4uXFRlc3RzXFdURlxNRDUuY3BwIgorCQkJCQk+CisJCQkJPC9GaWxl
PgorCQkJCTxGaWxlCiAJCQkJCVJlbGF0aXZlUGF0aD0iLi5cVGVzdHNcV1RGXE1hdGhFeHRyYXMu
Y3BwIgogCQkJCQk+CiAJCQkJPC9GaWxlPgpAQCAtNDkyLDYgKzQ5NiwxMCBAQAogCQkJCQk+CiAJ
CQkJPC9GaWxlPgogCQkJCTxGaWxlCisJCQkJCVJlbGF0aXZlUGF0aD0iLi5cVGVzdHNcV1RGXFNI
QTEuY3BwIgorCQkJCQk+CisJCQkJPC9GaWxlPgorCQkJCTxGaWxlCiAJCQkJCVJlbGF0aXZlUGF0
aD0iLi5cVGVzdHNcV1RGXFNhdHVyYXRlZEFyaXRobWV0aWNPcGVyYXRpb25zLmNwcCIKIAkJCQkJ
PgogCQkJCTwvRmlsZT4K
</data>

          </attachment>
      

    </bug>

</bugzilla>