<?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>57548</bug_id>
          
          <creation_ts>2011-03-31 08:20:36 -0700</creation_ts>
          <short_desc>Web Inspector: Separate sendMessageToFrontend function from InspectorClient to individual interface</short_desc>
          <delta_ts>2022-03-01 02:41:36 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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>0</everconfirmed>
          <reporter name="Sergey Vorobyev">sergeyvorobyev</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>apavlov</cc>
    
    <cc>bweinstein</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>sergeyvorobyev</cc>
    
    <cc>timothy</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>377163</commentid>
    <comment_count>0</comment_count>
    <who name="Sergey Vorobyev">sergeyvorobyev</who>
    <bug_when>2011-03-31 08:20:36 -0700</bug_when>
    <thetext>For improve inspector architecture and implement background network events collection,
we need split InspectorClient, and separate sendMessageToFrontend to another class.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>377732</commentid>
    <comment_count>1</comment_count>
      <attachid>87846</attachid>
    <who name="Sergey Vorobyev">sergeyvorobyev</who>
    <bug_when>2011-04-01 05:46:55 -0700</bug_when>
    <thetext>Created attachment 87846
Patch, separated sendMessageToFrontend from InspectorClient</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>377757</commentid>
    <comment_count>2</comment_count>
      <attachid>87846</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2011-04-01 06:38:21 -0700</bug_when>
    <thetext>Comment on attachment 87846
Patch, separated sendMessageToFrontend from InspectorClient

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

&gt; Source/WebCore/WebCore.gypi:3224
&gt; +            &apos;inspector/InspectorFrontendChannel.h&apos;,

Mind alphabetic order.

&gt; Source/WebCore/WebCore.xcodeproj/project.pbxproj:22772
&gt; +				227777601345DEA9008EA455 /* InspectorFrontendChannel.h in Headers */,

Other headers in this section seem to be sorted, please keep the order.

&gt; Source/WebCore/inspector/CodeGeneratorInspector.pm:100
&gt; +$typeTransform{&quot;InspectorFrontendChannel&quot;} = {

I think may not need &quot;InspectorClient&quot; forward declaration and header import anymore, please check and remove corresponding code from the generator if it is so.

&gt; Source/WebCore/inspector/InspectorClient.h:29
&gt; +#include &quot;InspectorFrontendChannel.h&quot;

Please add  Copyright (C) 2011 Google Inc.... header to the license above since you&apos;re modifying this file.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>377786</commentid>
    <comment_count>3</comment_count>
      <attachid>87856</attachid>
    <who name="Sergey Vorobyev">sergeyvorobyev</who>
    <bug_when>2011-04-01 07:50:52 -0700</bug_when>
    <thetext>Created attachment 87856
Remove InspectorClient from CodeGeneratorInspector</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>377787</commentid>
    <comment_count>4</comment_count>
      <attachid>87846</attachid>
    <who name="Sergey Vorobyev">sergeyvorobyev</who>
    <bug_when>2011-04-01 07:51:20 -0700</bug_when>
    <thetext>Comment on attachment 87846
Patch, separated sendMessageToFrontend from InspectorClient

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

&gt;&gt; Source/WebCore/WebCore.gypi:3224
&gt;&gt; +            &apos;inspector/InspectorFrontendChannel.h&apos;,
&gt; 
&gt; Mind alphabetic order.

Done.

&gt;&gt; Source/WebCore/WebCore.xcodeproj/project.pbxproj:22772
&gt;&gt; +				227777601345DEA9008EA455 /* InspectorFrontendChannel.h in Headers */,
&gt; 
&gt; Other headers in this section seem to be sorted, please keep the order.

This is auto-generated change, I just added file to the project in xcode

&gt;&gt; Source/WebCore/inspector/CodeGeneratorInspector.pm:100
&gt;&gt; +$typeTransform{&quot;InspectorFrontendChannel&quot;} = {
&gt; 
&gt; I think may not need &quot;InspectorClient&quot; forward declaration and header import anymore, please check and remove corresponding code from the generator if it is so.

Done.

&gt;&gt; Source/WebCore/inspector/InspectorClient.h:29
&gt;&gt; +#include &quot;InspectorFrontendChannel.h&quot;
&gt; 
&gt; Please add  Copyright (C) 2011 Google Inc.... header to the license above since you&apos;re modifying this file.

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>378689</commentid>
    <comment_count>5</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2011-04-04 00:57:00 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 87846 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=87846&amp;action=review
&gt; &gt;&gt; Source/WebCore/WebCore.xcodeproj/project.pbxproj:22772
&gt; &gt;&gt; +				227777601345DEA9008EA455 /* InspectorFrontendChannel.h in Headers */,
&gt; &gt; 
&gt; &gt; Other headers in this section seem to be sorted, please keep the order.
&gt; 
I know, but sometimes they need manual intervention and that is why other headers in the same section are sorted.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>378712</commentid>
    <comment_count>6</comment_count>
      <attachid>88046</attachid>
    <who name="Sergey Vorobyev">sergeyvorobyev</who>
    <bug_when>2011-04-04 02:16:22 -0700</bug_when>
    <thetext>Created attachment 88046
Fixed order of files in project.xcode</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>378717</commentid>
    <comment_count>7</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2011-04-04 02:38:34 -0700</bug_when>
    <thetext>Committed r82810: &lt;http://trac.webkit.org/changeset/82810&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>87846</attachid>
            <date>2011-04-01 05:46:55 -0700</date>
            <delta_ts>2011-04-04 02:16:22 -0700</delta_ts>
            <desc>Patch, separated sendMessageToFrontend from InspectorClient</desc>
            <filename>light.forsubmission</filename>
            <type>text/plain</type>
            <size>13695</size>
            <attacher name="Sergey Vorobyev">sergeyvorobyev</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDgyNjczKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTEtMDQtMDEgIFNlcmdleSBW
b3JvYnlldiAgPHNlcmdleXZvcm9ieWV2QGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogU2VwYXJhdGUgc2Vu
ZE1lc3NhZ2VUb0Zyb250ZW5kIGZ1bmN0aW9uCisgICAgICAgIGZyb20gSW5zcGVjdG9yQ2xpZW50
IHRvIGluZGl2aWR1YWwgaW50ZXJmYWNlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NTc1NDgKKworICAgICAgICBUaGlzIGNoYW5nZSBjYW5ub3QgYmUg
dGVzdGVkLgorCisgICAgICAgICogR05VbWFrZWZpbGUuYW06CisgICAgICAgICogV2ViQ29yZS5n
eXBpOgorICAgICAgICAqIFdlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qOgorICAgICAgICAq
IFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBpbnNwZWN0b3Iv
Q29kZUdlbmVyYXRvckluc3BlY3Rvci5wbToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9y
Q2xpZW50Lmg6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2hhbm5lbC5o
OiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckZyb250ZW5kQ2hhbm5lbDo6fklu
c3BlY3RvckZyb250ZW5kQ2hhbm5lbCk6CisKIDIwMTEtMDMtMzAgIFBhdmVsIFBvZGl2aWxvdiAg
PHBvZGl2aWxvdkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgUGF2ZWwgRmVs
ZG1hbi4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCShyZXZpc2lvbiA4MjY2MikKKysrIFNvdXJj
ZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCSh3b3JraW5nIGNvcHkpCkBAIC0yMDI0LDYgKzIwMjQs
NyBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JET01TdG9yYWdlQWdlbnQuaCBcCiAJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvckRPTVN0b3JhZ2VSZXNvdXJjZS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JET01TdG9yYWdlUmVzb3VyY2UuaCBcCisJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvckZyb250ZW5kQ2hhbm5lbC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yRnJvbnRlbmRDbGllbnQuaCBcCiAJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5oIFwKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUuZ3lwaQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkJ
KHJldmlzaW9uIDgyNjYyKQorKysgU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCSh3b3JraW5n
IGNvcHkpCkBAIC0zMjIxLDYgKzMyMjEsNyBAQAogICAgICAgICAgICAgJ2luc3BlY3Rvci9JbnNw
ZWN0b3JQYWdlQWdlbnQuaCcsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL0luc3BlY3RvclByb2Zp
bGVyQWdlbnQuY3BwJywKICAgICAgICAgICAgICdpbnNwZWN0b3IvSW5zcGVjdG9yUHJvZmlsZXJB
Z2VudC5oJywKKyAgICAgICAgICAgICdpbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDaGFubmVs
LmgnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9JbnNwZWN0b3JSZXNvdXJjZUFnZW50LmNwcCcs
CiAgICAgICAgICAgICAnaW5zcGVjdG9yL0luc3BlY3RvclJlc291cmNlQWdlbnQuaCcsCiAgICAg
ICAgICAgICAnaW5zcGVjdG9yL0luc3BlY3RvclJ1bnRpbWVBZ2VudC5jcHAnLApJbmRleDogU291
cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oJKHJldmlzaW9uIDgy
NjYyKQorKysgU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oJKHdv
cmtpbmcgY29weSkKQEAgLTY2NDcwLDYgKzY2NDcwLDEwIEBACiAJCQkJPgogCQkJPC9GaWxlPgog
CQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGluc3BlY3RvclxJbnNwZWN0b3JGcm9udGVu
ZENoYW5uZWwuaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0
aD0iLi5caW5zcGVjdG9yXEluc3BlY3RvckZyb250ZW5kQ2xpZW50LmgiCiAJCQkJPgogCQkJPC9G
aWxlPgpJbmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagkocmV2aXNpb24gODI2NjIpCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTY0Myw2ICs2NDMsNyBA
QAogCQkxQ0ZBRTMyMzBBNkQ2QTNGMDAzMjU5M0QgLyogbGlib2JqYy5keWxpYiBpbiBGcmFtZXdv
cmtzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDRkFFMzIyMEE2RDZBM0Yw
MDMyNTkzRCAvKiBsaWJvYmpjLmR5bGliICovOyB9OwogCQkyMEQ2MjkyNjEyNTM2OTBCMDAwODE1
NDMgLyogSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDIwRDYyOTI0MTI1MzY5MEIwMDA4MTU0MyAvKiBJbnNw
ZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwICovOyB9OwogCQkyMEQ2MjkyNzEyNTM2OTBCMDAwODE1
NDMgLyogSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyMEQ2MjkyNTEyNTM2OTBCMDAwODE1NDMgLyogSW5zcGVj
dG9ySW5zdHJ1bWVudGF0aW9uLmggKi87IH07CisJCTIyNzc3NzYwMTM0NURFQTkwMDhFQTQ1NSAv
KiBJbnNwZWN0b3JGcm9udGVuZENoYW5uZWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDIyNzc3NzVGMTM0NURFQTkwMDhFQTQ1NSAvKiBJbnNwZWN0b3JG
cm9udGVuZENoYW5uZWwuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwogCQkyMjg4NUU2NDEzMDFBRTRDMDA1MjZFNjggLyogSlNET01JbXBsZW1lbnRhdGlv
bkN1c3RvbS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAyMjg4NUU2MzEzMDFBRTRDMDA1MjZFNjggLyogSlNET01JbXBsZW1lbnRhdGlvbkN1c3RvbS5j
cHAgKi87IH07CiAJCTIyOEMyODQ1MTBEODI1MDAwMDlEMEQwRSAvKiBTY3JpcHRXcmFwcGFibGUu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDIyOEMyODQ0
MTBEODI1MDAwMDlEMEQwRSAvKiBTY3JpcHRXcmFwcGFibGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkyNDVEODBBMzEzMjgwRTQwMDAzNDkyQTYg
LyogU1FMQ2FsbGJhY2tXcmFwcGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAyNDVEODBBMjEzMjgwRTQwMDAzNDkyQTYgLyogU1FMQ2FsbGJhY2tXcmFw
cGVyLmggKi87IH07CkBAIC03MDQzLDYgKzcwNDQsNyBAQAogCQkxQ0ZBRTMyMjBBNkQ2QTNGMDAz
MjU5M0QgLyogbGlib2JqYy5keWxpYiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9ICJjb21waWxlZC5tYWNoLW8uZHlsaWIiOyBuYW1lID0gbGlib2JqYy5k
eWxpYjsgcGF0aCA9IC91c3IvbGliL2xpYm9iamMuZHlsaWI7IHNvdXJjZVRyZWUgPSAiPGFic29s
dXRlPiI7IH07CiAJCTIwRDYyOTI0MTI1MzY5MEIwMDA4MTU0MyAvKiBJbnNwZWN0b3JJbnN0cnVt
ZW50YXRpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSW5zcGVj
dG9ySW5zdHJ1bWVudGF0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMjBE
NjI5MjUxMjUzNjkwQjAwMDgxNTQzIC8qIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMjI3Nzc3NUYxMzQ1REVBOTAwOEVBNDU1IC8q
IEluc3BlY3RvckZyb250ZW5kQ2hhbm5lbC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBJbnNwZWN0b3JGcm9udGVuZENoYW5uZWwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJMjI4ODVFNjMxMzAxQUU0QzAwNTI2RTY4IC8qIEpTRE9NSW1wbGVtZW50YXRpb25DdXN0
b20uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNET01JbXBsZW1l
bnRhdGlvbkN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTIyOEMyODQ0
MTBEODI1MDAwMDlEMEQwRSAvKiBTY3JpcHRXcmFwcGFibGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gU2NyaXB0V3JhcHBhYmxlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTI0NDJCQkY4MTE5NEM5RDMwMEQ0OTQ2OSAvKiBIYXNoQ2hhbmdlRXZlbnQuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSGFzaENoYW5nZUV2ZW50Lmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMzE3Nyw2ICsxMzE3OSw3IEBACiAJCQkJN0E3NEVDQjkx
MDE4MzlBNjAwQkY5MzlFIC8qIEluc3BlY3RvckRPTVN0b3JhZ2VBZ2VudC5oICovLAogCQkJCTQx
RjA2MTczMEY1RjAwQUMwMEEwN0VBQyAvKiBJbnNwZWN0b3JET01TdG9yYWdlUmVzb3VyY2UuY3Bw
ICovLAogCQkJCTQxRjA2MTcyMEY1RjAwQUMwMEEwN0VBQyAvKiBJbnNwZWN0b3JET01TdG9yYWdl
UmVzb3VyY2UuaCAqLywKKwkJCQkyMjc3Nzc1RjEzNDVERUE5MDA4RUE0NTUgLyogSW5zcGVjdG9y
RnJvbnRlbmRDaGFubmVsLmggKi8sCiAJCQkJRjM0NEM3MTIxMTI1QjgyQzAwRjI2RUVFIC8qIElu
c3BlY3RvckZyb250ZW5kQ2xpZW50LmggKi8sCiAJCQkJRjM0NEM3NTcxMTI5NEZGNjAwRjI2RUVF
IC8qIEluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwuY3BwICovLAogCQkJCUYzNDRDNzUyMTEy
OTREOUQwMEYyNkVFRSAvKiBJbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmggKi8sCkBAIC0y
Mjc2Niw2ICsyMjc2OSw3IEBACiAJCQkJOTNGMTk5RUQwODI0NUU1OTAwMUU5QUJDIC8qIFhTTFRQ
cm9jZXNzb3IuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxQkU1MTJFMENGNkM1MTIwMDJFQTk1OSAv
KiBYU0xUVW5pY29kZVNvcnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTk3N0UyRTBGMTJGMEZDOUMw
MEMxMzM3OSAvKiBYU1NGaWx0ZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCTIyNzc3NzYwMTM0NURF
QTkwMDhFQTQ1NSAvKiBJbnNwZWN0b3JGcm9udGVuZENoYW5uZWwuaCBpbiBIZWFkZXJzICovLAog
CQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpJ
bmRleDogU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvZGVHZW5lcmF0b3JJbnNwZWN0b3IucG0K
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvZGVHZW5lcmF0b3JJbnNw
ZWN0b3IucG0JKHJldmlzaW9uIDgyNjYyKQorKysgU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0Nv
ZGVHZW5lcmF0b3JJbnNwZWN0b3IucG0JKHdvcmtpbmcgY29weSkKQEAgLTk3LDYgKzk3LDEwIEBA
ICR0eXBlVHJhbnNmb3JteyJJbnNwZWN0b3JDbGllbnQifSA9IHsKICR0eXBlVHJhbnNmb3JteyJQ
YXNzUmVmUHRyIn0gPSB7CiAgICAgImZvcndhcmRIZWFkZXIiID0+ICJ3dGYvUGFzc1JlZlB0ci5o
IiwKIH07CiskdHlwZVRyYW5zZm9ybXsiSW5zcGVjdG9yRnJvbnRlbmRDaGFubmVsIn0gPSB7Cisg
ICAgImZvcndhcmQiID0+ICJJbnNwZWN0b3JGcm9udGVuZENoYW5uZWwiLAorICAgICJoZWFkZXIi
ID0+ICJJbnNwZWN0b3JGcm9udGVuZENoYW5uZWwuaCIsCit9OwogJHR5cGVUcmFuc2Zvcm17Ik9i
amVjdCJ9ID0gewogICAgICJwYXJhbSIgPT4gIlBhc3NSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiIs
CiAgICAgInZhcmlhYmxlIiA9PiAiUmVmUHRyPEluc3BlY3Rvck9iamVjdD4iLApAQCAtMjY3LDEx
ICsyNzEsMTEgQEAgc3ViIEdlbmVyYXRlTW9kdWxlCiAgICAgJG5hbWVzcGFjZSA9fiBzL2NvcmUv
V2ViQ29yZS87CiAKICAgICAkZnJvbnRlbmRDbGFzc05hbWUgPSAiSW5zcGVjdG9yRnJvbnRlbmQi
OwotICAgICRmcm9udGVuZENvbnN0cnVjdG9yID0gIiAgICAke2Zyb250ZW5kQ2xhc3NOYW1lfShJ
bnNwZWN0b3JDbGllbnQqKTsiOworICAgICRmcm9udGVuZENvbnN0cnVjdG9yID0gIiAgICAke2Zy
b250ZW5kQ2xhc3NOYW1lfShJbnNwZWN0b3JGcm9udGVuZENoYW5uZWwqKTsiOwogICAgIHB1c2go
QGZyb250ZW5kRm9vdGVyLCAicHJpdmF0ZToiKTsKLSAgICBwdXNoKEBmcm9udGVuZEZvb3Rlciwg
IiAgICBJbnNwZWN0b3JDbGllbnQqIG1faW5zcGVjdG9yQ2xpZW50OyIpOworICAgIHB1c2goQGZy
b250ZW5kRm9vdGVyLCAiICAgIEluc3BlY3RvckZyb250ZW5kQ2hhbm5lbCogbV9pbnNwZWN0b3JG
cm9udGVuZENoYW5uZWw7Iik7CiAgICAgJGZyb250ZW5kVHlwZXN7IlN0cmluZyJ9ID0gMTsKLSAg
ICAkZnJvbnRlbmRUeXBlc3siSW5zcGVjdG9yQ2xpZW50In0gPSAxOworICAgICRmcm9udGVuZFR5
cGVzeyJJbnNwZWN0b3JGcm9udGVuZENoYW5uZWwifSA9IDE7CiAgICAgJGZyb250ZW5kVHlwZXN7
IlBhc3NSZWZQdHIifSA9IDE7CiAKICAgICAkYmFja2VuZENsYXNzTmFtZSA9ICJJbnNwZWN0b3JC
YWNrZW5kRGlzcGF0Y2hlciI7CkBAIC0zMDYsMTAgKzMxMCwxMiBAQCBzdWIgZ2VuZXJhdGVBZ2Vu
dERlY2xhcmF0aW9uCiAgICAgbXkgJGFnZW50TmFtZSA9ICRpbnRlcmZhY2UtPm5hbWU7CiAgICAg
cHVzaChAZnJvbnRlbmRNZXRob2RzLCAiICAgIGNsYXNzICR7YWdlbnROYW1lfSB7Iik7CiAgICAg
cHVzaChAZnJvbnRlbmRNZXRob2RzLCAiICAgIHB1YmxpYzoiKTsKLSAgICBwdXNoKEBmcm9udGVu
ZE1ldGhvZHMsICIgICAgICAgICR7YWdlbnROYW1lfShJbnNwZWN0b3JDbGllbnQqIGluc3BlY3Rv
ckNsaWVudCkgOiBtX2luc3BlY3RvckNsaWVudChpbnNwZWN0b3JDbGllbnQpIHsgfSIpOworICAg
IHB1c2goQGZyb250ZW5kTWV0aG9kcywgIiAgICAgICAgJHthZ2VudE5hbWV9KEluc3BlY3RvckZy
b250ZW5kQ2hhbm5lbCogaW5zcGVjdG9yRnJvbnRlbmRDaGFubmVsKSA6IG1faW5zcGVjdG9yRnJv
bnRlbmRDaGFubmVsKGluc3BlY3RvckZyb250ZW5kQ2hhbm5lbCkgeyB9Iik7CiAgICAgcHVzaChA
ZnJvbnRlbmRNZXRob2RzLCBAeyRhZ2VudC0+e21ldGhvZERlY2xhcmF0aW9uc319KTsKKyAgICBw
dXNoKEBmcm9udGVuZE1ldGhvZHMsICIgICAgICAgIHZvaWQgc2V0SW5zcGVjdG9yRnJvbnRlbmRD
aGFubmVsKEluc3BlY3RvckZyb250ZW5kQ2hhbm5lbCogaW5zcGVjdG9yRnJvbnRlbmRDaGFubmVs
KSB7IG1faW5zcGVjdG9yRnJvbnRlbmRDaGFubmVsID0gaW5zcGVjdG9yRnJvbnRlbmRDaGFubmVs
OyB9Iik7CisgICAgcHVzaChAZnJvbnRlbmRNZXRob2RzLCAiICAgICAgICBJbnNwZWN0b3JGcm9u
dGVuZENoYW5uZWwqIGdldEluc3BlY3RvckZyb250ZW5kQ2hhbm5lbCgpIHsgcmV0dXJuIG1faW5z
cGVjdG9yRnJvbnRlbmRDaGFubmVsOyB9Iik7CiAgICAgcHVzaChAZnJvbnRlbmRNZXRob2RzLCAi
ICAgIHByaXZhdGU6Iik7Ci0gICAgcHVzaChAZnJvbnRlbmRNZXRob2RzLCAiICAgICAgICBJbnNw
ZWN0b3JDbGllbnQqIG1faW5zcGVjdG9yQ2xpZW50OyIpOworICAgIHB1c2goQGZyb250ZW5kTWV0
aG9kcywgIiAgICAgICAgSW5zcGVjdG9yRnJvbnRlbmRDaGFubmVsKiBtX2luc3BlY3RvckZyb250
ZW5kQ2hhbm5lbDsiKTsKICAgICBwdXNoKEBmcm9udGVuZE1ldGhvZHMsICIgICAgfTsiKTsKICAg
ICBwdXNoKEBmcm9udGVuZE1ldGhvZHMsICIiKTsKIApAQCAtMzI1LDEwICszMzEsMTAgQEAgc3Vi
IGdlbmVyYXRlQWdlbnREZWNsYXJhdGlvbgogc3ViIGdlbmVyYXRlRnJvbnRlbmRDb25zdHJ1Y3Rv
ckltcGwKIHsKICAgICBteSBAZnJvbnRlbmRDb25zdHJ1Y3RvckltcGw7Ci0gICAgcHVzaChAZnJv
bnRlbmRDb25zdHJ1Y3RvckltcGwsICIke2Zyb250ZW5kQ2xhc3NOYW1lfTo6JHtmcm9udGVuZENs
YXNzTmFtZX0oSW5zcGVjdG9yQ2xpZW50KiBpbnNwZWN0b3JDbGllbnQpIik7Ci0gICAgcHVzaChA
ZnJvbnRlbmRDb25zdHJ1Y3RvckltcGwsICIgICAgOiBtX2luc3BlY3RvckNsaWVudChpbnNwZWN0
b3JDbGllbnQpIik7CisgICAgcHVzaChAZnJvbnRlbmRDb25zdHJ1Y3RvckltcGwsICIke2Zyb250
ZW5kQ2xhc3NOYW1lfTo6JHtmcm9udGVuZENsYXNzTmFtZX0oSW5zcGVjdG9yRnJvbnRlbmRDaGFu
bmVsKiBpbnNwZWN0b3JGcm9udGVuZENoYW5uZWwpIik7CisgICAgcHVzaChAZnJvbnRlbmRDb25z
dHJ1Y3RvckltcGwsICIgICAgOiBtX2luc3BlY3RvckZyb250ZW5kQ2hhbm5lbChpbnNwZWN0b3JG
cm9udGVuZENoYW5uZWwpIik7CiAgICAgZm9yZWFjaCBteSAkYWdlbnRGaWVsZCAoQGZyb250ZW5k
QWdlbnRGaWVsZHMpIHsKLSAgICAgICAgcHVzaChAZnJvbnRlbmRDb25zdHJ1Y3RvckltcGwsICIg
ICAgLCAke2FnZW50RmllbGR9KGluc3BlY3RvckNsaWVudCkiKTsKKyAgICAgICAgcHVzaChAZnJv
bnRlbmRDb25zdHJ1Y3RvckltcGwsICIgICAgLCAke2FnZW50RmllbGR9KGluc3BlY3RvckZyb250
ZW5kQ2hhbm5lbCkiKTsKICAgICB9CiAgICAgcHVzaChAZnJvbnRlbmRDb25zdHJ1Y3RvckltcGws
ICJ7Iik7CiAgICAgcHVzaChAZnJvbnRlbmRDb25zdHJ1Y3RvckltcGwsICJ9Iik7CkBAIC0zOTMs
NyArMzk5LDcgQEAgc3ViIGdlbmVyYXRlRnJvbnRlbmRGdW5jdGlvbgogICAgIG15IEBwdXNoQXJn
dW1lbnRzID0gbWFwKCIgICAgYm9keU9iamVjdC0+c2V0IiAuIHR5cGVUcmFpdHMoJF8tPnR5cGUs
ICJKU09OVHlwZSIpIC4gIihcIiIgLiAkXy0+bmFtZSAuICJcIiwgIiAuICRfLT5uYW1lIC4gIik7
IiwgQGFyZ3NGaWx0ZXJlZCk7CiAgICAgcHVzaChAZnVuY3Rpb24sIEBwdXNoQXJndW1lbnRzKTsK
ICAgICBwdXNoKEBmdW5jdGlvbiwgIiAgICAke2Z1bmN0aW9uTmFtZX1NZXNzYWdlLT5zZXRPYmpl
Y3QoXCJib2R5XCIsIGJvZHlPYmplY3QpOyIpOwotICAgIHB1c2goQGZ1bmN0aW9uLCAiICAgIG1f
aW5zcGVjdG9yQ2xpZW50LT5zZW5kTWVzc2FnZVRvRnJvbnRlbmQoJHtmdW5jdGlvbk5hbWV9TWVz
c2FnZS0+dG9KU09OU3RyaW5nKCkpOyIpOworICAgIHB1c2goQGZ1bmN0aW9uLCAiICAgIG1faW5z
cGVjdG9yRnJvbnRlbmRDaGFubmVsLT5zZW5kTWVzc2FnZVRvRnJvbnRlbmQoJHtmdW5jdGlvbk5h
bWV9TWVzc2FnZS0+dG9KU09OU3RyaW5nKCkpOyIpOwogICAgIHB1c2goQGZ1bmN0aW9uLCAifSIp
OwogICAgIHB1c2goQGZ1bmN0aW9uLCAiIik7CiAgICAgcHVzaChAZnJvbnRlbmRNZXRob2RzSW1w
bCwgQGZ1bmN0aW9uKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JD
bGllbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
Q2xpZW50LmgJKHJldmlzaW9uIDgyNjYyKQorKysgU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvckNsaWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw2ICsyNiw3IEBACiAjaWZuZGVm
IEluc3BlY3RvckNsaWVudF9oCiAjZGVmaW5lIEluc3BlY3RvckNsaWVudF9oCiAKKyNpbmNsdWRl
ICJJbnNwZWN0b3JGcm9udGVuZENoYW5uZWwuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0zNCw3ICszNSw3IEBAIGNsYXNzIEluc3BlY3RvckNv
bnRyb2xsZXI7CiBjbGFzcyBOb2RlOwogY2xhc3MgUGFnZTsKIAotY2xhc3MgSW5zcGVjdG9yQ2xp
ZW50IHsKK2NsYXNzIEluc3BlY3RvckNsaWVudCA6IHB1YmxpYyBJbnNwZWN0b3JGcm9udGVuZENo
YW5uZWwgewogcHVibGljOgogICAgIHZpcnR1YWwgfkluc3BlY3RvckNsaWVudCgpIHsgfQogCkBA
IC00NSw4ICs0Niw2IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgaGlnaGxpZ2h0KE5vZGUq
KSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGhpZGVIaWdobGlnaHQoKSA9IDA7CiAKLSAgICB2aXJ0
dWFsIGJvb2wgc2VuZE1lc3NhZ2VUb0Zyb250ZW5kKGNvbnN0IFN0cmluZyYgbWVzc2FnZSkgPSAw
OwotCiAgICAgLy8gTmF2aWdhdGlvbiBjYW4gY2F1c2Ugc29tZSBXZWJLaXQgaW1wbGVtZW50YXRp
b25zIHRvIGNoYW5nZSB0aGUgdmlldyAvIHBhZ2UgLyBpbnNwZWN0b3IgY29udHJvbGxlciBpbnN0
YW5jZS4KICAgICAvLyBIb3dldmVyLCB0aGVyZSBhcmUgc29tZSBpbnNwZWN0b3IgY29udHJvbGxl
ciBzdGF0ZXMgdGhhdCBzaG91bGQgc3Vydml2ZSBuYXZpZ2F0aW9uIChzdWNoIGFzIHRyYWNraW5n
IHJlc291cmNlcwogICAgIC8vIG9yIHJlY29yZGluZyB0aW1lbGluZSkuIEZvbGxvd2luZyBjYWxs
YmFja3MgYWxsb3cgZW1iZWRkZXJzIHRvIHRyYWNrIHRoZXNlIHN0YXRlcy4KSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENoYW5uZWwuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDaGFubmVsLmgJ
KHJldmlzaW9uIDApCisrKyBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRl
bmRDaGFubmVsLmgJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNDUgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBg
YEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9S
CisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNp
Zm5kZWYgSW5zcGVjdG9yRnJvbnRlbmRDaGFubmVsX2gKKyNkZWZpbmUgSW5zcGVjdG9yRnJvbnRl
bmRDaGFubmVsX2gKKworI2lmIEVOQUJMRShJTlNQRUNUT1IpCisKKyNpbmNsdWRlIDx3dGYvRm9y
d2FyZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIEluc3BlY3RvckZyb250ZW5k
Q2hhbm5lbCB7CitwdWJsaWM6CisgICAgdmlydHVhbCB+SW5zcGVjdG9yRnJvbnRlbmRDaGFubmVs
KCkgeyB9CisgICAgdmlydHVhbCBib29sIHNlbmRNZXNzYWdlVG9Gcm9udGVuZChjb25zdCBTdHJp
bmcmIG1lc3NhZ2UpID0gMDsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlm
IC8vIEVOQUJMRShJTlNQRUNUT1IpCisKKyNlbmRpZiAvLyAhZGVmaW5lZChJbnNwZWN0b3JGcm9u
dGVuZENoYW5uZWxfaCkK
</data>
<flag name="review"
          id="80302"
          type_id="1"
          status="-"
          setter="yurys"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>87856</attachid>
            <date>2011-04-01 07:50:52 -0700</date>
            <delta_ts>2011-04-04 02:16:22 -0700</delta_ts>
            <desc>Remove InspectorClient from CodeGeneratorInspector</desc>
            <filename>light.forsubmission2</filename>
            <type>text/plain</type>
            <size>16017</size>
            <attacher name="Sergey Vorobyev">sergeyvorobyev</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDgyNjgwKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTEtMDQtMDEgIFNlcmdleSBW
b3JvYnlldiAgPHNlcmdleXZvcm9ieWV2QGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogU2VwYXJhdGUgc2Vu
ZE1lc3NhZ2VUb0Zyb250ZW5kIGZ1bmN0aW9uCisgICAgICAgIGZyb20gSW5zcGVjdG9yQ2xpZW50
IHRvIGluZGl2aWR1YWwgaW50ZXJmYWNlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NTc1NDgKKworICAgICAgICBSZWZhY3RvcmluZyAtIGNvdmVyZWQg
d2l0aCBleGlzdGluZyBpbnNwZWN0b3IgdGVzdHMuCisKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5h
bToKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogV2ViQ29yZS52Y3Byb2ovV2Vi
Q29yZS52Y3Byb2o6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
OgorICAgICAgICAqIGluc3BlY3Rvci9Db2RlR2VuZXJhdG9ySW5zcGVjdG9yLnBtOgorICAgICAg
ICAqIGluc3BlY3Rvci9JbnNwZWN0b3JDbGllbnQuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5z
cGVjdG9yRnJvbnRlbmRDaGFubmVsLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVj
dG9yRnJvbnRlbmRDaGFubmVsOjp+SW5zcGVjdG9yRnJvbnRlbmRDaGFubmVsKToKKwogMjAxMS0w
NC0wMSAgUGF2ZWwgRmVsZG1hbiAgPHBmZWxkbWFuQGdvb2dsZS5jb20+CiAKICAgICAgICAgUmV2
aWV3ZWQgYnkgWXVyeSBTZW1pa2hhdHNreS4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0dOVW1ha2Vm
aWxlLmFtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCShyZXZp
c2lvbiA4MjY4MCkKKysrIFNvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCSh3b3JraW5nIGNv
cHkpCkBAIC0yMDI0LDYgKzIwMjQsNyBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01TdG9yYWdlQWdlbnQuaCBcCiAJU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTVN0b3JhZ2VSZXNvdXJjZS5jcHAgXAogCVNvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01TdG9yYWdlUmVzb3VyY2UuaCBcCisJU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2hhbm5lbC5oIFwKIAlTb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQuaCBcCiAJU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwuY3BwIFwKIAlT
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5oIFwK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLmd5cGkJKHJldmlzaW9uIDgyNjgwKQorKysgU291cmNlL1dlYkNvcmUv
V2ViQ29yZS5neXBpCSh3b3JraW5nIGNvcHkpCkBAIC0zMjEyLDYgKzMyMTIsNyBAQAogICAgICAg
ICAgICAgJ2luc3BlY3Rvci9JbnNwZWN0b3JEYXRhYmFzZVJlc291cmNlLmgnLAogICAgICAgICAg
ICAgJ2luc3BlY3Rvci9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmNwcCcsCiAgICAgICAgICAgICAn
aW5zcGVjdG9yL0luc3BlY3RvckRlYnVnZ2VyQWdlbnQuaCcsCisgICAgICAgICAgICAnaW5zcGVj
dG9yL0luc3BlY3RvckZyb250ZW5kQ2hhbm5lbC5oJywKICAgICAgICAgICAgICdpbnNwZWN0b3Iv
SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5jcHAnLAogICAgICAgICAgICAgJ2luc3BlY3Rv
ci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuY3BwJywKICAgICAgICAgICAgICdpbnNwZWN0b3IvSW5z
cGVjdG9yRnJvbnRlbmRIb3N0LmgnLApJbmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3By
b2ovV2ViQ29yZS52Y3Byb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvV2ViQ29yZS52
Y3Byb2ovV2ViQ29yZS52Y3Byb2oJKHJldmlzaW9uIDgyNjgwKQorKysgU291cmNlL1dlYkNvcmUv
V2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oJKHdvcmtpbmcgY29weSkKQEAgLTY2NDcwLDYg
KzY2NDcwLDEwIEBACiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBh
dGg9Ii4uXGluc3BlY3RvclxJbnNwZWN0b3JGcm9udGVuZENoYW5uZWwuaCIKKwkJCQk+CisJCQk8
L0ZpbGU+CisJCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iLi5caW5zcGVjdG9yXEluc3BlY3Rv
ckZyb250ZW5kQ2xpZW50LmgiCiAJCQkJPgogCQkJPC9GaWxlPgpJbmRleDogU291cmNlL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gODI2
ODApCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJ
KHdvcmtpbmcgY29weSkKQEAgLTY0Myw2ICs2NDMsNyBAQAogCQkxQ0ZBRTMyMzBBNkQ2QTNGMDAz
MjU5M0QgLyogbGlib2JqYy5keWxpYiBpbiBGcmFtZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDFDRkFFMzIyMEE2RDZBM0YwMDMyNTkzRCAvKiBsaWJvYmpjLmR5bGli
ICovOyB9OwogCQkyMEQ2MjkyNjEyNTM2OTBCMDAwODE1NDMgLyogSW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDIwRDYyOTI0MTI1MzY5MEIwMDA4MTU0MyAvKiBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uY3Bw
ICovOyB9OwogCQkyMEQ2MjkyNzEyNTM2OTBCMDAwODE1NDMgLyogSW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAy
MEQ2MjkyNTEyNTM2OTBCMDAwODE1NDMgLyogSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmggKi87
IH07CisJCTIyNzc3NzYwMTM0NURFQTkwMDhFQTQ1NSAvKiBJbnNwZWN0b3JGcm9udGVuZENoYW5u
ZWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDIyNzc3
NzVGMTM0NURFQTkwMDhFQTQ1NSAvKiBJbnNwZWN0b3JGcm9udGVuZENoYW5uZWwuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkyMjg4NUU2NDEzMDFB
RTRDMDA1MjZFNjggLyogSlNET01JbXBsZW1lbnRhdGlvbkN1c3RvbS5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyMjg4NUU2MzEzMDFBRTRDMDA1MjZF
NjggLyogSlNET01JbXBsZW1lbnRhdGlvbkN1c3RvbS5jcHAgKi87IH07CiAJCTIyOEMyODQ1MTBE
ODI1MDAwMDlEMEQwRSAvKiBTY3JpcHRXcmFwcGFibGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDIyOEMyODQ0MTBEODI1MDAwMDlEMEQwRSAvKiBTY3Jp
cHRXcmFwcGFibGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwogCQkyNDVEODBBMzEzMjgwRTQwMDAzNDkyQTYgLyogU1FMQ2FsbGJhY2tXcmFwcGVyLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyNDVEODBBMjEz
MjgwRTQwMDAzNDkyQTYgLyogU1FMQ2FsbGJhY2tXcmFwcGVyLmggKi87IH07CkBAIC03MDQzLDYg
KzcwNDQsNyBAQAogCQkxQ0ZBRTMyMjBBNkQ2QTNGMDAzMjU5M0QgLyogbGlib2JqYy5keWxpYiAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9ICJjb21waWxl
ZC5tYWNoLW8uZHlsaWIiOyBuYW1lID0gbGlib2JqYy5keWxpYjsgcGF0aCA9IC91c3IvbGliL2xp
Ym9iamMuZHlsaWI7IHNvdXJjZVRyZWUgPSAiPGFic29sdXRlPiI7IH07CiAJCTIwRDYyOTI0MTI1
MzY5MEIwMDA4MTU0MyAvKiBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMjBENjI5MjUxMjUzNjkwQjAwMDgxNTQzIC8q
IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJMjI3Nzc3NUYxMzQ1REVBOTAwOEVBNDU1IC8qIEluc3BlY3RvckZyb250ZW5kQ2hhbm5l
bC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbnNwZWN0b3JGcm9udGVuZENo
YW5uZWwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMjI4ODVFNjMxMzAxQUU0QzAw
NTI2RTY4IC8qIEpTRE9NSW1wbGVtZW50YXRpb25DdXN0b20uY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gSlNET01JbXBsZW1lbnRhdGlvbkN1c3RvbS5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTIyOEMyODQ0MTBEODI1MDAwMDlEMEQwRSAvKiBTY3Jp
cHRXcmFwcGFibGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2NyaXB0V3Jh
cHBhYmxlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTI0NDJCQkY4MTE5NEM5RDMw
MEQ0OTQ2OSAvKiBIYXNoQ2hhbmdlRXZlbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gSGFzaENoYW5nZUV2ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0x
MzE3Nyw2ICsxMzE3OSw3IEBACiAJCQkJN0E3NEVDQjkxMDE4MzlBNjAwQkY5MzlFIC8qIEluc3Bl
Y3RvckRPTVN0b3JhZ2VBZ2VudC5oICovLAogCQkJCTQxRjA2MTczMEY1RjAwQUMwMEEwN0VBQyAv
KiBJbnNwZWN0b3JET01TdG9yYWdlUmVzb3VyY2UuY3BwICovLAogCQkJCTQxRjA2MTcyMEY1RjAw
QUMwMEEwN0VBQyAvKiBJbnNwZWN0b3JET01TdG9yYWdlUmVzb3VyY2UuaCAqLywKKwkJCQkyMjc3
Nzc1RjEzNDVERUE5MDA4RUE0NTUgLyogSW5zcGVjdG9yRnJvbnRlbmRDaGFubmVsLmggKi8sCiAJ
CQkJRjM0NEM3MTIxMTI1QjgyQzAwRjI2RUVFIC8qIEluc3BlY3RvckZyb250ZW5kQ2xpZW50Lmgg
Ki8sCiAJCQkJRjM0NEM3NTcxMTI5NEZGNjAwRjI2RUVFIC8qIEluc3BlY3RvckZyb250ZW5kQ2xp
ZW50TG9jYWwuY3BwICovLAogCQkJCUYzNDRDNzUyMTEyOTREOUQwMEYyNkVFRSAvKiBJbnNwZWN0
b3JGcm9udGVuZENsaWVudExvY2FsLmggKi8sCkBAIC0yMjc2Niw2ICsyMjc2OSw3IEBACiAJCQkJ
OTNGMTk5RUQwODI0NUU1OTAwMUU5QUJDIC8qIFhTTFRQcm9jZXNzb3IuaCBpbiBIZWFkZXJzICov
LAogCQkJCUUxQkU1MTJFMENGNkM1MTIwMDJFQTk1OSAvKiBYU0xUVW5pY29kZVNvcnQuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTk3N0UyRTBGMTJGMEZDOUMwMEMxMzM3OSAvKiBYU1NGaWx0ZXIuaCBp
biBIZWFkZXJzICovLAorCQkJCTIyNzc3NzYwMTM0NURFQTkwMDhFQTQ1NSAvKiBJbnNwZWN0b3JG
cm9udGVuZENoYW5uZWwuaCBpbiBIZWFkZXJzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBs
b3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpJbmRleDogU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0NvZGVHZW5lcmF0b3JJbnNwZWN0b3IucG0KPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0NvZGVHZW5lcmF0b3JJbnNwZWN0b3IucG0JKHJldmlzaW9uIDgyNjgw
KQorKysgU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvZGVHZW5lcmF0b3JJbnNwZWN0b3IucG0J
KHdvcmtpbmcgY29weSkKQEAgLTkwLDEzICs5MCwxMyBAQCAkdHlwZVRyYW5zZm9ybXsiRnJvbnRl
bmQifSA9IHsKICAgICAiZm9yd2FyZCIgPT4gIkluc3BlY3RvckZyb250ZW5kIiwKICAgICAiaGVh
ZGVyIiA9PiAiSW5zcGVjdG9yRnJvbnRlbmQuaCIsCiB9OwotJHR5cGVUcmFuc2Zvcm17Ikluc3Bl
Y3RvckNsaWVudCJ9ID0gewotICAgICJmb3J3YXJkIiA9PiAiSW5zcGVjdG9yQ2xpZW50IiwKLSAg
ICAiaGVhZGVyIiA9PiAiSW5zcGVjdG9yQ2xpZW50LmgiLAotfTsKICR0eXBlVHJhbnNmb3JteyJQ
YXNzUmVmUHRyIn0gPSB7CiAgICAgImZvcndhcmRIZWFkZXIiID0+ICJ3dGYvUGFzc1JlZlB0ci5o
IiwKIH07CiskdHlwZVRyYW5zZm9ybXsiSW5zcGVjdG9yRnJvbnRlbmRDaGFubmVsIn0gPSB7Cisg
ICAgImZvcndhcmQiID0+ICJJbnNwZWN0b3JGcm9udGVuZENoYW5uZWwiLAorICAgICJoZWFkZXIi
ID0+ICJJbnNwZWN0b3JGcm9udGVuZENoYW5uZWwuaCIsCit9OwogJHR5cGVUcmFuc2Zvcm17Ik9i
amVjdCJ9ID0gewogICAgICJwYXJhbSIgPT4gIlBhc3NSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiIs
CiAgICAgInZhcmlhYmxlIiA9PiAiUmVmUHRyPEluc3BlY3Rvck9iamVjdD4iLApAQCAtMjY3LDE3
ICsyNjcsMTcgQEAgc3ViIEdlbmVyYXRlTW9kdWxlCiAgICAgJG5hbWVzcGFjZSA9fiBzL2NvcmUv
V2ViQ29yZS87CiAKICAgICAkZnJvbnRlbmRDbGFzc05hbWUgPSAiSW5zcGVjdG9yRnJvbnRlbmQi
OwotICAgICRmcm9udGVuZENvbnN0cnVjdG9yID0gIiAgICAke2Zyb250ZW5kQ2xhc3NOYW1lfShJ
bnNwZWN0b3JDbGllbnQqKTsiOworICAgICRmcm9udGVuZENvbnN0cnVjdG9yID0gIiAgICAke2Zy
b250ZW5kQ2xhc3NOYW1lfShJbnNwZWN0b3JGcm9udGVuZENoYW5uZWwqKTsiOwogICAgIHB1c2go
QGZyb250ZW5kRm9vdGVyLCAicHJpdmF0ZToiKTsKLSAgICBwdXNoKEBmcm9udGVuZEZvb3Rlciwg
IiAgICBJbnNwZWN0b3JDbGllbnQqIG1faW5zcGVjdG9yQ2xpZW50OyIpOworICAgIHB1c2goQGZy
b250ZW5kRm9vdGVyLCAiICAgIEluc3BlY3RvckZyb250ZW5kQ2hhbm5lbCogbV9pbnNwZWN0b3JG
cm9udGVuZENoYW5uZWw7Iik7CiAgICAgJGZyb250ZW5kVHlwZXN7IlN0cmluZyJ9ID0gMTsKLSAg
ICAkZnJvbnRlbmRUeXBlc3siSW5zcGVjdG9yQ2xpZW50In0gPSAxOworICAgICRmcm9udGVuZFR5
cGVzeyJJbnNwZWN0b3JGcm9udGVuZENoYW5uZWwifSA9IDE7CiAgICAgJGZyb250ZW5kVHlwZXN7
IlBhc3NSZWZQdHIifSA9IDE7CiAKICAgICAkYmFja2VuZENsYXNzTmFtZSA9ICJJbnNwZWN0b3JC
YWNrZW5kRGlzcGF0Y2hlciI7CiAgICAgJGJhY2tlbmRKU1N0dWJOYW1lID0gIkluc3BlY3RvckJh
Y2tlbmRTdHViIjsKICAgICAkYmFja2VuZFR5cGVzeyJJbnNwZWN0b3IifSA9IDE7Ci0gICAgJGJh
Y2tlbmRUeXBlc3siSW5zcGVjdG9yQ2xpZW50In0gPSAxOworICAgICRiYWNrZW5kVHlwZXN7Iklu
c3BlY3RvckZyb250ZW5kQ2hhbm5lbCJ9ID0gMTsKICAgICAkYmFja2VuZFR5cGVzeyJQYXNzUmVm
UHRyIn0gPSAxOwogICAgICRiYWNrZW5kVHlwZXN7Ik9iamVjdCJ9ID0gMTsKIH0KQEAgLTMwNiwx
MCArMzA2LDEyIEBAIHN1YiBnZW5lcmF0ZUFnZW50RGVjbGFyYXRpb24KICAgICBteSAkYWdlbnRO
YW1lID0gJGludGVyZmFjZS0+bmFtZTsKICAgICBwdXNoKEBmcm9udGVuZE1ldGhvZHMsICIgICAg
Y2xhc3MgJHthZ2VudE5hbWV9IHsiKTsKICAgICBwdXNoKEBmcm9udGVuZE1ldGhvZHMsICIgICAg
cHVibGljOiIpOwotICAgIHB1c2goQGZyb250ZW5kTWV0aG9kcywgIiAgICAgICAgJHthZ2VudE5h
bWV9KEluc3BlY3RvckNsaWVudCogaW5zcGVjdG9yQ2xpZW50KSA6IG1faW5zcGVjdG9yQ2xpZW50
KGluc3BlY3RvckNsaWVudCkgeyB9Iik7CisgICAgcHVzaChAZnJvbnRlbmRNZXRob2RzLCAiICAg
ICAgICAke2FnZW50TmFtZX0oSW5zcGVjdG9yRnJvbnRlbmRDaGFubmVsKiBpbnNwZWN0b3JGcm9u
dGVuZENoYW5uZWwpIDogbV9pbnNwZWN0b3JGcm9udGVuZENoYW5uZWwoaW5zcGVjdG9yRnJvbnRl
bmRDaGFubmVsKSB7IH0iKTsKICAgICBwdXNoKEBmcm9udGVuZE1ldGhvZHMsIEB7JGFnZW50LT57
bWV0aG9kRGVjbGFyYXRpb25zfX0pOworICAgIHB1c2goQGZyb250ZW5kTWV0aG9kcywgIiAgICAg
ICAgdm9pZCBzZXRJbnNwZWN0b3JGcm9udGVuZENoYW5uZWwoSW5zcGVjdG9yRnJvbnRlbmRDaGFu
bmVsKiBpbnNwZWN0b3JGcm9udGVuZENoYW5uZWwpIHsgbV9pbnNwZWN0b3JGcm9udGVuZENoYW5u
ZWwgPSBpbnNwZWN0b3JGcm9udGVuZENoYW5uZWw7IH0iKTsKKyAgICBwdXNoKEBmcm9udGVuZE1l
dGhvZHMsICIgICAgICAgIEluc3BlY3RvckZyb250ZW5kQ2hhbm5lbCogZ2V0SW5zcGVjdG9yRnJv
bnRlbmRDaGFubmVsKCkgeyByZXR1cm4gbV9pbnNwZWN0b3JGcm9udGVuZENoYW5uZWw7IH0iKTsK
ICAgICBwdXNoKEBmcm9udGVuZE1ldGhvZHMsICIgICAgcHJpdmF0ZToiKTsKLSAgICBwdXNoKEBm
cm9udGVuZE1ldGhvZHMsICIgICAgICAgIEluc3BlY3RvckNsaWVudCogbV9pbnNwZWN0b3JDbGll
bnQ7Iik7CisgICAgcHVzaChAZnJvbnRlbmRNZXRob2RzLCAiICAgICAgICBJbnNwZWN0b3JGcm9u
dGVuZENoYW5uZWwqIG1faW5zcGVjdG9yRnJvbnRlbmRDaGFubmVsOyIpOwogICAgIHB1c2goQGZy
b250ZW5kTWV0aG9kcywgIiAgICB9OyIpOwogICAgIHB1c2goQGZyb250ZW5kTWV0aG9kcywgIiIp
OwogCkBAIC0zMjUsMTAgKzMyNywxMCBAQCBzdWIgZ2VuZXJhdGVBZ2VudERlY2xhcmF0aW9uCiBz
dWIgZ2VuZXJhdGVGcm9udGVuZENvbnN0cnVjdG9ySW1wbAogewogICAgIG15IEBmcm9udGVuZENv
bnN0cnVjdG9ySW1wbDsKLSAgICBwdXNoKEBmcm9udGVuZENvbnN0cnVjdG9ySW1wbCwgIiR7ZnJv
bnRlbmRDbGFzc05hbWV9Ojoke2Zyb250ZW5kQ2xhc3NOYW1lfShJbnNwZWN0b3JDbGllbnQqIGlu
c3BlY3RvckNsaWVudCkiKTsKLSAgICBwdXNoKEBmcm9udGVuZENvbnN0cnVjdG9ySW1wbCwgIiAg
ICA6IG1faW5zcGVjdG9yQ2xpZW50KGluc3BlY3RvckNsaWVudCkiKTsKKyAgICBwdXNoKEBmcm9u
dGVuZENvbnN0cnVjdG9ySW1wbCwgIiR7ZnJvbnRlbmRDbGFzc05hbWV9Ojoke2Zyb250ZW5kQ2xh
c3NOYW1lfShJbnNwZWN0b3JGcm9udGVuZENoYW5uZWwqIGluc3BlY3RvckZyb250ZW5kQ2hhbm5l
bCkiKTsKKyAgICBwdXNoKEBmcm9udGVuZENvbnN0cnVjdG9ySW1wbCwgIiAgICA6IG1faW5zcGVj
dG9yRnJvbnRlbmRDaGFubmVsKGluc3BlY3RvckZyb250ZW5kQ2hhbm5lbCkiKTsKICAgICBmb3Jl
YWNoIG15ICRhZ2VudEZpZWxkIChAZnJvbnRlbmRBZ2VudEZpZWxkcykgewotICAgICAgICBwdXNo
KEBmcm9udGVuZENvbnN0cnVjdG9ySW1wbCwgIiAgICAsICR7YWdlbnRGaWVsZH0oaW5zcGVjdG9y
Q2xpZW50KSIpOworICAgICAgICBwdXNoKEBmcm9udGVuZENvbnN0cnVjdG9ySW1wbCwgIiAgICAs
ICR7YWdlbnRGaWVsZH0oaW5zcGVjdG9yRnJvbnRlbmRDaGFubmVsKSIpOwogICAgIH0KICAgICBw
dXNoKEBmcm9udGVuZENvbnN0cnVjdG9ySW1wbCwgInsiKTsKICAgICBwdXNoKEBmcm9udGVuZENv
bnN0cnVjdG9ySW1wbCwgIn0iKTsKQEAgLTM5Myw3ICszOTUsNyBAQCBzdWIgZ2VuZXJhdGVGcm9u
dGVuZEZ1bmN0aW9uCiAgICAgbXkgQHB1c2hBcmd1bWVudHMgPSBtYXAoIiAgICBkYXRhT2JqZWN0
LT5zZXQiIC4gdHlwZVRyYWl0cygkXy0+dHlwZSwgIkpTT05UeXBlIikgLiAiKFwiIiAuICRfLT5u
YW1lIC4gIlwiLCAiIC4gJF8tPm5hbWUgLiAiKTsiLCBAYXJnc0ZpbHRlcmVkKTsKICAgICBwdXNo
KEBmdW5jdGlvbiwgQHB1c2hBcmd1bWVudHMpOwogICAgIHB1c2goQGZ1bmN0aW9uLCAiICAgICR7
ZnVuY3Rpb25OYW1lfU1lc3NhZ2UtPnNldE9iamVjdChcImRhdGFcIiwgZGF0YU9iamVjdCk7Iik7
Ci0gICAgcHVzaChAZnVuY3Rpb24sICIgICAgbV9pbnNwZWN0b3JDbGllbnQtPnNlbmRNZXNzYWdl
VG9Gcm9udGVuZCgke2Z1bmN0aW9uTmFtZX1NZXNzYWdlLT50b0pTT05TdHJpbmcoKSk7Iik7Cisg
ICAgcHVzaChAZnVuY3Rpb24sICIgICAgbV9pbnNwZWN0b3JGcm9udGVuZENoYW5uZWwtPnNlbmRN
ZXNzYWdlVG9Gcm9udGVuZCgke2Z1bmN0aW9uTmFtZX1NZXNzYWdlLT50b0pTT05TdHJpbmcoKSk7
Iik7CiAgICAgcHVzaChAZnVuY3Rpb24sICJ9Iik7CiAgICAgcHVzaChAZnVuY3Rpb24sICIiKTsK
ICAgICBwdXNoKEBmcm9udGVuZE1ldGhvZHNJbXBsLCBAZnVuY3Rpb24pOwpAQCAtNTI1LDcgKzUy
Nyw3IEBAIHN1YiBnZW5lcmF0ZUJhY2tlbmRGdW5jdGlvbgogICAgICAgICBwdXNoKEBmdW5jdGlv
biwgIiAgICAgICAgICAgIHJlc3BvbnNlTWVzc2FnZS0+c2V0T2JqZWN0KFwiYm9keVwiLCByZXNw
b25zZUJvZHkpOyIpOwogICAgICAgICBwdXNoKEBmdW5jdGlvbiwgIiAgICAgICAgfSIpOwogICAg
IH0KLSAgICBwdXNoKEBmdW5jdGlvbiwgIiAgICAgICAgbV9pbnNwZWN0b3JDbGllbnQtPnNlbmRN
ZXNzYWdlVG9Gcm9udGVuZChyZXNwb25zZU1lc3NhZ2UtPnRvSlNPTlN0cmluZygpKTsiKTsKKyAg
ICBwdXNoKEBmdW5jdGlvbiwgIiAgICAgICAgbV9pbnNwZWN0b3JGcm9udGVuZENoYW5uZWwtPnNl
bmRNZXNzYWdlVG9Gcm9udGVuZChyZXNwb25zZU1lc3NhZ2UtPnRvSlNPTlN0cmluZygpKTsiKTsK
ICAgICBwdXNoKEBmdW5jdGlvbiwgIiAgICB9Iik7CiAKIApAQCAtNjAzLDcgKzYwNSw3IEBAIHZv
aWQgJHtiYWNrZW5kQ2xhc3NOYW1lfTo6cmVwb3J0UHJvdG9jb2wKICAgICBSZWZQdHI8SW5zcGVj
dG9yQXJyYXk+IGVycm9ycyA9IEluc3BlY3RvckFycmF5OjpjcmVhdGUoKTsKICAgICBlcnJvcnMt
PnB1c2hTdHJpbmcoZXJyb3JUZXh0KTsKICAgICBtZXNzYWdlLT5zZXRBcnJheSgicHJvdG9jb2xF
cnJvcnMiLCBlcnJvcnMpOwotICAgIG1faW5zcGVjdG9yQ2xpZW50LT5zZW5kTWVzc2FnZVRvRnJv
bnRlbmQobWVzc2FnZS0+dG9KU09OU3RyaW5nKCkpOworICAgIG1faW5zcGVjdG9yRnJvbnRlbmRD
aGFubmVsLT5zZW5kTWVzc2FnZVRvRnJvbnRlbmQobWVzc2FnZS0+dG9KU09OU3RyaW5nKCkpOwog
fQogRU9GCiAgICAgcmV0dXJuIHNwbGl0KCJcbiIsICRyZXBvcnRQcm90b2NvbEVycm9yKTsKQEAg
LTEwNTIsOSArMTA1NCw5IEBAIHN1YiBnZW5lcmF0ZUJhY2tlbmRBZ2VudEZpZWxkc0FuZENvbnN0
cnUKICAgICBteSBAYXJndW1lbnRzOwogICAgIG15IEBmaWVsZEluaXRpYWxpemVyczsKIAotICAg
IHB1c2goQGFyZ3VtZW50cywgIkluc3BlY3RvckNsaWVudCogaW5zcGVjdG9yQ2xpZW50Iik7Ci0g
ICAgcHVzaChAZmllbGRJbml0aWFsaXplcnMsICIgICAgICAgIDogbV9pbnNwZWN0b3JDbGllbnQo
aW5zcGVjdG9yQ2xpZW50KSIpOwotICAgIHB1c2goQGJhY2tlbmRGb290ZXIsICIgICAgSW5zcGVj
dG9yQ2xpZW50KiBtX2luc3BlY3RvckNsaWVudDsiKTsKKyAgICBwdXNoKEBhcmd1bWVudHMsICJJ
bnNwZWN0b3JGcm9udGVuZENoYW5uZWwqIGluc3BlY3RvckZyb250ZW5kQ2hhbm5lbCIpOworICAg
IHB1c2goQGZpZWxkSW5pdGlhbGl6ZXJzLCAiICAgICAgICA6IG1faW5zcGVjdG9yRnJvbnRlbmRD
aGFubmVsKGluc3BlY3RvckZyb250ZW5kQ2hhbm5lbCkiKTsKKyAgICBwdXNoKEBiYWNrZW5kRm9v
dGVyLCAiICAgIEluc3BlY3RvckZyb250ZW5kQ2hhbm5lbCogbV9pbnNwZWN0b3JGcm9udGVuZENo
YW5uZWw7Iik7CiAKICAgICBmb3JlYWNoIG15ICRkb21haW4gKHNvcnQga2V5cyAlYmFja2VuZERv
bWFpbnMpIHsKICAgICAgICAgIyBBZGQgYWdlbnQgZmllbGQgZGVjbGFyYXRpb24gdG8gdGhlIGZv
b3Rlci4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDbGllbnQuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ2xpZW50LmgJ
KHJldmlzaW9uIDgyNjgwKQorKysgU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNs
aWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAo
QykgMjAwNyBBcHBsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChD
KSAyMDExIEdvb2dsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCkBAIC0yNiw2ICsyNyw3IEBACiAjaWZuZGVmIEluc3BlY3RvckNsaWVu
dF9oCiAjZGVmaW5lIEluc3BlY3RvckNsaWVudF9oCiAKKyNpbmNsdWRlICJJbnNwZWN0b3JGcm9u
dGVuZENoYW5uZWwuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CkBAIC0zNCw3ICszNiw3IEBAIGNsYXNzIEluc3BlY3RvckNvbnRyb2xsZXI7CiBjbGFz
cyBOb2RlOwogY2xhc3MgUGFnZTsKIAotY2xhc3MgSW5zcGVjdG9yQ2xpZW50IHsKK2NsYXNzIElu
c3BlY3RvckNsaWVudCA6IHB1YmxpYyBJbnNwZWN0b3JGcm9udGVuZENoYW5uZWwgewogcHVibGlj
OgogICAgIHZpcnR1YWwgfkluc3BlY3RvckNsaWVudCgpIHsgfQogCkBAIC00NSw4ICs0Nyw2IEBA
IHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgaGlnaGxpZ2h0KE5vZGUqKSA9IDA7CiAgICAgdmly
dHVhbCB2b2lkIGhpZGVIaWdobGlnaHQoKSA9IDA7CiAKLSAgICB2aXJ0dWFsIGJvb2wgc2VuZE1l
c3NhZ2VUb0Zyb250ZW5kKGNvbnN0IFN0cmluZyYgbWVzc2FnZSkgPSAwOwotCiAgICAgLy8gTmF2
aWdhdGlvbiBjYW4gY2F1c2Ugc29tZSBXZWJLaXQgaW1wbGVtZW50YXRpb25zIHRvIGNoYW5nZSB0
aGUgdmlldyAvIHBhZ2UgLyBpbnNwZWN0b3IgY29udHJvbGxlciBpbnN0YW5jZS4KICAgICAvLyBI
b3dldmVyLCB0aGVyZSBhcmUgc29tZSBpbnNwZWN0b3IgY29udHJvbGxlciBzdGF0ZXMgdGhhdCBz
aG91bGQgc3Vydml2ZSBuYXZpZ2F0aW9uIChzdWNoIGFzIHRyYWNraW5nIHJlc291cmNlcwogICAg
IC8vIG9yIHJlY29yZGluZyB0aW1lbGluZSkuIEZvbGxvd2luZyBjYWxsYmFja3MgYWxsb3cgZW1i
ZWRkZXJzIHRvIHRyYWNrIHRoZXNlIHN0YXRlcy4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JGcm9udGVuZENoYW5uZWwuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDaGFubmVsLmgJKHJldmlzaW9uIDApCisr
KyBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDaGFubmVsLmgJKHJl
dmlzaW9uIDApCkBAIC0wLDAgKzEsNDUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29v
Z2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElTJycgQU5EIEFO
WQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCisgKiBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisg
KiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpZm5kZWYgSW5zcGVjdG9y
RnJvbnRlbmRDaGFubmVsX2gKKyNkZWZpbmUgSW5zcGVjdG9yRnJvbnRlbmRDaGFubmVsX2gKKwor
I2lmIEVOQUJMRShJTlNQRUNUT1IpCisKKyNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgorCituYW1l
c3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIEluc3BlY3RvckZyb250ZW5kQ2hhbm5lbCB7CitwdWJs
aWM6CisgICAgdmlydHVhbCB+SW5zcGVjdG9yRnJvbnRlbmRDaGFubmVsKCkgeyB9CisgICAgdmly
dHVhbCBib29sIHNlbmRNZXNzYWdlVG9Gcm9udGVuZChjb25zdCBTdHJpbmcmIG1lc3NhZ2UpID0g
MDsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShJTlNQ
RUNUT1IpCisKKyNlbmRpZiAvLyAhZGVmaW5lZChJbnNwZWN0b3JGcm9udGVuZENoYW5uZWxfaCkK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>88046</attachid>
            <date>2011-04-04 02:16:22 -0700</date>
            <delta_ts>2022-03-01 02:41:36 -0800</delta_ts>
            <desc>Fixed order of files in project.xcode</desc>
            <filename>light.forsubmission3</filename>
            <type>text/plain</type>
            <size>16228</size>
            <attacher name="Sergey Vorobyev">sergeyvorobyev</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDgyODA0KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTEtMDQtMDEgIFNlcmdleSBW
b3JvYnlldiAgPHNlcmdleXZvcm9ieWV2QGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogU2VwYXJhdGUgc2Vu
ZE1lc3NhZ2VUb0Zyb250ZW5kIGZ1bmN0aW9uCisgICAgICAgIGZyb20gSW5zcGVjdG9yQ2xpZW50
IHRvIGluZGl2aWR1YWwgaW50ZXJmYWNlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NTc1NDgKKworICAgICAgICBSZWZhY3RvcmluZyAtIGNvdmVyZWQg
d2l0aCBleGlzdGluZyBpbnNwZWN0b3IgdGVzdHMuCisKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5h
bToKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogV2ViQ29yZS52Y3Byb2ovV2Vi
Q29yZS52Y3Byb2o6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
OgorICAgICAgICAqIGluc3BlY3Rvci9Db2RlR2VuZXJhdG9ySW5zcGVjdG9yLnBtOgorICAgICAg
ICAqIGluc3BlY3Rvci9JbnNwZWN0b3JDbGllbnQuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5z
cGVjdG9yRnJvbnRlbmRDaGFubmVsLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVj
dG9yRnJvbnRlbmRDaGFubmVsOjp+SW5zcGVjdG9yRnJvbnRlbmRDaGFubmVsKToKKwogMjAxMS0w
NC0wNCAgSWx5YSBUaWtob25vdnNreSAgPGxvaXNsb0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAg
UmV2aWV3ZWQgYnkgUGF2ZWwgRmVsZG1hbi4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0dOVW1ha2Vm
aWxlLmFtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCShyZXZp
c2lvbiA4MjgwNCkKKysrIFNvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCSh3b3JraW5nIGNv
cHkpCkBAIC0yMDI0LDYgKzIwMjQsNyBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01TdG9yYWdlQWdlbnQuaCBcCiAJU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTVN0b3JhZ2VSZXNvdXJjZS5jcHAgXAogCVNvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01TdG9yYWdlUmVzb3VyY2UuaCBcCisJU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2hhbm5lbC5oIFwKIAlTb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQuaCBcCiAJU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwuY3BwIFwKIAlT
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5oIFwK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLmd5cGkJKHJldmlzaW9uIDgyODA0KQorKysgU291cmNlL1dlYkNvcmUv
V2ViQ29yZS5neXBpCSh3b3JraW5nIGNvcHkpCkBAIC0zMjEzLDYgKzMyMTMsNyBAQAogICAgICAg
ICAgICAgJ2luc3BlY3Rvci9JbnNwZWN0b3JEYXRhYmFzZVJlc291cmNlLmgnLAogICAgICAgICAg
ICAgJ2luc3BlY3Rvci9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmNwcCcsCiAgICAgICAgICAgICAn
aW5zcGVjdG9yL0luc3BlY3RvckRlYnVnZ2VyQWdlbnQuaCcsCisgICAgICAgICAgICAnaW5zcGVj
dG9yL0luc3BlY3RvckZyb250ZW5kQ2hhbm5lbC5oJywKICAgICAgICAgICAgICdpbnNwZWN0b3Iv
SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5jcHAnLAogICAgICAgICAgICAgJ2luc3BlY3Rv
ci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuY3BwJywKICAgICAgICAgICAgICdpbnNwZWN0b3IvSW5z
cGVjdG9yRnJvbnRlbmRIb3N0LmgnLApJbmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3By
b2ovV2ViQ29yZS52Y3Byb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvV2ViQ29yZS52
Y3Byb2ovV2ViQ29yZS52Y3Byb2oJKHJldmlzaW9uIDgyODA0KQorKysgU291cmNlL1dlYkNvcmUv
V2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oJKHdvcmtpbmcgY29weSkKQEAgLTY2NDcwLDYg
KzY2NDcwLDEwIEBACiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBh
dGg9Ii4uXGluc3BlY3RvclxJbnNwZWN0b3JGcm9udGVuZENoYW5uZWwuaCIKKwkJCQk+CisJCQk8
L0ZpbGU+CisJCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iLi5caW5zcGVjdG9yXEluc3BlY3Rv
ckZyb250ZW5kQ2xpZW50LmgiCiAJCQkJPgogCQkJPC9GaWxlPgpJbmRleDogU291cmNlL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gODI4
MDQpCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJ
KHdvcmtpbmcgY29weSkKQEAgLTY0Myw2ICs2NDMsNyBAQAogCQkxQ0ZBRTMyMzBBNkQ2QTNGMDAz
MjU5M0QgLyogbGlib2JqYy5keWxpYiBpbiBGcmFtZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDFDRkFFMzIyMEE2RDZBM0YwMDMyNTkzRCAvKiBsaWJvYmpjLmR5bGli
ICovOyB9OwogCQkyMEQ2MjkyNjEyNTM2OTBCMDAwODE1NDMgLyogSW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDIwRDYyOTI0MTI1MzY5MEIwMDA4MTU0MyAvKiBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uY3Bw
ICovOyB9OwogCQkyMEQ2MjkyNzEyNTM2OTBCMDAwODE1NDMgLyogSW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAy
MEQ2MjkyNTEyNTM2OTBCMDAwODE1NDMgLyogSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmggKi87
IH07CisJCTIyNzc3NzYwMTM0NURFQTkwMDhFQTQ1NSAvKiBJbnNwZWN0b3JGcm9udGVuZENoYW5u
ZWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDIyNzc3
NzVGMTM0NURFQTkwMDhFQTQ1NSAvKiBJbnNwZWN0b3JGcm9udGVuZENoYW5uZWwuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkyMjg4NUU2NDEzMDFB
RTRDMDA1MjZFNjggLyogSlNET01JbXBsZW1lbnRhdGlvbkN1c3RvbS5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyMjg4NUU2MzEzMDFBRTRDMDA1MjZF
NjggLyogSlNET01JbXBsZW1lbnRhdGlvbkN1c3RvbS5jcHAgKi87IH07CiAJCTIyOEMyODQ1MTBE
ODI1MDAwMDlEMEQwRSAvKiBTY3JpcHRXcmFwcGFibGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDIyOEMyODQ0MTBEODI1MDAwMDlEMEQwRSAvKiBTY3Jp
cHRXcmFwcGFibGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwogCQkyNDVEODBBMzEzMjgwRTQwMDAzNDkyQTYgLyogU1FMQ2FsbGJhY2tXcmFwcGVyLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyNDVEODBBMjEz
MjgwRTQwMDAzNDkyQTYgLyogU1FMQ2FsbGJhY2tXcmFwcGVyLmggKi87IH07CkBAIC03MDQzLDYg
KzcwNDQsNyBAQAogCQkxQ0ZBRTMyMjBBNkQ2QTNGMDAzMjU5M0QgLyogbGlib2JqYy5keWxpYiAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9ICJjb21waWxl
ZC5tYWNoLW8uZHlsaWIiOyBuYW1lID0gbGlib2JqYy5keWxpYjsgcGF0aCA9IC91c3IvbGliL2xp
Ym9iamMuZHlsaWI7IHNvdXJjZVRyZWUgPSAiPGFic29sdXRlPiI7IH07CiAJCTIwRDYyOTI0MTI1
MzY5MEIwMDA4MTU0MyAvKiBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMjBENjI5MjUxMjUzNjkwQjAwMDgxNTQzIC8q
IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJMjI3Nzc3NUYxMzQ1REVBOTAwOEVBNDU1IC8qIEluc3BlY3RvckZyb250ZW5kQ2hhbm5l
bC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbnNwZWN0b3JGcm9udGVuZENo
YW5uZWwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMjI4ODVFNjMxMzAxQUU0QzAw
NTI2RTY4IC8qIEpTRE9NSW1wbGVtZW50YXRpb25DdXN0b20uY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gSlNET01JbXBsZW1lbnRhdGlvbkN1c3RvbS5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTIyOEMyODQ0MTBEODI1MDAwMDlEMEQwRSAvKiBTY3Jp
cHRXcmFwcGFibGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2NyaXB0V3Jh
cHBhYmxlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTI0NDJCQkY4MTE5NEM5RDMw
MEQ0OTQ2OSAvKiBIYXNoQ2hhbmdlRXZlbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gSGFzaENoYW5nZUV2ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0x
MzE3Nyw2ICsxMzE3OSw3IEBACiAJCQkJN0E3NEVDQjkxMDE4MzlBNjAwQkY5MzlFIC8qIEluc3Bl
Y3RvckRPTVN0b3JhZ2VBZ2VudC5oICovLAogCQkJCTQxRjA2MTczMEY1RjAwQUMwMEEwN0VBQyAv
KiBJbnNwZWN0b3JET01TdG9yYWdlUmVzb3VyY2UuY3BwICovLAogCQkJCTQxRjA2MTcyMEY1RjAw
QUMwMEEwN0VBQyAvKiBJbnNwZWN0b3JET01TdG9yYWdlUmVzb3VyY2UuaCAqLywKKwkJCQkyMjc3
Nzc1RjEzNDVERUE5MDA4RUE0NTUgLyogSW5zcGVjdG9yRnJvbnRlbmRDaGFubmVsLmggKi8sCiAJ
CQkJRjM0NEM3MTIxMTI1QjgyQzAwRjI2RUVFIC8qIEluc3BlY3RvckZyb250ZW5kQ2xpZW50Lmgg
Ki8sCiAJCQkJRjM0NEM3NTcxMTI5NEZGNjAwRjI2RUVFIC8qIEluc3BlY3RvckZyb250ZW5kQ2xp
ZW50TG9jYWwuY3BwICovLAogCQkJCUYzNDRDNzUyMTEyOTREOUQwMEYyNkVFRSAvKiBJbnNwZWN0
b3JGcm9udGVuZENsaWVudExvY2FsLmggKi8sCkBAIC0yMTE5Niw2ICsyMTE5OSw3IEBACiAJCQkJ
Qjg4NUU4RDUxMUUwNkREMjAwOUZGQkY0IC8qIEluc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2Vu
dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNEY3MDdBOUExMUVGNjc5NDAwQUNEQTY5IC8qIEluc3Bl
Y3RvckJhY2tlbmREaXNwYXRjaGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlGM0Q0QzQ3OTEyRTA3
NjYzMDAzREExNTAgLyogSW5zcGVjdG9yQnJvd3NlckRlYnVnZ2VyQWdlbnQuaCBpbiBIZWFkZXJz
ICovLAorCQkJCTIyNzc3NzYwMTM0NURFQTkwMDhFQTQ1NSAvKiBJbnNwZWN0b3JGcm9udGVuZENo
YW5uZWwuaCBpbiBIZWFkZXJzICovLAogCQkJCTFDODFCOTVDMEU5NzMzMDgwMDI2NkUwNyAvKiBJ
bnNwZWN0b3JDbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUYzMzM1QkY5MTJFMDdEQzMwMEQz
MzAxMSAvKiBJbnNwZWN0b3JDb25zb2xlQWdlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUYzRjVD
RjExMTJFRDgxQTgwMDg0QzU2OSAvKiBJbnNwZWN0b3JDb25zb2xlSW5zdHJ1bWVudGF0aW9uLmgg
aW4gSGVhZGVycyAqLywKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db2RlR2VuZXJh
dG9ySW5zcGVjdG9yLnBtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9D
b2RlR2VuZXJhdG9ySW5zcGVjdG9yLnBtCShyZXZpc2lvbiA4MjgwNCkKKysrIFNvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9Db2RlR2VuZXJhdG9ySW5zcGVjdG9yLnBtCSh3b3JraW5nIGNvcHkpCkBA
IC05MCwxMyArOTAsMTMgQEAgJHR5cGVUcmFuc2Zvcm17IkZyb250ZW5kIn0gPSB7CiAgICAgImZv
cndhcmQiID0+ICJJbnNwZWN0b3JGcm9udGVuZCIsCiAgICAgImhlYWRlciIgPT4gIkluc3BlY3Rv
ckZyb250ZW5kLmgiLAogfTsKLSR0eXBlVHJhbnNmb3JteyJJbnNwZWN0b3JDbGllbnQifSA9IHsK
LSAgICAiZm9yd2FyZCIgPT4gIkluc3BlY3RvckNsaWVudCIsCi0gICAgImhlYWRlciIgPT4gIklu
c3BlY3RvckNsaWVudC5oIiwKLX07CiAkdHlwZVRyYW5zZm9ybXsiUGFzc1JlZlB0ciJ9ID0gewog
ICAgICJmb3J3YXJkSGVhZGVyIiA9PiAid3RmL1Bhc3NSZWZQdHIuaCIsCiB9OworJHR5cGVUcmFu
c2Zvcm17Ikluc3BlY3RvckZyb250ZW5kQ2hhbm5lbCJ9ID0geworICAgICJmb3J3YXJkIiA9PiAi
SW5zcGVjdG9yRnJvbnRlbmRDaGFubmVsIiwKKyAgICAiaGVhZGVyIiA9PiAiSW5zcGVjdG9yRnJv
bnRlbmRDaGFubmVsLmgiLAorfTsKICR0eXBlVHJhbnNmb3JteyJPYmplY3QifSA9IHsKICAgICAi
cGFyYW0iID0+ICJQYXNzUmVmUHRyPEluc3BlY3Rvck9iamVjdD4iLAogICAgICJ2YXJpYWJsZSIg
PT4gIlJlZlB0cjxJbnNwZWN0b3JPYmplY3Q+IiwKQEAgLTI2NywxNyArMjY3LDE3IEBAIHN1YiBH
ZW5lcmF0ZU1vZHVsZQogICAgICRuYW1lc3BhY2UgPX4gcy9jb3JlL1dlYkNvcmUvOwogCiAgICAg
JGZyb250ZW5kQ2xhc3NOYW1lID0gIkluc3BlY3RvckZyb250ZW5kIjsKLSAgICAkZnJvbnRlbmRD
b25zdHJ1Y3RvciA9ICIgICAgJHtmcm9udGVuZENsYXNzTmFtZX0oSW5zcGVjdG9yQ2xpZW50Kik7
IjsKKyAgICAkZnJvbnRlbmRDb25zdHJ1Y3RvciA9ICIgICAgJHtmcm9udGVuZENsYXNzTmFtZX0o
SW5zcGVjdG9yRnJvbnRlbmRDaGFubmVsKik7IjsKICAgICBwdXNoKEBmcm9udGVuZEZvb3Rlciwg
InByaXZhdGU6Iik7Ci0gICAgcHVzaChAZnJvbnRlbmRGb290ZXIsICIgICAgSW5zcGVjdG9yQ2xp
ZW50KiBtX2luc3BlY3RvckNsaWVudDsiKTsKKyAgICBwdXNoKEBmcm9udGVuZEZvb3RlciwgIiAg
ICBJbnNwZWN0b3JGcm9udGVuZENoYW5uZWwqIG1faW5zcGVjdG9yRnJvbnRlbmRDaGFubmVsOyIp
OwogICAgICRmcm9udGVuZFR5cGVzeyJTdHJpbmcifSA9IDE7Ci0gICAgJGZyb250ZW5kVHlwZXN7
Ikluc3BlY3RvckNsaWVudCJ9ID0gMTsKKyAgICAkZnJvbnRlbmRUeXBlc3siSW5zcGVjdG9yRnJv
bnRlbmRDaGFubmVsIn0gPSAxOwogICAgICRmcm9udGVuZFR5cGVzeyJQYXNzUmVmUHRyIn0gPSAx
OwogCiAgICAgJGJhY2tlbmRDbGFzc05hbWUgPSAiSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXIi
OwogICAgICRiYWNrZW5kSlNTdHViTmFtZSA9ICJJbnNwZWN0b3JCYWNrZW5kU3R1YiI7CiAgICAg
JGJhY2tlbmRUeXBlc3siSW5zcGVjdG9yIn0gPSAxOwotICAgICRiYWNrZW5kVHlwZXN7Ikluc3Bl
Y3RvckNsaWVudCJ9ID0gMTsKKyAgICAkYmFja2VuZFR5cGVzeyJJbnNwZWN0b3JGcm9udGVuZENo
YW5uZWwifSA9IDE7CiAgICAgJGJhY2tlbmRUeXBlc3siUGFzc1JlZlB0ciJ9ID0gMTsKICAgICAk
YmFja2VuZFR5cGVzeyJPYmplY3QifSA9IDE7CiB9CkBAIC0zMDYsMTAgKzMwNiwxMiBAQCBzdWIg
Z2VuZXJhdGVBZ2VudERlY2xhcmF0aW9uCiAgICAgbXkgJGFnZW50TmFtZSA9ICRpbnRlcmZhY2Ut
Pm5hbWU7CiAgICAgcHVzaChAZnJvbnRlbmRNZXRob2RzLCAiICAgIGNsYXNzICR7YWdlbnROYW1l
fSB7Iik7CiAgICAgcHVzaChAZnJvbnRlbmRNZXRob2RzLCAiICAgIHB1YmxpYzoiKTsKLSAgICBw
dXNoKEBmcm9udGVuZE1ldGhvZHMsICIgICAgICAgICR7YWdlbnROYW1lfShJbnNwZWN0b3JDbGll
bnQqIGluc3BlY3RvckNsaWVudCkgOiBtX2luc3BlY3RvckNsaWVudChpbnNwZWN0b3JDbGllbnQp
IHsgfSIpOworICAgIHB1c2goQGZyb250ZW5kTWV0aG9kcywgIiAgICAgICAgJHthZ2VudE5hbWV9
KEluc3BlY3RvckZyb250ZW5kQ2hhbm5lbCogaW5zcGVjdG9yRnJvbnRlbmRDaGFubmVsKSA6IG1f
aW5zcGVjdG9yRnJvbnRlbmRDaGFubmVsKGluc3BlY3RvckZyb250ZW5kQ2hhbm5lbCkgeyB9Iik7
CiAgICAgcHVzaChAZnJvbnRlbmRNZXRob2RzLCBAeyRhZ2VudC0+e21ldGhvZERlY2xhcmF0aW9u
c319KTsKKyAgICBwdXNoKEBmcm9udGVuZE1ldGhvZHMsICIgICAgICAgIHZvaWQgc2V0SW5zcGVj
dG9yRnJvbnRlbmRDaGFubmVsKEluc3BlY3RvckZyb250ZW5kQ2hhbm5lbCogaW5zcGVjdG9yRnJv
bnRlbmRDaGFubmVsKSB7IG1faW5zcGVjdG9yRnJvbnRlbmRDaGFubmVsID0gaW5zcGVjdG9yRnJv
bnRlbmRDaGFubmVsOyB9Iik7CisgICAgcHVzaChAZnJvbnRlbmRNZXRob2RzLCAiICAgICAgICBJ
bnNwZWN0b3JGcm9udGVuZENoYW5uZWwqIGdldEluc3BlY3RvckZyb250ZW5kQ2hhbm5lbCgpIHsg
cmV0dXJuIG1faW5zcGVjdG9yRnJvbnRlbmRDaGFubmVsOyB9Iik7CiAgICAgcHVzaChAZnJvbnRl
bmRNZXRob2RzLCAiICAgIHByaXZhdGU6Iik7Ci0gICAgcHVzaChAZnJvbnRlbmRNZXRob2RzLCAi
ICAgICAgICBJbnNwZWN0b3JDbGllbnQqIG1faW5zcGVjdG9yQ2xpZW50OyIpOworICAgIHB1c2go
QGZyb250ZW5kTWV0aG9kcywgIiAgICAgICAgSW5zcGVjdG9yRnJvbnRlbmRDaGFubmVsKiBtX2lu
c3BlY3RvckZyb250ZW5kQ2hhbm5lbDsiKTsKICAgICBwdXNoKEBmcm9udGVuZE1ldGhvZHMsICIg
ICAgfTsiKTsKICAgICBwdXNoKEBmcm9udGVuZE1ldGhvZHMsICIiKTsKIApAQCAtMzI1LDEwICsz
MjcsMTAgQEAgc3ViIGdlbmVyYXRlQWdlbnREZWNsYXJhdGlvbgogc3ViIGdlbmVyYXRlRnJvbnRl
bmRDb25zdHJ1Y3RvckltcGwKIHsKICAgICBteSBAZnJvbnRlbmRDb25zdHJ1Y3RvckltcGw7Ci0g
ICAgcHVzaChAZnJvbnRlbmRDb25zdHJ1Y3RvckltcGwsICIke2Zyb250ZW5kQ2xhc3NOYW1lfTo6
JHtmcm9udGVuZENsYXNzTmFtZX0oSW5zcGVjdG9yQ2xpZW50KiBpbnNwZWN0b3JDbGllbnQpIik7
Ci0gICAgcHVzaChAZnJvbnRlbmRDb25zdHJ1Y3RvckltcGwsICIgICAgOiBtX2luc3BlY3RvckNs
aWVudChpbnNwZWN0b3JDbGllbnQpIik7CisgICAgcHVzaChAZnJvbnRlbmRDb25zdHJ1Y3Rvcklt
cGwsICIke2Zyb250ZW5kQ2xhc3NOYW1lfTo6JHtmcm9udGVuZENsYXNzTmFtZX0oSW5zcGVjdG9y
RnJvbnRlbmRDaGFubmVsKiBpbnNwZWN0b3JGcm9udGVuZENoYW5uZWwpIik7CisgICAgcHVzaChA
ZnJvbnRlbmRDb25zdHJ1Y3RvckltcGwsICIgICAgOiBtX2luc3BlY3RvckZyb250ZW5kQ2hhbm5l
bChpbnNwZWN0b3JGcm9udGVuZENoYW5uZWwpIik7CiAgICAgZm9yZWFjaCBteSAkYWdlbnRGaWVs
ZCAoQGZyb250ZW5kQWdlbnRGaWVsZHMpIHsKLSAgICAgICAgcHVzaChAZnJvbnRlbmRDb25zdHJ1
Y3RvckltcGwsICIgICAgLCAke2FnZW50RmllbGR9KGluc3BlY3RvckNsaWVudCkiKTsKKyAgICAg
ICAgcHVzaChAZnJvbnRlbmRDb25zdHJ1Y3RvckltcGwsICIgICAgLCAke2FnZW50RmllbGR9KGlu
c3BlY3RvckZyb250ZW5kQ2hhbm5lbCkiKTsKICAgICB9CiAgICAgcHVzaChAZnJvbnRlbmRDb25z
dHJ1Y3RvckltcGwsICJ7Iik7CiAgICAgcHVzaChAZnJvbnRlbmRDb25zdHJ1Y3RvckltcGwsICJ9
Iik7CkBAIC0zOTMsNyArMzk1LDcgQEAgc3ViIGdlbmVyYXRlRnJvbnRlbmRGdW5jdGlvbgogICAg
IG15IEBwdXNoQXJndW1lbnRzID0gbWFwKCIgICAgZGF0YU9iamVjdC0+c2V0IiAuIHR5cGVUcmFp
dHMoJF8tPnR5cGUsICJKU09OVHlwZSIpIC4gIihcIiIgLiAkXy0+bmFtZSAuICJcIiwgIiAuICRf
LT5uYW1lIC4gIik7IiwgQGFyZ3NGaWx0ZXJlZCk7CiAgICAgcHVzaChAZnVuY3Rpb24sIEBwdXNo
QXJndW1lbnRzKTsKICAgICBwdXNoKEBmdW5jdGlvbiwgIiAgICAke2Z1bmN0aW9uTmFtZX1NZXNz
YWdlLT5zZXRPYmplY3QoXCJkYXRhXCIsIGRhdGFPYmplY3QpOyIpOwotICAgIHB1c2goQGZ1bmN0
aW9uLCAiICAgIG1faW5zcGVjdG9yQ2xpZW50LT5zZW5kTWVzc2FnZVRvRnJvbnRlbmQoJHtmdW5j
dGlvbk5hbWV9TWVzc2FnZS0+dG9KU09OU3RyaW5nKCkpOyIpOworICAgIHB1c2goQGZ1bmN0aW9u
LCAiICAgIG1faW5zcGVjdG9yRnJvbnRlbmRDaGFubmVsLT5zZW5kTWVzc2FnZVRvRnJvbnRlbmQo
JHtmdW5jdGlvbk5hbWV9TWVzc2FnZS0+dG9KU09OU3RyaW5nKCkpOyIpOwogICAgIHB1c2goQGZ1
bmN0aW9uLCAifSIpOwogICAgIHB1c2goQGZ1bmN0aW9uLCAiIik7CiAgICAgcHVzaChAZnJvbnRl
bmRNZXRob2RzSW1wbCwgQGZ1bmN0aW9uKTsKQEAgLTUzMSw3ICs1MzMsNyBAQCBzdWIgZ2VuZXJh
dGVCYWNrZW5kRnVuY3Rpb24KICAgICAgICAgcHVzaChAZnVuY3Rpb24sICIgICAgICAgICAgICBy
ZXNwb25zZU1lc3NhZ2UtPnNldE9iamVjdChcImJvZHlcIiwgcmVzcG9uc2VCb2R5KTsiKTsKICAg
ICAgICAgcHVzaChAZnVuY3Rpb24sICIgICAgICAgIH0iKTsKICAgICB9Ci0gICAgcHVzaChAZnVu
Y3Rpb24sICIgICAgICAgIG1faW5zcGVjdG9yQ2xpZW50LT5zZW5kTWVzc2FnZVRvRnJvbnRlbmQo
cmVzcG9uc2VNZXNzYWdlLT50b0pTT05TdHJpbmcoKSk7Iik7CisgICAgcHVzaChAZnVuY3Rpb24s
ICIgICAgICAgIG1faW5zcGVjdG9yRnJvbnRlbmRDaGFubmVsLT5zZW5kTWVzc2FnZVRvRnJvbnRl
bmQocmVzcG9uc2VNZXNzYWdlLT50b0pTT05TdHJpbmcoKSk7Iik7CiAgICAgcHVzaChAZnVuY3Rp
b24sICIgICAgfSIpOwogCiAKQEAgLTYwOSw3ICs2MTEsNyBAQCB2b2lkICR7YmFja2VuZENsYXNz
TmFtZX06OnJlcG9ydFByb3RvY29sCiAgICAgUmVmUHRyPEluc3BlY3RvckFycmF5PiBlcnJvcnMg
PSBJbnNwZWN0b3JBcnJheTo6Y3JlYXRlKCk7CiAgICAgZXJyb3JzLT5wdXNoU3RyaW5nKGVycm9y
VGV4dCk7CiAgICAgbWVzc2FnZS0+c2V0QXJyYXkoInByb3RvY29sRXJyb3JzIiwgZXJyb3JzKTsK
LSAgICBtX2luc3BlY3RvckNsaWVudC0+c2VuZE1lc3NhZ2VUb0Zyb250ZW5kKG1lc3NhZ2UtPnRv
SlNPTlN0cmluZygpKTsKKyAgICBtX2luc3BlY3RvckZyb250ZW5kQ2hhbm5lbC0+c2VuZE1lc3Nh
Z2VUb0Zyb250ZW5kKG1lc3NhZ2UtPnRvSlNPTlN0cmluZygpKTsKIH0KIEVPRgogICAgIHJldHVy
biBzcGxpdCgiXG4iLCAkcmVwb3J0UHJvdG9jb2xFcnJvcik7CkBAIC0xMDc1LDkgKzEwNzcsOSBA
QCBzdWIgZ2VuZXJhdGVCYWNrZW5kQWdlbnRGaWVsZHNBbmRDb25zdHJ1CiAgICAgbXkgQGFyZ3Vt
ZW50czsKICAgICBteSBAZmllbGRJbml0aWFsaXplcnM7CiAKLSAgICBwdXNoKEBhcmd1bWVudHMs
ICJJbnNwZWN0b3JDbGllbnQqIGluc3BlY3RvckNsaWVudCIpOwotICAgIHB1c2goQGZpZWxkSW5p
dGlhbGl6ZXJzLCAiICAgICAgICA6IG1faW5zcGVjdG9yQ2xpZW50KGluc3BlY3RvckNsaWVudCki
KTsKLSAgICBwdXNoKEBiYWNrZW5kRm9vdGVyLCAiICAgIEluc3BlY3RvckNsaWVudCogbV9pbnNw
ZWN0b3JDbGllbnQ7Iik7CisgICAgcHVzaChAYXJndW1lbnRzLCAiSW5zcGVjdG9yRnJvbnRlbmRD
aGFubmVsKiBpbnNwZWN0b3JGcm9udGVuZENoYW5uZWwiKTsKKyAgICBwdXNoKEBmaWVsZEluaXRp
YWxpemVycywgIiAgICAgICAgOiBtX2luc3BlY3RvckZyb250ZW5kQ2hhbm5lbChpbnNwZWN0b3JG
cm9udGVuZENoYW5uZWwpIik7CisgICAgcHVzaChAYmFja2VuZEZvb3RlciwgIiAgICBJbnNwZWN0
b3JGcm9udGVuZENoYW5uZWwqIG1faW5zcGVjdG9yRnJvbnRlbmRDaGFubmVsOyIpOwogCiAgICAg
Zm9yZWFjaCBteSAkZG9tYWluIChzb3J0IGtleXMgJWJhY2tlbmREb21haW5zKSB7CiAgICAgICAg
ICMgQWRkIGFnZW50IGZpZWxkIGRlY2xhcmF0aW9uIHRvIHRoZSBmb290ZXIuCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ2xpZW50LmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNsaWVudC5oCShyZXZpc2lvbiA4MjgwNCkK
KysrIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDbGllbnQuaAkod29ya2luZyBj
b3B5KQpAQCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDcgQXBwbGUgSW5j
LiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5j
LiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpA
QCAtMjYsNiArMjcsNyBAQAogI2lmbmRlZiBJbnNwZWN0b3JDbGllbnRfaAogI2RlZmluZSBJbnNw
ZWN0b3JDbGllbnRfaAogCisjaW5jbHVkZSAiSW5zcGVjdG9yRnJvbnRlbmRDaGFubmVsLmgiCiAj
aW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMzQsNyAr
MzYsNyBAQCBjbGFzcyBJbnNwZWN0b3JDb250cm9sbGVyOwogY2xhc3MgTm9kZTsKIGNsYXNzIFBh
Z2U7CiAKLWNsYXNzIEluc3BlY3RvckNsaWVudCB7CitjbGFzcyBJbnNwZWN0b3JDbGllbnQgOiBw
dWJsaWMgSW5zcGVjdG9yRnJvbnRlbmRDaGFubmVsIHsKIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5J
bnNwZWN0b3JDbGllbnQoKSB7IH0KIApAQCAtNDUsOCArNDcsNiBAQCBwdWJsaWM6CiAgICAgdmly
dHVhbCB2b2lkIGhpZ2hsaWdodChOb2RlKikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBoaWRlSGln
aGxpZ2h0KCkgPSAwOwogCi0gICAgdmlydHVhbCBib29sIHNlbmRNZXNzYWdlVG9Gcm9udGVuZChj
b25zdCBTdHJpbmcmIG1lc3NhZ2UpID0gMDsKLQogICAgIC8vIE5hdmlnYXRpb24gY2FuIGNhdXNl
IHNvbWUgV2ViS2l0IGltcGxlbWVudGF0aW9ucyB0byBjaGFuZ2UgdGhlIHZpZXcgLyBwYWdlIC8g
aW5zcGVjdG9yIGNvbnRyb2xsZXIgaW5zdGFuY2UuCiAgICAgLy8gSG93ZXZlciwgdGhlcmUgYXJl
IHNvbWUgaW5zcGVjdG9yIGNvbnRyb2xsZXIgc3RhdGVzIHRoYXQgc2hvdWxkIHN1cnZpdmUgbmF2
aWdhdGlvbiAoc3VjaCBhcyB0cmFja2luZyByZXNvdXJjZXMKICAgICAvLyBvciByZWNvcmRpbmcg
dGltZWxpbmUpLiBGb2xsb3dpbmcgY2FsbGJhY2tzIGFsbG93IGVtYmVkZGVycyB0byB0cmFjayB0
aGVzZSBzdGF0ZXMuCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJv
bnRlbmRDaGFubmVsLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvckZyb250ZW5kQ2hhbm5lbC5oCShyZXZpc2lvbiAwKQorKysgU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2hhbm5lbC5oCShyZXZpc2lvbiAwKQpAQCAtMCww
ICsxLDQ1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuICBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisg
KiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisg
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLiAKKyAqLworCisjaWZuZGVmIEluc3BlY3RvckZyb250ZW5kQ2hhbm5lbF9o
CisjZGVmaW5lIEluc3BlY3RvckZyb250ZW5kQ2hhbm5lbF9oCisKKyNpZiBFTkFCTEUoSU5TUEVD
VE9SKQorCisjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgewor
CitjbGFzcyBJbnNwZWN0b3JGcm9udGVuZENoYW5uZWwgeworcHVibGljOgorICAgIHZpcnR1YWwg
fkluc3BlY3RvckZyb250ZW5kQ2hhbm5lbCgpIHsgfQorICAgIHZpcnR1YWwgYm9vbCBzZW5kTWVz
c2FnZVRvRnJvbnRlbmQoY29uc3QgU3RyaW5nJiBtZXNzYWdlKSA9IDA7Cit9OworCit9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQorCisjZW5kaWYg
Ly8gIWRlZmluZWQoSW5zcGVjdG9yRnJvbnRlbmRDaGFubmVsX2gpCg==
</data>
<flag name="review"
          id="80506"
          type_id="1"
          status="+"
          setter="yurys"
    />
          </attachment>
      

    </bug>

</bugzilla>