<?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>223470</bug_id>
          
          <creation_ts>2021-03-18 12:44:50 -0700</creation_ts>
          <short_desc>ANGLE is missing the explicit context headers</short_desc>
          <delta_ts>2021-03-23 03:30:23 -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>WebGL</component>
          <version>Other</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>198948</blocked>
    
    <blocked>221664</blocked>
    
    <blocked>223250</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Kimmo Kinnunen">kkinnunen</reporter>
          <assigned_to name="Kimmo Kinnunen">kkinnunen</assigned_to>
          <cc>ap</cc>
    
    <cc>dino</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>graouts</cc>
    
    <cc>kbr</cc>
    
    <cc>kkinnunen</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1741340</commentid>
    <comment_count>0</comment_count>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2021-03-18 12:44:50 -0700</bug_when>
    <thetext>ANGLE is missing the explicit context headers</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1741346</commentid>
    <comment_count>1</comment_count>
      <attachid>423637</attachid>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2021-03-18 12:49:06 -0700</bug_when>
    <thetext>Created attachment 423637
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1741347</commentid>
    <comment_count>2</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2021-03-18 12:50:49 -0700</bug_when>
    <thetext>Note that there are important steps to take when updating ANGLE. See https://trac.webkit.org/wiki/UpdatingANGLE</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1741372</commentid>
    <comment_count>3</comment_count>
      <attachid>423637</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2021-03-18 13:23:10 -0700</bug_when>
    <thetext>Comment on attachment 423637
Patch

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

&gt; Source/ThirdParty/ANGLE/ChangeLog:9
&gt; +        Add the autogenerated .inc files for explicit context
&gt; +        API into the ANGLE public headers.

Do these new files need to be added to outputs in CMake and Xcode projects, so that the build system knows where they come from? Or are they just produced and never used by us, making it irrelevant?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1741375</commentid>
    <comment_count>4</comment_count>
      <attachid>423637</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2021-03-18 13:25:56 -0700</bug_when>
    <thetext>Comment on attachment 423637
Patch

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

&gt; Source/ThirdParty/ANGLE/ANGLE.xcodeproj/project.pbxproj:1014
&gt; +		7B0A2A632603D4040040DCEB /* gl32ext_explicit_context_autogen.inc in Headers */ = {isa = PBXBuildFile; fileRef = 7B0A2A562603D3E00040DCEB /* gl32ext_explicit_context_autogen.inc */; settings = {ATTRIBUTES = (Public, ); }; };

Where will these go? Public headers for ANGLE seem strange, and looks like existing ones go into /usr/local/include (and don&apos;t get included into public SDK).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1741613</commentid>
    <comment_count>5</comment_count>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2021-03-19 00:48:37 -0700</bug_when>
    <thetext>(In reply to Alexey Proskuryakov from comment #3)
&gt; Comment on attachment 423637 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=423637&amp;action=review
&gt; 
&gt; &gt; Source/ThirdParty/ANGLE/ChangeLog:9
&gt; &gt; +        Add the autogenerated .inc files for explicit context
&gt; &gt; +        API into the ANGLE public headers.
&gt; 
&gt; Do these new files need to be added to outputs in CMake and Xcode projects,
&gt; so that the build system knows where they come from? 

The files already exist in CMake projects.

The files are added in this patch to behave exactly any other already handled ANGLE public header file, such as, for example GLES2/gl2ext_angle.h (if you want to grep for gl2ext_angle.h to see how it is handled. 

That is to say, in Xcode currently we don&apos;t mark them in such a way that that it&apos;d make a particular difference to the project outputs.

&gt; Or are they just produced and never used by us, making it irrelevant?

They are in the repository, produced by the autogeneration during dev time in upstream.

They are currently not part of the Xcode project, requiring a workaround removed in this patch, thus not entirely irrelevant.

They are going to be used by us, thus not entirely irrelevant.


&gt; Where will these go? Public headers for ANGLE seem strange, and looks like existing ones go into /usr/local/include (and don&apos;t get included into public SDK).

These added go wherever other ANGLE headers go, as they&apos;re handled as normal ANGLE public headers.

E.g.  (BUILT_PRODUCTS_DIR or DSTROOT)/usr/local/include/ANGLE/ &lt;- flat file hierarchy.

If you are saying &quot;public SDK&quot; in terms of &quot;SDK that goes to WebKit clients&quot;, then yes, ANGLE is not part of that SDK. If you mean &quot;WebCore private framework SDK&quot;, then yes, they&apos;re not used there either, but in some cases that is a slight problem that we could fix if that&apos;d be desired.


So currently we have a process: &quot;something is done to ANGLE headers X,Y and Z and they&apos;re put to somewhere&quot;.

This patch tries to only add the .inc files to behave same as the X,Y,Z, without addressing &quot;something&quot; and &quot;somewhere&quot;.

If you have suggestions on how to mark the Xcode project so that subsequent phases understand where the files come from, please suggest and I can file a bug.

If you have suggestions on where the ANGLE headers should go instead of /usr/local/include, please suggest and I can file a bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1741616</commentid>
    <comment_count>6</comment_count>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2021-03-19 01:01:44 -0700</bug_when>
    <thetext>wrt the /usr/local/include:

WTF is a library, not a framework. WTF has &quot;library private&quot; headers.
WTF headers are copied to ${DSTROOT}/${PRIVATE_HEADERS_FOLDER_PATH}

libwebrtc is a library, not a framework. libwebrtc has &quot;library private&quot; headers.
libwebrtc headers are copied to ${DSTROOT}${INSTALL_PATH_PREFIX%/}/${PRIVATE_HEADERS_FOLDER_PATH}

ANGLE is a library, not a framework. ANGLE has &quot;library public&quot; headers.
ANGLE headers are copied to ${DSTROOT}/${PUBLIC_HEADERS_FOLDER_PATH}

So I don&apos;t think there&apos;s any strangeness -- ANGLE is handled consistently?

(there&apos;s non-consistency in some using INSTALL_PATH_PREFIX and others not, but probably not significant to this discussion..)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1741655</commentid>
    <comment_count>7</comment_count>
      <attachid>423714</attachid>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2021-03-19 03:42:41 -0700</bug_when>
    <thetext>Created attachment 423714
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1741757</commentid>
    <comment_count>8</comment_count>
      <attachid>423714</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2021-03-19 10:02:09 -0700</bug_when>
    <thetext>Comment on attachment 423714
Patch

&gt; If you have suggestions on how to mark the Xcode project so that subsequent phases understand where the files come from, please suggest and I can file a bug.

Not as much as a suggestion, no. We&apos;ll need a way to clean up all script phases in Xcode projects to fully define inputs and outputs, and I don&apos;t think that tracking it for ANGLE specifically would be useful at this point.

As we track these the same as exiting .h fines, I don&apos;t have a concern.

&gt; If you have suggestions on where the ANGLE headers should go instead of /usr/local/include, please suggest and I can file a bug.

/usr/local/include seems right, I just don&apos;t understand why PUBLIC_HEADERS_FOLDER_PATH points to that (shouldn&apos;t it be /usr/include?) Again, I have no concerns about the patch now that you explained that this is consistent with existing headers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1742738</commentid>
    <comment_count>10</comment_count>
      <attachid>423714</attachid>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2021-03-23 03:20:19 -0700</bug_when>
    <thetext>Comment on attachment 423714
Patch

As far as I can verify, .inc files don&apos;t cause problems.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1742740</commentid>
    <comment_count>11</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-03-23 03:29:40 -0700</bug_when>
    <thetext>Committed r274856: &lt;https://commits.webkit.org/r274856&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 423714.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1742741</commentid>
    <comment_count>12</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-03-23 03:30:23 -0700</bug_when>
    <thetext>&lt;rdar://problem/75731930&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>423637</attachid>
            <date>2021-03-18 12:49:06 -0700</date>
            <delta_ts>2021-03-19 03:42:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223470-20210318214904.patch</filename>
            <type>text/plain</type>
            <size>15416</size>
            <attacher name="Kimmo Kinnunen">kkinnunen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc0NjQwCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9DaGFuZ2VMb2cgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9DaGFuZ2VMb2cKaW5k
ZXggOGI5MTg4ZGM2Mjc1OTA0YWU3NTY3MTU2MmUyMGE4NWFhOGRmNGIxMi4uM2ZhYzk3ZDNlYTg0
ZjYxZGNlODBmNzUyMjBkOThlMzViMzg3OWM3NCAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE3IEBACisyMDIxLTAzLTE4ICBLaW1tbyBLaW5udW5lbiAgPGtraW5udW5l
bkBhcHBsZS5jb20+CisKKyAgICAgICAgQU5HTEUgaXMgbWlzc2luZyB0aGUgZXhwbGljaXQgY29u
dGV4dCBoZWFkZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMjM0NzAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBBZGQgdGhlIGF1dG9nZW5lcmF0ZWQgLmluYyBmaWxlcyBmb3IgZXhwbGljaXQgY29udGV4
dAorICAgICAgICBBUEkgaW50byB0aGUgQU5HTEUgcHVibGljIGhlYWRlcnMuCisKKyAgICAgICAg
KiBBTkdMRS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGFkanVzdC1hbmds
ZS1pbmNsdWRlLXBhdGhzLnB5OgorICAgICAgICAocmVwbGFjZSk6CisKIDIwMjEtMDMtMTcgIEt5
bGUgUGlkZGluZ3RvbiAgPGtwaWRkaW5ndG9uQGFwcGxlLmNvbT4KIAogICAgICAgICBBTkdMRSBN
ZXRhbCBmaXh1cHMgZm9yIHByb2dyYW0gZ2VuZXJhdGlvbiwgcmVhZFBpeGVscwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmlu
ZGV4IGViYmZlYWMwMGE1MzZkYTVmOTE2NGQ5MjVkMjBhYjVhYTkzMjIyZTUuLjNhYmEyOTVhODRk
NTQ1NjU4NTkzOWNlZGJiMWE0YzM4YjQ4YTY4NDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBA
QAorMjAyMS0wMy0xOCAgS2ltbW8gS2lubnVuZW4gIDxra2lubnVuZW5AYXBwbGUuY29tPgorCisg
ICAgICAgIEFOR0xFIGlzIG1pc3NpbmcgdGhlIGV4cGxpY2l0IGNvbnRleHQgaGVhZGVycworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIzNDcwCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9hbmdsZS9BTkdMRUhlYWRlcnMuaDoKKyAgICAgICAgUmVtb3ZlIHRoZSBoYWNrIHRo
YXQgd2FzIG5lZWRlZCB3aGVuIGluY2x1ZGluZyBBTkdMRSB3aXRob3V0CisgICAgICAgIHRoZSBl
eHBsaWNpdCBjb250ZXh0IGhlYWRlcnMuCisKIDIwMjEtMDMtMTggIENhcmxvcyBHYXJjaWEgQ2Ft
cG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtTT1VQXSBTT1VQMyBjcmFzaGVz
IGluc2lkZSBzb3VwX21lc3NhZ2Vfc2V0X3JlcXVlc3RfYm9keQpkaWZmIC0tZ2l0IGEvU291cmNl
L1RoaXJkUGFydHkvQU5HTEUvQU5HTEUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJj
ZS9UaGlyZFBhcnR5L0FOR0xFL0FOR0xFLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXgg
NmM4MTE1ZTZjMDc3NWYzNDAxYjZjN2YxOGFhMWVmMDY0Zjg3YzU5Ny4uYjFhNDlhOGZkNjIxOTE4
ZjFmN2NlMTBjZjllMTMzMmJjYTZlMDA1MiAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkv
QU5HTEUvQU5HTEUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvVGhpcmRQ
YXJ0eS9BTkdMRS9BTkdMRS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xMDA2LDYgKzEw
MDYsMTYgQEAKIAkJNkVEN0JERjMyNDMyQ0QxQjAwRTAxNTAzIC8qIEluZm9Mb2cuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDZFRDdCREYyMjQzMkNEMUIw
MEUwMTUwMyAvKiBJbmZvTG9nLmggKi87IH07CiAJCTZFRDdCREY2MjQzMkNENjIwMEUwMTUwMyAv
KiBQcm9ncmFtRXhlY3V0YWJsZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA2RUQ3QkRGNDI0MzJDRDYyMDBFMDE1MDMgLyogUHJvZ3JhbUV4ZWN1dGFi
bGUuY3BwICovOyB9OwogCQk2RUQ3QkRGNzI0MzJDRDYyMDBFMDE1MDMgLyogUHJvZ3JhbUV4ZWN1
dGFibGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDZF
RDdCREY1MjQzMkNENjIwMEUwMTUwMyAvKiBQcm9ncmFtRXhlY3V0YWJsZS5oICovOyB9OworCQk3
QjBBMkE1RTI2MDNENDAyMDA0MERDRUIgLyogZ2wzMmV4dF9leHBsaWNpdF9jb250ZXh0X2F1dG9n
ZW4uaW5jIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0Iw
QTJBNTYyNjAzRDNFMDAwNDBEQ0VCIC8qIGdsMzJleHRfZXhwbGljaXRfY29udGV4dF9hdXRvZ2Vu
LmluYyAqLzsgfTsKKwkJN0IwQTJBNUYyNjAzRDQwMjAwNDBEQ0VCIC8qIGdsMzFleHRfZXhwbGlj
aXRfY29udGV4dF9hdXRvZ2VuLmluYyBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDdCMEEyQTU3MjYwM0QzRTAwMDQwRENFQiAvKiBnbDMxZXh0X2V4cGxpY2l0
X2NvbnRleHRfYXV0b2dlbi5pbmMgKi87IH07CisJCTdCMEEyQTYwMjYwM0Q0MDIwMDQwRENFQiAv
KiBnbDJleHRfZXhwbGljaXRfY29udGV4dF9hdXRvZ2VuLmluYyBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdCMEEyQTUyMjYwM0QzRDEwMDQwRENFQiAvKiBn
bDJleHRfZXhwbGljaXRfY29udGV4dF9hdXRvZ2VuLmluYyAqLzsgfTsKKwkJN0IwQTJBNjEyNjAz
RDQwMjAwNDBEQ0VCIC8qIGdsM2V4dF9leHBsaWNpdF9jb250ZXh0X2F1dG9nZW4uaW5jIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0IwQTJBNTUyNjAzRDNF
MDAwNDBEQ0VCIC8qIGdsM2V4dF9leHBsaWNpdF9jb250ZXh0X2F1dG9nZW4uaW5jICovOyB9Owor
CQk3QjBBMkE2MjI2MDNENDAyMDA0MERDRUIgLyogZ2xleHRfZXhwbGljaXRfY29udGV4dF9hdXRv
Z2VuLmluYyBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdC
MEEyQTRGMjYwM0QzQzYwMDQwRENFQiAvKiBnbGV4dF9leHBsaWNpdF9jb250ZXh0X2F1dG9nZW4u
aW5jICovOyB9OworCQk3QjBBMkE2MzI2MDNENDA0MDA0MERDRUIgLyogZ2wzMmV4dF9leHBsaWNp
dF9jb250ZXh0X2F1dG9nZW4uaW5jIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gN0IwQTJBNTYyNjAzRDNFMDAwNDBEQ0VCIC8qIGdsMzJleHRfZXhwbGljaXRf
Y29udGV4dF9hdXRvZ2VuLmluYyAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQdWJsaWMs
ICk7IH07IH07CisJCTdCMEEyQTY0MjYwM0Q0MDQwMDQwRENFQiAvKiBnbDMxZXh0X2V4cGxpY2l0
X2NvbnRleHRfYXV0b2dlbi5pbmMgaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA3QjBBMkE1NzI2MDNEM0UwMDA0MERDRUIgLyogZ2wzMWV4dF9leHBsaWNpdF9j
b250ZXh0X2F1dG9nZW4uaW5jICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFB1YmxpYywg
KTsgfTsgfTsKKwkJN0IwQTJBNjUyNjAzRDQwNDAwNDBEQ0VCIC8qIGdsMmV4dF9leHBsaWNpdF9j
b250ZXh0X2F1dG9nZW4uaW5jIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gN0IwQTJBNTIyNjAzRDNEMTAwNDBEQ0VCIC8qIGdsMmV4dF9leHBsaWNpdF9jb250
ZXh0X2F1dG9nZW4uaW5jICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFB1YmxpYywgKTsg
fTsgfTsKKwkJN0IwQTJBNjYyNjAzRDQwNDAwNDBEQ0VCIC8qIGdsM2V4dF9leHBsaWNpdF9jb250
ZXh0X2F1dG9nZW4uaW5jIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gN0IwQTJBNTUyNjAzRDNFMDAwNDBEQ0VCIC8qIGdsM2V4dF9leHBsaWNpdF9jb250ZXh0
X2F1dG9nZW4uaW5jICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFB1YmxpYywgKTsgfTsg
fTsKKwkJN0IwQTJBNjcyNjAzRDQwNDAwNDBEQ0VCIC8qIGdsZXh0X2V4cGxpY2l0X2NvbnRleHRf
YXV0b2dlbi5pbmMgaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA3QjBBMkE0RjI2MDNEM0M2MDA0MERDRUIgLyogZ2xleHRfZXhwbGljaXRfY29udGV4dF9hdXRv
Z2VuLmluYyAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQdWJsaWMsICk7IH07IH07CiAJ
CUEwOEMzQ0RDMTZENkNCNjEwMDNGMEI4MyAvKiBBcnJheUJvdW5kc0NsYW1wZXIuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTA4QzNDREExNkQ2Q0I2
MTAwM0YwQjgzIC8qIEFycmF5Qm91bmRzQ2xhbXBlci5jcHAgKi87IH07CiAJCUEwOEMzQ0REMTZE
NkNCNjEwMDNGMEI4MyAvKiBBcnJheUJvdW5kc0NsYW1wZXIuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEEwOEMzQ0RCMTZENkNCNjEwMDNGMEI4MyAvKiBB
cnJheUJvdW5kc0NsYW1wZXIuaCAqLzsgfTsKIAkJQTI2NEY4QUMxNjk3NERFRDAwNkZBQTVBIC8q
IERpYWdub3N0aWNzQmFzZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBBMjY0Rjg5MzE2OTc0REVEMDA2RkFBNUEgLyogRGlhZ25vc3RpY3NCYXNlLmNw
cCAqLzsgfTsKQEAgLTIwMDAsNiArMjAxMCwxMSBAQAogCQk2RUQ3QkRGNTI0MzJDRDYyMDBFMDE1
MDMgLyogUHJvZ3JhbUV4ZWN1dGFibGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gUHJvZ3JhbUV4ZWN1dGFibGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNkVF
MkZEMkMyMkJBRTk5QzAwMUQzNjlFIC8qIGVnbGV4dF9hbmdsZS5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IG5hbWUgPSBlZ2xleHRfYW5nbGUuaDsgcGF0aCA9IGluY2x1ZGUvRUdML2VnbGV4
dF9hbmdsZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2RUUyRkQyRTIyQkFFOUNE
MDAxRDM2OUUgLyogZ2wyZXh0X2FuZ2xlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFt
ZSA9IGdsMmV4dF9hbmdsZS5oOyBwYXRoID0gaW5jbHVkZS9HTEVTMi9nbDJleHRfYW5nbGUuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJN0IwQTJBNEYyNjAzRDNDNjAwNDBEQ0VCIC8q
IGdsZXh0X2V4cGxpY2l0X2NvbnRleHRfYXV0b2dlbi5pbmMgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZXhwbGljaXRGaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBmaWxlRW5jb2Rpbmcg
PSA0OyBuYW1lID0gZ2xleHRfZXhwbGljaXRfY29udGV4dF9hdXRvZ2VuLmluYzsgcGF0aCA9IGlu
Y2x1ZGUvR0xFUy9nbGV4dF9leHBsaWNpdF9jb250ZXh0X2F1dG9nZW4uaW5jOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQk3QjBBMkE1MjI2MDNEM0QxMDA0MERDRUIgLyogZ2wyZXh0X2V4
cGxpY2l0X2NvbnRleHRfYXV0b2dlbi5pbmMgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZXhwbGljaXRGaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBmaWxlRW5jb2RpbmcgPSA0OyBuYW1l
ID0gZ2wyZXh0X2V4cGxpY2l0X2NvbnRleHRfYXV0b2dlbi5pbmM7IHBhdGggPSBpbmNsdWRlL0dM
RVMyL2dsMmV4dF9leHBsaWNpdF9jb250ZXh0X2F1dG9nZW4uaW5jOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQk3QjBBMkE1NTI2MDNEM0UwMDA0MERDRUIgLyogZ2wzZXh0X2V4cGxpY2l0
X2NvbnRleHRfYXV0b2dlbi5pbmMgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZXhwbGlj
aXRGaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBmaWxlRW5jb2RpbmcgPSA0OyBuYW1lID0gZ2wz
ZXh0X2V4cGxpY2l0X2NvbnRleHRfYXV0b2dlbi5pbmM7IHBhdGggPSBpbmNsdWRlL0dMRVMzL2ds
M2V4dF9leHBsaWNpdF9jb250ZXh0X2F1dG9nZW4uaW5jOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQk3QjBBMkE1NjI2MDNEM0UwMDA0MERDRUIgLyogZ2wzMmV4dF9leHBsaWNpdF9jb250
ZXh0X2F1dG9nZW4uaW5jICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGV4cGxpY2l0Rmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgZmlsZUVuY29kaW5nID0gNDsgbmFtZSA9IGdsMzJleHRf
ZXhwbGljaXRfY29udGV4dF9hdXRvZ2VuLmluYzsgcGF0aCA9IGluY2x1ZGUvR0xFUzMvZ2wzMmV4
dF9leHBsaWNpdF9jb250ZXh0X2F1dG9nZW4uaW5jOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQk3QjBBMkE1NzI2MDNEM0UwMDA0MERDRUIgLyogZ2wzMWV4dF9leHBsaWNpdF9jb250ZXh0
X2F1dG9nZW4uaW5jICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGV4cGxpY2l0RmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgZmlsZUVuY29kaW5nID0gNDsgbmFtZSA9IGdsMzFleHRfZXhw
bGljaXRfY29udGV4dF9hdXRvZ2VuLmluYzsgcGF0aCA9IGluY2x1ZGUvR0xFUzMvZ2wzMWV4dF9l
eHBsaWNpdF9jb250ZXh0X2F1dG9nZW4uaW5jOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlBMDhDM0NEQTE2RDZDQjYxMDAzRjBCODMgLyogQXJyYXlCb3VuZHNDbGFtcGVyLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEFycmF5Qm91bmRzQ2xhbXBlci5jcHA7
IHBhdGggPSBjb21waWxlci9BcnJheUJvdW5kc0NsYW1wZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlBMDhDM0NEQjE2RDZDQjYxMDAzRjBCODMgLyogQXJyYXlCb3VuZHNDbGFt
cGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEFycmF5Qm91bmRzQ2xhbXBl
ci5oOyBwYXRoID0gY29tcGlsZXIvQXJyYXlCb3VuZHNDbGFtcGVyLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUExQjg5Qjg5MjIxRTAwM0EwMEVCNENFQSAvKiBTREtWYXJpYW50Lnhj
Y29uZmlnICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gdGV4dC54Y2NvbmZpZzsgcGF0aCA9IFNES1ZhcmlhbnQueGNjb25m
aWc7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yNTk4LDYgKzI2MTMsNyBAQAogCQkJ
CTVDMUJBQTlFMURGQjYxMEUwMDI5MDZCQiAvKiBnbDIuaCAqLywKIAkJCQk1QzFCQUE5RjFERkI2
MTBFMDAyOTA2QkIgLyogZ2wyZXh0LmggKi8sCiAJCQkJNkVFMkZEMkUyMkJBRTlDRDAwMUQzNjlF
IC8qIGdsMmV4dF9hbmdsZS5oICovLAorCQkJCTdCMEEyQTUyMjYwM0QzRDEwMDQwRENFQiAvKiBn
bDJleHRfZXhwbGljaXRfY29udGV4dF9hdXRvZ2VuLmluYyAqLywKIAkJCQk1QzFCQUFBMDFERkI2
MTBFMDAyOTA2QkIgLyogZ2wycGxhdGZvcm0uaCAqLywKIAkJCSk7CiAJCQluYW1lID0gR0xFUzI7
CkBAIC0yNjA2LDYgKzI2MjIsOSBAQAogCQk1QzFCQUE5NTFERkI2MEVGMDAyOTA2QkIgLyogR0xF
UzMgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCTdCMEEy
QTU1MjYwM0QzRTAwMDQwRENFQiAvKiBnbDNleHRfZXhwbGljaXRfY29udGV4dF9hdXRvZ2VuLmlu
YyAqLywKKwkJCQk3QjBBMkE1NzI2MDNEM0UwMDA0MERDRUIgLyogZ2wzMWV4dF9leHBsaWNpdF9j
b250ZXh0X2F1dG9nZW4uaW5jICovLAorCQkJCTdCMEEyQTU2MjYwM0QzRTAwMDQwRENFQiAvKiBn
bDMyZXh0X2V4cGxpY2l0X2NvbnRleHRfYXV0b2dlbi5pbmMgKi8sCiAJCQkJNUMxQkFBOTYxREZC
NjBGRjAwMjkwNkJCIC8qIGdsMy5oICovLAogCQkJCTVDMUJBQTk4MURGQjYwRkYwMDI5MDZCQiAv
KiBnbDMxLmggKi8sCiAJCQkJNUMxQkFBOTkxREZCNjBGRjAwMjkwNkJCIC8qIGdsMzIuaCAqLywK
QEAgLTMzMDMsNiArMzMyMiw3IEBACiAJCQkJNkVENzBBMDkyMkNENjMwRTAwODY4OENFIC8qIGds
LmggKi8sCiAJCQkJNkVENzBBMEEyMkNENjMwRTAwODY4OENFIC8qIGdsZXh0LmggKi8sCiAJCQkJ
NkVENzBBMEYyMkNENjgyMjAwODY4OENFIC8qIGdsZXh0X2FuZ2xlLmggKi8sCisJCQkJN0IwQTJB
NEYyNjAzRDNDNjAwNDBEQ0VCIC8qIGdsZXh0X2V4cGxpY2l0X2NvbnRleHRfYXV0b2dlbi5pbmMg
Ki8sCiAJCQkJNkVENzBBMEIyMkNENjMwRTAwODY4OENFIC8qIGdscGxhdGZvcm0uaCAqLywKIAkJ
CSk7CiAJCQluYW1lID0gR0xFUzsKQEAgLTM2NzMsNiArMzY5Myw3IEBACiAJCQkJMzFDRDAwNkUy
NDkxODRGQzAwNDg2RjI3IC8qIEJ1ZmZlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzFDRDAwMUYy
NDkxODRFNzAwNDg2RjI3IC8qIEJ1ZmZlckdMLmggaW4gSGVhZGVycyAqLywKIAkJCQkzMUNEMDA0
RjI0OTE4NEY0MDA0ODZGMjcgLyogQnVmZmVySW1wbC5oIGluIEhlYWRlcnMgKi8sCisJCQkJN0Iw
QTJBNjQyNjAzRDQwNDAwNDBEQ0VCIC8qIGdsMzFleHRfZXhwbGljaXRfY29udGV4dF9hdXRvZ2Vu
LmluYyBpbiBIZWFkZXJzICovLAogCQkJCTMxQ0RGRkU2MjQ5MTg0QTcwMDQ4NkYyNyAvKiBCdWls
dEluRnVuY3Rpb25FbXVsYXRvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzFDREZGQ0UyNDkxODRB
NzAwNDg2RjI3IC8qIEJ1aWx0SW5GdW5jdGlvbkVtdWxhdG9yR0xTTC5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJMzFDREZGREMyNDkxODRBNzAwNDg2RjI3IC8qIEJ1aWx0SW5GdW5jdGlvbkVtdWxhdG9y
SExTTC5oIGluIEhlYWRlcnMgKi8sCkBAIC0zNjg3LDYgKzM3MDgsNyBAQAogCQkJCTMxQ0RGRkU0
MjQ5MTg0QTcwMDQ4NkYyNyAvKiBDb21tb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTMxQ0QwMDZD
MjQ5MTg0RkMwMDQ4NkYyNyAvKiBDb21waWxlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzFDREZG
RTcyNDkxODRBNzAwNDg2RjI3IC8qIENvbXBpbGVyLmggaW4gSGVhZGVycyAqLywKKwkJCQk3QjBB
MkE2MzI2MDNENDA0MDA0MERDRUIgLyogZ2wzMmV4dF9leHBsaWNpdF9jb250ZXh0X2F1dG9nZW4u
aW5jIGluIEhlYWRlcnMgKi8sCiAJCQkJMzFDRDAwMTUyNDkxODRFNzAwNDg2RjI3IC8qIENvbXBp
bGVyR0wuaCBpbiBIZWFkZXJzICovLAogCQkJCTMxQ0QwMDNGMjQ5MTg0RjQwMDQ4NkYyNyAvKiBD
b21waWxlckltcGwuaCBpbiBIZWFkZXJzICovLAogCQkJCUEzQzQ5QkY2MjU1REY2QzQwMDVFOERG
NyAvKiBjb21wcmVzc2lvbl91dGlsc19wb3J0YWJsZS5oIGluIEhlYWRlcnMgKi8sCkBAIC0zODY2
LDkgKzM4ODgsMTEgQEAKIAkJCQkzMUNEMDAwQzI0OTE4NEJCMDA0ODZGMjcgLyogUGJ1ZmZlclN1
cmZhY2VFQUdMLmggaW4gSGVhZGVycyAqLywKIAkJCQkzMUNERkY1ODI0OTE4NDhDMDA0ODZGMjcg
LyogcGxhdGZvcm0uaCBpbiBIZWFkZXJzICovLAogCQkJCTMxQ0RGRjUwMjQ5MTg0ODMwMDQ4NkYy
NyAvKiBQTXVySGFzaC5oIGluIEhlYWRlcnMgKi8sCisJCQkJN0IwQTJBNjcyNjAzRDQwNDAwNDBE
Q0VCIC8qIGdsZXh0X2V4cGxpY2l0X2NvbnRleHRfYXV0b2dlbi5pbmMgaW4gSGVhZGVycyAqLywK
IAkJCQkzMUNERkY1NjI0OTE4NDhDMDA0ODZGMjcgLyogUG9vbEFsbG9jLmggaW4gSGVhZGVycyAq
LywKIAkJCQkzMUNERkZGODI0OTE4NEE3MDA0ODZGMjcgLyogUG9vbEFsbG9jLmggaW4gSGVhZGVy
cyAqLywKIAkJCQkzMUNERkZDRDI0OTE4NEE3MDA0ODZGMjcgLyogUHJhZ21hLmggaW4gSGVhZGVy
cyAqLywKKwkJCQk3QjBBMkE2NTI2MDNENDA0MDA0MERDRUIgLyogZ2wyZXh0X2V4cGxpY2l0X2Nv
bnRleHRfYXV0b2dlbi5pbmMgaW4gSGVhZGVycyAqLywKIAkJCQkzMUNERkY3MTI0OTE4NDkyMDA0
ODZGMjcgLyogUHJlcHJvY2Vzc29yLmggaW4gSGVhZGVycyAqLywKIAkJCQkzMUNEMDBCQzI0OTE4
NTQ1MDA0ODZGMjcgLyogcHJvY190YWJsZV9lZ2wuaCBpbiBIZWFkZXJzICovLAogCQkJCTMxQ0Qw
MDZGMjQ5MTg0RkMwMDQ4NkYyNyAvKiBQcm9ncmFtLmggaW4gSGVhZGVycyAqLywKQEAgLTM4ODcs
NiArMzkxMSw3IEBACiAJCQkJMzFDRDAwN0IyNDkxODRGRDAwNDg2RjI3IC8qIHF1ZXJ5Y29udmVy
c2lvbnMuaCBpbiBIZWFkZXJzICovLAogCQkJCTMxQ0QwMDEyMjQ5MTg0RTcwMDQ4NkYyNyAvKiBR
dWVyeUdMLmggaW4gSGVhZGVycyAqLywKIAkJCQkzMUNEMDAzMzI0OTE4NEY0MDA0ODZGMjcgLyog
UXVlcnlJbXBsLmggaW4gSGVhZGVycyAqLywKKwkJCQk3QjBBMkE2NjI2MDNENDA0MDA0MERDRUIg
LyogZ2wzZXh0X2V4cGxpY2l0X2NvbnRleHRfYXV0b2dlbi5pbmMgaW4gSGVhZGVycyAqLywKIAkJ
CQkzMUNEMDA1RjI0OTE4NEZDMDA0ODZGMjcgLyogcXVlcnl1dGlscy5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJMzFDREZGOUYyNDkxODQ5ODAwNDg2RjI3IC8qIFJlY29yZENvbnN0YW50UHJlY2lzaW9u
LmggaW4gSGVhZGVycyAqLywKIAkJCQlBM0M0OUMxNzI1NURGODY2MDA1RThERjcgLyogUmVjb3Jk
VW5pZm9ybUJsb2Nrc1RyYW5zbGF0ZWRUb1N0cnVjdHVyZWRCdWZmZXJzLmggaW4gSGVhZGVycyAq
LywKQEAgLTQyNzksNiArNDMwNCw3IEBACiAJCQkJRkY4MUZGNkUyNTgxOTE5ODAwODk0RTI0IC8q
IE1hcEZ1bmN0aW9uc1RvRGVmaW5pdGlvbnMuaCBpbiBIZWFkZXJzICovLAogCQkJCUZGODFGRjc1
MjU4MTkxOTgwMDg5NEUyNCAvKiBNYXBTeW1ib2xzLmggaW4gSGVhZGVycyAqLywKIAkJCQk1Q0M3
RDQ3MzE5MTAyNjIxMDAwQjhDMUYgLyogbWF0aHV0aWwuaCBpbiBIZWFkZXJzICovLAorCQkJCTdC
MEEyQTVFMjYwM0Q0MDIwMDQwRENFQiAvKiBnbDMyZXh0X2V4cGxpY2l0X2NvbnRleHRfYXV0b2dl
bi5pbmMgaW4gSGVhZGVycyAqLywKIAkJCQk1Q0NEODE5MDFEQkZFQTEwMDA2MDY2QjggLyogbWF0
cml4X3V0aWxzLmggaW4gSGVhZGVycyAqLywKIAkJCQk1QzFEQkJGMjFCMDQzNkVDMDAyMzU1NTIg
LyogTWVtb3J5QnVmZmVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk1Q0NENTk2QzIyODRGNzk2MDAx
OEYyRDggLyogTWVtb3J5T2JqZWN0LmggaW4gSGVhZGVycyAqLywKQEAgLTQzMDIsNiArNDMyOCw3
IEBACiAJCQkJNUM1NUQ2NjkyMjgyNkI5RjAwQjVCQTJDIC8qIE5hbWVFbWJlZGRlZFVuaWZvcm1T
dHJ1Y3RzLmggaW4gSGVhZGVycyAqLywKIAkJCQlGRkEwQzJDODI1Q0I2QTc3MDAxMDUzMDYgLyog
TmFtZUVtYmVkZGVkVW5pZm9ybVN0cnVjdHNNZXRhbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkYz
MzI4NDUyNUY2Q0E5RTAwNUZERkM0IC8qIE5hbWVOYW1lbGVzc1VuaWZvcm1CdWZmZXJzLmggaW4g
SGVhZGVycyAqLywKKwkJCQk3QjBBMkE2MDI2MDNENDAyMDA0MERDRUIgLyogZ2wyZXh0X2V4cGxp
Y2l0X2NvbnRleHRfYXV0b2dlbi5pbmMgaW4gSGVhZGVycyAqLywKIAkJCQlBMzAzMDcwQjIzMDVG
NkI1MDAyREE5NzIgLyogbm9fZGVzdHJ1Y3Rvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNUM1NUQ3
MDcyMjgyNkNCMzAwQjVCQTJDIC8qIE5vZGVTZWFyY2guaCBpbiBIZWFkZXJzICovLAogCQkJCUZG
ODFGRjlCMjU4MUEzQzIwMDg5NEUyNCAvKiBOb2RlVHlwZS5oIGluIEhlYWRlcnMgKi8sCkBAIC00
NDQyLDYgKzQ0NjksNyBAQAogCQkJCTVDQjMwMTNFMURFMzlGMUEwMEQyQzQwNSAvKiBTdGF0ZU1h
bmFnZXJHTC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkY4MUZGMUQyNTgxOTBDQTAwODk0RTI0IC8q
IFN0YXRpY1R5cGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTVDQ0Q4MTgxMURCRkU5OTkwMDYwNjZC
OCAvKiBTdHJlYW0uaCBpbiBIZWFkZXJzICovLAorCQkJCTdCMEEyQTVGMjYwM0Q0MDIwMDQwRENF
QiAvKiBnbDMxZXh0X2V4cGxpY2l0X2NvbnRleHRfYXV0b2dlbi5pbmMgaW4gSGVhZGVycyAqLywK
IAkJCQk1Q0IzMDRGQjFERTQxNjQ4MDBEMkM0MDUgLyogU3RyZWFtUHJvZHVjZXJJbXBsLmggaW4g
SGVhZGVycyAqLywKIAkJCQk1Q0NEODE5MjFEQkZFQTEwMDA2MDY2QjggLyogc3RyaW5nX3V0aWxz
LmggaW4gSGVhZGVycyAqLywKIAkJCQkzMTVFQkRBQTFGQ0U0NDM2MDBBQzdBODkgLyogU3RydWN0
dXJlSExTTC5oIGluIEhlYWRlcnMgKi8sCkBAIC00NDQ5LDYgKzQ0NzcsNyBAQAogCQkJCTVDQjMw
MTQwMURFMzlGMUEwMEQyQzQwNSAvKiBTdXJmYWNlR0wuaCBpbiBIZWFkZXJzICovLAogCQkJCTVD
QjMwNEZEMURFNDE2NDgwMEQyQzQwNSAvKiBTdXJmYWNlSW1wbC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJRkY4MUZFRTcyNTgxOEQ2OTAwODk0RTI0IC8qIFN1cmZhY2VNdGwuaCBpbiBIZWFkZXJzICov
LAorCQkJCTdCMEEyQTYyMjYwM0Q0MDIwMDQwRENFQiAvKiBnbGV4dF9leHBsaWNpdF9jb250ZXh0
X2F1dG9nZW4uaW5jIGluIEhlYWRlcnMgKi8sCiAJCQkJNUM1NUQ2RTYyMjgyNkM3OTAwQjVCQTJD
IC8qIFN5bWJvbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkY4MUZGN0UyNTgxOTE5ODAwODk0RTI0
IC8qIFN5bWJvbEVudi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzEwMTJFNjUxOEI5N0I5QjAwMzkw
NjJGIC8qIFN5bWJvbFRhYmxlLmggaW4gSGVhZGVycyAqLywKQEAgLTQ0NTcsNiArNDQ4Niw3IEBA
CiAJCQkJMzE1RUJEQjkxRkNFNDRCRjAwQUM3QTg5IC8qIFN5bmNHTC5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJMzE1RUJEQ0IxRkNFNDRFNDAwQUM3QTg5IC8qIFN5bmNJbXBsLmggaW4gSGVhZGVycyAq
LywKIAkJCQlGRjgxRkVEQjI1ODE4RDY5MDA4OTRFMjQgLyogU3luY010bC5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJN0IwQTJBNjEyNjAzRDQwMjAwNDBEQ0VCIC8qIGdsM2V4dF9leHBsaWNpdF9jb250
ZXh0X2F1dG9nZW4uaW5jIGluIEhlYWRlcnMgKi8sCiAJCQkJMzFBMzMxQzcxRUE1RUQ1RjAwRkQy
MjAzIC8qIHN5c3RlbV91dGlscy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNUNDRDU5OUMyMjg0RkM3
NTAwMThGMkQ4IC8qIFN5c3RlbUluZm8uaCBpbiBIZWFkZXJzICovLAogCQkJCTMxQjE1NzIyMjM2
QjgwMzMwMENBQTRGRCAvKiBTeXN0ZW1JbmZvX2ludGVybmFsLmggaW4gSGVhZGVycyAqLywKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL2FkanVzdC1hbmdsZS1pbmNsdWRlLXBh
dGhzLnB5IGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvYWRqdXN0LWFuZ2xlLWluY2x1ZGUtcGF0
aHMucHkKaW5kZXggOGQ5MzNiZTk4ZDU1OTgxNjQ5OTZkNGUxMTg5ZGJiN2JjNWJmYzIyOC4uMDNj
YTU3YTIwNTBiZTNmN2U4Nzk2YjNhODY5YTE2NTY5YjE2M2Y2MCAxMDA3NTUKLS0tIGEvU291cmNl
L1RoaXJkUGFydHkvQU5HTEUvYWRqdXN0LWFuZ2xlLWluY2x1ZGUtcGF0aHMucHkKKysrIGIvU291
cmNlL1RoaXJkUGFydHkvQU5HTEUvYWRqdXN0LWFuZ2xlLWluY2x1ZGUtcGF0aHMucHkKQEAgLTMz
LDcgKzMzLDcgQEAgZGVmIHJlcGxhY2UobGluZSk6CiAgICAgbWF0Y2ggPSByZS5tYXRjaCgnI2lu
Y2x1ZGUgWzwiXSguKilbPiJdJywgbGluZSkKICAgICBpZiBtYXRjaDoKICAgICAgICAgaGVhZGVy
ID0gbWF0Y2guZ3JvdXAoMSkKLSAgICAgICAgbWF0Y2ggPSByZS5tYXRjaCgnKEVHTHxHTEVTWzIz
XT98S0hSKS8oLiopJywgaGVhZGVyKQorICAgICAgICBtYXRjaCA9IHJlLm1hdGNoKHInKD86XC5c
Li8pKihFR0x8R0xFU1syM10/fEtIUikvKC4qKScsIGhlYWRlcikKICAgICAgICAgaWYgbWF0Y2g6
CiAgICAgICAgICAgICByZXR1cm4gIiNpbmNsdWRlIDxBTkdMRS8iICsgbWF0Y2guZ3JvdXAoMikg
KyAiPlxuIgogICAgICAgICBtYXRjaCA9IHJlLm1hdGNoKHInKGVnbGV4dF9hbmdsZXxnbDJleHRf
YW5nbGV8U2hhZGVyVmFycylcLmgnLCBoZWFkZXIpCkBAIC00MSwxMyArNDEsMTQgQEAgZGVmIHJl
cGxhY2UobGluZSk6CiAgICAgICAgICAgICByZXR1cm4gIiNpbmNsdWRlIDxBTkdMRS8iICsgbWF0
Y2guZ3JvdXAoMSkgKyAiLmg+XG4iCiAgICAgICAgIGlmIGhlYWRlciA9PSAnZXhwb3J0LmgnOgog
ICAgICAgICAgICAgcmV0dXJuICIjaW5jbHVkZSA8QU5HTEUvZXhwb3J0Lmg+XG4iCisKICAgICBy
ZXR1cm4gbGluZQogCiBvcy5jaGRpcihvdXRwdXRfZGlyKQogZm9yIGZpbGVuYW1lIGluIG9zLmxp
c3RkaXIoJy4nKToKICAgICBpZiBub3Qgb3MucGF0aC5pc2ZpbGUoZmlsZW5hbWUpOgogICAgICAg
ICBjb250aW51ZQotICAgIGlmIG5vdCBmaWxlbmFtZS5lbmRzd2l0aCgnLmgnKToKKyAgICBpZiBu
b3QgKGZpbGVuYW1lLmVuZHN3aXRoKCcuaCcpIG9yIGZpbGVuYW1lLmVuZHN3aXRoKCcuaW5jJykp
OgogICAgICAgICBjb250aW51ZQogICAgIGxpbmVzID0gb3BlbihmaWxlbmFtZSwgJ3InKS5yZWFk
bGluZXMoKQogICAgIG5ld0xpbmVzID0gWyByZXBsYWNlKGxpbmUpIGZvciBsaW5lIGluIGxpbmVz
IF0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2FuZ2xlL0FO
R0xFSGVhZGVycy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYW5nbGUvQU5H
TEVIZWFkZXJzLmgKaW5kZXggNTk5ZjViYjE3NGNlYmIzNmZhY2M4NWU1MGJmM2Q4NGNkM2ZlNzNk
NC4uNzQwMzIwYWZjNTVjZjU0MTA1MjlmMDc1MzZiOGVhMGZmYTc3Nzc3YSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYW5nbGUvQU5HTEVIZWFkZXJzLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYW5nbGUvQU5HTEVIZWFkZXJzLmgK
QEAgLTQxLDExICs0MSw2IEBACiAjZGVmaW5lIEdMX0dMRVhUX1BST1RPVFlQRVMgMAogI2VuZGlm
CiAKLS8vIFNraXAgdGhlIGluY2x1c2lvbiBvZiBBTkdMRSdzIGV4cGxpY2l0IGNvbnRleHQgZW50
cnkgcG9pbnRzIGZvciBub3cuCi0jZGVmaW5lIEdMX0FOR0xFX2V4cGxpY2l0X2NvbnRleHQKLSNk
ZWZpbmUgR0xfQU5HTEVfZXhwbGljaXRfY29udGV4dF9nbGVzMQotdHlwZWRlZiB2b2lkKiBHTGVn
bENvbnRleHQ7Ci0KICNpbmNsdWRlIDxBTkdMRS9lbnRyeV9wb2ludHNfZWdsLmg+CiAjaW5jbHVk
ZSA8QU5HTEUvZW50cnlfcG9pbnRzX2VnbF9leHQuaD4KICNpbmNsdWRlIDxBTkdMRS9lbnRyeV9w
b2ludHNfZ2xlc18yXzBfYXV0b2dlbi5oPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>423714</attachid>
            <date>2021-03-19 03:42:41 -0700</date>
            <delta_ts>2021-03-23 03:29:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223470-20210319124239.patch</filename>
            <type>text/plain</type>
            <size>14395</size>
            <attacher name="Kimmo Kinnunen">kkinnunen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc0NjQwCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9DaGFuZ2VMb2cgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9DaGFuZ2VMb2cKaW5k
ZXggOGI5MTg4ZGM2Mjc1OTA0YWU3NTY3MTU2MmUyMGE4NWFhOGRmNGIxMi4uM2ZhYzk3ZDNlYTg0
ZjYxZGNlODBmNzUyMjBkOThlMzViMzg3OWM3NCAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE3IEBACisyMDIxLTAzLTE4ICBLaW1tbyBLaW5udW5lbiAgPGtraW5udW5l
bkBhcHBsZS5jb20+CisKKyAgICAgICAgQU5HTEUgaXMgbWlzc2luZyB0aGUgZXhwbGljaXQgY29u
dGV4dCBoZWFkZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMjM0NzAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBBZGQgdGhlIGF1dG9nZW5lcmF0ZWQgLmluYyBmaWxlcyBmb3IgZXhwbGljaXQgY29udGV4
dAorICAgICAgICBBUEkgaW50byB0aGUgQU5HTEUgcHVibGljIGhlYWRlcnMuCisKKyAgICAgICAg
KiBBTkdMRS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGFkanVzdC1hbmds
ZS1pbmNsdWRlLXBhdGhzLnB5OgorICAgICAgICAocmVwbGFjZSk6CisKIDIwMjEtMDMtMTcgIEt5
bGUgUGlkZGluZ3RvbiAgPGtwaWRkaW5ndG9uQGFwcGxlLmNvbT4KIAogICAgICAgICBBTkdMRSBN
ZXRhbCBmaXh1cHMgZm9yIHByb2dyYW0gZ2VuZXJhdGlvbiwgcmVhZFBpeGVscwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmlu
ZGV4IGViYmZlYWMwMGE1MzZkYTVmOTE2NGQ5MjVkMjBhYjVhYTkzMjIyZTUuLjNhYmEyOTVhODRk
NTQ1NjU4NTkzOWNlZGJiMWE0YzM4YjQ4YTY4NDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBA
QAorMjAyMS0wMy0xOCAgS2ltbW8gS2lubnVuZW4gIDxra2lubnVuZW5AYXBwbGUuY29tPgorCisg
ICAgICAgIEFOR0xFIGlzIG1pc3NpbmcgdGhlIGV4cGxpY2l0IGNvbnRleHQgaGVhZGVycworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIzNDcwCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9hbmdsZS9BTkdMRUhlYWRlcnMuaDoKKyAgICAgICAgUmVtb3ZlIHRoZSBoYWNrIHRo
YXQgd2FzIG5lZWRlZCB3aGVuIGluY2x1ZGluZyBBTkdMRSB3aXRob3V0CisgICAgICAgIHRoZSBl
eHBsaWNpdCBjb250ZXh0IGhlYWRlcnMuCisKIDIwMjEtMDMtMTggIENhcmxvcyBHYXJjaWEgQ2Ft
cG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtTT1VQXSBTT1VQMyBjcmFzaGVz
IGluc2lkZSBzb3VwX21lc3NhZ2Vfc2V0X3JlcXVlc3RfYm9keQpkaWZmIC0tZ2l0IGEvU291cmNl
L1RoaXJkUGFydHkvQU5HTEUvQU5HTEUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJj
ZS9UaGlyZFBhcnR5L0FOR0xFL0FOR0xFLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXgg
NmM4MTE1ZTZjMDc3NWYzNDAxYjZjN2YxOGFhMWVmMDY0Zjg3YzU5Ny4uODllZmE4NTFmNmRjYWFm
NGI5ZGI3YThjYmE5MjBjNTM1MWMzNGY5MyAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkv
QU5HTEUvQU5HTEUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvVGhpcmRQ
YXJ0eS9BTkdMRS9BTkdMRS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xMDA2LDYgKzEw
MDYsMTYgQEAKIAkJNkVEN0JERjMyNDMyQ0QxQjAwRTAxNTAzIC8qIEluZm9Mb2cuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDZFRDdCREYyMjQzMkNEMUIw
MEUwMTUwMyAvKiBJbmZvTG9nLmggKi87IH07CiAJCTZFRDdCREY2MjQzMkNENjIwMEUwMTUwMyAv
KiBQcm9ncmFtRXhlY3V0YWJsZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA2RUQ3QkRGNDI0MzJDRDYyMDBFMDE1MDMgLyogUHJvZ3JhbUV4ZWN1dGFi
bGUuY3BwICovOyB9OwogCQk2RUQ3QkRGNzI0MzJDRDYyMDBFMDE1MDMgLyogUHJvZ3JhbUV4ZWN1
dGFibGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDZF
RDdCREY1MjQzMkNENjIwMEUwMTUwMyAvKiBQcm9ncmFtRXhlY3V0YWJsZS5oICovOyB9OworCQk3
QjBBMkE1RTI2MDNENDAyMDA0MERDRUIgLyogZ2wzMmV4dF9leHBsaWNpdF9jb250ZXh0X2F1dG9n
ZW4uaW5jIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0Iw
QTJBNTYyNjAzRDNFMDAwNDBEQ0VCIC8qIGdsMzJleHRfZXhwbGljaXRfY29udGV4dF9hdXRvZ2Vu
LmluYyAqLzsgfTsKKwkJN0IwQTJBNUYyNjAzRDQwMjAwNDBEQ0VCIC8qIGdsMzFleHRfZXhwbGlj
aXRfY29udGV4dF9hdXRvZ2VuLmluYyBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDdCMEEyQTU3MjYwM0QzRTAwMDQwRENFQiAvKiBnbDMxZXh0X2V4cGxpY2l0
X2NvbnRleHRfYXV0b2dlbi5pbmMgKi87IH07CisJCTdCMEEyQTYwMjYwM0Q0MDIwMDQwRENFQiAv
KiBnbDJleHRfZXhwbGljaXRfY29udGV4dF9hdXRvZ2VuLmluYyBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdCMEEyQTUyMjYwM0QzRDEwMDQwRENFQiAvKiBn
bDJleHRfZXhwbGljaXRfY29udGV4dF9hdXRvZ2VuLmluYyAqLzsgfTsKKwkJN0IwQTJBNjEyNjAz
RDQwMjAwNDBEQ0VCIC8qIGdsM2V4dF9leHBsaWNpdF9jb250ZXh0X2F1dG9nZW4uaW5jIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0IwQTJBNTUyNjAzRDNF
MDAwNDBEQ0VCIC8qIGdsM2V4dF9leHBsaWNpdF9jb250ZXh0X2F1dG9nZW4uaW5jICovOyB9Owor
CQk3QjBBMkE2MjI2MDNENDAyMDA0MERDRUIgLyogZ2xleHRfZXhwbGljaXRfY29udGV4dF9hdXRv
Z2VuLmluYyBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdC
MEEyQTRGMjYwM0QzQzYwMDQwRENFQiAvKiBnbGV4dF9leHBsaWNpdF9jb250ZXh0X2F1dG9nZW4u
aW5jICovOyB9OworCQk3QjBBMkE2MzI2MDNENDA0MDA0MERDRUIgLyogZ2wzMmV4dF9leHBsaWNp
dF9jb250ZXh0X2F1dG9nZW4uaW5jIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gN0IwQTJBNTYyNjAzRDNFMDAwNDBEQ0VCIC8qIGdsMzJleHRfZXhwbGljaXRf
Y29udGV4dF9hdXRvZ2VuLmluYyAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQdWJsaWMs
ICk7IH07IH07CisJCTdCMEEyQTY0MjYwM0Q0MDQwMDQwRENFQiAvKiBnbDMxZXh0X2V4cGxpY2l0
X2NvbnRleHRfYXV0b2dlbi5pbmMgaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA3QjBBMkE1NzI2MDNEM0UwMDA0MERDRUIgLyogZ2wzMWV4dF9leHBsaWNpdF9j
b250ZXh0X2F1dG9nZW4uaW5jICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFB1YmxpYywg
KTsgfTsgfTsKKwkJN0IwQTJBNjUyNjAzRDQwNDAwNDBEQ0VCIC8qIGdsMmV4dF9leHBsaWNpdF9j
b250ZXh0X2F1dG9nZW4uaW5jIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gN0IwQTJBNTIyNjAzRDNEMTAwNDBEQ0VCIC8qIGdsMmV4dF9leHBsaWNpdF9jb250
ZXh0X2F1dG9nZW4uaW5jICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFB1YmxpYywgKTsg
fTsgfTsKKwkJN0IwQTJBNjYyNjAzRDQwNDAwNDBEQ0VCIC8qIGdsM2V4dF9leHBsaWNpdF9jb250
ZXh0X2F1dG9nZW4uaW5jIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gN0IwQTJBNTUyNjAzRDNFMDAwNDBEQ0VCIC8qIGdsM2V4dF9leHBsaWNpdF9jb250ZXh0
X2F1dG9nZW4uaW5jICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFB1YmxpYywgKTsgfTsg
fTsKKwkJN0IwQTJBNjcyNjAzRDQwNDAwNDBEQ0VCIC8qIGdsZXh0X2V4cGxpY2l0X2NvbnRleHRf
YXV0b2dlbi5pbmMgaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA3QjBBMkE0RjI2MDNEM0M2MDA0MERDRUIgLyogZ2xleHRfZXhwbGljaXRfY29udGV4dF9hdXRv
Z2VuLmluYyAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQdWJsaWMsICk7IH07IH07CiAJ
CUEwOEMzQ0RDMTZENkNCNjEwMDNGMEI4MyAvKiBBcnJheUJvdW5kc0NsYW1wZXIuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTA4QzNDREExNkQ2Q0I2
MTAwM0YwQjgzIC8qIEFycmF5Qm91bmRzQ2xhbXBlci5jcHAgKi87IH07CiAJCUEwOEMzQ0REMTZE
NkNCNjEwMDNGMEI4MyAvKiBBcnJheUJvdW5kc0NsYW1wZXIuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEEwOEMzQ0RCMTZENkNCNjEwMDNGMEI4MyAvKiBB
cnJheUJvdW5kc0NsYW1wZXIuaCAqLzsgfTsKIAkJQTI2NEY4QUMxNjk3NERFRDAwNkZBQTVBIC8q
IERpYWdub3N0aWNzQmFzZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBBMjY0Rjg5MzE2OTc0REVEMDA2RkFBNUEgLyogRGlhZ25vc3RpY3NCYXNlLmNw
cCAqLzsgfTsKQEAgLTIwMDAsNiArMjAxMCwxMSBAQAogCQk2RUQ3QkRGNTI0MzJDRDYyMDBFMDE1
MDMgLyogUHJvZ3JhbUV4ZWN1dGFibGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gUHJvZ3JhbUV4ZWN1dGFibGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNkVF
MkZEMkMyMkJBRTk5QzAwMUQzNjlFIC8qIGVnbGV4dF9hbmdsZS5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IG5hbWUgPSBlZ2xleHRfYW5nbGUuaDsgcGF0aCA9IGluY2x1ZGUvRUdML2VnbGV4
dF9hbmdsZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2RUUyRkQyRTIyQkFFOUNE
MDAxRDM2OUUgLyogZ2wyZXh0X2FuZ2xlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFt
ZSA9IGdsMmV4dF9hbmdsZS5oOyBwYXRoID0gaW5jbHVkZS9HTEVTMi9nbDJleHRfYW5nbGUuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJN0IwQTJBNEYyNjAzRDNDNjAwNDBEQ0VCIC8q
IGdsZXh0X2V4cGxpY2l0X2NvbnRleHRfYXV0b2dlbi5pbmMgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZXhwbGljaXRGaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBmaWxlRW5jb2Rpbmcg
PSA0OyBuYW1lID0gZ2xleHRfZXhwbGljaXRfY29udGV4dF9hdXRvZ2VuLmluYzsgcGF0aCA9IGlu
Y2x1ZGUvR0xFUy9nbGV4dF9leHBsaWNpdF9jb250ZXh0X2F1dG9nZW4uaW5jOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQk3QjBBMkE1MjI2MDNEM0QxMDA0MERDRUIgLyogZ2wyZXh0X2V4
cGxpY2l0X2NvbnRleHRfYXV0b2dlbi5pbmMgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZXhwbGljaXRGaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBmaWxlRW5jb2RpbmcgPSA0OyBuYW1l
ID0gZ2wyZXh0X2V4cGxpY2l0X2NvbnRleHRfYXV0b2dlbi5pbmM7IHBhdGggPSBpbmNsdWRlL0dM
RVMyL2dsMmV4dF9leHBsaWNpdF9jb250ZXh0X2F1dG9nZW4uaW5jOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQk3QjBBMkE1NTI2MDNEM0UwMDA0MERDRUIgLyogZ2wzZXh0X2V4cGxpY2l0
X2NvbnRleHRfYXV0b2dlbi5pbmMgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZXhwbGlj
aXRGaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBmaWxlRW5jb2RpbmcgPSA0OyBuYW1lID0gZ2wz
ZXh0X2V4cGxpY2l0X2NvbnRleHRfYXV0b2dlbi5pbmM7IHBhdGggPSBpbmNsdWRlL0dMRVMzL2ds
M2V4dF9leHBsaWNpdF9jb250ZXh0X2F1dG9nZW4uaW5jOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQk3QjBBMkE1NjI2MDNEM0UwMDA0MERDRUIgLyogZ2wzMmV4dF9leHBsaWNpdF9jb250
ZXh0X2F1dG9nZW4uaW5jICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGV4cGxpY2l0Rmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgZmlsZUVuY29kaW5nID0gNDsgbmFtZSA9IGdsMzJleHRf
ZXhwbGljaXRfY29udGV4dF9hdXRvZ2VuLmluYzsgcGF0aCA9IGluY2x1ZGUvR0xFUzMvZ2wzMmV4
dF9leHBsaWNpdF9jb250ZXh0X2F1dG9nZW4uaW5jOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQk3QjBBMkE1NzI2MDNEM0UwMDA0MERDRUIgLyogZ2wzMWV4dF9leHBsaWNpdF9jb250ZXh0
X2F1dG9nZW4uaW5jICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGV4cGxpY2l0RmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgZmlsZUVuY29kaW5nID0gNDsgbmFtZSA9IGdsMzFleHRfZXhw
bGljaXRfY29udGV4dF9hdXRvZ2VuLmluYzsgcGF0aCA9IGluY2x1ZGUvR0xFUzMvZ2wzMWV4dF9l
eHBsaWNpdF9jb250ZXh0X2F1dG9nZW4uaW5jOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlBMDhDM0NEQTE2RDZDQjYxMDAzRjBCODMgLyogQXJyYXlCb3VuZHNDbGFtcGVyLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEFycmF5Qm91bmRzQ2xhbXBlci5jcHA7
IHBhdGggPSBjb21waWxlci9BcnJheUJvdW5kc0NsYW1wZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlBMDhDM0NEQjE2RDZDQjYxMDAzRjBCODMgLyogQXJyYXlCb3VuZHNDbGFt
cGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEFycmF5Qm91bmRzQ2xhbXBl
ci5oOyBwYXRoID0gY29tcGlsZXIvQXJyYXlCb3VuZHNDbGFtcGVyLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUExQjg5Qjg5MjIxRTAwM0EwMEVCNENFQSAvKiBTREtWYXJpYW50Lnhj
Y29uZmlnICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gdGV4dC54Y2NvbmZpZzsgcGF0aCA9IFNES1ZhcmlhbnQueGNjb25m
aWc7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yNTk4LDYgKzI2MTMsNyBAQAogCQkJ
CTVDMUJBQTlFMURGQjYxMEUwMDI5MDZCQiAvKiBnbDIuaCAqLywKIAkJCQk1QzFCQUE5RjFERkI2
MTBFMDAyOTA2QkIgLyogZ2wyZXh0LmggKi8sCiAJCQkJNkVFMkZEMkUyMkJBRTlDRDAwMUQzNjlF
IC8qIGdsMmV4dF9hbmdsZS5oICovLAorCQkJCTdCMEEyQTUyMjYwM0QzRDEwMDQwRENFQiAvKiBn
bDJleHRfZXhwbGljaXRfY29udGV4dF9hdXRvZ2VuLmluYyAqLywKIAkJCQk1QzFCQUFBMDFERkI2
MTBFMDAyOTA2QkIgLyogZ2wycGxhdGZvcm0uaCAqLywKIAkJCSk7CiAJCQluYW1lID0gR0xFUzI7
CkBAIC0yNjA4LDcgKzI2MjQsMTAgQEAKIAkJCWNoaWxkcmVuID0gKAogCQkJCTVDMUJBQTk2MURG
QjYwRkYwMDI5MDZCQiAvKiBnbDMuaCAqLywKIAkJCQk1QzFCQUE5ODFERkI2MEZGMDAyOTA2QkIg
LyogZ2wzMS5oICovLAorCQkJCTdCMEEyQTU3MjYwM0QzRTAwMDQwRENFQiAvKiBnbDMxZXh0X2V4
cGxpY2l0X2NvbnRleHRfYXV0b2dlbi5pbmMgKi8sCiAJCQkJNUMxQkFBOTkxREZCNjBGRjAwMjkw
NkJCIC8qIGdsMzIuaCAqLywKKwkJCQk3QjBBMkE1NjI2MDNEM0UwMDA0MERDRUIgLyogZ2wzMmV4
dF9leHBsaWNpdF9jb250ZXh0X2F1dG9nZW4uaW5jICovLAorCQkJCTdCMEEyQTU1MjYwM0QzRTAw
MDQwRENFQiAvKiBnbDNleHRfZXhwbGljaXRfY29udGV4dF9hdXRvZ2VuLmluYyAqLywKIAkJCQk1
QzFCQUE5NzFERkI2MEZGMDAyOTA2QkIgLyogZ2wzcGxhdGZvcm0uaCAqLywKIAkJCSk7CiAJCQlu
YW1lID0gR0xFUzM7CkBAIC0zMzAzLDYgKzMzMjIsNyBAQAogCQkJCTZFRDcwQTA5MjJDRDYzMEUw
MDg2ODhDRSAvKiBnbC5oICovLAogCQkJCTZFRDcwQTBBMjJDRDYzMEUwMDg2ODhDRSAvKiBnbGV4
dC5oICovLAogCQkJCTZFRDcwQTBGMjJDRDY4MjIwMDg2ODhDRSAvKiBnbGV4dF9hbmdsZS5oICov
LAorCQkJCTdCMEEyQTRGMjYwM0QzQzYwMDQwRENFQiAvKiBnbGV4dF9leHBsaWNpdF9jb250ZXh0
X2F1dG9nZW4uaW5jICovLAogCQkJCTZFRDcwQTBCMjJDRDYzMEUwMDg2ODhDRSAvKiBnbHBsYXRm
b3JtLmggKi8sCiAJCQkpOwogCQkJbmFtZSA9IEdMRVM7CkBAIC0zNzg1LDE1ICszODA1LDIwIEBA
CiAJCQkJMzFDREZFMDMyNDkxODNCRTAwNDg2RjI3IC8qIGdsMi5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJMzFDREZFMDEyNDkxODNCRTAwNDg2RjI3IC8qIGdsMmV4dC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJMzFDREZFMDIyNDkxODNCRTAwNDg2RjI3IC8qIGdsMmV4dF9hbmdsZS5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJN0IwQTJBNjUyNjAzRDQwNDAwNDBEQ0VCIC8qIGdsMmV4dF9leHBsaWNpdF9jb250
ZXh0X2F1dG9nZW4uaW5jIGluIEhlYWRlcnMgKi8sCiAJCQkJMzFDREZFMDQyNDkxODNCRTAwNDg2
RjI3IC8qIGdsMnBsYXRmb3JtLmggaW4gSGVhZGVycyAqLywKIAkJCQkzMUNERkUwQjI0OTE4M0NG
MDA0ODZGMjcgLyogZ2wzLmggaW4gSGVhZGVycyAqLywKIAkJCQkzMUNERkUwOTI0OTE4M0NGMDA0
ODZGMjcgLyogZ2wzMS5oIGluIEhlYWRlcnMgKi8sCisJCQkJN0IwQTJBNjQyNjAzRDQwNDAwNDBE
Q0VCIC8qIGdsMzFleHRfZXhwbGljaXRfY29udGV4dF9hdXRvZ2VuLmluYyBpbiBIZWFkZXJzICov
LAogCQkJCTMxQ0RGRTBBMjQ5MTgzQ0YwMDQ4NkYyNyAvKiBnbDMyLmggaW4gSGVhZGVycyAqLywK
KwkJCQk3QjBBMkE2MzI2MDNENDA0MDA0MERDRUIgLyogZ2wzMmV4dF9leHBsaWNpdF9jb250ZXh0
X2F1dG9nZW4uaW5jIGluIEhlYWRlcnMgKi8sCisJCQkJN0IwQTJBNjYyNjAzRDQwNDAwNDBEQ0VC
IC8qIGdsM2V4dF9leHBsaWNpdF9jb250ZXh0X2F1dG9nZW4uaW5jIGluIEhlYWRlcnMgKi8sCiAJ
CQkJMzFDREZFMEMyNDkxODNDRjAwNDg2RjI3IC8qIGdsM3BsYXRmb3JtLmggaW4gSGVhZGVycyAq
LywKIAkJCQkzMUNEMDA2NjI0OTE4NEZDMDA0ODZGMjcgLyogR0xFUzFSZW5kZXJlci5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMzFDRDAwODcyNDkxODRGRDAwNDg2RjI3IC8qIEdMRVMxU3RhdGUuaCBp
biBIZWFkZXJzICovLAogCQkJCTMxQ0RGRTAwMjQ5MTgzQjYwMDQ4NkYyNyAvKiBnbGV4dC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJMzFDREZERkUyNDkxODNCNjAwNDg2RjI3IC8qIGdsZXh0X2FuZ2xl
LmggaW4gSGVhZGVycyAqLywKKwkJCQk3QjBBMkE2NzI2MDNENDA0MDA0MERDRUIgLyogZ2xleHRf
ZXhwbGljaXRfY29udGV4dF9hdXRvZ2VuLmluYyBpbiBIZWFkZXJzICovLAogCQkJCTMxQ0QwMDNE
MjQ5MTg0RjQwMDQ4NkYyNyAvKiBHTEltcGxGYWN0b3J5LmggaW4gSGVhZGVycyAqLywKIAkJCQkz
MUNEMDBCRjI0OTE4NTQ1MDA0ODZGMjcgLyogZ2xvYmFsX3N0YXRlLmggaW4gSGVhZGVycyAqLywK
IAkJCQkzMUNERkRGRDI0OTE4M0I2MDA0ODZGMjcgLyogZ2xwbGF0Zm9ybS5oIGluIEhlYWRlcnMg
Ki8sCkBAIC00MjIwLDE1ICs0MjQ1LDIwIEBACiAJCQkJMzFEQjc5NUMyNDkxQzg2ODAwOTgyODc4
IC8qIGdsMi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzFEQjc5NUQyNDkxQzg2ODAwOTgyODc4IC8q
IGdsMmV4dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzFEQjc5NUUyNDkxQzg2ODAwOTgyODc4IC8q
IGdsMmV4dF9hbmdsZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJN0IwQTJBNjAyNjAzRDQwMjAwNDBE
Q0VCIC8qIGdsMmV4dF9leHBsaWNpdF9jb250ZXh0X2F1dG9nZW4uaW5jIGluIEhlYWRlcnMgKi8s
CiAJCQkJMzFEQjc5NUYyNDkxQzg2ODAwOTgyODc4IC8qIGdsMnBsYXRmb3JtLmggaW4gSGVhZGVy
cyAqLywKIAkJCQkzMURCNzk2MDI0OTFDODcwMDA5ODI4NzggLyogZ2wzLmggaW4gSGVhZGVycyAq
LywKIAkJCQkzMURCNzk2MTI0OTFDODcwMDA5ODI4NzggLyogZ2wzMS5oIGluIEhlYWRlcnMgKi8s
CisJCQkJN0IwQTJBNUYyNjAzRDQwMjAwNDBEQ0VCIC8qIGdsMzFleHRfZXhwbGljaXRfY29udGV4
dF9hdXRvZ2VuLmluYyBpbiBIZWFkZXJzICovLAogCQkJCTMxREI3OTYyMjQ5MUM4NzAwMDk4Mjg3
OCAvKiBnbDMyLmggaW4gSGVhZGVycyAqLywKKwkJCQk3QjBBMkE1RTI2MDNENDAyMDA0MERDRUIg
LyogZ2wzMmV4dF9leHBsaWNpdF9jb250ZXh0X2F1dG9nZW4uaW5jIGluIEhlYWRlcnMgKi8sCisJ
CQkJN0IwQTJBNjEyNjAzRDQwMjAwNDBEQ0VCIC8qIGdsM2V4dF9leHBsaWNpdF9jb250ZXh0X2F1
dG9nZW4uaW5jIGluIEhlYWRlcnMgKi8sCiAJCQkJMzFEQjc5NjMyNDkxQzg3MDAwOTgyODc4IC8q
IGdsM3BsYXRmb3JtLmggaW4gSGVhZGVycyAqLywKIAkJCQk1Q0NENTk2MDIyODRGNzk2MDAxOEYy
RDggLyogR0xFUzFSZW5kZXJlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNUNDRDU5NjIyMjg0Rjc5
NjAwMThGMkQ4IC8qIEdMRVMxU3RhdGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTZFRDcwQTBEMjJD
RDYzMEUwMDg2ODhDRSAvKiBnbGV4dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNkVENzBBMTAyMkNE
NjgyMjAwODY4OENFIC8qIGdsZXh0X2FuZ2xlLmggaW4gSGVhZGVycyAqLywKKwkJCQk3QjBBMkE2
MjI2MDNENDAyMDA0MERDRUIgLyogZ2xleHRfZXhwbGljaXRfY29udGV4dF9hdXRvZ2VuLmluYyBp
biBIZWFkZXJzICovLAogCQkJCTVDQjMwNEVDMURFNDE2NDgwMEQyQzQwNSAvKiBHTEltcGxGYWN0
b3J5LmggaW4gSGVhZGVycyAqLywKIAkJCQk1Q0IzMDRBMjFERTQxNTdCMDBEMkM0MDUgLyogZ2xv
YmFsX3N0YXRlLmggaW4gSGVhZGVycyAqLywKIAkJCQk2RUQ3MEEwRTIyQ0Q2MzBFMDA4Njg4Q0Ug
LyogZ2xwbGF0Zm9ybS5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQ
YXJ0eS9BTkdMRS9hZGp1c3QtYW5nbGUtaW5jbHVkZS1wYXRocy1ydWxlIGIvU291cmNlL1RoaXJk
UGFydHkvQU5HTEUvYWRqdXN0LWFuZ2xlLWluY2x1ZGUtcGF0aHMtcnVsZQppbmRleCBmMGYyZGQ1
Mjg1NjQ1Nzc5YzdlMmMyMmQ4N2IzMzdkNGU1OWQ3N2ExLi4wMmE0NzFmNDQyZjZkNmU1MDMwNDFh
YzJiNTY3MTc1NzY2YzQwYTczIDEwMDc1NQotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9h
ZGp1c3QtYW5nbGUtaW5jbHVkZS1wYXRocy1ydWxlCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FO
R0xFL2FkanVzdC1hbmdsZS1pbmNsdWRlLXBhdGhzLXJ1bGUKQEAgLTI3LDkgKzI3LDcgQEAgdGhl
bgogCiAgICAgc2VkIFwKICAgICAgICAgLWUgJ3MvXiNpbmNsdWRlIFs8Il1FR0xcL1woLipcKVs+
Il0vI2luY2x1ZGUgPEFOR0xFXC9cMT4vJyBcCi0gICAgICAgIC1lICdzL14jaW5jbHVkZSBbPCJd
R0xFU1wvXCguKlwpWz4iXS8jaW5jbHVkZSA8QU5HTEVcL1wxPi8nIFwKLSAgICAgICAgLWUgJ3Mv
XiNpbmNsdWRlIFs8Il1HTEVTMlwvXCguKlwpWz4iXS8jaW5jbHVkZSA8QU5HTEVcL1wxPi8nIFwK
LSAgICAgICAgLWUgJ3MvXiNpbmNsdWRlIFs8Il1HTEVTM1wvXCguKlwpWz4iXS8jaW5jbHVkZSA8
QU5HTEVcL1wxPi8nIFwKKyAgICAgICAgLWUgJ3MvXiNpbmNsdWRlIFs8Il1cKFwuXC5cL1wpKkdM
RVNbMjNdKlwvXCguKlwpWz4iXS8jaW5jbHVkZSA8QU5HTEVcL1wyPi8nIFwKICAgICAgICAgLWUg
J3MvXiNpbmNsdWRlIFs8Il1LSFJcL1woLipcKVs+Il0vI2luY2x1ZGUgPEFOR0xFXC9cMT4vJyBc
CiAgICAgICAgIC1lICdzL14jaW5jbHVkZSBbPCJdZXhwb3J0LmhbPiJdLyNpbmNsdWRlIDxBTkdM
RVwvZXhwb3J0Lmg+LycgXAogICAgICAgICAtZSAncy9eI2luY2x1ZGUgIlwoZWdsZXh0X2FuZ2xl
XHxnbDJleHRfYW5nbGVcfFNoYWRlclZhcnNcKS5oIi8jaW5jbHVkZSA8QU5HTEVcL1wxLmg+Lycg
XApkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvYWRqdXN0LWFuZ2xlLWluY2x1
ZGUtcGF0aHMucHkgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9hZGp1c3QtYW5nbGUtaW5jbHVk
ZS1wYXRocy5weQppbmRleCA4ZDkzM2JlOThkNTU5ODE2NDk5NmQ0ZTExODlkYmI3YmM1YmZjMjI4
Li4wM2NhNTdhMjA1MGJlM2Y3ZTg3OTZiM2E4NjlhMTY1NjliMTYzZjYwIDEwMDc1NQotLS0gYS9T
b3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9hZGp1c3QtYW5nbGUtaW5jbHVkZS1wYXRocy5weQorKysg
Yi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9hZGp1c3QtYW5nbGUtaW5jbHVkZS1wYXRocy5weQpA
QCAtMzMsNyArMzMsNyBAQCBkZWYgcmVwbGFjZShsaW5lKToKICAgICBtYXRjaCA9IHJlLm1hdGNo
KCcjaW5jbHVkZSBbPCJdKC4qKVs+Il0nLCBsaW5lKQogICAgIGlmIG1hdGNoOgogICAgICAgICBo
ZWFkZXIgPSBtYXRjaC5ncm91cCgxKQotICAgICAgICBtYXRjaCA9IHJlLm1hdGNoKCcoRUdMfEdM
RVNbMjNdP3xLSFIpLyguKiknLCBoZWFkZXIpCisgICAgICAgIG1hdGNoID0gcmUubWF0Y2gocico
PzpcLlwuLykqKEVHTHxHTEVTWzIzXT98S0hSKS8oLiopJywgaGVhZGVyKQogICAgICAgICBpZiBt
YXRjaDoKICAgICAgICAgICAgIHJldHVybiAiI2luY2x1ZGUgPEFOR0xFLyIgKyBtYXRjaC5ncm91
cCgyKSArICI+XG4iCiAgICAgICAgIG1hdGNoID0gcmUubWF0Y2gocicoZWdsZXh0X2FuZ2xlfGds
MmV4dF9hbmdsZXxTaGFkZXJWYXJzKVwuaCcsIGhlYWRlcikKQEAgLTQxLDEzICs0MSwxNCBAQCBk
ZWYgcmVwbGFjZShsaW5lKToKICAgICAgICAgICAgIHJldHVybiAiI2luY2x1ZGUgPEFOR0xFLyIg
KyBtYXRjaC5ncm91cCgxKSArICIuaD5cbiIKICAgICAgICAgaWYgaGVhZGVyID09ICdleHBvcnQu
aCc6CiAgICAgICAgICAgICByZXR1cm4gIiNpbmNsdWRlIDxBTkdMRS9leHBvcnQuaD5cbiIKKwog
ICAgIHJldHVybiBsaW5lCiAKIG9zLmNoZGlyKG91dHB1dF9kaXIpCiBmb3IgZmlsZW5hbWUgaW4g
b3MubGlzdGRpcignLicpOgogICAgIGlmIG5vdCBvcy5wYXRoLmlzZmlsZShmaWxlbmFtZSk6CiAg
ICAgICAgIGNvbnRpbnVlCi0gICAgaWYgbm90IGZpbGVuYW1lLmVuZHN3aXRoKCcuaCcpOgorICAg
IGlmIG5vdCAoZmlsZW5hbWUuZW5kc3dpdGgoJy5oJykgb3IgZmlsZW5hbWUuZW5kc3dpdGgoJy5p
bmMnKSk6CiAgICAgICAgIGNvbnRpbnVlCiAgICAgbGluZXMgPSBvcGVuKGZpbGVuYW1lLCAncicp
LnJlYWRsaW5lcygpCiAgICAgbmV3TGluZXMgPSBbIHJlcGxhY2UobGluZSkgZm9yIGxpbmUgaW4g
bGluZXMgXQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYW5n
bGUvQU5HTEVIZWFkZXJzLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hbmds
ZS9BTkdMRUhlYWRlcnMuaAppbmRleCA1OTlmNWJiMTc0Y2ViYjM2ZmFjYzg1ZTUwYmYzZDg0Y2Qz
ZmU3M2Q0Li43NDAzMjBhZmM1NWNmNTQxMDUyOWYwNzUzNmI4ZWEwZmZhNzc3NzdhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hbmdsZS9BTkdMRUhlYWRlcnMu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hbmdsZS9BTkdMRUhlYWRl
cnMuaApAQCAtNDEsMTEgKzQxLDYgQEAKICNkZWZpbmUgR0xfR0xFWFRfUFJPVE9UWVBFUyAwCiAj
ZW5kaWYKIAotLy8gU2tpcCB0aGUgaW5jbHVzaW9uIG9mIEFOR0xFJ3MgZXhwbGljaXQgY29udGV4
dCBlbnRyeSBwb2ludHMgZm9yIG5vdy4KLSNkZWZpbmUgR0xfQU5HTEVfZXhwbGljaXRfY29udGV4
dAotI2RlZmluZSBHTF9BTkdMRV9leHBsaWNpdF9jb250ZXh0X2dsZXMxCi10eXBlZGVmIHZvaWQq
IEdMZWdsQ29udGV4dDsKLQogI2luY2x1ZGUgPEFOR0xFL2VudHJ5X3BvaW50c19lZ2wuaD4KICNp
bmNsdWRlIDxBTkdMRS9lbnRyeV9wb2ludHNfZWdsX2V4dC5oPgogI2luY2x1ZGUgPEFOR0xFL2Vu
dHJ5X3BvaW50c19nbGVzXzJfMF9hdXRvZ2VuLmg+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>