<?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>160625</bug_id>
          
          <creation_ts>2016-08-05 19:26:03 -0700</creation_ts>
          <short_desc>Add LEBDecoder and tests</short_desc>
          <delta_ts>2016-08-05 20:49:38 -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>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Keith Miller">keith_miller</reporter>
          <assigned_to name="Keith Miller">keith_miller</assigned_to>
          <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1218159</commentid>
    <comment_count>0</comment_count>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2016-08-05 19:26:03 -0700</bug_when>
    <thetext>Add LEBDecoder and tests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1218160</commentid>
    <comment_count>1</comment_count>
      <attachid>285475</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2016-08-05 19:29:42 -0700</bug_when>
    <thetext>Created attachment 285475
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1218161</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-08-05 19:30:59 -0700</bug_when>
    <thetext>Attachment 285475 did not pass style-queue:


ERROR: Source/JavaScriptCore/testWASM.cpp:74:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/JavaScriptCore/testWASM.cpp:82:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/JavaScriptCore/testWASM.cpp:87:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/JavaScriptCore/testWASM.cpp:93:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/JavaScriptCore/testWASM.cpp:99:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/JavaScriptCore/testWASM.cpp:103:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/JavaScriptCore/testWASM.cpp:122:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/JavaScriptCore/testWASM.cpp:130:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/JavaScriptCore/testWASM.cpp:135:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/JavaScriptCore/testWASM.cpp:141:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/JavaScriptCore/testWASM.cpp:147:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/JavaScriptCore/testWASM.cpp:151:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/WTF/wtf/LEBDecoder.h:32:  Bad include order. Mixing system and custom headers.  [build/include_order] [4]
Total errors found: 13 in 6 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>1218175</commentid>
    <comment_count>3</comment_count>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2016-08-05 20:28:26 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; Attachment 285475 [details] did not pass style-queue:
&gt; 
&gt; 
&gt; ERROR: Source/JavaScriptCore/testWASM.cpp:74:  Weird number of spaces at
&gt; line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
&gt; ERROR: Source/JavaScriptCore/testWASM.cpp:82:  Weird number of spaces at
&gt; line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
&gt; ERROR: Source/JavaScriptCore/testWASM.cpp:87:  Weird number of spaces at
&gt; line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
&gt; ERROR: Source/JavaScriptCore/testWASM.cpp:93:  Weird number of spaces at
&gt; line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
&gt; ERROR: Source/JavaScriptCore/testWASM.cpp:99:  Weird number of spaces at
&gt; line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
&gt; ERROR: Source/JavaScriptCore/testWASM.cpp:103:  Weird number of spaces at
&gt; line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
&gt; ERROR: Source/JavaScriptCore/testWASM.cpp:122:  Weird number of spaces at
&gt; line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
&gt; ERROR: Source/JavaScriptCore/testWASM.cpp:130:  Weird number of spaces at
&gt; line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
&gt; ERROR: Source/JavaScriptCore/testWASM.cpp:135:  Weird number of spaces at
&gt; line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
&gt; ERROR: Source/JavaScriptCore/testWASM.cpp:141:  Weird number of spaces at
&gt; line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
&gt; ERROR: Source/JavaScriptCore/testWASM.cpp:147:  Weird number of spaces at
&gt; line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
&gt; ERROR: Source/JavaScriptCore/testWASM.cpp:151:  Weird number of spaces at
&gt; line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
&gt; ERROR: Source/WTF/wtf/LEBDecoder.h:32:  Bad include order. Mixing system and
&gt; custom headers.  [build/include_order] [4]
&gt; Total errors found: 13 in 6 files
&gt; 
&gt; 
&gt; If any of these errors are false positives, please file a bug against
&gt; check-webkit-style.

The style checker doesn&apos;t seem to like the comments in the macros.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1218177</commentid>
    <comment_count>4</comment_count>
      <attachid>285475</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-08-05 20:49:34 -0700</bug_when>
    <thetext>Comment on attachment 285475
Patch

Clearing flags on attachment: 285475

Committed r204218: &lt;http://trac.webkit.org/changeset/204218&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1218178</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-08-05 20:49:38 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>285475</attachid>
            <date>2016-08-05 19:29:42 -0700</date>
            <delta_ts>2016-08-05 20:49:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-160625-20160805192815.patch</filename>
            <type>text/plain</type>
            <size>26064</size>
            <attacher name="Keith Miller">keith_miller</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA0MTgwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBl
NzQ4OWRiMzc2OGFhY2RkMGNlNzE1YTViNzBjZDIxYzAxYjYxMjAzLi45YjVjZWFjNzc4ODQ4MjAy
NzBmNGZkMTM0MmRiODRmNzg0ZTM5ZGM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
NSArMSwyNCBAQAogMjAxNi0wOC0wNSAgS2VpdGggTWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxl
LmNvbT4KIAorICAgICAgICBBZGQgTEVCRGVjb2RlciBhbmQgdGVzdHMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MDYyNQorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZHMgYSBuZXcgdGFyZ2V0IHRlc3RX
QVNNIHRoYXQgaXMgY3VycmVudGx5IHVzZWQgdG8gdGVzdCB0aGUgTEVCIGRlY29kZXIuCisgICAg
ICAgIEluIHRoZSBmdXR1cmUsIGlmIHdlIGFkZCBtb3JlIHN1cHBvcnQgZm9yIFdBU00gd2Ugd2ls
bCBwdXQgbW9yZSB0ZXN0cworICAgICAgICBoZXJlLgorCisgICAgICAgICogSmF2YVNjcmlwdENv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiB0ZXN0V0FTTS5jcHA6IEFk
ZGVkLgorICAgICAgICAoQ29tbWFuZExpbmU6OkNvbW1hbmRMaW5lKToKKyAgICAgICAgKHByaW50
VXNhZ2VTdGF0ZW1lbnQpOgorICAgICAgICAoQ29tbWFuZExpbmU6OnBhcnNlQXJndW1lbnRzKToK
KyAgICAgICAgKHJ1bkxFQlRlc3RzKToKKyAgICAgICAgKG1haW4pOgorCisyMDE2LTA4LTA1ICBL
ZWl0aCBNaWxsZXIgIDxrZWl0aF9taWxsZXJAYXBwbGUuY29tPgorCiAgICAgICAgIERlbGV0ZSBv
dXQgb2YgZGF0ZSBXQVNNIGNvZGUuCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNjA2MDMKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwppbmRleCBiY2Q5ODE0MWZmOGNhMjI1ZDAyZDRiNDM2YjU1
YTkyNmMxZDdhYzQ1Li41ZjM4N2Y2ZjgwODEwNTBmNzJhMDMzOTc4ZWJlOTdiOTU3MGI5ZmUwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV1RGL0NoYW5nZUxv
ZwpAQCAtMSw1ICsxLDIwIEBACiAyMDE2LTA4LTA1ICBLZWl0aCBNaWxsZXIgIDxrZWl0aF9taWxs
ZXJAYXBwbGUuY29tPgogCisgICAgICAgIEFkZCBMRUJEZWNvZGVyIGFuZCB0ZXN0cworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYwNjI1CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkcyBzb21lIExFQiBk
ZWNvZGVyIGZ1bmN0aW9ucyB0byBXVEYuIFRoZXNlIGFyZSB1c2VkIGluIHRoZQorICAgICAgICBX
QVNNIHNwZWMgdG8gZW5jb2RlIG51bWJlcnMgaW4gYSBzZW1pLWNvbXByZXNzZWQgZm9ybWF0Lgor
CisgICAgICAgICogV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogd3Rm
L0xFQkRlY29kZXIuaDogQWRkZWQuCisgICAgICAgIChkZWNvZGVVSW50MzIpOgorICAgICAgICAo
ZGVjb2RlSW50MzIpOgorCisyMDE2LTA4LTA1ICBLZWl0aCBNaWxsZXIgIDxrZWl0aF9taWxsZXJA
YXBwbGUuY29tPgorCiAgICAgICAgIERlbGV0ZSBvdXQgb2YgZGF0ZSBXQVNNIGNvZGUuCiAgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjA2MDMKIApkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBhNTEwZjVjMjJmZmQyMGMxYWRjYzAzMDEyMDVi
MDY4M2EwNDJhYjZlLi5lMzBkYzllNGQwMjAzNjIwYjE0Y2EyMjhiNGViMmJiNGZkZWNlZjBkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMjUsNiArMjUsNyBAQAogCQkJYnVpbGRQ
aGFzZXMgPSAoCiAJCQkpOwogCQkJZGVwZW5kZW5jaWVzID0gKAorCQkJCTUzOUVCMDgzMUQ1NTYw
RjQwMEM4MkVGNyAvKiBQQlhUYXJnZXREZXBlbmRlbmN5ICovLAogCQkJCTBGNjE4MzQ3MUM0NUY2
N0EwMDcyNDUwQiAvKiBQQlhUYXJnZXREZXBlbmRlbmN5ICovLAogCQkJCTBGOTMyNzVEMUMyMEJG
M0EwMENGNjU2NCAvKiBQQlhUYXJnZXREZXBlbmRlbmN5ICovLAogCQkJCTBGRUM4NUIxMUJEQjVE
OEYwMDgwRkY3NCAvKiBQQlhUYXJnZXREZXBlbmRlbmN5ICovLApAQCAtMTE4Miw2ICsxMTgzLDkg
QEAKIAkJNTM3MEI0RjUxQkYyNjIwMjAwNUM0MEZDIC8qIEFkYXB0aXZlSW5mZXJyZWRQcm9wZXJ0
eVZhbHVlV2F0Y2hwb2ludEJhc2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNTM3MEI0RjMxQkYyNUVBMjAwNUM0MEZDIC8qIEFkYXB0aXZlSW5mZXJy
ZWRQcm9wZXJ0eVZhbHVlV2F0Y2hwb2ludEJhc2UuY3BwICovOyB9OwogCQk1MzcwQjRGNjFCRjI2
MjA1MDA1QzQwRkMgLyogQWRhcHRpdmVJbmZlcnJlZFByb3BlcnR5VmFsdWVXYXRjaHBvaW50QmFz
ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTM3MEI0
RjQxQkYyNUVBMjAwNUM0MEZDIC8qIEFkYXB0aXZlSW5mZXJyZWRQcm9wZXJ0eVZhbHVlV2F0Y2hw
b2ludEJhc2UuaCAqLzsgfTsKIAkJNTM5MTdFN0IxQjc5MDZGQTAwMEVCRDMzIC8qIEpTR2VuZXJp
Y1R5cGVkQXJyYXlWaWV3UHJvdG90eXBlRnVuY3Rpb25zLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MzkxN0U3QTFCNzkwNkU0MDAwRUJEMzMgLyogSlNH
ZW5lcmljVHlwZWRBcnJheVZpZXdQcm90b3R5cGVGdW5jdGlvbnMuaCAqLzsgfTsKKwkJNTM5RUIw
NzkxRDU1NjA3MDAwQzgyRUY3IC8qIEZvdW5kYXRpb24uZnJhbWV3b3JrIGluIEZyYW1ld29ya3Mg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFGMEVCNjEwNUM4NkM2QjAwRTZE
RjFCIC8qIEZvdW5kYXRpb24uZnJhbWV3b3JrICovOyB9OworCQk1MzlFQjA3QTFENTU2MDcwMDBD
ODJFRjcgLyogSmF2YVNjcmlwdENvcmUuZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTMyRjVCRDkwODIyQTFDNzAwNzM2OTc1IC8qIEph
dmFTY3JpcHRDb3JlLmZyYW1ld29yayAqLzsgfTsKKwkJNTM5RUIwODExRDU1NjA4QTAwQzgyRUY3
IC8qIHRlc3RXQVNNLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDUzOUVCMDcxMUQ1NTNERjgwMEM4MkVGNyAvKiB0ZXN0V0FTTS5jcHAgKi87IH07CiAJ
CTUzOUZCOEJBMUM5OURBN0MwMDk0MEZBMSAvKiBKU0FycmF5SW5saW5lcy5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTM5RkI4QjkxQzk5REE3QzAwOTQw
RkExIC8qIEpTQXJyYXlJbmxpbmVzLmggKi87IH07CiAJCTUzRjZCRjZEMUMzRjA2MEEwMEY0MUU1
RCAvKiBJbnRlcm5hbEZ1bmN0aW9uQWxsb2NhdGlvblByb2ZpbGUuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUzRjZCRjZDMUMzRjA2MEEwMEY0MUU1RCAv
KiBJbnRlcm5hbEZ1bmN0aW9uQWxsb2NhdGlvblByb2ZpbGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk1M0ZBMkFFMTFDRjM3RjNGMDAyMjcxMUQg
LyogTExJbnRQcm90b3R5cGVMb2FkQWRhcHRpdmVTdHJ1Y3R1cmVXYXRjaHBvaW50LmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1M0ZBMkFFMDFDRjM3RjNG
MDAyMjcxMUQgLyogTExJbnRQcm90b3R5cGVMb2FkQWRhcHRpdmVTdHJ1Y3R1cmVXYXRjaHBvaW50
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTIx
NTIsNiArMjE1NiwxMyBAQAogCQkJcmVtb3RlR2xvYmFsSURTdHJpbmcgPSAwRjQ2ODBBOTE0QkE3
RkQ5MDBCRkUyNzI7CiAJCQlyZW1vdGVJbmZvID0gIkxMSW50IE9mZnNldHMiOwogCQl9OworCQk1
MzlFQjA4MjFENTU2MEY0MDBDODJFRjcgLyogUEJYQ29udGFpbmVySXRlbVByb3h5ICovID0gewor
CQkJaXNhID0gUEJYQ29udGFpbmVySXRlbVByb3h5OworCQkJY29udGFpbmVyUG9ydGFsID0gMDg2
N0Q2OTBGRTg0MDI4RkMwMkFBQzA3IC8qIFByb2plY3Qgb2JqZWN0ICovOworCQkJcHJveHlUeXBl
ID0gMTsKKwkJCXJlbW90ZUdsb2JhbElEU3RyaW5nID0gNTM5RUIwNzUxRDU1NjA3MDAwQzgyRUY3
OworCQkJcmVtb3RlSW5mbyA9IHRlc3RXQVNNOworCQl9OwogCQk1RDY5RTkxMTE1MkJFNTQ3MDAy
OEQ3MjAgLyogUEJYQ29udGFpbmVySXRlbVByb3h5ICovID0gewogCQkJaXNhID0gUEJYQ29udGFp
bmVySXRlbVByb3h5OwogCQkJY29udGFpbmVyUG9ydGFsID0gMDg2N0Q2OTBGRTg0MDI4RkMwMkFB
QzA3IC8qIFByb2plY3Qgb2JqZWN0ICovOwpAQCAtMzM0NCw2ICszMzU1LDggQEAKIAkJNTM5MTdF
N0ExQjc5MDZFNDAwMEVCRDMzIC8qIEpTR2VuZXJpY1R5cGVkQXJyYXlWaWV3UHJvdG90eXBlRnVu
Y3Rpb25zLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTR2VuZXJpY1R5cGVk
QXJyYXlWaWV3UHJvdG90eXBlRnVuY3Rpb25zLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTUzOTE3RTdDMUI3OTExMDYwMDBFQkQzMyAvKiBKU1R5cGVkQXJyYXlWaWV3UHJvdG90eXBl
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTVHlwZWRBcnJheVZpZXdQcm90
b3R5cGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTM5MTdFODMxQjc5MUNCODAw
MEVCRDMzIC8qIFR5cGVkQXJyYXlQcm90b3R5cGUuanMgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmph
dmFzY3JpcHQ7IG5hbWUgPSBUeXBlZEFycmF5UHJvdG90eXBlLmpzOyBwYXRoID0gYnVpbHRpbnMv
VHlwZWRBcnJheVByb3RvdHlwZS5qczsgc291cmNlVHJlZSA9IFNPVVJDRV9ST09UOyB9OworCQk1
MzlFQjA3MTFENTUzREY4MDBDODJFRjcgLyogdGVzdFdBU00uY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gdGVzdFdBU00uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQk1MzlFQjA4MDFENTU2MDcwMDBDODJFRjcgLyogdGVzdFdBU00gKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZXhwbGljaXRGaWxlVHlwZSA9ICJjb21waWxlZC5tYWNoLW8uZXhl
Y3V0YWJsZSI7IGluY2x1ZGVJbkluZGV4ID0gMDsgcGF0aCA9IHRlc3RXQVNNOyBzb3VyY2VUcmVl
ID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OwogCQk1MzlGQjhCOTFDOTlEQTdDMDA5NDBGQTEgLyog
SlNBcnJheUlubGluZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNBcnJh
eUlubGluZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTNGMjU2RTExQjg3RTI4
MDAwQjRCNzY4IC8qIEpTVHlwZWRBcnJheVZpZXdQcm90b3R5cGUuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNUeXBlZEFycmF5Vmlld1Byb3RvdHlwZS5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUzRjZCRjZDMUMzRjA2MEEwMEY0MUU1RCAvKiBJ
bnRlcm5hbEZ1bmN0aW9uQWxsb2NhdGlvblByb2ZpbGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gSW50ZXJuYWxGdW5jdGlvbkFsbG9jYXRpb25Qcm9maWxlLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CkBAIC00NDU0LDYgKzQ0NjcsMTUgQEAKIAkJCSk7CiAJCQlydW5P
bmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKKwkJNTM5RUIwNzgxRDU1
NjA3MDAwQzgyRUY3IC8qIEZyYW1ld29ya3MgKi8gPSB7CisJCQlpc2EgPSBQQlhGcmFtZXdvcmtz
QnVpbGRQaGFzZTsKKwkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CisJCQlmaWxlcyA9
ICgKKwkJCQk1MzlFQjA3OTFENTU2MDcwMDBDODJFRjcgLyogRm91bmRhdGlvbi5mcmFtZXdvcmsg
aW4gRnJhbWV3b3JrcyAqLywKKwkJCQk1MzlFQjA3QTFENTU2MDcwMDBDODJFRjcgLyogSmF2YVNj
cmlwdENvcmUuZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8sCisJCQkpOworCQkJcnVuT25seUZv
ckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CisJCX07CiAJCTY1MTEyMkZDMTQwNDZBNEMw
MDJCMTAxRCAvKiBGcmFtZXdvcmtzICovID0gewogCQkJaXNhID0gUEJYRnJhbWV3b3Jrc0J1aWxk
UGhhc2U7CiAJCQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OwpAQCAtNDUwMSw2ICs0NTIz
LDcgQEAKIAkJCQk2NTExMjMwNTE0MDQ2QTRDMDAyQjEwMUQgLyogdGVzdFJlZ0V4cCAqLywKIAkJ
CQkwRjkzMjc1OTFDMjBCQ0JBMDBDRjY1NjQgLyogZHluYmVuY2ggKi8sCiAJCQkJMEY2MTgzNDMx
QzQ1RjYyQTAwNzI0NTBCIC8qIHRlc3RhaXIgKi8sCisJCQkJNTM5RUIwODAxRDU1NjA3MDAwQzgy
RUY3IC8qIHRlc3RXQVNNICovLAogCQkJKTsKIAkJCW5hbWUgPSBQcm9kdWN0czsKIAkJCXNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7CkBAIC01MDAwLDYgKzUwMjMsNyBAQAogCQkJCUZFQ0I4QjI5MUQy
NUNBQkIwMDZGMjQ2MyAvKiB0ZXN0YXBpLWZ1bmN0aW9uLW92ZXJyaWRlcy5qcyAqLywKIAkJCQk4
NkQyMjIxOTE2N0VGOTQ0MDAyNEM4MDQgLyogdGVzdGFwaS5tbSAqLywKIAkJCQk2NTExMjJFNTE0
MDQ2OUJBMDAyQjEwMUQgLyogdGVzdFJlZ0V4cC5jcHAgKi8sCisJCQkJNTM5RUIwNzExRDU1M0RG
ODAwQzgyRUY3IC8qIHRlc3RXQVNNLmNwcCAqLywKIAkJCSk7CiAJCQluYW1lID0gdGVzdHM7CiAJ
CQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwpAQCAtODMwNSw2ICs4MzI5LDIyIEBACiAJCQlwcm9k
dWN0UmVmZXJlbmNlID0gMTRCRDU5QkYwQTNFOEY5MDAwQkFGNTlDIC8qIHRlc3RhcGkgKi87CiAJ
CQlwcm9kdWN0VHlwZSA9ICJjb20uYXBwbGUucHJvZHVjdC10eXBlLnRvb2wiOwogCQl9OworCQk1
MzlFQjA3NTFENTU2MDcwMDBDODJFRjcgLyogdGVzdFdBU00gKi8gPSB7CisJCQlpc2EgPSBQQlhO
YXRpdmVUYXJnZXQ7CisJCQlidWlsZENvbmZpZ3VyYXRpb25MaXN0ID0gNTM5RUIwN0IxRDU1NjA3
MDAwQzgyRUY3IC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJYTmF0aXZlVGFyZ2V0
ICJ0ZXN0V0FTTSIgKi87CisJCQlidWlsZFBoYXNlcyA9ICgKKwkJCQk1MzlFQjA3NjFENTU2MDcw
MDBDODJFRjcgLyogU291cmNlcyAqLywKKwkJCQk1MzlFQjA3ODFENTU2MDcwMDBDODJFRjcgLyog
RnJhbWV3b3JrcyAqLywKKwkJCSk7CisJCQlidWlsZFJ1bGVzID0gKAorCQkJKTsKKwkJCWRlcGVu
ZGVuY2llcyA9ICgKKwkJCSk7CisJCQluYW1lID0gdGVzdFdBU007CisJCQlwcm9kdWN0TmFtZSA9
IHRlc3RhcGk7CisJCQlwcm9kdWN0UmVmZXJlbmNlID0gNTM5RUIwODAxRDU1NjA3MDAwQzgyRUY3
IC8qIHRlc3RXQVNNICovOworCQkJcHJvZHVjdFR5cGUgPSAiY29tLmFwcGxlLnByb2R1Y3QtdHlw
ZS50b29sIjsKKwkJfTsKIAkJNjUxMTIyRjcxNDA0NkE0QzAwMkIxMDFEIC8qIHRlc3RSZWdFeHAg
Ki8gPSB7CiAJCQlpc2EgPSBQQlhOYXRpdmVUYXJnZXQ7CiAJCQlidWlsZENvbmZpZ3VyYXRpb25M
aXN0ID0gNjUxMTIzMDAxNDA0NkE0QzAwMkIxMDFEIC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlz
dCBmb3IgUEJYTmF0aXZlVGFyZ2V0ICJ0ZXN0UmVnRXhwIiAqLzsKQEAgLTg0MDYsNiArODQ0Niw3
IEBACiAJCQkJNUQ2QjJBNDcxNTJCOUUxNzAwNTIzMURFIC8qIFRlc3QgVG9vbHMgKi8sCiAJCQkJ
MEY5MzI3NEUxQzIwQkNCQTAwQ0Y2NTY0IC8qIGR5bmJlbmNoICovLAogCQkJCTBGNjE4MzM4MUM0
NUY2MkEwMDcyNDUwQiAvKiB0ZXN0YWlyICovLAorCQkJCTUzOUVCMDc1MUQ1NTYwNzAwMEM4MkVG
NyAvKiB0ZXN0V0FTTSAqLywKIAkJCSk7CiAJCX07CiAvKiBFbmQgUEJYUHJvamVjdCBzZWN0aW9u
ICovCkBAIC04Njc1LDYgKzg3MTYsMTQgQEAKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVu
dFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKKwkJNTM5RUIwNzYxRDU1NjA3MDAwQzgyRUY3IC8q
IFNvdXJjZXMgKi8gPSB7CisJCQlpc2EgPSBQQlhTb3VyY2VzQnVpbGRQaGFzZTsKKwkJCWJ1aWxk
QWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CisJCQlmaWxlcyA9ICgKKwkJCQk1MzlFQjA4MTFENTU2
MDhBMDBDODJFRjcgLyogdGVzdFdBU00uY3BwIGluIFNvdXJjZXMgKi8sCisJCQkpOworCQkJcnVu
T25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CisJCX07CiAJCTY1MTEyMkZBMTQw
NDZBNEMwMDJCMTAxRCAvKiBTb3VyY2VzICovID0gewogCQkJaXNhID0gUEJYU291cmNlc0J1aWxk
UGhhc2U7CiAJCQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OwpAQCAtOTUxOCw2ICs5NTY3
LDExIEBACiAJCQl0YXJnZXQgPSAwRjQ2ODBBOTE0QkE3RkQ5MDBCRkUyNzIgLyogTExJbnQgT2Zm
c2V0cyAqLzsKIAkJCXRhcmdldFByb3h5ID0gMEZGOTIyRDIxNEY0NkIyRjAwNDFBMjRFIC8qIFBC
WENvbnRhaW5lckl0ZW1Qcm94eSAqLzsKIAkJfTsKKwkJNTM5RUIwODMxRDU1NjBGNDAwQzgyRUY3
IC8qIFBCWFRhcmdldERlcGVuZGVuY3kgKi8gPSB7CisJCQlpc2EgPSBQQlhUYXJnZXREZXBlbmRl
bmN5OworCQkJdGFyZ2V0ID0gNTM5RUIwNzUxRDU1NjA3MDAwQzgyRUY3IC8qIHRlc3RXQVNNICov
OworCQkJdGFyZ2V0UHJveHkgPSA1MzlFQjA4MjFENTU2MEY0MDBDODJFRjcgLyogUEJYQ29udGFp
bmVySXRlbVByb3h5ICovOworCQl9OwogCQk1RDY5RTkxMjE1MkJFNTQ3MDAyOEQ3MjAgLyogUEJY
VGFyZ2V0RGVwZW5kZW5jeSAqLyA9IHsKIAkJCWlzYSA9IFBCWFRhcmdldERlcGVuZGVuY3k7CiAJ
CQl0YXJnZXQgPSA5MzJGNUJEQTA4MjJBMUM3MDA3MzY5NzUgLyoganNjICovOwpAQCAtOTg1Myw2
ICs5OTA3LDM4IEBACiAJCQl9OwogCQkJbmFtZSA9IFByb2R1Y3Rpb247CiAJCX07CisJCTUzOUVC
MDdDMUQ1NTYwNzAwMEM4MkVGNyAvKiBEZWJ1ZyAqLyA9IHsKKwkJCWlzYSA9IFhDQnVpbGRDb25m
aWd1cmF0aW9uOworCQkJYmFzZUNvbmZpZ3VyYXRpb25SZWZlcmVuY2UgPSBCQzAyMUJGMjEzNjkw
MEMzMDBGQzU0NjcgLyogVG9vbEV4ZWN1dGFibGUueGNjb25maWcgKi87CisJCQlidWlsZFNldHRp
bmdzID0geworCQkJCVBST0RVQ1RfTkFNRSA9ICIkKFRBUkdFVF9OQU1FKSI7CisJCQl9OworCQkJ
bmFtZSA9IERlYnVnOworCQl9OworCQk1MzlFQjA3RDFENTU2MDcwMDBDODJFRjcgLyogUmVsZWFz
ZSAqLyA9IHsKKwkJCWlzYSA9IFhDQnVpbGRDb25maWd1cmF0aW9uOworCQkJYmFzZUNvbmZpZ3Vy
YXRpb25SZWZlcmVuY2UgPSBCQzAyMUJGMjEzNjkwMEMzMDBGQzU0NjcgLyogVG9vbEV4ZWN1dGFi
bGUueGNjb25maWcgKi87CisJCQlidWlsZFNldHRpbmdzID0geworCQkJCVBST0RVQ1RfTkFNRSA9
ICIkKFRBUkdFVF9OQU1FKSI7CisJCQl9OworCQkJbmFtZSA9IFJlbGVhc2U7CisJCX07CisJCTUz
OUVCMDdFMUQ1NTYwNzAwMEM4MkVGNyAvKiBQcm9maWxpbmcgKi8gPSB7CisJCQlpc2EgPSBYQ0J1
aWxkQ29uZmlndXJhdGlvbjsKKwkJCWJhc2VDb25maWd1cmF0aW9uUmVmZXJlbmNlID0gQkMwMjFC
RjIxMzY5MDBDMzAwRkM1NDY3IC8qIFRvb2xFeGVjdXRhYmxlLnhjY29uZmlnICovOworCQkJYnVp
bGRTZXR0aW5ncyA9IHsKKwkJCQlQUk9EVUNUX05BTUUgPSAiJChUQVJHRVRfTkFNRSkiOworCQkJ
fTsKKwkJCW5hbWUgPSBQcm9maWxpbmc7CisJCX07CisJCTUzOUVCMDdGMUQ1NTYwNzAwMEM4MkVG
NyAvKiBQcm9kdWN0aW9uICovID0geworCQkJaXNhID0gWENCdWlsZENvbmZpZ3VyYXRpb247CisJ
CQliYXNlQ29uZmlndXJhdGlvblJlZmVyZW5jZSA9IEJDMDIxQkYyMTM2OTAwQzMwMEZDNTQ2NyAv
KiBUb29sRXhlY3V0YWJsZS54Y2NvbmZpZyAqLzsKKwkJCWJ1aWxkU2V0dGluZ3MgPSB7CisJCQkJ
UFJPRFVDVF9OQU1FID0gIiQoVEFSR0VUX05BTUUpIjsKKwkJCX07CisJCQluYW1lID0gUHJvZHVj
dGlvbjsKKwkJfTsKIAkJNUQ2QjJBNDgxNTJCOUUxNzAwNTIzMURFIC8qIERlYnVnICovID0gewog
CQkJaXNhID0gWENCdWlsZENvbmZpZ3VyYXRpb247CiAJCQlidWlsZFNldHRpbmdzID0gewpAQCAt
MTAxNDQsNiArMTAyMzAsMTcgQEAKIAkJCWRlZmF1bHRDb25maWd1cmF0aW9uSXNWaXNpYmxlID0g
MDsKIAkJCWRlZmF1bHRDb25maWd1cmF0aW9uTmFtZSA9IFByb2R1Y3Rpb247CiAJCX07CisJCTUz
OUVCMDdCMUQ1NTYwNzAwMEM4MkVGNyAvKiBCdWlsZCBjb25maWd1cmF0aW9uIGxpc3QgZm9yIFBC
WE5hdGl2ZVRhcmdldCAidGVzdFdBU00iICovID0geworCQkJaXNhID0gWENDb25maWd1cmF0aW9u
TGlzdDsKKwkJCWJ1aWxkQ29uZmlndXJhdGlvbnMgPSAoCisJCQkJNTM5RUIwN0MxRDU1NjA3MDAw
QzgyRUY3IC8qIERlYnVnICovLAorCQkJCTUzOUVCMDdEMUQ1NTYwNzAwMEM4MkVGNyAvKiBSZWxl
YXNlICovLAorCQkJCTUzOUVCMDdFMUQ1NTYwNzAwMEM4MkVGNyAvKiBQcm9maWxpbmcgKi8sCisJ
CQkJNTM5RUIwN0YxRDU1NjA3MDAwQzgyRUY3IC8qIFByb2R1Y3Rpb24gKi8sCisJCQkpOworCQkJ
ZGVmYXVsdENvbmZpZ3VyYXRpb25Jc1Zpc2libGUgPSAwOworCQkJZGVmYXVsdENvbmZpZ3VyYXRp
b25OYW1lID0gUHJvZHVjdGlvbjsKKwkJfTsKIAkJNUQ2QjJBNEMxNTJCOUUxNzAwNTIzMURFIC8q
IEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJYQWdncmVnYXRlVGFyZ2V0ICJUZXN0IFRv
b2xzIiAqLyA9IHsKIAkJCWlzYSA9IFhDQ29uZmlndXJhdGlvbkxpc3Q7CiAJCQlidWlsZENvbmZp
Z3VyYXRpb25zID0gKApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RXQVNN
LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0V0FTTS5jcHAKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDAy
MjUyNzc2YmI0YTVhMzQyZjkzNmU1ZGU3OGY0Nzc0NjEzZWJlNAotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0V0FTTS5jcHAKQEAgLTAsMCArMSwxODYgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBg
YEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29u
ZmlnLmgiCisKKyNpbmNsdWRlICJKU1N0cmluZy5oIgorI2luY2x1ZGUgPHd0Zi9EYXRhTG9nLmg+
CisjaW5jbHVkZSA8d3RmL0xFQkRlY29kZXIuaD4KKworY2xhc3MgQ29tbWFuZExpbmUgeworcHVi
bGljOgorICAgIENvbW1hbmRMaW5lKGludCBhcmdjLCBjaGFyKiogYXJndikKKyAgICB7CisgICAg
ICAgIHBhcnNlQXJndW1lbnRzKGFyZ2MsIGFyZ3YpOworICAgIH0KKworICAgIFZlY3RvcjxTdHJp
bmc+IG1fYXJndW1lbnRzOworICAgIGJvb2wgbV9ydW5MRUJUZXN0cyB7IGZhbHNlIH07CisKKyAg
ICB2b2lkIHBhcnNlQXJndW1lbnRzKGludCwgY2hhcioqKTsKK307CisKK3N0YXRpYyBOT19SRVRV
Uk4gdm9pZCBwcmludFVzYWdlU3RhdGVtZW50KGJvb2wgaGVscCA9IGZhbHNlKQoreworICAgIGZw
cmludGYoc3RkZXJyLCAiVXNhZ2U6IHRlc3RXQVNNIFtvcHRpb25zXVxuIik7CisgICAgZnByaW50
ZihzdGRlcnIsICIgIC1ofC0taGVscCAgUHJpbnRzIHRoaXMgaGVscCBtZXNzYWdlXG4iKTsKKyAg
ICBmcHJpbnRmKHN0ZGVyciwgIiAgLWx8LS1sZWIgICBSdW5zIHRoZSBMRUIgZGVjb2RlciB0ZXN0
c1xuIik7CisgICAgZnByaW50ZihzdGRlcnIsICJcbiIpOworCisgICAgZXhpdChoZWxwID8gRVhJ
VF9TVUNDRVNTIDogRVhJVF9GQUlMVVJFKTsKK30KKwordm9pZCBDb21tYW5kTGluZTo6cGFyc2VB
cmd1bWVudHMoaW50IGFyZ2MsIGNoYXIqKiBhcmd2KQoreworICAgIGludCBpID0gMTsKKworICAg
IGZvciAoOyBpIDwgYXJnYzsgKytpKSB7CisgICAgICAgIGNvbnN0IGNoYXIqIGFyZyA9IGFyZ3Zb
aV07CisgICAgICAgIGlmICghc3RyY21wKGFyZywgIi1oIikgfHwgIXN0cmNtcChhcmcsICItLWhl
bHAiKSkKKyAgICAgICAgICAgIHByaW50VXNhZ2VTdGF0ZW1lbnQodHJ1ZSk7CisKKyAgICAgICAg
aWYgKCFzdHJjbXAoYXJnLCAiLWwiKSB8fCAhc3RyY21wKGFyZywgIi0tbGViIikpCisgICAgICAg
ICAgICBtX3J1bkxFQlRlc3RzID0gdHJ1ZTsKKyAgICB9CisKKyAgICBmb3IgKDsgaSA8IGFyZ2M7
ICsraSkKKyAgICAgICAgbV9hcmd1bWVudHMuYXBwZW5kKGFyZ3ZbaV0pOworCit9CisKKyNkZWZp
bmUgRk9SX0VBQ0hfVU5TSUdORURfTEVCX1RFU1QobWFjcm8pIFwKKyAgICAvKiBTaW1wbGUgdGVz
dHMgdGhhdCB1c2UgYWxsIHRoZSBiaXRzIGluIHRoZSBhcnJheSAqLyBcCisgICAgbWFjcm8oKHsg
MHgwNyB9KSwgMCwgdHJ1ZSwgMHg3LCAxKSBcCisgICAgbWFjcm8oKHsgMHg3NyB9KSwgMCwgdHJ1
ZSwgMHg3NywgMSkgXAorICAgIG1hY3JvKCh7IDB4ODAsIDB4MDcgfSksIDAsIHRydWUsIDB4Mzgw
LCAyKSBcCisgICAgbWFjcm8oKHsgMHg4OSwgMHgxMiB9KSwgMCwgdHJ1ZSwgMHg5MDksIDIpIFwK
KyAgICBtYWNybygoeyAweGYzLCAweDg1LCAweDAyIH0pLCAwLCB0cnVlLCAweDgyZjMsIDMpIFwK
KyAgICBtYWNybygoeyAweGYzLCAweDg1LCAweGZmLCAweDc0IH0pLCAwLCB0cnVlLCAweGU5ZmMy
ZjMsIDQpIFwKKyAgICBtYWNybygoeyAweGYzLCAweDg1LCAweGZmLCAweGY0LCAweDdmIH0pLCAw
LCB0cnVlLCAweGZlOWZjMmYzLCA1KSBcCisgICAgLyogVGVzdCB3aXRoIGV4dHJhIHRyYWlsaW5n
IG51bWJlcnMgKi8gXAorICAgIG1hY3JvKCh7IDB4MDcsIDB4ODAgfSksIDAsIHRydWUsIDB4Nywg
MSkgXAorICAgIG1hY3JvKCh7IDB4MDcsIDB4NzUgfSksIDAsIHRydWUsIDB4NywgMSkgXAorICAg
IG1hY3JvKCh7IDB4ZjMsIDB4ODUsIDB4ZmYsIDB4NzQsIDB4NDMgfSksIDAsIHRydWUsIDB4ZTlm
YzJmMywgNCkgXAorICAgIG1hY3JvKCh7IDB4ZjMsIDB4ODUsIDB4ZmYsIDB4NzQsIDB4ODAgfSks
IDAsIHRydWUsIDB4ZTlmYzJmMywgNCkgXAorICAgIC8qIFRlc3Qgd2l0aCBwcmVjZWVkaW5nIG51
bWJlcnMgKi8gXAorICAgIG1hY3JvKCh7IDB4ZjMsIDB4MDcgfSksIDEsIHRydWUsIDB4NywgMikg
XAorICAgIG1hY3JvKCh7IDB4MDMsIDB4MDcgfSksIDEsIHRydWUsIDB4NywgMikgXAorICAgIG1h
Y3JvKCh7IDB4ZjIsIDB4NTMsIDB4NDMsIDB4NjcsIDB4NzksIDB4NzcgfSksIDUsIHRydWUsIDB4
NzcsIDYpIFwKKyAgICBtYWNybygoeyAweGYyLCAweDUzLCAweDQzLCAweGY3LCAweDg0LCAweDc3
IH0pLCA1LCB0cnVlLCAweDc3LCA2KSBcCisgICAgbWFjcm8oKHsgMHhmMiwgMHg1MywgMHg0Mywg
MHhmMywgMHg4NSwgMHgwMiB9KSwgMywgdHJ1ZSwgMHg4MmYzLCA2KSBcCisgICAgLyogVGVzdCBp
biB0aGUgbWlkZGxlICovIFwKKyAgICBtYWNybygoeyAweGYzLCAweDA3LCAweDg5IH0pLCAxLCB0
cnVlLCAweDcsIDIpIFwKKyAgICBtYWNybygoeyAweDAzLCAweDA3LCAweDIzIH0pLCAxLCB0cnVl
LCAweDcsIDIpIFwKKyAgICBtYWNybygoeyAweGYyLCAweDUzLCAweDQzLCAweDY3LCAweDc5LCAw
eDc3LCAweDQzIH0pLCA1LCB0cnVlLCAweDc3LCA2KSBcCisgICAgbWFjcm8oKHsgMHhmMiwgMHg1
MywgMHg0MywgMHhmNywgMHg4NCwgMHg3NywgMHhmOSB9KSwgNSwgdHJ1ZSwgMHg3NywgNikgXAor
ICAgIG1hY3JvKCh7IDB4ZjIsIDB4NTMsIDB4NDMsIDB4ZjMsIDB4ODUsIDB4MDIsIDB4YTQgfSks
IDMsIHRydWUsIDB4ODJmMywgNikgXAorICAgIC8qIFRlc3QgZGVjb2RlIHRvbyBsb25nICovIFwK
KyAgICBtYWNybygoeyAweDgwLCAweDgwLCAweDgwLCAweDgwLCAweDgwLCAweDgwfSksIDAsIGZh
bHNlLCAweDAsIDApIFwKKyAgICBtYWNybygoeyAweDgwLCAweDgwLCAweGFiLCAweDhhLCAweDlh
LCAweGEzLCAweGZmfSksIDEsIGZhbHNlLCAweDAsIDApIFwKKyAgICBtYWNybygoeyAweDgwLCAw
eDgwLCAweGFiLCAweDhhLCAweDlhLCAweGEzLCAweGZmfSksIDAsIGZhbHNlLCAweDAsIDApIFwK
KyAgICAvKiBUZXN0IGRlY29kZSBvZmYgZW5kIG9mIGFycmF5ICovIFwKKyAgICBtYWNybygoeyAw
eDgwLCAweDgwLCAweGFiLCAweDhhLCAweDlhLCAweGEzLCAweGZmfSksIDIsIGZhbHNlLCAweDAs
IDApIFwKKworCisjZGVmaW5lIFRFU1RfVU5TSUdORURfTEVCX0RFQ09ERShpbml0LCBzdGFydE9m
ZnNldCwgZXhwZWN0ZWRTdGF0dXMsIGV4cGVjdGVkUmVzdWx0LCBleHBlY3RlZE9mZnNldCkgXAor
ICAgIHsgXAorICAgICAgICBWZWN0b3I8dWludDhfdD4gdmVjdG9yID0gVmVjdG9yPHVpbnQ4X3Q+
IGluaXQ7IFwKKyAgICAgICAgc2l6ZV90IG9mZnNldCA9IHN0YXJ0T2Zmc2V0OyBcCisgICAgICAg
IHVpbnQzMl90IHJlc3VsdDsgXAorICAgICAgICBib29sIHN0YXR1cyA9IGRlY29kZVVJbnQzMih2
ZWN0b3IsIG9mZnNldCwgcmVzdWx0KTsgXAorICAgICAgICBSRUxFQVNFX0FTU0VSVChzdGF0dXMg
PT0gZXhwZWN0ZWRTdGF0dXMpOyBcCisgICAgICAgIGlmIChleHBlY3RlZFN0YXR1cykgeyBcCisg
ICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChyZXN1bHQgPT0gZXhwZWN0ZWRSZXN1bHQpOyBcCisg
ICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChvZmZzZXQgPT0gZXhwZWN0ZWRPZmZzZXQpOyBcCisg
ICAgICAgIH0gXAorICAgIH07CisKKworI2RlZmluZSBGT1JfRUFDSF9TSUdORURfTEVCX1RFU1Qo
bWFjcm8pIFwKKyAgICAvKiBTaW1wbGUgdGVzdHMgdGhhdCB1c2UgYWxsIHRoZSBiaXRzIGluIHRo
ZSBhcnJheSAqLyBcCisgICAgbWFjcm8oKHsgMHgwNyB9KSwgMCwgdHJ1ZSwgMHg3LCAxKSBcCisg
ICAgbWFjcm8oKHsgMHg3NyB9KSwgMCwgdHJ1ZSwgLTB4OSwgMSkgXAorICAgIG1hY3JvKCh7IDB4
ODAsIDB4MDcgfSksIDAsIHRydWUsIDB4MzgwLCAyKSBcCisgICAgbWFjcm8oKHsgMHg4OSwgMHgx
MiB9KSwgMCwgdHJ1ZSwgMHg5MDksIDIpIFwKKyAgICBtYWNybygoeyAweGYzLCAweDg1LCAweDAy
IH0pLCAwLCB0cnVlLCAweDgyZjMsIDMpIFwKKyAgICBtYWNybygoeyAweGYzLCAweDg1LCAweGZm
LCAweDc0IH0pLCAwLCB0cnVlLCAweGZlOWZjMmYzLCA0KSBcCisgICAgbWFjcm8oKHsgMHhmMywg
MHg4NSwgMHhmZiwgMHhmNCwgMHg3ZiB9KSwgMCwgdHJ1ZSwgMHhmZTlmYzJmMywgNSkgXAorICAg
IC8qIFRlc3Qgd2l0aCBleHRyYSB0cmFpbGluZyBudW1iZXJzICovIFwKKyAgICBtYWNybygoeyAw
eDA3LCAweDgwIH0pLCAwLCB0cnVlLCAweDcsIDEpIFwKKyAgICBtYWNybygoeyAweDA3LCAweDc1
IH0pLCAwLCB0cnVlLCAweDcsIDEpIFwKKyAgICBtYWNybygoeyAweGYzLCAweDg1LCAweGZmLCAw
eDc0LCAweDQzIH0pLCAwLCB0cnVlLCAweGZlOWZjMmYzLCA0KSBcCisgICAgbWFjcm8oKHsgMHhm
MywgMHg4NSwgMHhmZiwgMHg3NCwgMHg4MCB9KSwgMCwgdHJ1ZSwgMHhmZTlmYzJmMywgNCkgXAor
ICAgIC8qIFRlc3Qgd2l0aCBwcmVjZWVkaW5nIG51bWJlcnMgKi8gXAorICAgIG1hY3JvKCh7IDB4
ZjMsIDB4MDcgfSksIDEsIHRydWUsIDB4NywgMikgXAorICAgIG1hY3JvKCh7IDB4MDMsIDB4MDcg
fSksIDEsIHRydWUsIDB4NywgMikgXAorICAgIG1hY3JvKCh7IDB4ZjIsIDB4NTMsIDB4NDMsIDB4
NjcsIDB4NzksIDB4NzcgfSksIDUsIHRydWUsIC0weDksIDYpIFwKKyAgICBtYWNybygoeyAweGYy
LCAweDUzLCAweDQzLCAweGY3LCAweDg0LCAweDc3IH0pLCA1LCB0cnVlLCAtMHg5LCA2KSBcCisg
ICAgbWFjcm8oKHsgMHhmMiwgMHg1MywgMHg0MywgMHhmMywgMHg4NSwgMHgwMiB9KSwgMywgdHJ1
ZSwgMHg4MmYzLCA2KSBcCisgICAgLyogVGVzdCBpbiB0aGUgbWlkZGxlICovIFwKKyAgICBtYWNy
bygoeyAweGYzLCAweDA3LCAweDg5IH0pLCAxLCB0cnVlLCAweDcsIDIpIFwKKyAgICBtYWNybygo
eyAweDAzLCAweDA3LCAweDIzIH0pLCAxLCB0cnVlLCAweDcsIDIpIFwKKyAgICBtYWNybygoeyAw
eGYyLCAweDUzLCAweDQzLCAweDY3LCAweDc5LCAweDc3LCAweDQzIH0pLCA1LCB0cnVlLCAtMHg5
LCA2KSBcCisgICAgbWFjcm8oKHsgMHhmMiwgMHg1MywgMHg0MywgMHhmNywgMHg4NCwgMHg3Nywg
MHhmOSB9KSwgNSwgdHJ1ZSwgLTB4OSwgNikgXAorICAgIG1hY3JvKCh7IDB4ZjIsIDB4NTMsIDB4
NDMsIDB4ZjMsIDB4ODUsIDB4MDIsIDB4YTQgfSksIDMsIHRydWUsIDB4ODJmMywgNikgXAorICAg
IC8qIFRlc3QgZGVjb2RlIHRvbyBsb25nICovIFwKKyAgICBtYWNybygoeyAweDgwLCAweDgwLCAw
eDgwLCAweDgwLCAweDgwLCAweDgwfSksIDAsIGZhbHNlLCAweDAsIDApIFwKKyAgICBtYWNybygo
eyAweDgwLCAweDgwLCAweGFiLCAweDhhLCAweDlhLCAweGEzLCAweGZmfSksIDEsIGZhbHNlLCAw
eDAsIDApIFwKKyAgICBtYWNybygoeyAweDgwLCAweDgwLCAweGFiLCAweDhhLCAweDlhLCAweGEz
LCAweGZmfSksIDAsIGZhbHNlLCAweDAsIDApIFwKKyAgICAvKiBUZXN0IGRlY29kZSBvZmYgZW5k
IG9mIGFycmF5ICovIFwKKyAgICBtYWNybygoeyAweDgwLCAweDgwLCAweGFiLCAweDhhLCAweDlh
LCAweGEzLCAweGZmfSksIDIsIGZhbHNlLCAweDAsIDApIFwKKworCisjZGVmaW5lIFRFU1RfU0lH
TkVEX0xFQl9ERUNPREUoaW5pdCwgc3RhcnRPZmZzZXQsIGV4cGVjdGVkU3RhdHVzLCBleHBlY3Rl
ZFJlc3VsdCwgZXhwZWN0ZWRPZmZzZXQpIFwKKyAgICB7IFwKKyAgICAgICAgVmVjdG9yPHVpbnQ4
X3Q+IHZlY3RvciA9IFZlY3Rvcjx1aW50OF90PiBpbml0OyBcCisgICAgICAgIHNpemVfdCBvZmZz
ZXQgPSBzdGFydE9mZnNldDsgXAorICAgICAgICBpbnQzMl90IHJlc3VsdDsgXAorICAgICAgICBi
b29sIHN0YXR1cyA9IGRlY29kZUludDMyKHZlY3Rvciwgb2Zmc2V0LCByZXN1bHQpOyBcCisgICAg
ICAgIFJFTEVBU0VfQVNTRVJUKHN0YXR1cyA9PSBleHBlY3RlZFN0YXR1cyk7IFwKKyAgICAgICAg
aWYgKGV4cGVjdGVkU3RhdHVzKSB7IFwKKyAgICAgICAgICAgIGludDMyX3QgZXhwZWN0ZWQgPSBl
eHBlY3RlZFJlc3VsdDsgXAorICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQocmVzdWx0ID09IGV4
cGVjdGVkKTsgXAorICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQob2Zmc2V0ID09IGV4cGVjdGVk
T2Zmc2V0KTsgXAorICAgICAgICB9IFwKKyAgICB9OworCisKK3N0YXRpYyB2b2lkIHJ1bkxFQlRl
c3RzKCkKK3sKKyAgICBGT1JfRUFDSF9VTlNJR05FRF9MRUJfVEVTVChURVNUX1VOU0lHTkVEX0xF
Ql9ERUNPREUpCisgICAgRk9SX0VBQ0hfU0lHTkVEX0xFQl9URVNUKFRFU1RfU0lHTkVEX0xFQl9E
RUNPREUpCit9CisKKworaW50IG1haW4oaW50IGFyZ2MsIGNoYXIqKiBhcmd2KQoreworICAgIENv
bW1hbmRMaW5lIG9wdGlvbnMoYXJnYywgYXJndik7CisKKyAgICBpZiAob3B0aW9ucy5tX3J1bkxF
QlRlc3RzKQorICAgICAgICBydW5MRUJUZXN0cygpOworCisgICAgcmV0dXJuIEVYSVRfU1VDQ0VT
UzsKK30KKwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9XVEYueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvaiBiL1NvdXJjZS9XVEYvV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggNGJl
NGZjMWRhNDRjYzlhMThmMjEyZTgyMGRiMzU4MGJjNmIyOWVmMy4uNGM3NzM4MzJhY2RmNDNkZWNh
MTUwMjQ0NThlMzAzZGVhNjdmNzg4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9XVEYueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV1RGL1dURi54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCkBAIC0xMTQsNiArMTE0LDcgQEAKIAkJNTE1Rjc5NEYxQ0ZDOUY0QTAwQ0NFRDkz
IC8qIENyb3NzVGhyZWFkQ29waWVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA1MTVGNzk0QzFDRkM5RjRBMDBDQ0VEOTMgLyogQ3Jvc3NUaHJlYWRDb3Bp
ZXIuaCAqLzsgfTsKIAkJNTE1Rjc5NTAxQ0ZDOUY0QTAwQ0NFRDkzIC8qIENyb3NzVGhyZWFkVGFz
ay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTE1Rjc5
NEQxQ0ZDOUY0QTAwQ0NFRDkzIC8qIENyb3NzVGhyZWFkVGFzay5oICovOyB9OwogCQk1MTVGNzk1
NjFDRkQzQTY5MDBDQ0VEOTMgLyogQ3Jvc3NUaHJlYWRRdWV1ZS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTE1Rjc5NTUxQ0ZEM0E2OTAwQ0NFRDkzIC8q
IENyb3NzVGhyZWFkUXVldWUuaCAqLzsgfTsKKwkJNTM5RUIwNjMxRDU1Mjg0MjAwQzgyRUY3IC8q
IExFQkRlY29kZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDUzOUVCMDYyMUQ1NTI4NDIwMEM4MkVGNyAvKiBMRUJEZWNvZGVyLmggKi87IH07CiAJCTU1
MzA3MUNBMUM0MDQyNzIwMDM4NDg5OCAvKiBUaW55TFJVQ2FjaGUuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU1MzA3MUM5MUM0MDQyNzIwMDM4NDg5OCAv
KiBUaW55TFJVQ2FjaGUuaCAqLzsgfTsKIAkJNUM3Qzg4RDQxRDBBM0EwQTAwOUQyRjZEIC8qIFVu
aXF1ZVJlZi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NUM3Qzg4RDMxRDBBM0EwQTAwOUQyRjZEIC8qIFVuaXF1ZVJlZi5oICovOyB9OwogCQk3MEE5OTNG
RTFBRDcxNTEzMDBGQTYxNUIgLyogU3ltYm9sUmVnaXN0cnkuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzBBOTkzRkMxQUQ3MTUxMzAwRkE2MTVCIC8q
IFN5bWJvbFJlZ2lzdHJ5LmNwcCAqLzsgfTsKQEAgLTQ1MCw2ICs0NTEsNyBAQAogCQk1MTVGNzk0
QzFDRkM5RjRBMDBDQ0VEOTMgLyogQ3Jvc3NUaHJlYWRDb3BpZXIuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gQ3Jvc3NUaHJlYWRDb3BpZXIuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJNTE1Rjc5NEQxQ0ZDOUY0QTAwQ0NFRDkzIC8qIENyb3NzVGhyZWFkVGFzay5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDcm9zc1RocmVhZFRhc2suaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTE1Rjc5NTUxQ0ZEM0E2OTAwQ0NFRDkzIC8qIENy
b3NzVGhyZWFkUXVldWUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ3Jvc3NU
aHJlYWRRdWV1ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1MzlFQjA2MjFENTUy
ODQyMDBDODJFRjcgLyogTEVCRGVjb2Rlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBMRUJEZWNvZGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU1MzA3MUM5
MUM0MDQyNzIwMDM4NDg5OCAvKiBUaW55TFJVQ2FjaGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gVGlueUxSVUNhY2hlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTVDN0M4OEQzMUQwQTNBMEEwMDlEMkY2RCAvKiBVbmlxdWVSZWYuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gVW5pcXVlUmVmLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTVEMjQ3QjYyMTQ2ODlCODYwMEU3OEI3NiAvKiBsaWJXVEYuYSAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBleHBsaWNpdEZpbGVUeXBlID0gYXJjaGl2ZS5hcjsgaW5jbHVkZUluSW5k
ZXggPSAwOyBwYXRoID0gbGliV1RGLmE7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7
IH07CkBAIC05MDEsNiArOTAzLDcgQEAKIAkJCQlBNzBEQTA4MjE3OTlGMDREMDA1MjlBOUIgLyog
SW5zZXJ0aW9uLmggKi8sCiAJCQkJN0NERDdGRjcxODZEMjkxRTAwNzQzM0NEIC8qIEl0ZXJhdG9y
QWRhcHRvcnMuaCAqLywKIAkJCQk3Q0REN0ZGOTE4NkQyQTU0MDA3NDMzQ0QgLyogSXRlcmF0b3JS
YW5nZS5oICovLAorCQkJCTUzOUVCMDYyMUQ1NTI4NDIwMEM4MkVGNyAvKiBMRUJEZWNvZGVyLmgg
Ki8sCiAJCQkJQTcwREEwODMxNzk5RjA0RDAwNTI5QTlCIC8qIExpc3REdW1wLmggKi8sCiAJCQkJ
QThBNDcyQzExNTFBODI1QTAwNDEyM0ZGIC8qIExpc3RIYXNoU2V0LmggKi8sCiAJCQkJMEZFMTY0
NjgxQjZGRkM5NjAwNDAwRTdDIC8qIExvY2suY3BwICovLApAQCAtMTIxNSw2ICsxMjE4LDcgQEAK
IAkJCQlBOEE0NzM4NTE1MUE4MjVCMDA0MTIzRkYgLyogQVNDSUlDVHlwZS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJNUM3Qzg4RDQxRDBBM0EwQTAwOUQyRjZEIC8qIFVuaXF1ZVJlZi5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQThBNDc0MzQxNTFBODI1QjAwNDEyM0ZGIC8qIEFTQ0lJRmFzdFBhdGguaCBp
biBIZWFkZXJzICovLAorCQkJCTUzOUVCMDYzMUQ1NTI4NDIwMEM4MkVGNyAvKiBMRUJEZWNvZGVy
LmggaW4gSGVhZGVycyAqLywKIAkJCQlBOEE0NzM4NzE1MUE4MjVCMDA0MTIzRkYgLyogQXNzZXJ0
aW9ucy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThBNDczODgxNTFBODI1QjAwNDEyM0ZGIC8qIEF0
b21pY3MuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4QTQ3NDM2MTUxQTgyNUIwMDQxMjNGRiAvKiBB
dG9taWNTdHJpbmcuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYv
TEVCRGVjb2Rlci5oIGIvU291cmNlL1dURi93dGYvTEVCRGVjb2Rlci5oCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFi
MjAyMWViMWQ4N2NiNWI3NzZhOWUwNzYwNjgyYzdhMTMzZTBmNTgKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV1RGL3d0Zi9MRUJEZWNvZGVyLmgKQEAgLTAsMCArMSw3OSBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMn
JyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
CisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICog
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5j
bHVkZSAiQ29tcGlsZXIuaCIKKyNpbmNsdWRlICJWZWN0b3IuaCIKKyNpbmNsdWRlIDxhbGdvcml0
aG0+CisKKyNpbmNsdWRlICJEYXRhTG9nLmgiCisKKy8vIFRoaXMgZmlsZSBjb250YWlucyBhIGJ1
bmNoIG9mIGhlbHBlciBmdW5jdGlvbnMgZm9yIGRlY29kaW5nIExFQiBudW1iZXJzLgorLy8gU2Vl
IGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0xFQjEyOCBmb3IgbW9yZSBpbmZvcm1hdGlv
biBhYm91dCB0aGUKKy8vIExFQiBmb3JtYXQuCisKK2NvbnN0IHNpemVfdCBtYXhMRUJCeXRlTGVu
Z3RoID0gNTsKKworaW5saW5lIGJvb2wgV0FSTl9VTlVTRURfUkVUVVJOIGRlY29kZVVJbnQzMihj
b25zdCBWZWN0b3I8dWludDhfdD4mIGJ5dGVzLCBzaXplX3QmIG9mZnNldCwgdWludDMyX3QmIHJl
c3VsdCkKK3sKKyAgICBBU1NFUlQoYnl0ZXMuc2l6ZSgpID4gb2Zmc2V0KTsKKyAgICByZXN1bHQg
PSAwOworICAgIHVuc2lnbmVkIHNoaWZ0ID0gMDsKKyAgICBzaXplX3QgbGFzdCA9IHN0ZDo6bWlu
KG1heExFQkJ5dGVMZW5ndGgsIGJ5dGVzLnNpemUoKSAtIG9mZnNldCAtIDEpOworICAgIGZvciAo
dW5zaWduZWQgaSA9IDA7IHRydWU7ICsraSkgeworICAgICAgICB1aW50OF90IGJ5dGUgPSBieXRl
c1tvZmZzZXQrK107CisgICAgICAgIHJlc3VsdCB8PSAoYnl0ZSAmIDB4N2YpIDw8IHNoaWZ0Owor
ICAgICAgICBzaGlmdCArPSA3OworICAgICAgICBpZiAoIShieXRlICYgMHg4MCkpCisgICAgICAg
ICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgaWYgKGkgPT0gbGFzdCkKKyAgICAgICAgICAgIHJl
dHVybiBmYWxzZTsKKyAgICB9CisgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAg
ICByZXR1cm4gdHJ1ZTsKK30KKworaW5saW5lIGJvb2wgV0FSTl9VTlVTRURfUkVUVVJOIGRlY29k
ZUludDMyKGNvbnN0IFZlY3Rvcjx1aW50OF90PiYgYnl0ZXMsIHNpemVfdCYgb2Zmc2V0LCBpbnQz
Ml90JiByZXN1bHQpCit7CisgICAgQVNTRVJUKGJ5dGVzLnNpemUoKSA+IG9mZnNldCk7CisgICAg
cmVzdWx0ID0gMDsKKyAgICB1bnNpZ25lZCBzaGlmdCA9IDA7CisgICAgc2l6ZV90IGxhc3QgPSBz
dGQ6Om1pbihtYXhMRUJCeXRlTGVuZ3RoLCBieXRlcy5zaXplKCkgLSBvZmZzZXQgLSAxKTsKKyAg
ICB1aW50OF90IGJ5dGU7CisgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgdHJ1ZTsgKytpKSB7Cisg
ICAgICAgIGJ5dGUgPSBieXRlc1tvZmZzZXQrK107CisgICAgICAgIHJlc3VsdCB8PSAoYnl0ZSAm
IDB4N2YpIDw8IHNoaWZ0OworICAgICAgICBzaGlmdCArPSA3OworICAgICAgICBpZiAoIShieXRl
ICYgMHg4MCkpCisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgaWYgKGkgPT0gbGFzdCkKKyAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisKKyAgICBpZiAoc2hpZnQgPCAzMiAmJiAo
Ynl0ZSAmIDB4NDApKQorICAgICAgICByZXN1bHQgfD0gKCgtMXUpIDw8IHNoaWZ0KTsKKyAgICBy
ZXR1cm4gdHJ1ZTsKK30K
</data>

          </attachment>
      

    </bug>

</bugzilla>