<?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>73311</bug_id>
          
          <creation_ts>2011-11-29 05:35:06 -0800</creation_ts>
          <short_desc>Web Inspector: introduce generic capabilities concept, migrate debugger domain to generic capabilities.</short_desc>
          <delta_ts>2011-11-29 12:57:34 -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="Pavel Feldman">pfeldman</reporter>
          <assigned_to name="Pavel Feldman">pfeldman</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>timothy</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>510706</commentid>
    <comment_count>0</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-11-29 05:35:06 -0800</bug_when>
    <thetext>This is necessary for getting rid of the &quot;capability&quot; part of the Preferences object.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>510708</commentid>
    <comment_count>1</comment_count>
      <attachid>116950</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-11-29 05:39:28 -0800</bug_when>
    <thetext>Created attachment 116950
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>510710</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-29 05:43:04 -0800</bug_when>
    <thetext>Attachment 116950 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/CMakeLists.txt&apos;, u&apos;Source/W...&quot; exit_code: 1

Source/WebCore/inspector/InspectorMetaAgent.cpp:47:  The parameter type should use PassRefPtr instead of RefPtr.  [readability/pass_ptr] [5]
Source/WebCore/inspector/InspectorMetaAgent.h:58:  The parameter type should use PassRefPtr instead of RefPtr.  [readability/pass_ptr] [5]
Total errors found: 2 in 33 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>510720</commentid>
    <comment_count>3</comment_count>
      <attachid>116955</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-11-29 06:05:34 -0800</bug_when>
    <thetext>Created attachment 116955
[Patch] for bots</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>510723</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-29 06:08:10 -0800</bug_when>
    <thetext>Attachment 116955 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/CMakeLists.txt&apos;, u&apos;Source/W...&quot; exit_code: 1

Source/WebCore/inspector/InspectorMetaAgent.cpp:47:  The parameter type should use PassRefPtr instead of RefPtr.  [readability/pass_ptr] [5]
Source/WebCore/inspector/InspectorMetaAgent.h:58:  The parameter type should use PassRefPtr instead of RefPtr.  [readability/pass_ptr] [5]
Total errors found: 2 in 33 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>510737</commentid>
    <comment_count>5</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-11-29 06:43:28 -0800</bug_when>
    <thetext>Committed r101367: &lt;http://trac.webkit.org/changeset/101367&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>510859</commentid>
    <comment_count>6</comment_count>
      <attachid>116950</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2011-11-29 09:39:52 -0800</bug_when>
    <thetext>Comment on attachment 116950
Patch

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

&gt; Source/WebCore/inspector/Inspector.json:44
&gt; +        &quot;domain&quot;: &quot;Meta&quot;,

This is not a great name. Why can&apos;t these just be added to the Inspector domain? They fit there IMHO.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>510952</commentid>
    <comment_count>7</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-11-29 11:36:58 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; (From update of attachment 116950 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=116950&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/inspector/Inspector.json:44
&gt; &gt; +        &quot;domain&quot;: &quot;Meta&quot;,
&gt; 
&gt; This is not a great name. Why can&apos;t these just be added to the Inspector domain? They fit there IMHO.

It was my plan and I was cleaning up Inspector domain for that very reason. But there is a couple of methods that are still there, so I ended up creating a brand new agent. The idea is that this agent provides Metainformation on the agents, hence the name.

Btw, getting the https://bugs.webkit.org/show_bug.cgi?id=72506 reviewed for WebKit2 will make the legacy workers debugging support vanish and hence InspectorAgent clean.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>511031</commentid>
    <comment_count>8</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2011-11-29 12:57:34 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; (In reply to comment #6)
&gt; &gt; (From update of attachment 116950 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=116950&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; Source/WebCore/inspector/Inspector.json:44
&gt; &gt; &gt; +        &quot;domain&quot;: &quot;Meta&quot;,
&gt; &gt; 
&gt; &gt; This is not a great name. Why can&apos;t these just be added to the Inspector domain? They fit there IMHO.
&gt; 
&gt; It was my plan and I was cleaning up Inspector domain for that very reason. But there is a couple of methods that are still there, so I ended up creating a brand new agent. The idea is that this agent provides Metainformation on the agents, hence the name.
&gt; 
&gt; Btw, getting the https://bugs.webkit.org/show_bug.cgi?id=72506 reviewed for WebKit2 will make the legacy workers debugging support vanish and hence InspectorAgent clean.

I see. The fact that the Inspector domain isn&apos;t empty shouldn&apos;t prevent adding these and removing the other methods from the Inspector domain once they can be removed. So I don&apos;t buy the argument that Meta needs to exists for that reason.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>116950</attachid>
            <date>2011-11-29 05:39:28 -0800</date>
            <delta_ts>2011-11-29 09:39:52 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-73311-20111129173925.patch</filename>
            <type>text/plain</type>
            <size>42215</size>
            <attacher name="Pavel Feldman">pfeldman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAxMzU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDc3MTAyZTc3M2RmMTNl
ZGE0NmY5OWYwMjFlMjI4ZjkwYWQwNDQ0ZS4uNDA4OTg2ZWE5OTIzODE4NTFkNDI0NjBlMmJhYTE3
ODZjOGRiMzJkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDc2IEBACisyMDExLTExLTI5ICBQYXZl
bCBGZWxkbWFuICA8cGZlbGRtYW5AZ29vZ2xlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9y
OiBpbnRyb2R1Y2UgZ2VuZXJpYyBjYXBhYmlsaXRpZXMgY29uY2VwdCwgbWlncmF0ZSBkZWJ1Z2dl
ciBkb21haW4gdG8gZ2VuZXJpYyBjYXBhYmlsaXRpZXMuCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MzMxMQorCisgICAgICAgIFRoaXMgc3RlcCBpcyBu
ZWNlc3NhcnkgZm9yIGdldHRpbmcgcmlkIG9mIHRoZSAnY2FwYWJpbGl0eScgYXNwZWN0IGluIHRo
ZSBQcmVmZXJlbmNlcy4gQXMgYSByZXN1bHQsCisgICAgICAgIHNpbmdsZSBmcm9udC1lbmQgd2ls
bCBiZSBhcHBsaWNhYmxlIHRvIG11bHRpcGxlIGJhY2tlbmQgY29uZmlndXJhdGlvbnMuCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBDTWFrZUxpc3Rz
LnR4dDoKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAqIFRhcmdldC5w
cmk6CisgICAgICAgICogV2ViQ29yZS5neXBpOgorICAgICAgICAqIFdlYkNvcmUudmNwcm9qL1dl
YkNvcmUudmNwcm9qOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
ajoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yLmpzb246CisgICAgICAgICogaW5zcGVj
dG9yL0luc3BlY3RvckFnZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckFnZW50
OjpJbnNwZWN0b3JBZ2VudCk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckFwcGxpY2F0
aW9uQ2FjaGVBZ2VudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JBcHBsaWNhdGlv
bkNhY2hlQWdlbnQ6Okluc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudCk6CisgICAgICAgICog
aW5zcGVjdG9yL0luc3BlY3RvckJhc2VBZ2VudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNw
ZWN0b3JCYXNlQWdlbnRJbnRlcmZhY2U6Okluc3BlY3RvckJhc2VBZ2VudEludGVyZmFjZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JCYXNlQWdlbnRJbnRlcmZhY2U6On5JbnNwZWN0b3JC
YXNlQWdlbnRJbnRlcmZhY2UpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JCYXNlQWdl
bnQuaDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckJhc2VBZ2VudEludGVyZmFjZTo6Z2V0
Q2FwYWJpbGl0aWVzKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckJhc2VBZ2VudEludGVy
ZmFjZTo6bmFtZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JCYXNlQWdlbnQ6Okluc3Bl
Y3RvckJhc2VBZ2VudCk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckNTU0FnZW50LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNTU0FnZW50OjpJbnNwZWN0b3JDU1NBZ2Vu
dCk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckNvbnNvbGVBZ2VudC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDb25zb2xlQWdlbnQ6Okluc3BlY3RvckNvbnNvbGVBZ2Vu
dCk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6SW5zcGVjdG9yQ29udHJvbGxlcjo6SW5zcGVjdG9yQ29udHJvbGxlcik6Cisg
ICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuaDoKKyAgICAgICAgKiBpbnNw
ZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9y
RE9NQWdlbnQ6Okluc3BlY3RvckRPTUFnZW50KToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVj
dG9yRE9NRGVidWdnZXJBZ2VudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JET01E
ZWJ1Z2dlckFnZW50OjpJbnNwZWN0b3JET01EZWJ1Z2dlckFnZW50KToKKyAgICAgICAgKiBpbnNw
ZWN0b3IvSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Oklu
c3BlY3RvckRPTVN0b3JhZ2VBZ2VudDo6SW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50KToKKyAgICAg
ICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRGF0YWJhc2VBZ2VudC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpJbnNwZWN0b3JEYXRhYmFzZUFnZW50OjpJbnNwZWN0b3JEYXRhYmFzZUFnZW50KToKKyAg
ICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpJbnNwZWN0b3JEZWJ1Z2dlckFnZW50OjpJbnNwZWN0b3JEZWJ1Z2dlckFnZW50KToK
KyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckRlYnVnZ2VyQWdlbnQ6OmdldENhcGFiaWxpdGll
cyk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckRlYnVnZ2VyQWdlbnQuaDoKKyAgICAg
ICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Okluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudDo6SW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50
KToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yTWV0YUFnZW50LmNwcDogQWRkZWQuCisg
ICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JNZXRhQWdlbnQ6On5JbnNwZWN0b3JNZXRhQWdlbnQp
OgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yTWV0YUFnZW50OjpnZXRDYXBhYmlsaXRpZXMp
OgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yTWV0YUFnZW50OjpJbnNwZWN0b3JNZXRhQWdl
bnQpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JNZXRhQWdlbnQuaDogQWRkZWQuCisg
ICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JNZXRhQWdlbnQ6OmNyZWF0ZSk6CisgICAgICAgICog
aW5zcGVjdG9yL0luc3BlY3RvclBhZ2VBZ2VudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNw
ZWN0b3JQYWdlQWdlbnQ6Okluc3BlY3RvclBhZ2VBZ2VudCk6CisgICAgICAgICogaW5zcGVjdG9y
L0luc3BlY3RvclByb2ZpbGVyQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9y
UHJvZmlsZXJBZ2VudDo6SW5zcGVjdG9yUHJvZmlsZXJBZ2VudCk6CisgICAgICAgICogaW5zcGVj
dG9yL0luc3BlY3RvclJlc291cmNlQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVj
dG9yUmVzb3VyY2VBZ2VudDo6SW5zcGVjdG9yUmVzb3VyY2VBZ2VudCk6CisgICAgICAgICogaW5z
cGVjdG9yL0luc3BlY3RvclJ1bnRpbWVBZ2VudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNw
ZWN0b3JSdW50aW1lQWdlbnQ6Okluc3BlY3RvclJ1bnRpbWVBZ2VudCk6CisgICAgICAgICogaW5z
cGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5z
cGVjdG9yVGltZWxpbmVBZ2VudDo6SW5zcGVjdG9yVGltZWxpbmVBZ2VudCk6CisgICAgICAgICog
aW5zcGVjdG9yL0luc3BlY3RvclZhbHVlcy5oOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9y
QXJyYXk6OmJlZ2luKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckFycmF5OjplbmQpOgor
ICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JXb3JrZXJBZ2VudC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpJbnNwZWN0b3JXb3JrZXJBZ2VudDo6SW5zcGVjdG9yV29ya2VyQWdlbnQpOgorICAg
ICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvRGVidWdnZXJNb2RlbC5qczoKKyAgICAgICAgKFdl
Ykluc3BlY3Rvci5EZWJ1Z2dlck1vZGVsLnByb3RvdHlwZS5lbmFibGVEZWJ1Z2dlcik6CisKIDIw
MTEtMTEtMjkgIE1hcmlvIFNhbmNoZXogUHJhZGEgIDxtc2FuY2hlekBpZ2FsaWEuY29tPgogCiAg
ICAgICAgIFtHdGtdIFJlZ3Jlc3Npb246IHRleHQtaW5zZXJ0ZWQgZXZlbnRzIGxhY2sgdGV4dCBp
bnNlcnRlZCBhbmQgY3VycmVudCBsaW5lCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFr
ZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDhiYjk2OTU0
NzNhNDlkZTYxYTcxY2VjYjAwM2YwNjk2NWYwODc4NmMuLjhjMjFhZDczNjllZWY1NjM4NTFhYzAx
ZGI4ZTc2ZTI2Njc0Njk5ZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMu
dHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC04ODYsNiArODg2LDcg
QEAgU0VUKFdlYkNvcmVfU09VUkNFUwogICAgIGluc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENs
aWVudExvY2FsLmNwcAogICAgIGluc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuY3BwCiAg
ICAgaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAKKyAgICBpbnNwZWN0b3Iv
SW5zcGVjdG9yTWV0YUFnZW50LmNwcAogICAgIGluc3BlY3Rvci9JbnNwZWN0b3JQcm9maWxlckFn
ZW50LmNwcAogICAgIGluc3BlY3Rvci9JbnNwZWN0b3JSZXNvdXJjZUFnZW50LmNwcAogICAgIGlu
c3BlY3Rvci9JbnNwZWN0b3JSdW50aW1lQWdlbnQuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9HTlVtYWtlZmlsZS5saXN0LmFtIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlz
dC5hbQppbmRleCBjMDdiMDdhNmY4NDJhNWE2N2EzZmM3NDVjMjM1M2M2MDRmZGVmOGIzLi41N2E2
MWU1MTk3ZjkwOWIzNzcxYjJlNmRhM2RlZDYyOGJlMzJmOGNjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2Vm
aWxlLmxpc3QuYW0KQEAgLTIwNzEsNiArMjA3MSw4IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJ
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5oIFwKIAlTb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcCBcCiAJU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oIFwKKwlTb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yTWV0YUFnZW50LmNwcCBcCisJU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck1ldGFBZ2VudC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50LmNwcCBcCiAJU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvclBhZ2VBZ2VudC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yUHJvZmlsZXJBZ2VudC5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvVGFy
Z2V0LnByaSBiL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKaW5kZXggMDAzMTE2NTM0MTAyYzY3
M2JlNTY2Y2Q4MjdjZTQ2NTUzYWYzMGNiZi4uYzYwZGQ3YTUwMGE5ZTdhOTNkOTNiYjFlMDgwYmU1
ZDExZDk3NTQyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQorKysgYi9T
b3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCkBAIC04NjYsNiArODY2LDcgQEAgU09VUkNFUyArPSBc
CiAgICAgaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwuY3BwIFwKICAgICBp
bnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmNwcCBcCiAgICAgaW5zcGVjdG9yL0luc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbi5jcHAgXAorICAgIGluc3BlY3Rvci9JbnNwZWN0b3JNZXRhQWdl
bnQuY3BwIFwKICAgICBpbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50LmNwcCBcCiAgICAgaW5z
cGVjdG9yL0luc3BlY3RvclByb2ZpbGVyQWdlbnQuY3BwIFwKICAgICBpbnNwZWN0b3IvSW5zcGVj
dG9yUmVzb3VyY2VBZ2VudC5jcHAgXApAQCAtMTkxMSw2ICsxOTEyLDcgQEAgSEVBREVSUyArPSBc
CiAgICAgaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwuaCBcCiAgICAgaW5z
cGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5oIFwKICAgICBpbnNwZWN0b3IvSW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uLmggXAorICAgIGluc3BlY3Rvci9JbnNwZWN0b3JNZXRhQWdlbnQuaCBc
CiAgICAgaW5zcGVjdG9yL0luc3BlY3RvclBhZ2VBZ2VudC5oIFwKICAgICBpbnNwZWN0b3IvSW5z
cGVjdG9yUHJvZmlsZXJBZ2VudC5oIFwKICAgICBpbnNwZWN0b3IvSW5zcGVjdG9yUmVzb3VyY2VB
Z2VudC5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCA0YmY0NmYxMjFkMDg2YTM5NmQ1OTBmN2VkODJm
NjE0ZjkxNWVhZDhkLi5jOTAwZGM1MzhiMGYyODg2ZDU4MzIwNWU2ODAyMmFlMGMzZjJhYjI0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS5neXBpCkBAIC0yNzU2LDYgKzI3NTYsOCBAQAogICAgICAgICAgICAgJ2luc3Bl
Y3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuaCcsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL0lu
c3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9JbnNw
ZWN0b3JJbnN0cnVtZW50YXRpb24uaCcsCisgICAgICAgICAgICAnaW5zcGVjdG9yL0luc3BlY3Rv
ck1ldGFBZ2VudC5jcHAnLAorICAgICAgICAgICAgJ2luc3BlY3Rvci9JbnNwZWN0b3JNZXRhQWdl
bnQuaCcsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL0luc3BlY3RvclBhZ2VBZ2VudC5jcHAnLAog
ICAgICAgICAgICAgJ2luc3BlY3Rvci9JbnNwZWN0b3JQYWdlQWdlbnQuaCcsCiAgICAgICAgICAg
ICAnaW5zcGVjdG9yL0luc3BlY3RvclByb2ZpbGVyQWdlbnQuY3BwJywKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5kZXggMDJkYjIzMWYwOTEzOTBiYWEz
YjRhYTY5MWM1ODI2YWY4NzA3NmUyOC4uNzFiNjc0MGNkMTIzNjJlYmQ2OWYwOWIxMzUxYzA1MmM5
YWJiMTNhMSAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29y
ZS52Y3Byb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3By
b2oKQEAgLTY4NTM0LDYgKzY4NTM0LDE0IEBACiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUK
KwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGluc3BlY3RvclxJbnNwZWN0b3JNZXRhQWdlbnQuY3BwIgor
CQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxpbnNwZWN0
b3JcSW5zcGVjdG9yTWV0YUFnZW50LmgiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKIAkJ
CQlSZWxhdGl2ZVBhdGg9Ii4uXGluc3BlY3RvclxJbnNwZWN0b3JQYWdlQWdlbnQuY3BwIgogCQkJ
CT4KIAkJCTwvRmlsZT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagppbmRleCA0ZTkyZWFlZmE4NGU5ZjI0MzExN2VkYTE1MTZiYzVmZmQ0YTBm
OThkLi42ZDVjYWVhMDlkZWNlNTNhNjgxZDBjZTBmMzhmY2U4YzljMmUyYWQ3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xODEy
LDYgKzE4MTIsOCBAQAogCQk3QUEzNjVFRTEyRTcyNjU0MDBEQ0EyNDIgLyogSW5zcGVjdG9yUnVu
dGltZUFnZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDdBQTM2NUVEMTJFNzI2NTQwMERDQTI0MiAvKiBJbnNwZWN0b3JSdW50aW1lQWdlbnQuY3Bw
ICovOyB9OwogCQk3QUE1MUI2RTE0ODNCNjE2MDBBRDI3NTIgLyogSW5zcGVjdG9yQmFzZUFnZW50
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QUE1MUI2
QzE0ODNCNjE2MDBBRDI3NTIgLyogSW5zcGVjdG9yQmFzZUFnZW50LmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJN0FBNTFCNkYxNDgzQjYxNjAwQUQy
NzUyIC8qIEluc3BlY3RvckJhc2VBZ2VudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA3QUE1MUI2RDE0ODNCNjE2MDBBRDI3NTIgLyogSW5zcGVjdG9y
QmFzZUFnZW50LmNwcCAqLzsgfTsKKwkJN0FBNTFERDUxNDg1MDZBOTAwQUQyNzUyIC8qIEluc3Bl
Y3Rvck1ldGFBZ2VudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA3QUE1MUREMzE0ODUwNkE5MDBBRDI3NTIgLyogSW5zcGVjdG9yTWV0YUFnZW50LmNw
cCAqLzsgfTsKKwkJN0FBNTFERDYxNDg1MDZBOTAwQUQyNzUyIC8qIEluc3BlY3Rvck1ldGFBZ2Vu
dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0FBNTFE
RDQxNDg1MDZBOTAwQUQyNzUyIC8qIEluc3BlY3Rvck1ldGFBZ2VudC5oICovOyB9OwogCQk3QUIw
QjFDMDEyMTFBNjIyMDBBNzY5NDAgLyogSW5zcGVjdG9yRGF0YWJhc2VBZ2VudC5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QUIwQjFCRTEyMTFBNjIy
MDBBNzY5NDAgLyogSW5zcGVjdG9yRGF0YWJhc2VBZ2VudC5jcHAgKi87IH07CiAJCTdBQjBCMUMx
MTIxMUE2MjIwMEE3Njk0MCAvKiBJbnNwZWN0b3JEYXRhYmFzZUFnZW50LmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QUIwQjFCRjEyMTFBNjIyMDBBNzY5
NDAgLyogSW5zcGVjdG9yRGF0YWJhc2VBZ2VudC5oICovOyB9OwogCQk3QURFNzIyNjEwQ0JCQjlC
MDA2QjNCM0EgLyogQ29udGV4dE1lbnVQcm92aWRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0FERTcyMjUxMENCQkI5QjAwNkIzQjNBIC8qIENvbnRl
eHRNZW51UHJvdmlkZXIuaCAqLzsgfTsKQEAgLTkwNTUsNiArOTA1Nyw4IEBACiAJCTdBQTM2NUVE
MTJFNzI2NTQwMERDQTI0MiAvKiBJbnNwZWN0b3JSdW50aW1lQWdlbnQuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSW5zcGVjdG9yUnVudGltZUFnZW50LmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0FBNTFCNkMxNDgzQjYxNjAwQUQyNzUyIC8qIElu
c3BlY3RvckJhc2VBZ2VudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbnNw
ZWN0b3JCYXNlQWdlbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0FBNTFCNkQx
NDgzQjYxNjAwQUQyNzUyIC8qIEluc3BlY3RvckJhc2VBZ2VudC5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJbnNwZWN0b3JCYXNlQWdlbnQuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQk3QUE1MUREMzE0ODUwNkE5MDBBRDI3NTIgLyogSW5zcGVjdG9y
TWV0YUFnZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEluc3Bl
Y3Rvck1ldGFBZ2VudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTdBQTUxREQ0
MTQ4NTA2QTkwMEFEMjc1MiAvKiBJbnNwZWN0b3JNZXRhQWdlbnQuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gSW5zcGVjdG9yTWV0YUFnZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTdBQjBCMUJFMTIxMUE2MjIwMEE3Njk0MCAvKiBJbnNwZWN0b3JEYXRhYmFz
ZUFnZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEluc3BlY3Rv
ckRhdGFiYXNlQWdlbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3QUIwQjFC
RjEyMTFBNjIyMDBBNzY5NDAgLyogSW5zcGVjdG9yRGF0YWJhc2VBZ2VudC5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBJbnNwZWN0b3JEYXRhYmFzZUFnZW50Lmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdBREU3MjI1MTBDQkJCOUIwMDZCM0IzQSAvKiBDb250ZXh0
TWVudVByb3ZpZGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvbnRleHRN
ZW51UHJvdmlkZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE0NTM1LDYgKzE0
NTM5LDggQEAKIAkJCQk3QTBFNzcwRDEwQzAwQTg4MDBBMDI3NkUgLyogSW5zcGVjdG9yRnJvbnRl
bmRIb3N0LmlkbCAqLywKIAkJCQkyMEQ2MjkyNDEyNTM2OTBCMDAwODE1NDMgLyogSW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uLmNwcCAqLywKIAkJCQkyMEQ2MjkyNTEyNTM2OTBCMDAwODE1NDMgLyog
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmggKi8sCisJCQkJN0FBNTFERDMxNDg1MDZBOTAwQUQy
NzUyIC8qIEluc3BlY3Rvck1ldGFBZ2VudC5jcHAgKi8sCisJCQkJN0FBNTFERDQxNDg1MDZBOTAw
QUQyNzUyIC8qIEluc3BlY3Rvck1ldGFBZ2VudC5oICovLAogCQkJCTRGNkZERDYyMTM0MURFREQw
MDFGOEVFMyAvKiBJbnNwZWN0b3JQYWdlQWdlbnQuY3BwICovLAogCQkJCTRGNkZERDYzMTM0MURF
REQwMDFGOEVFMyAvKiBJbnNwZWN0b3JQYWdlQWdlbnQuaCAqLywKIAkJCQk5RjBENkIyQzEyMUJG
RUJBMDA2QzAyODggLyogSW5zcGVjdG9yUHJvZmlsZXJBZ2VudC5jcHAgKi8sCkBAIC0yNDczMSw2
ICsyNDczNyw3IEBACiAJCQkJQTEwREM3NkIxNDc0N0JBQjAwNUUyNDcxIC8qIFN0eWxlR3JpZERh
dGEuaCBpbiBIZWFkZXJzICovLAogCQkJCTMxMkMwQzQxMTQ2REM2Q0MwMDE2QzkxMSAvKiBOb3Rp
ZmljYXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTMxMjhDQTZCMTQ3MzMxNjMwMDc0QzcyQSAv
KiBOb3RpZmljYXRpb25Db250cm9sbGVyLmggaW4gSGVhZGVycyAqLywKKwkJCQk3QUE1MURENjE0
ODUwNkE5MDBBRDI3NTIgLyogSW5zcGVjdG9yTWV0YUFnZW50LmggaW4gSGVhZGVycyAqLywKIAkJ
CSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKQEAg
LTI3NjA1LDYgKzI3NjEyLDcgQEAKIAkJCQk3QUE1MUI2RjE0ODNCNjE2MDBBRDI3NTIgLyogSW5z
cGVjdG9yQmFzZUFnZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUExMERDNzZBMTQ3NDdCQUIw
MDVFMjQ3MSAvKiBTdHlsZUdyaWREYXRhLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTMxMjhDQTY4
MTQ3MzMxNTIwMDc0QzcyQSAvKiBOb3RpZmljYXRpb25Db250cm9sbGVyLmNwcCBpbiBTb3VyY2Vz
ICovLAorCQkJCTdBQTUxREQ1MTQ4NTA2QTkwMEFEMjc1MiAvKiBJbnNwZWN0b3JNZXRhQWdlbnQu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJv
Y2Vzc2luZyA9IDA7CiAJCX07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yLmpzb24gYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpzb24K
aW5kZXggNjE1Y2YwZmFmNTcxODVhMjQ1ZmU0Mzc0NWU0ZjdkNjcyMGE3MzI4Zi4uMTVlNzFmOTA1
Mjc0MGNmNWVkZjBkYzQzN2Y0ZGI3ZDhkNDE5MzJhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3IuanNvbgpAQCAtNDEsNiArNDEsMzMgQEAKICAgICAgICAgXQogICAgIH0sCiAg
ICAgeworICAgICAgICAiZG9tYWluIjogIk1ldGEiLAorICAgICAgICAiaGlkZGVuIjogdHJ1ZSwK
KyAgICAgICAgInR5cGVzIjogWworICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICJpZCI6
ICJEb21haW5DYXBhYmlsaXRpZXMiLAorICAgICAgICAgICAgICAgICJ0eXBlIjogIm9iamVjdCIs
CisgICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkRvbWFpbiBjYXBhYmlsaXRpZXMgZGVz
Y3JpcHRvci4iLAorICAgICAgICAgICAgICAgICJwcm9wZXJ0aWVzIjogWworICAgICAgICAgICAg
ICAgICAgICB7ICJuYW1lIjogImRvbWFpbk5hbWUiLCAidHlwZSI6ICJzdHJpbmciLCAiZGVzY3Jp
cHRpb24iOiAiRG9tYWluIG5hbWUuIiB9LAorICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjog
ImNhcGFiaWxpdGllcyIsICJ0eXBlIjogImFycmF5IiwgIml0ZW1zIjogeyAidHlwZSI6ICJzdHJp
bmciIH0sICJkZXNjcmlwdGlvbiI6ICJMaXN0IG9mIHRoZSBjYXBhYmlsaXRpZXMuIiB9CisgICAg
ICAgICAgICAgICAgXQorICAgICAgICAgICAgfQorICAgICAgICBdLAorICAgICAgICAiY29tbWFu
ZHMiOiBbCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgIm5hbWUiOiAiZ2V0Q2FwYWJp
bGl0aWVzIiwKKyAgICAgICAgICAgICAgICAicGFyYW1ldGVycyI6IFsKKyAgICAgICAgICAgICAg
ICAgICAgeyAibmFtZSI6ICJkb21haW5OYW1lcyIsICJ0eXBlIjogImFycmF5IiwgIml0ZW1zIjog
IHsgInR5cGUiOiAic3RyaW5nIiB9LCAiZGVzY3JpcHRpb24iOiAiTGlzdCBvZiB0aGUgZG9tYWlu
cyB0byByZXR1cm4gY2FwYWJpbGl0aWVzIGZvci4iIH0KKyAgICAgICAgICAgICAgICBdLAorICAg
ICAgICAgICAgICAgICJyZXR1cm5zIjogWworICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjog
ImNhcGFiaWxpdGllcyIsICJ0eXBlIjogImFycmF5IiwgIml0ZW1zIjogeyAiJHJlZiI6ICJEb21h
aW5DYXBhYmlsaXRpZXMifSwgImRlc2NyaXB0aW9uIjogIkFycmF5IG9mIHRoZSBkb21haW4gY2Fw
YWJpbGl0aWVzLiIgfQorICAgICAgICAgICAgICAgIF0sCisgICAgICAgICAgICAgICAgImRlc2Ny
aXB0aW9uIjogIlJldHVybnMgY2FwYWJpbGl0eSBkZXNjcmlwdG9ycyBmb3IgdGhlIGdpdmVuIGRv
bWFpbiBuYW1lcy4iCisgICAgICAgICAgICB9CisgICAgICAgIF0KKyAgICB9LAorICAgIHsKICAg
ICAgICAgImRvbWFpbiI6ICJQYWdlIiwKICAgICAgICAgImRlc2NyaXB0aW9uIjogIkFjdGlvbnMg
YW5kIGV2ZW50cyByZWxhdGVkIHRvIHRoZSBpbnNwZWN0ZWQgcGFnZSBiZWxvbmcgdG8gdGhlIHBh
Z2UgZG9tYWluLiIsCiAgICAgICAgICJ0eXBlcyI6IFsKQEAgLTE3ODcsMTQgKzE4MTQsNiBAQAog
ICAgICAgICBdLAogICAgICAgICAiY29tbWFuZHMiOiBbCiAgICAgICAgICAgICB7Ci0gICAgICAg
ICAgICAgICAgIm5hbWUiOiAiZ2V0Q2FwYWJpbGl0aWVzIiwKLSAgICAgICAgICAgICAgICAicmV0
dXJucyI6IFsKLSAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJjYXBhYmlsaXRpZXMiLCAi
dHlwZSI6ICJhcnJheSIsICJpdGVtcyI6IHsgInR5cGUiOiAic3RyaW5nIn0sICJkZXNjcmlwdGlv
biI6ICJMaXN0IG9mIHRoZSBkZWJ1Z2dlciBkb21haW4gY2FwYWJpbGl0aWVzIiB9Ci0gICAgICAg
ICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiUmV0dXJucyB0aGUg
bGlzdCBvZiB0aGUgZGVidWdnZXIgY2FwYWJpbGl0aWVzLiIsCi0gICAgICAgICAgICAgICAgImhp
ZGRlbiI6IHRydWUKLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7CiAgICAgICAgICAgICAg
ICAgIm5hbWUiOiAiZW5hYmxlIiwKICAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiRW5h
YmxlcyBkZWJ1Z2dlciBmb3IgdGhlIGdpdmVuIHBhZ2UuIENsaWVudHMgc2hvdWxkIG5vdCBhc3N1
bWUgdGhhdCB0aGUgZGVidWdnaW5nIGhhcyBiZWVuIGVuYWJsZWQgdW50aWwgdGhlIHJlc3VsdCBm
b3IgdGhpcyBjb21tYW5kIGlzIHJlY2VpdmVkLiIKICAgICAgICAgICAgIH0sCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQWdlbnQuY3BwIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFnZW50LmNwcAppbmRleCBkYzkyMWExNjJlZTViODI5
YmQ3ZGY4MjQxOTRiN2ExYjAxZTlkYmYxLi41YmRmOGM2MWVlYmJjMGQwMzVlN2U0NjBhMDVjMjgx
ZjQzNDE1ZWVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
QWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBZ2VudC5j
cHAKQEAgLTYyLDcgKzYyLDcgQEAgc3RhdGljIGNvbnN0IGNoYXIgY29uc29sZVBhbmVsTmFtZVtd
ID0gImNvbnNvbGUiOwogc3RhdGljIGNvbnN0IGNoYXIgcHJvZmlsZXNQYW5lbE5hbWVbXSA9ICJw
cm9maWxlcyI7CiAKIEluc3BlY3RvckFnZW50OjpJbnNwZWN0b3JBZ2VudChQYWdlKiBwYWdlLCBJ
bmplY3RlZFNjcmlwdE1hbmFnZXIqIGluamVjdGVkU2NyaXB0TWFuYWdlciwgSW5zdHJ1bWVudGlu
Z0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cywgSW5zcGVjdG9yU3RhdGUqIHN0YXRlKQotICAg
IDogSW5zcGVjdG9yQmFzZUFnZW50PEluc3BlY3RvckFnZW50PihpbnN0cnVtZW50aW5nQWdlbnRz
LCBzdGF0ZSkKKyAgICA6IEluc3BlY3RvckJhc2VBZ2VudDxJbnNwZWN0b3JBZ2VudD4oIkluc3Bl
Y3RvciIsIGluc3RydW1lbnRpbmdBZ2VudHMsIHN0YXRlKQogICAgICwgbV9pbnNwZWN0ZWRQYWdl
KHBhZ2UpCiAgICAgLCBtX2Zyb250ZW5kKDApCiAgICAgLCBtX2luamVjdGVkU2NyaXB0TWFuYWdl
cihpbmplY3RlZFNjcmlwdE1hbmFnZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQuY3BwCmluZGV4IGYzZmE5
MjhmMTc3Y2E5MjRjYzQ1MTEyZmY1OGE3OGNiNjg2YjU5YTEuLmIxN2U1NDUxZGI5NzJkNDA4ZDcy
YTAwZDM0MjUxZjIwNTdiYjQ1MDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQuY3BwCkBAIC00OSw3ICs0
OSw3IEBAIHN0YXRpYyBjb25zdCBjaGFyIGFwcGxpY2F0aW9uQ2FjaGVBZ2VudEVuYWJsZWRbXSA9
ICJhcHBsaWNhdGlvbkNhY2hlQWdlbnRFbmFibGVkCiB9CiAKIEluc3BlY3RvckFwcGxpY2F0aW9u
Q2FjaGVBZ2VudDo6SW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50KEluc3RydW1lbnRpbmdB
Z2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMsIEluc3BlY3RvclN0YXRlKiBzdGF0ZSwgSW5zcGVj
dG9yUGFnZUFnZW50KiBwYWdlQWdlbnQpCi0gICAgOiBJbnNwZWN0b3JCYXNlQWdlbnQ8SW5zcGVj
dG9yQXBwbGljYXRpb25DYWNoZUFnZW50PihpbnN0cnVtZW50aW5nQWdlbnRzLCBzdGF0ZSkKKyAg
ICA6IEluc3BlY3RvckJhc2VBZ2VudDxJbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQ+KCJB
cHBsaWNhdGlvbkNhY2hlIiwgaW5zdHJ1bWVudGluZ0FnZW50cywgc3RhdGUpCiAgICAgLCBtX3Bh
Z2VBZ2VudChwYWdlQWdlbnQpCiAgICAgLCBtX2Zyb250ZW5kKDApCiB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQmFzZUFnZW50LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JCYXNlQWdlbnQuY3BwCmluZGV4IDc0OTYwNzNiYTQ1
NzgzMTNkYTkzY2FiMWQ3ZmEyYTA5N2EzZjFmNTAuLjg0MmU0YTAwOGUyYzUzZGRhMGM2ZGExMDBk
MjY5M2YwNzM3NGQ2MmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JCYXNlQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JCYXNlQWdlbnQuY3BwCkBAIC0zNSw2ICszNSwxNSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKK0luc3BlY3RvckJhc2VBZ2VudEludGVyZmFjZTo6SW5zcGVjdG9yQmFzZUFnZW50SW50ZXJm
YWNlKGNvbnN0IFN0cmluZyYgbmFtZSkKKyAgICA6IG1fbmFtZShuYW1lKQoreworfQorCitJbnNw
ZWN0b3JCYXNlQWdlbnRJbnRlcmZhY2U6On5JbnNwZWN0b3JCYXNlQWdlbnRJbnRlcmZhY2UoKQor
eworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBFTkFCTEUoSU5TUEVD
VE9SKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckJhc2VB
Z2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckJhc2VBZ2VudC5oCmlu
ZGV4IDgxZjA3OWJjMGQ5ODhlNjFhMzIxMzRjOWMzYTRkMTRjYmM0NTYwYzMuLjI3Y2FiZGRhZGZl
OTgzM2RhZjk0YjNkZjdlNjlhMjg5MzhlYTIwNGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JCYXNlQWdlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yQmFzZUFnZW50LmgKQEAgLTMyLDYgKzMyLDggQEAKICNkZWZpbmUgSW5z
cGVjdG9yQmFzZUFnZW50X2gKIAogI2luY2x1ZGUgIkluc3BlY3RvckJhY2tlbmREaXNwYXRjaGVy
LmgiCisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmlu
Zy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTQxLDEyICs0MywxOCBAQCBjbGFzcyBJ
bnN0cnVtZW50aW5nQWdlbnRzOwogCiBjbGFzcyBJbnNwZWN0b3JCYXNlQWdlbnRJbnRlcmZhY2Ug
ewogcHVibGljOgotICAgIEluc3BlY3RvckJhc2VBZ2VudEludGVyZmFjZSgpIHsgfQotICAgIHZp
cnR1YWwgfkluc3BlY3RvckJhc2VBZ2VudEludGVyZmFjZSgpIHsgfQorICAgIGV4cGxpY2l0IElu
c3BlY3RvckJhc2VBZ2VudEludGVyZmFjZShjb25zdCBTdHJpbmcmIG5hbWUpOworICAgIHZpcnR1
YWwgfkluc3BlY3RvckJhc2VBZ2VudEludGVyZmFjZSgpOworCiAgICAgdmlydHVhbCB2b2lkIHNl
dEZyb250ZW5kKEluc3BlY3RvckZyb250ZW5kKikgeyB9CiAgICAgdmlydHVhbCB2b2lkIGNsZWFy
RnJvbnRlbmQoKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgcmVzdG9yZSgpIHsgfQogICAgIHZpcnR1
YWwgdm9pZCByZWdpc3RlckluRGlzcGF0Y2hlcihJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlciop
ID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgZ2V0Q2FwYWJpbGl0aWVzKEluc3BlY3RvckFycmF5KiBj
YXBhYmlsaXRpZXMpIHsgfTsKKworICAgIFN0cmluZyBuYW1lKCkgeyByZXR1cm4gbV9uYW1lOyB9
Citwcml2YXRlOgorICAgIFN0cmluZyBtX25hbWU7CiB9OwogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBU
PgpAQCAtNjAsOCArNjgsOSBAQCBwdWJsaWM6CiAgICAgfQogCiBwcm90ZWN0ZWQ6Ci0gICAgSW5z
cGVjdG9yQmFzZUFnZW50KEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMs
IEluc3BlY3RvclN0YXRlKiBpbnNwZWN0b3JTdGF0ZSkKLSAgICAgICAgOiBtX2luc3RydW1lbnRp
bmdBZ2VudHMoaW5zdHJ1bWVudGluZ0FnZW50cykKKyAgICBJbnNwZWN0b3JCYXNlQWdlbnQoY29u
c3QgU3RyaW5nJiBuYW1lLCBJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRz
LCBJbnNwZWN0b3JTdGF0ZSogaW5zcGVjdG9yU3RhdGUpCisgICAgICAgIDogSW5zcGVjdG9yQmFz
ZUFnZW50SW50ZXJmYWNlKG5hbWUpCisgICAgICAgICwgbV9pbnN0cnVtZW50aW5nQWdlbnRzKGlu
c3RydW1lbnRpbmdBZ2VudHMpCiAgICAgICAgICwgbV9zdGF0ZShpbnNwZWN0b3JTdGF0ZSkKICAg
ICB7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckNTU0FnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDU1NBZ2Vu
dC5jcHAKaW5kZXggMjdkZjY5NWM3OTE2ZTkyMzk0ZjBjNWJkMGRkNGFhMTFjYTdhNGQ1Yi4uN2Nj
Y2JiYzFlOWZlNDQ2MDEyY2ZiY2FmNzFiNzkyNmUwYmI5MTI2OCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNTU0FnZW50LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ1NTQWdlbnQuY3BwCkBAIC0xODUsNyArMTg1LDcgQEAg
Q1NTU3R5bGVSdWxlKiBJbnNwZWN0b3JDU1NBZ2VudDo6YXNDU1NTdHlsZVJ1bGUoQ1NTUnVsZSog
cnVsZSkKIH0KIAogSW5zcGVjdG9yQ1NTQWdlbnQ6Okluc3BlY3RvckNTU0FnZW50KEluc3RydW1l
bnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMsIEluc3BlY3RvclN0YXRlKiBzdGF0ZSwg
SW5zcGVjdG9yRE9NQWdlbnQqIGRvbUFnZW50KQotICAgIDogSW5zcGVjdG9yQmFzZUFnZW50PElu
c3BlY3RvckNTU0FnZW50PihpbnN0cnVtZW50aW5nQWdlbnRzLCBzdGF0ZSkKKyAgICA6IEluc3Bl
Y3RvckJhc2VBZ2VudDxJbnNwZWN0b3JDU1NBZ2VudD4oIkNTUyIsIGluc3RydW1lbnRpbmdBZ2Vu
dHMsIHN0YXRlKQogICAgICwgbV9kb21BZ2VudChkb21BZ2VudCkKICAgICAsIG1fbGFzdFBzZXVk
b1N0YXRlKDApCiAgICAgLCBtX2xhc3RTdHlsZVNoZWV0SWQoMSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb25zb2xlQWdlbnQuY3BwIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnNvbGVBZ2VudC5jcHAKaW5kZXggNjgzZDg5YWVh
M2I5YzYwZDdjMzc3MjI5M2I1MjZlZDY0N2YzNDNjZC4uNjNiYzgzMGI0YThiNTdlZTAxNzhhNDFl
ODY1MGUyZTRhODA2MDFiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvckNvbnNvbGVBZ2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvckNvbnNvbGVBZ2VudC5jcHAKQEAgLTU3LDcgKzU3LDcgQEAgc3RhdGljIGNvbnN0IGNo
YXIgY29uc29sZU1lc3NhZ2VzRW5hYmxlZFtdID0gImNvbnNvbGVNZXNzYWdlc0VuYWJsZWQiOwog
fQogCiBJbnNwZWN0b3JDb25zb2xlQWdlbnQ6Okluc3BlY3RvckNvbnNvbGVBZ2VudChJbnN0cnVt
ZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzLCBJbnNwZWN0b3JTdGF0ZSogc3RhdGUs
IEluamVjdGVkU2NyaXB0TWFuYWdlciogaW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKQotICAgIDogSW5z
cGVjdG9yQmFzZUFnZW50PEluc3BlY3RvckNvbnNvbGVBZ2VudD4oaW5zdHJ1bWVudGluZ0FnZW50
cywgc3RhdGUpCisgICAgOiBJbnNwZWN0b3JCYXNlQWdlbnQ8SW5zcGVjdG9yQ29uc29sZUFnZW50
PigiQ29uc29sZSIsIGluc3RydW1lbnRpbmdBZ2VudHMsIHN0YXRlKQogICAgICwgbV9pbmplY3Rl
ZFNjcmlwdE1hbmFnZXIoaW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKQogICAgICwgbV9mcm9udGVuZCgw
KQogICAgICwgbV9wcmV2aW91c01lc3NhZ2UoMCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcAppbmRleCAxMTA3NjUwZDU4ZTkxOWJjYmQ3ZGMx
M2Y2ZjU2MDgzNDA5ODE1OTI5Li44ZjAyZTQ5OWI2Yzg4N2Q3MDc2NzJmNTQyNDAxMDkyZTkwODYy
YzQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJv
bGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xs
ZXIuY3BwCkBAIC01Myw2ICs1Myw3IEBACiAjaW5jbHVkZSAiSW5zcGVjdG9yRnJvbnRlbmQuaCIK
ICNpbmNsdWRlICJJbnNwZWN0b3JGcm9udGVuZENsaWVudC5oIgogI2luY2x1ZGUgIkluc3BlY3Rv
ckluc3RydW1lbnRhdGlvbi5oIgorI2luY2x1ZGUgIkluc3BlY3Rvck1ldGFBZ2VudC5oIgogI2lu
Y2x1ZGUgIkluc3BlY3RvclBhZ2VBZ2VudC5oIgogI2luY2x1ZGUgIkluc3BlY3RvclByb2ZpbGVy
QWdlbnQuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JSZXNvdXJjZUFnZW50LmgiCkBAIC0xMzYsNiAr
MTM3LDggQEAgSW5zcGVjdG9yQ29udHJvbGxlcjo6SW5zcGVjdG9yQ29udHJvbGxlcihQYWdlKiBw
YWdlLCBJbnNwZWN0b3JDbGllbnQqIGluc3BlY3RvckMKICAgICBtX2FnZW50cy5hcHBlbmQoSW5z
cGVjdG9yV29ya2VyQWdlbnQ6OmNyZWF0ZShtX2luc3RydW1lbnRpbmdBZ2VudHMuZ2V0KCksIG1f
c3RhdGUuZ2V0KCkpKTsKICNlbmRpZgogCisgICAgbV9hZ2VudHMuYXBwZW5kKEluc3BlY3Rvck1l
dGFBZ2VudDo6Y3JlYXRlKG1faW5zdHJ1bWVudGluZ0FnZW50cy5nZXQoKSwgbV9zdGF0ZS5nZXQo
KSwgJm1fYWdlbnRzKSk7CisKICAgICBBU1NFUlRfQVJHKGluc3BlY3RvckNsaWVudCwgaW5zcGVj
dG9yQ2xpZW50KTsKICAgICBtX2luamVjdGVkU2NyaXB0TWFuYWdlci0+aW5qZWN0ZWRTY3JpcHRI
b3N0KCktPmluaXQobV9pbnNwZWN0b3JBZ2VudAogICAgICAgICAsIGNvbnNvbGVBZ2VudApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuaCBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmgKaW5kZXggZmU3
N2E0YTRlMGE0ZWM3MDZjZDMyMDBiNWYwM2YwODdhYmYwMzg5OS4uY2Q2MTQ4NmQ0YTM0YWJiMjM3
NjdmNmJmZGQ2ZTA3ZmNjZDQwMGJmYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvckNvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yQ29udHJvbGxlci5oCkBAIC0zMyw4ICszMyw4IEBACiAKICNpbmNsdWRlICJQbGF0
Zm9ybVN0cmluZy5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CisjaW5jbHVkZSA8d3RmL0hh
c2hNYXAuaD4KICNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KLSNpbmNsdWRlIDx3dGYvVmVj
dG9yLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JET01BZ2VudC5jcHAKaW5kZXggODYzOWM1Njc3YzllMWNhNTQ3OWE1MDZj
MjU3NzczMzZkNDE1ZDZlOS4uY2Y0MjMxNDgwMmNhY2FhYjZjNDhmOGY0MTQ0N2Q1N2ZlYjg4ZWQy
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3Bw
CkBAIC0xNzIsNyArMTcyLDcgQEAgdm9pZCBSZXZhbGlkYXRlU3R5bGVBdHRyaWJ1dGVUYXNrOjpv
blRpbWVyKFRpbWVyPFJldmFsaWRhdGVTdHlsZUF0dHJpYnV0ZVRhc2s+KikKIH0KIAogSW5zcGVj
dG9yRE9NQWdlbnQ6Okluc3BlY3RvckRPTUFnZW50KEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3Ry
dW1lbnRpbmdBZ2VudHMsIEluc3BlY3RvclBhZ2VBZ2VudCogcGFnZUFnZW50LCBJbnNwZWN0b3JD
bGllbnQqIGNsaWVudCwgSW5zcGVjdG9yU3RhdGUqIGluc3BlY3RvclN0YXRlLCBJbmplY3RlZFNj
cmlwdE1hbmFnZXIqIGluamVjdGVkU2NyaXB0TWFuYWdlcikKLSAgICA6IEluc3BlY3RvckJhc2VB
Z2VudDxJbnNwZWN0b3JET01BZ2VudD4oaW5zdHJ1bWVudGluZ0FnZW50cywgaW5zcGVjdG9yU3Rh
dGUpCisgICAgOiBJbnNwZWN0b3JCYXNlQWdlbnQ8SW5zcGVjdG9yRE9NQWdlbnQ+KCJET00iLCBp
bnN0cnVtZW50aW5nQWdlbnRzLCBpbnNwZWN0b3JTdGF0ZSkKICAgICAsIG1fcGFnZUFnZW50KHBh
Z2VBZ2VudCkKICAgICAsIG1fY2xpZW50KGNsaWVudCkKICAgICAsIG1faW5qZWN0ZWRTY3JpcHRN
YW5hZ2VyKGluamVjdGVkU2NyaXB0TWFuYWdlcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JET01EZWJ1Z2dlckFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JET01EZWJ1Z2dlckFnZW50LmNwcAppbmRleCA4M2U5Y2RhN2Ji
MTc3ZjA2MmRmMmI2MzZlN2FmNWVjNDU2MThjMDM0Li41ZWVmOTUwYjg2M2I3MWFhODdjMmUyMGY2
YzRlZGQ1ODY3MGJlZGE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yRE9NRGVidWdnZXJBZ2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvckRPTURlYnVnZ2VyQWdlbnQuY3BwCkBAIC03NSw3ICs3NSw3IEBAIFBhc3NPd25Q
dHI8SW5zcGVjdG9yRE9NRGVidWdnZXJBZ2VudD4gSW5zcGVjdG9yRE9NRGVidWdnZXJBZ2VudDo6
Y3JlYXRlKEluc3RydW1lCiB9CiAKIEluc3BlY3RvckRPTURlYnVnZ2VyQWdlbnQ6Okluc3BlY3Rv
ckRPTURlYnVnZ2VyQWdlbnQoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50
cywgSW5zcGVjdG9yU3RhdGUqIGluc3BlY3RvclN0YXRlLCBJbnNwZWN0b3JET01BZ2VudCogZG9t
QWdlbnQsIEluc3BlY3RvckRlYnVnZ2VyQWdlbnQqIGRlYnVnZ2VyQWdlbnQsIEluc3BlY3RvckFn
ZW50KiBpbnNwZWN0b3JBZ2VudCkKLSAgICA6IEluc3BlY3RvckJhc2VBZ2VudDxJbnNwZWN0b3JE
T01EZWJ1Z2dlckFnZW50PihpbnN0cnVtZW50aW5nQWdlbnRzLCBpbnNwZWN0b3JTdGF0ZSkKKyAg
ICA6IEluc3BlY3RvckJhc2VBZ2VudDxJbnNwZWN0b3JET01EZWJ1Z2dlckFnZW50PigiRE9NRGVi
dWdnZXIiLCBpbnN0cnVtZW50aW5nQWdlbnRzLCBpbnNwZWN0b3JTdGF0ZSkKICAgICAsIG1fZG9t
QWdlbnQoZG9tQWdlbnQpCiAgICAgLCBtX2RlYnVnZ2VyQWdlbnQoZGVidWdnZXJBZ2VudCkKICAg
ICAsIG1faW5zcGVjdG9yQWdlbnQoaW5zcGVjdG9yQWdlbnQpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01TdG9yYWdlQWdlbnQuY3BwCmluZGV4IGEzZTAy
MjdhYTUzODVlNDU2NzhiOGFkNmZhNTlmMDQxNDMyOTA1ZjMuLmI4MTFmYmE4NmQyMTg2NGRmZDBm
MGE3NjYzMGI0MDQwMGNjNzEzNDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JET01TdG9yYWdlQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JET01TdG9yYWdlQWdlbnQuY3BwCkBAIC01Niw3ICs1Niw3IEBAIHN0YXRp
YyBjb25zdCBjaGFyIGRvbVN0b3JhZ2VBZ2VudEVuYWJsZWRbXSA9ICJkb21TdG9yYWdlQWdlbnRF
bmFibGVkIjsKIHR5cGVkZWYgSGFzaE1hcDxpbnQsIFJlZlB0cjxJbnNwZWN0b3JET01TdG9yYWdl
UmVzb3VyY2U+ID4gRE9NU3RvcmFnZVJlc291cmNlc01hcDsKIAogSW5zcGVjdG9yRE9NU3RvcmFn
ZUFnZW50OjpJbnNwZWN0b3JET01TdG9yYWdlQWdlbnQoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5z
dHJ1bWVudGluZ0FnZW50cywgSW5zcGVjdG9yU3RhdGUqIHN0YXRlKQotICAgIDogSW5zcGVjdG9y
QmFzZUFnZW50PEluc3BlY3RvckRPTVN0b3JhZ2VBZ2VudD4oaW5zdHJ1bWVudGluZ0FnZW50cywg
c3RhdGUpCisgICAgOiBJbnNwZWN0b3JCYXNlQWdlbnQ8SW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50
PigiRE9NU3RvcmFnZSIsIGluc3RydW1lbnRpbmdBZ2VudHMsIHN0YXRlKQogICAgICwgbV9mcm9u
dGVuZCgwKQogICAgICwgbV9lbmFibGVkKGZhbHNlKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRhdGFiYXNlQWdlbnQuY3BwIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvckRhdGFiYXNlQWdlbnQuY3BwCmluZGV4IDQ0OWEwY2U5NjU2
Nzg1YmRmNjk0OTZiMWI2OWY4NDZlNjY0NzdkMmIuLjRjODZlOWJhMDMyNmQxYWIwMDJiNWVlNzdk
MTZmMjU5N2Y5NWZkMDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JEYXRhYmFzZUFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yRGF0YWJhc2VBZ2VudC5jcHAKQEAgLTI0Myw3ICsyNDMsNyBAQCB2b2lkIEluc3BlY3Rv
ckRhdGFiYXNlQWdlbnQ6OmNsZWFyUmVzb3VyY2VzKCkKIH0KIAogSW5zcGVjdG9yRGF0YWJhc2VB
Z2VudDo6SW5zcGVjdG9yRGF0YWJhc2VBZ2VudChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVt
ZW50aW5nQWdlbnRzLCBJbnNwZWN0b3JTdGF0ZSogc3RhdGUpCi0gICAgOiBJbnNwZWN0b3JCYXNl
QWdlbnQ8SW5zcGVjdG9yRGF0YWJhc2VBZ2VudD4oaW5zdHJ1bWVudGluZ0FnZW50cywgc3RhdGUp
CisgICAgOiBJbnNwZWN0b3JCYXNlQWdlbnQ8SW5zcGVjdG9yRGF0YWJhc2VBZ2VudD4oIkRhdGFi
YXNlIiwgaW5zdHJ1bWVudGluZ0FnZW50cywgc3RhdGUpCiAgICAgLCBtX2VuYWJsZWQoZmFsc2Up
CiB7CiAgICAgbV9pbnN0cnVtZW50aW5nQWdlbnRzLT5zZXRJbnNwZWN0b3JEYXRhYmFzZUFnZW50
KHRoaXMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRl
YnVnZ2VyQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRlYnVn
Z2VyQWdlbnQuY3BwCmluZGV4IGNmZWNhZWM4YmYyYWY3MjhmMDU3YjQyYjM5Y2ExN2VkNzZhMzQ5
NzMuLjc1MDNhYmUzYjlmN2FiY2MxOGM1NDRhMTk1NjgyYjc2OTJiNGI2MzUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5jcHAKQEAg
LTUzLDcgKzUzLDcgQEAgc3RhdGljIGNvbnN0IGNoYXIgamF2YVNjcmlwdEJyZWFrcG9pbnRzW10g
PSAiamF2YVNjcmlwdEJyZWFrb3BpbnRzIjsKIGNvbnN0IGNoYXIqIEluc3BlY3RvckRlYnVnZ2Vy
QWdlbnQ6OmJhY2t0cmFjZU9iamVjdEdyb3VwID0gImJhY2t0cmFjZS1vYmplY3QtZ3JvdXAiOwog
CiBJbnNwZWN0b3JEZWJ1Z2dlckFnZW50OjpJbnNwZWN0b3JEZWJ1Z2dlckFnZW50KEluc3RydW1l
bnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMsIEluc3BlY3RvclN0YXRlKiBpbnNwZWN0
b3JTdGF0ZSwgSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKiBpbmplY3RlZFNjcmlwdE1hbmFnZXIpCi0g
ICAgOiBJbnNwZWN0b3JCYXNlQWdlbnQ8SW5zcGVjdG9yRGVidWdnZXJBZ2VudD4oaW5zdHJ1bWVu
dGluZ0FnZW50cywgaW5zcGVjdG9yU3RhdGUpCisgICAgOiBJbnNwZWN0b3JCYXNlQWdlbnQ8SW5z
cGVjdG9yRGVidWdnZXJBZ2VudD4oIkRlYnVnZ2VyIiwgaW5zdHJ1bWVudGluZ0FnZW50cywgaW5z
cGVjdG9yU3RhdGUpCiAgICAgLCBtX2luamVjdGVkU2NyaXB0TWFuYWdlcihpbmplY3RlZFNjcmlw
dE1hbmFnZXIpCiAgICAgLCBtX2Zyb250ZW5kKDApCiAgICAgLCBtX3BhdXNlZFNjcmlwdFN0YXRl
KDApCkBAIC05OSwxMCArOTksMTAgQEAgYm9vbCBJbnNwZWN0b3JEZWJ1Z2dlckFnZW50OjplbmFi
bGVkKCkKICAgICByZXR1cm4gbV9zdGF0ZS0+Z2V0Qm9vbGVhbihEZWJ1Z2dlckFnZW50U3RhdGU6
OmRlYnVnZ2VyRW5hYmxlZCk7CiB9CiAKLXZvaWQgSW5zcGVjdG9yRGVidWdnZXJBZ2VudDo6Z2V0
Q2FwYWJpbGl0aWVzKEVycm9yU3RyaW5nKiwgUmVmUHRyPEluc3BlY3RvckFycmF5PiogY2FwYWJp
bGl0aWVzKQordm9pZCBJbnNwZWN0b3JEZWJ1Z2dlckFnZW50OjpnZXRDYXBhYmlsaXRpZXMoSW5z
cGVjdG9yQXJyYXkqIGNhcGFiaWxpdGllcykKIHsKICAgICBpZiAoc2NyaXB0RGVidWdTZXJ2ZXIo
KS5jYW5TZXRTY3JpcHRTb3VyY2UoKSkKLSAgICAgICAgKCpjYXBhYmlsaXRpZXMpLT5wdXNoU3Ry
aW5nKEluc3BlY3RvckZyb250ZW5kOjpEZWJ1Z2dlcjo6Y2FwYWJpbGl0eVNldFNjcmlwdFNvdXJj
ZSk7CisgICAgICAgIGNhcGFiaWxpdGllcy0+cHVzaFN0cmluZyhJbnNwZWN0b3JGcm9udGVuZDo6
RGVidWdnZXI6OmNhcGFiaWxpdHlTZXRTY3JpcHRTb3VyY2UpOwogfQogCiB2b2lkIEluc3BlY3Rv
ckRlYnVnZ2VyQWdlbnQ6OmVuYWJsZShFcnJvclN0cmluZyopCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5oIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvckRlYnVnZ2VyQWdlbnQuaAppbmRleCAxNTkwODAzYjNmYjk2
N2ExNTJmNGM5OTBhMjVhZDEzMTI0ODEwNzRjLi41YmI5OTQwYzBhNDExZWZiZmExM2VmN2ExY2Q5
YTE2MmMzZjkxNTUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yRGVidWdnZXJBZ2VudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JEZWJ1Z2dlckFnZW50LmgKQEAgLTY1LDEzICs2NSwxMyBAQCBwdWJsaWM6CiAKICAgICB2aXJ0
dWFsIH5JbnNwZWN0b3JEZWJ1Z2dlckFnZW50KCk7CiAKLSAgICB2b2lkIGdldENhcGFiaWxpdGll
cyhFcnJvclN0cmluZyosIFJlZlB0cjxJbnNwZWN0b3JBcnJheT4qKTsKICAgICB2b2lkIGVuYWJs
ZShFcnJvclN0cmluZyopOwogICAgIHZvaWQgZGlzYWJsZShFcnJvclN0cmluZyopOwogCiAgICAg
dmlydHVhbCB2b2lkIHNldEZyb250ZW5kKEluc3BlY3RvckZyb250ZW5kKik7CiAgICAgdmlydHVh
bCB2b2lkIGNsZWFyRnJvbnRlbmQoKTsKICAgICB2aXJ0dWFsIHZvaWQgcmVzdG9yZSgpOworICAg
IHZpcnR1YWwgdm9pZCBnZXRDYXBhYmlsaXRpZXMoSW5zcGVjdG9yQXJyYXkqKTsKIAogICAgIHZv
aWQgZGlkQ2xlYXJNYWluRnJhbWVXaW5kb3dPYmplY3QoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZpbGVTeXN0ZW1BZ2VudC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50LmNwcAppbmRleCA5NmYw
M2I2MGRhZjQ3Yzg4NzI2MjIxM2ViNGE3Y2VmM2Y4MWQzYWRkLi43MjUwMTY2Y2IzZDUyZDUzNzYz
Mzk5YjVkMDgzNmU3MzQ4YWZkMTZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50LmNwcApAQCAtMTA3LDcgKzEwNyw3IEBAIHZv
aWQgSW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50OjpyZXN0b3JlKCkKIH0KIAogSW5zcGVjdG9yRmls
ZVN5c3RlbUFnZW50OjpJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQoSW5zdHJ1bWVudGluZ0FnZW50
cyogaW5zdHJ1bWVudGluZ0FnZW50cywgSW5zcGVjdG9yU3RhdGUqIHN0YXRlKQotICAgIDogSW5z
cGVjdG9yQmFzZUFnZW50PEluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudD4oaW5zdHJ1bWVudGluZ0Fn
ZW50cywgc3RhdGUpLAorICAgIDogSW5zcGVjdG9yQmFzZUFnZW50PEluc3BlY3RvckZpbGVTeXN0
ZW1BZ2VudD4oIkZpbGVTeXN0ZW0iLCBpbnN0cnVtZW50aW5nQWdlbnRzLCBzdGF0ZSksCiAgICAg
ICBtX2Zyb250ZW5kKDApLAogICAgICAgbV9lbmFibGVkKGZhbHNlKQogewpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck1ldGFBZ2VudC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yTWV0YUFnZW50LmNwcApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lMGVh
ZDZkNjE3OWQ2ZDA2MGFkM2RlMDk3YzVkZTQzNWIzMjg1MTJkCi0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck1ldGFBZ2VudC5jcHAKQEAgLTAsMCAr
MSw3NyBAQAorLyoKKyogQ29weXJpZ2h0IChDKSAyMDA5IEdvb2dsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisqCisqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisqIG1ldDoKKyoKKyog
ICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyogaW4gdGhlIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorKiBk
aXN0cmlidXRpb24uCisqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9y
IHRoZSBuYW1lcyBvZiBpdHMKKyogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ug
b3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyogdGhpcyBzb2Z0d2FyZSB3aXRob3V0
IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyoKKyogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworKiAi
QVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVAorKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyogT1dORVIgT1IgQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisq
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QKKyogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorKiBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQorKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgor
I2luY2x1ZGUgIkluc3BlY3Rvck1ldGFBZ2VudC5oIgorCisjaWYgRU5BQkxFKElOU1BFQ1RPUikK
KworI2luY2x1ZGUgIkluc3BlY3RvclN0YXRlLmgiCisjaW5jbHVkZSAiSW5zcGVjdG9yVmFsdWVz
LmgiCisjaW5jbHVkZSAiSW5zdHJ1bWVudGluZ0FnZW50cy5oIgorI2luY2x1ZGUgPHd0Zi9IYXNo
U2V0Lmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworSW5zcGVjdG9yTWV0YUFnZW50Ojp+SW5z
cGVjdG9yTWV0YUFnZW50KCkKK3sKK30KKwordm9pZCBJbnNwZWN0b3JNZXRhQWdlbnQ6OmdldENh
cGFiaWxpdGllcyhFcnJvclN0cmluZyosIGNvbnN0IFJlZlB0cjxJbnNwZWN0b3JBcnJheT4mIGRv
bWFpbk5hbWVzLCBSZWZQdHI8SW5zcGVjdG9yQXJyYXk+KiBjYXBhYmlsaXRpZXMpCit7CisgICAg
SGFzaFNldDxTdHJpbmc+IHJlcXVlc3RlZERvbWFpbnM7CisgICAgZm9yIChJbnNwZWN0b3JBcnJh
eTo6aXRlcmF0b3IgaXQgPSBkb21haW5OYW1lcy0+YmVnaW4oKTsgaXQgIT0gZG9tYWluTmFtZXMt
PmVuZCgpOyArK2l0KSB7CisgICAgICAgIFN0cmluZyB2YWx1ZTsKKyAgICAgICAgaWYgKGl0LT5n
ZXQoKS0+YXNTdHJpbmcoJnZhbHVlKSkKKyAgICAgICAgICAgIHJlcXVlc3RlZERvbWFpbnMuYWRk
KHZhbHVlKTsKKyAgICB9CisgICAgZm9yIChJbnNwZWN0b3JBZ2VudHM6Oml0ZXJhdG9yIGl0ID0g
bV9hZ2VudHMtPmJlZ2luKCk7IGl0ICE9IG1fYWdlbnRzLT5lbmQoKTsgKytpdCkgeworICAgICAg
ICBJbnNwZWN0b3JCYXNlQWdlbnRJbnRlcmZhY2UqIGFnZW50ID0gaXQtPmdldCgpOworICAgICAg
ICBpZiAoIXJlcXVlc3RlZERvbWFpbnMuY29udGFpbnMoYWdlbnQtPm5hbWUoKSkpCisgICAgICAg
ICAgICBjb250aW51ZTsKKworICAgICAgICBSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiBkb21haW5E
ZXNjcmlwdG9yID0gSW5zcGVjdG9yT2JqZWN0OjpjcmVhdGUoKTsKKyAgICAgICAgZG9tYWluRGVz
Y3JpcHRvci0+c2V0U3RyaW5nKCJkb21haW5OYW1lIiwgYWdlbnQtPm5hbWUoKSk7CisgICAgICAg
IFJlZlB0cjxJbnNwZWN0b3JBcnJheT4gYWdlbnRDYXBhYmlsaXRpZXMgPSBJbnNwZWN0b3JBcnJh
eTo6Y3JlYXRlKCk7CisgICAgICAgIGFnZW50LT5nZXRDYXBhYmlsaXRpZXMoYWdlbnRDYXBhYmls
aXRpZXMuZ2V0KCkpOworICAgICAgICBkb21haW5EZXNjcmlwdG9yLT5zZXRBcnJheSgiY2FwYWJp
bGl0aWVzIiwgYWdlbnRDYXBhYmlsaXRpZXMpOworICAgICAgICAoKmNhcGFiaWxpdGllcyktPnB1
c2hPYmplY3QoZG9tYWluRGVzY3JpcHRvcik7CisgICAgfQorfQorCitJbnNwZWN0b3JNZXRhQWdl
bnQ6Okluc3BlY3Rvck1ldGFBZ2VudChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5n
QWdlbnRzLCBJbnNwZWN0b3JTdGF0ZSogc3RhdGUsIEluc3BlY3RvckFnZW50cyogYWdlbnRzKQor
ICAgIDogSW5zcGVjdG9yQmFzZUFnZW50PEluc3BlY3Rvck1ldGFBZ2VudD4oIk1ldGEiLCBpbnN0
cnVtZW50aW5nQWdlbnRzLCBzdGF0ZSkKKyAgICAsIG1fYWdlbnRzKGFnZW50cykKK3sKK30KKwor
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JNZXRhQWdlbnQuaCBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JNZXRhQWdlbnQuaApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5hYTM5M2E3MTQwNGRlNmI1ZWFiMmZmMDBmNTc1Y2M4M2RhNTViNGE1Ci0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck1ldGFBZ2VudC5oCkBAIC0w
LDAgKzEsNzAgQEAKKy8qCisqIENvcHlyaWdodCAoQykgMjAwOSBHb29nbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorKgorKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorKiBtZXQ6Cisq
CisqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisqIGluIHRo
ZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUK
KyogZGlzdHJpYnV0aW9uLgorKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMu
IG5vciB0aGUgbmFtZXMgb2YgaXRzCisqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRv
cnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisqIHRoaXMgc29mdHdhcmUgd2l0
aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisqCisqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMK
KyogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QKKyogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisqIE9XTkVSIE9SIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LAorKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UCisqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyogVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAorKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKKyogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyovCisKKyNpZm5kZWYgSW5zcGVjdG9y
TWV0YUFnZW50X2gKKyNkZWZpbmUgSW5zcGVjdG9yTWV0YUFnZW50X2gKKworI2lmIEVOQUJMRShJ
TlNQRUNUT1IpCisKKyNpbmNsdWRlICJJbnNwZWN0b3JCYXNlQWdlbnQuaCIKKyNpbmNsdWRlIDx3
dGYvUGFzc093blB0ci5oPgorI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KKworbmFtZXNwYWNlIFdl
YkNvcmUgeworY2xhc3MgSW5zcGVjdG9yRnJvbnRlbmQ7CitjbGFzcyBJbnNwZWN0b3JTdGF0ZTsK
K2NsYXNzIEluc3BlY3RvckFycmF5OworY2xhc3MgSW5zdHJ1bWVudGluZ0FnZW50czsKKwordHlw
ZWRlZiBTdHJpbmcgRXJyb3JTdHJpbmc7CisKK2NsYXNzIEluc3BlY3Rvck1ldGFBZ2VudCA6IHB1
YmxpYyBJbnNwZWN0b3JCYXNlQWdlbnQ8SW5zcGVjdG9yTWV0YUFnZW50PiB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoSW5zcGVjdG9yTWV0YUFnZW50KTsKK3B1YmxpYzoKKyAgICB0eXBlZGVm
IFZlY3RvcjxPd25QdHI8SW5zcGVjdG9yQmFzZUFnZW50SW50ZXJmYWNlPiA+IEluc3BlY3RvckFn
ZW50czsKKworICAgIHN0YXRpYyBQYXNzT3duUHRyPEluc3BlY3Rvck1ldGFBZ2VudD4gY3JlYXRl
KEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMsIEluc3BlY3RvclN0YXRl
KiBzdGF0ZSwgSW5zcGVjdG9yQWdlbnRzKiBhZ2VudHMpCisgICAgeworICAgICAgICByZXR1cm4g
YWRvcHRQdHIobmV3IEluc3BlY3Rvck1ldGFBZ2VudChpbnN0cnVtZW50aW5nQWdlbnRzLCBzdGF0
ZSwgYWdlbnRzKSk7CisgICAgfQorCisgICAgdm9pZCBnZXRDYXBhYmlsaXRpZXMoRXJyb3JTdHJp
bmcqLCBjb25zdCBSZWZQdHI8SW5zcGVjdG9yQXJyYXk+JiBkb21haW5OYW1lcywgUmVmUHRyPElu
c3BlY3RvckFycmF5PiogY2FwYWJpbGl0aWVzKTsKKworICAgIH5JbnNwZWN0b3JNZXRhQWdlbnQo
KTsKKworcHJpdmF0ZToKKyAgICBJbnNwZWN0b3JNZXRhQWdlbnQoSW5zdHJ1bWVudGluZ0FnZW50
cyosIEluc3BlY3RvclN0YXRlKiwgSW5zcGVjdG9yQWdlbnRzKik7CisgICAgSW5zcGVjdG9yQWdl
bnRzKiBtX2FnZW50czsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8v
ICFFTkFCTEUoSU5TUEVDVE9SKQorI2VuZGlmIC8vICFkZWZpbmVkKEluc3BlY3Rvck1ldGFBZ2Vu
dF9oKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclBhZ2VB
Z2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50LmNw
cAppbmRleCA4YTAzODBkY2Q1MjJlMjAxNzc2NDM5YTk0ODA0MDdiMTIwZGVmYzVkLi5jYzgwYjhi
NjU4MjYzMzIzZmM0NTdlYjMxOTRmYjE3NWNiOGZmOGE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50LmNwcApAQCAtMjYyLDcgKzI2Miw3IEBAIFN0
cmluZyBJbnNwZWN0b3JQYWdlQWdlbnQ6OmNhY2hlZFJlc291cmNlVHlwZVN0cmluZyhjb25zdCBD
YWNoZWRSZXNvdXJjZSYgY2FjaGVkCiB9CiAKIEluc3BlY3RvclBhZ2VBZ2VudDo6SW5zcGVjdG9y
UGFnZUFnZW50KEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMsIFBhZ2Uq
IHBhZ2UsIEluc3BlY3RvclN0YXRlKiBpbnNwZWN0b3JTdGF0ZSwgSW5qZWN0ZWRTY3JpcHRNYW5h
Z2VyKiBpbmplY3RlZFNjcmlwdE1hbmFnZXIpCi0gICAgOiBJbnNwZWN0b3JCYXNlQWdlbnQ8SW5z
cGVjdG9yUGFnZUFnZW50PihpbnN0cnVtZW50aW5nQWdlbnRzLCBpbnNwZWN0b3JTdGF0ZSkKKyAg
ICA6IEluc3BlY3RvckJhc2VBZ2VudDxJbnNwZWN0b3JQYWdlQWdlbnQ+KCJQYWdlIiwgaW5zdHJ1
bWVudGluZ0FnZW50cywgaW5zcGVjdG9yU3RhdGUpCiAgICAgLCBtX3BhZ2UocGFnZSkKICAgICAs
IG1faW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKGluamVjdGVkU2NyaXB0TWFuYWdlcikKICAgICAsIG1f
ZnJvbnRlbmQoMCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JQcm9maWxlckFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQ
cm9maWxlckFnZW50LmNwcAppbmRleCBlY2M2YzgxY2Q0YTM0OGExMzE2MThkMzgxNTQzZDI2NGNk
MzY5M2QxLi5lZDM0MTcyYzQyMGIwODEwODgzNzVhMTJkYjE2NjM4ODM2NGRkMmUxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUHJvZmlsZXJBZ2VudC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclByb2ZpbGVyQWdlbnQuY3Bw
CkBAIC02OCw3ICs2OCw3IEBAIFBhc3NPd25QdHI8SW5zcGVjdG9yUHJvZmlsZXJBZ2VudD4gSW5z
cGVjdG9yUHJvZmlsZXJBZ2VudDo6Y3JlYXRlKEluc3RydW1lbnRpbmdBCiB9CiAKIEluc3BlY3Rv
clByb2ZpbGVyQWdlbnQ6Okluc3BlY3RvclByb2ZpbGVyQWdlbnQoSW5zdHJ1bWVudGluZ0FnZW50
cyogaW5zdHJ1bWVudGluZ0FnZW50cywgSW5zcGVjdG9yQ29uc29sZUFnZW50KiBjb25zb2xlQWdl
bnQsIFBhZ2UqIGluc3BlY3RlZFBhZ2UsIEluc3BlY3RvclN0YXRlKiBpbnNwZWN0b3JTdGF0ZSwg
SW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKiBpbmplY3RlZFNjcmlwdE1hbmFnZXIpCi0gICAgOiBJbnNw
ZWN0b3JCYXNlQWdlbnQ8SW5zcGVjdG9yUHJvZmlsZXJBZ2VudD4oaW5zdHJ1bWVudGluZ0FnZW50
cywgaW5zcGVjdG9yU3RhdGUpCisgICAgOiBJbnNwZWN0b3JCYXNlQWdlbnQ8SW5zcGVjdG9yUHJv
ZmlsZXJBZ2VudD4oIlByb2ZpbGVyIiwgaW5zdHJ1bWVudGluZ0FnZW50cywgaW5zcGVjdG9yU3Rh
dGUpCiAgICAgLCBtX2NvbnNvbGVBZ2VudChjb25zb2xlQWdlbnQpCiAgICAgLCBtX2luc3BlY3Rl
ZFBhZ2UoaW5zcGVjdGVkUGFnZSkKICAgICAsIG1faW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKGluamVj
dGVkU2NyaXB0TWFuYWdlcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JSZXNvdXJjZUFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JSZXNvdXJjZUFnZW50LmNwcAppbmRleCA2YzEwMmNjZDIzZGY3MmI1ZWQwOGI4ZGZiMzU2
ODYwNjJhMzIzMTgwLi5kZjg0NTE5NDdjZjg1NDY4YWE1MjhhNTJjNmFhZTE3MDVlNmU4ZGU2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUmVzb3VyY2VBZ2Vu
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclJlc291cmNlQWdl
bnQuY3BwCkBAIC01MzAsNyArNTMwLDcgQEAgdm9pZCBJbnNwZWN0b3JSZXNvdXJjZUFnZW50Ojpt
YWluRnJhbWVOYXZpZ2F0ZWQoRG9jdW1lbnRMb2FkZXIqIGxvYWRlcikKIH0KIAogSW5zcGVjdG9y
UmVzb3VyY2VBZ2VudDo6SW5zcGVjdG9yUmVzb3VyY2VBZ2VudChJbnN0cnVtZW50aW5nQWdlbnRz
KiBpbnN0cnVtZW50aW5nQWdlbnRzLCBJbnNwZWN0b3JQYWdlQWdlbnQqIHBhZ2VBZ2VudCwgSW5z
cGVjdG9yQ2xpZW50KiBjbGllbnQsIEluc3BlY3RvclN0YXRlKiBzdGF0ZSkKLSAgICA6IEluc3Bl
Y3RvckJhc2VBZ2VudDxJbnNwZWN0b3JSZXNvdXJjZUFnZW50PihpbnN0cnVtZW50aW5nQWdlbnRz
LCBzdGF0ZSkKKyAgICA6IEluc3BlY3RvckJhc2VBZ2VudDxJbnNwZWN0b3JSZXNvdXJjZUFnZW50
PigiTmV0d29yayIsIGluc3RydW1lbnRpbmdBZ2VudHMsIHN0YXRlKQogICAgICwgbV9wYWdlQWdl
bnQocGFnZUFnZW50KQogICAgICwgbV9jbGllbnQoY2xpZW50KQogICAgICwgbV9mcm9udGVuZCgw
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclJ1bnRpbWVB
Z2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUnVudGltZUFnZW50
LmNwcAppbmRleCBlNmRkMDZjYThmZWE2NWM2OTlhNzVlYWU2NjgwZDg1NmVhMGM3NjQ3Li43NzY5
MmE1NjkxYjczMjlhZmVjMjE1Nzc2ZjI5MDY5OTIzZWNmYzUyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUnVudGltZUFnZW50LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUnVudGltZUFnZW50LmNwcApAQCAtNTYsNyArNTYs
NyBAQCBzdGF0aWMgYm9vbCBhc0Jvb2woY29uc3QgYm9vbCogY29uc3QgYikKIH0KIAogSW5zcGVj
dG9yUnVudGltZUFnZW50OjpJbnNwZWN0b3JSdW50aW1lQWdlbnQoSW5zdHJ1bWVudGluZ0FnZW50
cyogaW5zdHJ1bWVudGluZ0FnZW50cywgSW5zcGVjdG9yU3RhdGUqIHN0YXRlLCBJbmplY3RlZFNj
cmlwdE1hbmFnZXIqIGluamVjdGVkU2NyaXB0TWFuYWdlcikKLSAgICA6IEluc3BlY3RvckJhc2VB
Z2VudDxJbnNwZWN0b3JSdW50aW1lQWdlbnQ+KGluc3RydW1lbnRpbmdBZ2VudHMsIHN0YXRlKQor
ICAgIDogSW5zcGVjdG9yQmFzZUFnZW50PEluc3BlY3RvclJ1bnRpbWVBZ2VudD4oIlJ1bnRpbWUi
LCBpbnN0cnVtZW50aW5nQWdlbnRzLCBzdGF0ZSkKICAgICAsIG1faW5qZWN0ZWRTY3JpcHRNYW5h
Z2VyKGluamVjdGVkU2NyaXB0TWFuYWdlcikKICNpZiBFTkFCTEUoSkFWQVNDUklQVF9ERUJVR0dF
UikKICAgICAsIG1fc2NyaXB0RGVidWdTZXJ2ZXIoMCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcAppbmRleCBjYzI0YjllMTRhOWE3
YjFlZDFmMDBmNDBkYzRhZGYxODEzZTk1MGNhLi4xNzk0OTMzYTY5MDQ2NDU4Mzg4MzlhMmMyMzYx
NzA3YThjNTBlNjMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yVGltZWxpbmVBZ2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvclRpbWVsaW5lQWdlbnQuY3BwCkBAIC00MDAsNyArNDAwLDcgQEAgdm9pZCBJbnNwZWN0b3JU
aW1lbGluZUFnZW50OjpkaWRDb21wbGV0ZUN1cnJlbnRSZWNvcmQoY29uc3QgU3RyaW5nJiB0eXBl
KQogfQogCiBJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpJbnNwZWN0b3JUaW1lbGluZUFnZW50KElu
c3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMsIEluc3BlY3RvclN0YXRlKiBz
dGF0ZSkKLSAgICA6IEluc3BlY3RvckJhc2VBZ2VudDxJbnNwZWN0b3JUaW1lbGluZUFnZW50Pihp
bnN0cnVtZW50aW5nQWdlbnRzLCBzdGF0ZSkKKyAgICA6IEluc3BlY3RvckJhc2VBZ2VudDxJbnNw
ZWN0b3JUaW1lbGluZUFnZW50PigiVGltZWxpbmUiLCBpbnN0cnVtZW50aW5nQWdlbnRzLCBzdGF0
ZSkKICAgICAsIG1fZnJvbnRlbmQoMCkKICAgICAsIG1faWQoMSkKICAgICAsIG1fbWF4Q2FsbFN0
YWNrRGVwdGgoNSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JWYWx1ZXMuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JWYWx1ZXMuaApp
bmRleCBiMjZhYmMzMWNjM2NiMDNmN2JlMDc1OTU3MWZkMTM2MzVmN2IxMTUxLi42MjEwNGFmNmVl
ZDI5OTJjYjZjMDM2N2QwODRhOTg3ZWJjNDFiNDU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yVmFsdWVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvclZhbHVlcy5oCkBAIC0xNjUsNyArMTY1LDYgQEAgcHVibGljOgogICAgIHR5
cGVkZWYgRGljdGlvbmFyeTo6aXRlcmF0b3IgaXRlcmF0b3I7CiAgICAgdHlwZWRlZiBEaWN0aW9u
YXJ5Ojpjb25zdF9pdGVyYXRvciBjb25zdF9pdGVyYXRvcjsKIAotcHVibGljOgogICAgIHN0YXRp
YyBQYXNzUmVmUHRyPEluc3BlY3Rvck9iamVjdD4gY3JlYXRlKCkKICAgICB7CiAgICAgICAgIHJl
dHVybiBhZG9wdFJlZihuZXcgSW5zcGVjdG9yT2JqZWN0KCkpOwpAQCAtMjE0LDYgKzIxMyw5IEBA
IHByaXZhdGU6CiAKIGNsYXNzIEluc3BlY3RvckFycmF5IDogcHVibGljIEluc3BlY3RvclZhbHVl
IHsKIHB1YmxpYzoKKyAgICB0eXBlZGVmIFZlY3RvcjxSZWZQdHI8SW5zcGVjdG9yVmFsdWU+ID46
Oml0ZXJhdG9yIGl0ZXJhdG9yOworICAgIHR5cGVkZWYgVmVjdG9yPFJlZlB0cjxJbnNwZWN0b3JW
YWx1ZT4gPjo6Y29uc3RfaXRlcmF0b3IgY29uc3RfaXRlcmF0b3I7CisKICAgICBzdGF0aWMgUGFz
c1JlZlB0cjxJbnNwZWN0b3JBcnJheT4gY3JlYXRlKCkKICAgICB7CiAgICAgICAgIHJldHVybiBh
ZG9wdFJlZihuZXcgSW5zcGVjdG9yQXJyYXkoKSk7CkBAIC0yMzUsNiArMjM3LDExIEBAIHB1Ymxp
YzoKIAogICAgIHZpcnR1YWwgdm9pZCB3cml0ZUpTT04oU3RyaW5nQnVpbGRlciogb3V0cHV0KSBj
b25zdDsKIAorICAgIGl0ZXJhdG9yIGJlZ2luKCkgeyByZXR1cm4gbV9kYXRhLmJlZ2luKCk7IH0K
KyAgICBpdGVyYXRvciBlbmQoKSB7IHJldHVybiBtX2RhdGEuZW5kKCk7IH0KKyAgICBjb25zdF9p
dGVyYXRvciBiZWdpbigpIGNvbnN0IHsgcmV0dXJuIG1fZGF0YS5iZWdpbigpOyB9CisgICAgY29u
c3RfaXRlcmF0b3IgZW5kKCkgY29uc3QgeyByZXR1cm4gbV9kYXRhLmVuZCgpOyB9CisKIHByaXZh
dGU6CiAgICAgSW5zcGVjdG9yQXJyYXkoKTsKICAgICBWZWN0b3I8UmVmUHRyPEluc3BlY3RvclZh
bHVlPiA+IG1fZGF0YTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JXb3JrZXJBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
V29ya2VyQWdlbnQuY3BwCmluZGV4IDliNzI5MGM4ZGQ4YzE1YjM1YzM1MGE0Y2UxZWU3NjMyZmNm
MjlkMmEuLjc1MTFkYTFkNjkyZjhjOWNjNDIwNWU3OTM2MTdmMTlmMjg4NzYxOWYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JXb3JrZXJBZ2VudC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvcldvcmtlckFnZW50LmNwcApAQCAt
MTExLDcgKzExMSw3IEBAIFBhc3NPd25QdHI8SW5zcGVjdG9yV29ya2VyQWdlbnQ+IEluc3BlY3Rv
cldvcmtlckFnZW50OjpjcmVhdGUoSW5zdHJ1bWVudGluZ0FnZW50CiB9CiAKIEluc3BlY3Rvcldv
cmtlckFnZW50OjpJbnNwZWN0b3JXb3JrZXJBZ2VudChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0
cnVtZW50aW5nQWdlbnRzLCBJbnNwZWN0b3JTdGF0ZSogaW5zcGVjdG9yU3RhdGUpCi0gICAgOiBJ
bnNwZWN0b3JCYXNlQWdlbnQ8SW5zcGVjdG9yV29ya2VyQWdlbnQ+KGluc3RydW1lbnRpbmdBZ2Vu
dHMsIGluc3BlY3RvclN0YXRlKQorICAgIDogSW5zcGVjdG9yQmFzZUFnZW50PEluc3BlY3Rvcldv
cmtlckFnZW50PigiV29ya2VyIiwgaW5zdHJ1bWVudGluZ0FnZW50cywgaW5zcGVjdG9yU3RhdGUp
CiAgICAgLCBtX2luc3BlY3RvckZyb250ZW5kKDApCiB7CiAgICAgbV9pbnN0cnVtZW50aW5nQWdl
bnRzLT5zZXRJbnNwZWN0b3JXb3JrZXJBZ2VudCh0aGlzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRGVidWdnZXJNb2RlbC5qcyBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRGVidWdnZXJNb2RlbC5qcwppbmRleCA1MTcyNzJiMTBi
NDllYjlmNDZlZWFjM2QyMGYzOTVhN2IzODE2OTIxLi42YTcxNDdjNDc1NjE4YmZkNjUyMmM1M2Fm
ZjlkMDU1ZjM1M2JkZjFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL0RlYnVnZ2VyTW9kZWwuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9EZWJ1Z2dlck1vZGVsLmpzCkBAIC05MywxMCArOTMsMTYgQEAgV2ViSW5zcGVjdG9y
LkRlYnVnZ2VyTW9kZWwucHJvdG90eXBlID0gewogICAgICAgICAgKi8KICAgICAgICAgZnVuY3Rp
b24gY2FsbGJhY2soZXJyb3IsIGNhcGFiaWxpdGllcykKICAgICAgICAgewotICAgICAgICAgICAg
Zm9yICh2YXIgaSA9IDA7IGkgPCBjYXBhYmlsaXRpZXMubGVuZ3RoOyArK2kpCi0gICAgICAgICAg
ICAgICAgdGhpcy5fY2FwYWJpbGl0aWVzT2JqZWN0W2NhcGFiaWxpdGllc1tpXV0gPSB0cnVlOwor
ICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjYXBhYmlsaXRpZXMubGVuZ3RoOyArK2kp
IHsKKyAgICAgICAgICAgICAgICBpZiAoY2FwYWJpbGl0aWVzW2ldLmRvbWFpbk5hbWUgIT09ICJE
ZWJ1Z2dlciIpCisgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOworCisgICAgICAgICAgICAg
ICAgdmFyIGNhcGFiaWxpdGllc0xpc3QgPSBjYXBhYmlsaXRpZXNbaV0uY2FwYWJpbGl0aWVzOwor
ICAgICAgICAgICAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgY2FwYWJpbGl0aWVzTGlzdC5sZW5n
dGg7ICsraikKKyAgICAgICAgICAgICAgICAgICAgdGhpcy5fY2FwYWJpbGl0aWVzT2JqZWN0W2Nh
cGFiaWxpdGllc0xpc3Rbal1dID0gdHJ1ZTsKKyAgICAgICAgICAgIH0KICAgICAgICAgfQotICAg
ICAgICBEZWJ1Z2dlckFnZW50LmdldENhcGFiaWxpdGllcyhjYWxsYmFjay5iaW5kKHRoaXMpKTsK
KyAgICAgICAgTWV0YUFnZW50LmdldENhcGFiaWxpdGllcyhbIkRlYnVnZ2VyIl0sIGNhbGxiYWNr
LmJpbmQodGhpcykpOwogICAgICAgICBEZWJ1Z2dlckFnZW50LmVuYWJsZSh0aGlzLl9kZWJ1Z2dl
cldhc0VuYWJsZWQuYmluZCh0aGlzKSk7CiAgICAgfSwKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>116955</attachid>
            <date>2011-11-29 06:05:34 -0800</date>
            <delta_ts>2011-11-29 11:56:43 -0800</delta_ts>
            <desc>[Patch] for bots</desc>
            <filename>bug-73311-20111129180531.patch</filename>
            <type>text/plain</type>
            <size>42202</size>
            <attacher name="Pavel Feldman">pfeldman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAxMzU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDc3MTAyZTc3M2RmMTNl
ZGE0NmY5OWYwMjFlMjI4ZjkwYWQwNDQ0ZS4uNDA4OTg2ZWE5OTIzODE4NTFkNDI0NjBlMmJhYTE3
ODZjOGRiMzJkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDc2IEBACisyMDExLTExLTI5ICBQYXZl
bCBGZWxkbWFuICA8cGZlbGRtYW5AZ29vZ2xlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9y
OiBpbnRyb2R1Y2UgZ2VuZXJpYyBjYXBhYmlsaXRpZXMgY29uY2VwdCwgbWlncmF0ZSBkZWJ1Z2dl
ciBkb21haW4gdG8gZ2VuZXJpYyBjYXBhYmlsaXRpZXMuCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MzMxMQorCisgICAgICAgIFRoaXMgc3RlcCBpcyBu
ZWNlc3NhcnkgZm9yIGdldHRpbmcgcmlkIG9mIHRoZSAnY2FwYWJpbGl0eScgYXNwZWN0IGluIHRo
ZSBQcmVmZXJlbmNlcy4gQXMgYSByZXN1bHQsCisgICAgICAgIHNpbmdsZSBmcm9udC1lbmQgd2ls
bCBiZSBhcHBsaWNhYmxlIHRvIG11bHRpcGxlIGJhY2tlbmQgY29uZmlndXJhdGlvbnMuCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBDTWFrZUxpc3Rz
LnR4dDoKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAqIFRhcmdldC5w
cmk6CisgICAgICAgICogV2ViQ29yZS5neXBpOgorICAgICAgICAqIFdlYkNvcmUudmNwcm9qL1dl
YkNvcmUudmNwcm9qOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
ajoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yLmpzb246CisgICAgICAgICogaW5zcGVj
dG9yL0luc3BlY3RvckFnZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckFnZW50
OjpJbnNwZWN0b3JBZ2VudCk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckFwcGxpY2F0
aW9uQ2FjaGVBZ2VudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JBcHBsaWNhdGlv
bkNhY2hlQWdlbnQ6Okluc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudCk6CisgICAgICAgICog
aW5zcGVjdG9yL0luc3BlY3RvckJhc2VBZ2VudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNw
ZWN0b3JCYXNlQWdlbnRJbnRlcmZhY2U6Okluc3BlY3RvckJhc2VBZ2VudEludGVyZmFjZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JCYXNlQWdlbnRJbnRlcmZhY2U6On5JbnNwZWN0b3JC
YXNlQWdlbnRJbnRlcmZhY2UpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JCYXNlQWdl
bnQuaDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckJhc2VBZ2VudEludGVyZmFjZTo6Z2V0
Q2FwYWJpbGl0aWVzKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckJhc2VBZ2VudEludGVy
ZmFjZTo6bmFtZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JCYXNlQWdlbnQ6Okluc3Bl
Y3RvckJhc2VBZ2VudCk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckNTU0FnZW50LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNTU0FnZW50OjpJbnNwZWN0b3JDU1NBZ2Vu
dCk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckNvbnNvbGVBZ2VudC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDb25zb2xlQWdlbnQ6Okluc3BlY3RvckNvbnNvbGVBZ2Vu
dCk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6SW5zcGVjdG9yQ29udHJvbGxlcjo6SW5zcGVjdG9yQ29udHJvbGxlcik6Cisg
ICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuaDoKKyAgICAgICAgKiBpbnNw
ZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9y
RE9NQWdlbnQ6Okluc3BlY3RvckRPTUFnZW50KToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVj
dG9yRE9NRGVidWdnZXJBZ2VudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JET01E
ZWJ1Z2dlckFnZW50OjpJbnNwZWN0b3JET01EZWJ1Z2dlckFnZW50KToKKyAgICAgICAgKiBpbnNw
ZWN0b3IvSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Oklu
c3BlY3RvckRPTVN0b3JhZ2VBZ2VudDo6SW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50KToKKyAgICAg
ICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRGF0YWJhc2VBZ2VudC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpJbnNwZWN0b3JEYXRhYmFzZUFnZW50OjpJbnNwZWN0b3JEYXRhYmFzZUFnZW50KToKKyAg
ICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpJbnNwZWN0b3JEZWJ1Z2dlckFnZW50OjpJbnNwZWN0b3JEZWJ1Z2dlckFnZW50KToK
KyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckRlYnVnZ2VyQWdlbnQ6OmdldENhcGFiaWxpdGll
cyk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckRlYnVnZ2VyQWdlbnQuaDoKKyAgICAg
ICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Okluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudDo6SW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50
KToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yTWV0YUFnZW50LmNwcDogQWRkZWQuCisg
ICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JNZXRhQWdlbnQ6On5JbnNwZWN0b3JNZXRhQWdlbnQp
OgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yTWV0YUFnZW50OjpnZXRDYXBhYmlsaXRpZXMp
OgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yTWV0YUFnZW50OjpJbnNwZWN0b3JNZXRhQWdl
bnQpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JNZXRhQWdlbnQuaDogQWRkZWQuCisg
ICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JNZXRhQWdlbnQ6OmNyZWF0ZSk6CisgICAgICAgICog
aW5zcGVjdG9yL0luc3BlY3RvclBhZ2VBZ2VudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNw
ZWN0b3JQYWdlQWdlbnQ6Okluc3BlY3RvclBhZ2VBZ2VudCk6CisgICAgICAgICogaW5zcGVjdG9y
L0luc3BlY3RvclByb2ZpbGVyQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9y
UHJvZmlsZXJBZ2VudDo6SW5zcGVjdG9yUHJvZmlsZXJBZ2VudCk6CisgICAgICAgICogaW5zcGVj
dG9yL0luc3BlY3RvclJlc291cmNlQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVj
dG9yUmVzb3VyY2VBZ2VudDo6SW5zcGVjdG9yUmVzb3VyY2VBZ2VudCk6CisgICAgICAgICogaW5z
cGVjdG9yL0luc3BlY3RvclJ1bnRpbWVBZ2VudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNw
ZWN0b3JSdW50aW1lQWdlbnQ6Okluc3BlY3RvclJ1bnRpbWVBZ2VudCk6CisgICAgICAgICogaW5z
cGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5z
cGVjdG9yVGltZWxpbmVBZ2VudDo6SW5zcGVjdG9yVGltZWxpbmVBZ2VudCk6CisgICAgICAgICog
aW5zcGVjdG9yL0luc3BlY3RvclZhbHVlcy5oOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9y
QXJyYXk6OmJlZ2luKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckFycmF5OjplbmQpOgor
ICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JXb3JrZXJBZ2VudC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpJbnNwZWN0b3JXb3JrZXJBZ2VudDo6SW5zcGVjdG9yV29ya2VyQWdlbnQpOgorICAg
ICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvRGVidWdnZXJNb2RlbC5qczoKKyAgICAgICAgKFdl
Ykluc3BlY3Rvci5EZWJ1Z2dlck1vZGVsLnByb3RvdHlwZS5lbmFibGVEZWJ1Z2dlcik6CisKIDIw
MTEtMTEtMjkgIE1hcmlvIFNhbmNoZXogUHJhZGEgIDxtc2FuY2hlekBpZ2FsaWEuY29tPgogCiAg
ICAgICAgIFtHdGtdIFJlZ3Jlc3Npb246IHRleHQtaW5zZXJ0ZWQgZXZlbnRzIGxhY2sgdGV4dCBp
bnNlcnRlZCBhbmQgY3VycmVudCBsaW5lCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFr
ZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDhiYjk2OTU0
NzNhNDlkZTYxYTcxY2VjYjAwM2YwNjk2NWYwODc4NmMuLjhjMjFhZDczNjllZWY1NjM4NTFhYzAx
ZGI4ZTc2ZTI2Njc0Njk5ZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMu
dHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC04ODYsNiArODg2LDcg
QEAgU0VUKFdlYkNvcmVfU09VUkNFUwogICAgIGluc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENs
aWVudExvY2FsLmNwcAogICAgIGluc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuY3BwCiAg
ICAgaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAKKyAgICBpbnNwZWN0b3Iv
SW5zcGVjdG9yTWV0YUFnZW50LmNwcAogICAgIGluc3BlY3Rvci9JbnNwZWN0b3JQcm9maWxlckFn
ZW50LmNwcAogICAgIGluc3BlY3Rvci9JbnNwZWN0b3JSZXNvdXJjZUFnZW50LmNwcAogICAgIGlu
c3BlY3Rvci9JbnNwZWN0b3JSdW50aW1lQWdlbnQuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9HTlVtYWtlZmlsZS5saXN0LmFtIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlz
dC5hbQppbmRleCBjMDdiMDdhNmY4NDJhNWE2N2EzZmM3NDVjMjM1M2M2MDRmZGVmOGIzLi41N2E2
MWU1MTk3ZjkwOWIzNzcxYjJlNmRhM2RlZDYyOGJlMzJmOGNjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2Vm
aWxlLmxpc3QuYW0KQEAgLTIwNzEsNiArMjA3MSw4IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJ
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5oIFwKIAlTb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcCBcCiAJU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oIFwKKwlTb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yTWV0YUFnZW50LmNwcCBcCisJU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck1ldGFBZ2VudC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50LmNwcCBcCiAJU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvclBhZ2VBZ2VudC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yUHJvZmlsZXJBZ2VudC5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvVGFy
Z2V0LnByaSBiL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKaW5kZXggMDAzMTE2NTM0MTAyYzY3
M2JlNTY2Y2Q4MjdjZTQ2NTUzYWYzMGNiZi4uYzYwZGQ3YTUwMGE5ZTdhOTNkOTNiYjFlMDgwYmU1
ZDExZDk3NTQyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQorKysgYi9T
b3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCkBAIC04NjYsNiArODY2LDcgQEAgU09VUkNFUyArPSBc
CiAgICAgaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwuY3BwIFwKICAgICBp
bnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmNwcCBcCiAgICAgaW5zcGVjdG9yL0luc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbi5jcHAgXAorICAgIGluc3BlY3Rvci9JbnNwZWN0b3JNZXRhQWdl
bnQuY3BwIFwKICAgICBpbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50LmNwcCBcCiAgICAgaW5z
cGVjdG9yL0luc3BlY3RvclByb2ZpbGVyQWdlbnQuY3BwIFwKICAgICBpbnNwZWN0b3IvSW5zcGVj
dG9yUmVzb3VyY2VBZ2VudC5jcHAgXApAQCAtMTkxMSw2ICsxOTEyLDcgQEAgSEVBREVSUyArPSBc
CiAgICAgaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwuaCBcCiAgICAgaW5z
cGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5oIFwKICAgICBpbnNwZWN0b3IvSW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uLmggXAorICAgIGluc3BlY3Rvci9JbnNwZWN0b3JNZXRhQWdlbnQuaCBc
CiAgICAgaW5zcGVjdG9yL0luc3BlY3RvclBhZ2VBZ2VudC5oIFwKICAgICBpbnNwZWN0b3IvSW5z
cGVjdG9yUHJvZmlsZXJBZ2VudC5oIFwKICAgICBpbnNwZWN0b3IvSW5zcGVjdG9yUmVzb3VyY2VB
Z2VudC5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCA0YmY0NmYxMjFkMDg2YTM5NmQ1OTBmN2VkODJm
NjE0ZjkxNWVhZDhkLi5jOTAwZGM1MzhiMGYyODg2ZDU4MzIwNWU2ODAyMmFlMGMzZjJhYjI0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS5neXBpCkBAIC0yNzU2LDYgKzI3NTYsOCBAQAogICAgICAgICAgICAgJ2luc3Bl
Y3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuaCcsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL0lu
c3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9JbnNw
ZWN0b3JJbnN0cnVtZW50YXRpb24uaCcsCisgICAgICAgICAgICAnaW5zcGVjdG9yL0luc3BlY3Rv
ck1ldGFBZ2VudC5jcHAnLAorICAgICAgICAgICAgJ2luc3BlY3Rvci9JbnNwZWN0b3JNZXRhQWdl
bnQuaCcsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL0luc3BlY3RvclBhZ2VBZ2VudC5jcHAnLAog
ICAgICAgICAgICAgJ2luc3BlY3Rvci9JbnNwZWN0b3JQYWdlQWdlbnQuaCcsCiAgICAgICAgICAg
ICAnaW5zcGVjdG9yL0luc3BlY3RvclByb2ZpbGVyQWdlbnQuY3BwJywKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5kZXggMDJkYjIzMWYwOTEzOTBiYWEz
YjRhYTY5MWM1ODI2YWY4NzA3NmUyOC4uNzFiNjc0MGNkMTIzNjJlYmQ2OWYwOWIxMzUxYzA1MmM5
YWJiMTNhMSAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29y
ZS52Y3Byb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3By
b2oKQEAgLTY4NTM0LDYgKzY4NTM0LDE0IEBACiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUK
KwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGluc3BlY3RvclxJbnNwZWN0b3JNZXRhQWdlbnQuY3BwIgor
CQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxpbnNwZWN0
b3JcSW5zcGVjdG9yTWV0YUFnZW50LmgiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKIAkJ
CQlSZWxhdGl2ZVBhdGg9Ii4uXGluc3BlY3RvclxJbnNwZWN0b3JQYWdlQWdlbnQuY3BwIgogCQkJ
CT4KIAkJCTwvRmlsZT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagppbmRleCA0ZTkyZWFlZmE4NGU5ZjI0MzExN2VkYTE1MTZiYzVmZmQ0YTBm
OThkLi42ZDVjYWVhMDlkZWNlNTNhNjgxZDBjZTBmMzhmY2U4YzljMmUyYWQ3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xODEy
LDYgKzE4MTIsOCBAQAogCQk3QUEzNjVFRTEyRTcyNjU0MDBEQ0EyNDIgLyogSW5zcGVjdG9yUnVu
dGltZUFnZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDdBQTM2NUVEMTJFNzI2NTQwMERDQTI0MiAvKiBJbnNwZWN0b3JSdW50aW1lQWdlbnQuY3Bw
ICovOyB9OwogCQk3QUE1MUI2RTE0ODNCNjE2MDBBRDI3NTIgLyogSW5zcGVjdG9yQmFzZUFnZW50
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QUE1MUI2
QzE0ODNCNjE2MDBBRDI3NTIgLyogSW5zcGVjdG9yQmFzZUFnZW50LmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJN0FBNTFCNkYxNDgzQjYxNjAwQUQy
NzUyIC8qIEluc3BlY3RvckJhc2VBZ2VudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA3QUE1MUI2RDE0ODNCNjE2MDBBRDI3NTIgLyogSW5zcGVjdG9y
QmFzZUFnZW50LmNwcCAqLzsgfTsKKwkJN0FBNTFERDUxNDg1MDZBOTAwQUQyNzUyIC8qIEluc3Bl
Y3Rvck1ldGFBZ2VudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA3QUE1MUREMzE0ODUwNkE5MDBBRDI3NTIgLyogSW5zcGVjdG9yTWV0YUFnZW50LmNw
cCAqLzsgfTsKKwkJN0FBNTFERDYxNDg1MDZBOTAwQUQyNzUyIC8qIEluc3BlY3Rvck1ldGFBZ2Vu
dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0FBNTFE
RDQxNDg1MDZBOTAwQUQyNzUyIC8qIEluc3BlY3Rvck1ldGFBZ2VudC5oICovOyB9OwogCQk3QUIw
QjFDMDEyMTFBNjIyMDBBNzY5NDAgLyogSW5zcGVjdG9yRGF0YWJhc2VBZ2VudC5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QUIwQjFCRTEyMTFBNjIy
MDBBNzY5NDAgLyogSW5zcGVjdG9yRGF0YWJhc2VBZ2VudC5jcHAgKi87IH07CiAJCTdBQjBCMUMx
MTIxMUE2MjIwMEE3Njk0MCAvKiBJbnNwZWN0b3JEYXRhYmFzZUFnZW50LmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QUIwQjFCRjEyMTFBNjIyMDBBNzY5
NDAgLyogSW5zcGVjdG9yRGF0YWJhc2VBZ2VudC5oICovOyB9OwogCQk3QURFNzIyNjEwQ0JCQjlC
MDA2QjNCM0EgLyogQ29udGV4dE1lbnVQcm92aWRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0FERTcyMjUxMENCQkI5QjAwNkIzQjNBIC8qIENvbnRl
eHRNZW51UHJvdmlkZXIuaCAqLzsgfTsKQEAgLTkwNTUsNiArOTA1Nyw4IEBACiAJCTdBQTM2NUVE
MTJFNzI2NTQwMERDQTI0MiAvKiBJbnNwZWN0b3JSdW50aW1lQWdlbnQuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSW5zcGVjdG9yUnVudGltZUFnZW50LmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0FBNTFCNkMxNDgzQjYxNjAwQUQyNzUyIC8qIElu
c3BlY3RvckJhc2VBZ2VudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbnNw
ZWN0b3JCYXNlQWdlbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0FBNTFCNkQx
NDgzQjYxNjAwQUQyNzUyIC8qIEluc3BlY3RvckJhc2VBZ2VudC5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJbnNwZWN0b3JCYXNlQWdlbnQuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQk3QUE1MUREMzE0ODUwNkE5MDBBRDI3NTIgLyogSW5zcGVjdG9y
TWV0YUFnZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEluc3Bl
Y3Rvck1ldGFBZ2VudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTdBQTUxREQ0
MTQ4NTA2QTkwMEFEMjc1MiAvKiBJbnNwZWN0b3JNZXRhQWdlbnQuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gSW5zcGVjdG9yTWV0YUFnZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTdBQjBCMUJFMTIxMUE2MjIwMEE3Njk0MCAvKiBJbnNwZWN0b3JEYXRhYmFz
ZUFnZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEluc3BlY3Rv
ckRhdGFiYXNlQWdlbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3QUIwQjFC
RjEyMTFBNjIyMDBBNzY5NDAgLyogSW5zcGVjdG9yRGF0YWJhc2VBZ2VudC5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBJbnNwZWN0b3JEYXRhYmFzZUFnZW50Lmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdBREU3MjI1MTBDQkJCOUIwMDZCM0IzQSAvKiBDb250ZXh0
TWVudVByb3ZpZGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvbnRleHRN
ZW51UHJvdmlkZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE0NTM1LDYgKzE0
NTM5LDggQEAKIAkJCQk3QTBFNzcwRDEwQzAwQTg4MDBBMDI3NkUgLyogSW5zcGVjdG9yRnJvbnRl
bmRIb3N0LmlkbCAqLywKIAkJCQkyMEQ2MjkyNDEyNTM2OTBCMDAwODE1NDMgLyogSW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uLmNwcCAqLywKIAkJCQkyMEQ2MjkyNTEyNTM2OTBCMDAwODE1NDMgLyog
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmggKi8sCisJCQkJN0FBNTFERDMxNDg1MDZBOTAwQUQy
NzUyIC8qIEluc3BlY3Rvck1ldGFBZ2VudC5jcHAgKi8sCisJCQkJN0FBNTFERDQxNDg1MDZBOTAw
QUQyNzUyIC8qIEluc3BlY3Rvck1ldGFBZ2VudC5oICovLAogCQkJCTRGNkZERDYyMTM0MURFREQw
MDFGOEVFMyAvKiBJbnNwZWN0b3JQYWdlQWdlbnQuY3BwICovLAogCQkJCTRGNkZERDYzMTM0MURF
REQwMDFGOEVFMyAvKiBJbnNwZWN0b3JQYWdlQWdlbnQuaCAqLywKIAkJCQk5RjBENkIyQzEyMUJG
RUJBMDA2QzAyODggLyogSW5zcGVjdG9yUHJvZmlsZXJBZ2VudC5jcHAgKi8sCkBAIC0yNDczMSw2
ICsyNDczNyw3IEBACiAJCQkJQTEwREM3NkIxNDc0N0JBQjAwNUUyNDcxIC8qIFN0eWxlR3JpZERh
dGEuaCBpbiBIZWFkZXJzICovLAogCQkJCTMxMkMwQzQxMTQ2REM2Q0MwMDE2QzkxMSAvKiBOb3Rp
ZmljYXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTMxMjhDQTZCMTQ3MzMxNjMwMDc0QzcyQSAv
KiBOb3RpZmljYXRpb25Db250cm9sbGVyLmggaW4gSGVhZGVycyAqLywKKwkJCQk3QUE1MURENjE0
ODUwNkE5MDBBRDI3NTIgLyogSW5zcGVjdG9yTWV0YUFnZW50LmggaW4gSGVhZGVycyAqLywKIAkJ
CSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKQEAg
LTI3NjA1LDYgKzI3NjEyLDcgQEAKIAkJCQk3QUE1MUI2RjE0ODNCNjE2MDBBRDI3NTIgLyogSW5z
cGVjdG9yQmFzZUFnZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUExMERDNzZBMTQ3NDdCQUIw
MDVFMjQ3MSAvKiBTdHlsZUdyaWREYXRhLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTMxMjhDQTY4
MTQ3MzMxNTIwMDc0QzcyQSAvKiBOb3RpZmljYXRpb25Db250cm9sbGVyLmNwcCBpbiBTb3VyY2Vz
ICovLAorCQkJCTdBQTUxREQ1MTQ4NTA2QTkwMEFEMjc1MiAvKiBJbnNwZWN0b3JNZXRhQWdlbnQu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJv
Y2Vzc2luZyA9IDA7CiAJCX07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yLmpzb24gYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpzb24K
aW5kZXggNjE1Y2YwZmFmNTcxODVhMjQ1ZmU0Mzc0NWU0ZjdkNjcyMGE3MzI4Zi4uMTVlNzFmOTA1
Mjc0MGNmNWVkZjBkYzQzN2Y0ZGI3ZDhkNDE5MzJhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3IuanNvbgpAQCAtNDEsNiArNDEsMzMgQEAKICAgICAgICAgXQogICAgIH0sCiAg
ICAgeworICAgICAgICAiZG9tYWluIjogIk1ldGEiLAorICAgICAgICAiaGlkZGVuIjogdHJ1ZSwK
KyAgICAgICAgInR5cGVzIjogWworICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICJpZCI6
ICJEb21haW5DYXBhYmlsaXRpZXMiLAorICAgICAgICAgICAgICAgICJ0eXBlIjogIm9iamVjdCIs
CisgICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkRvbWFpbiBjYXBhYmlsaXRpZXMgZGVz
Y3JpcHRvci4iLAorICAgICAgICAgICAgICAgICJwcm9wZXJ0aWVzIjogWworICAgICAgICAgICAg
ICAgICAgICB7ICJuYW1lIjogImRvbWFpbk5hbWUiLCAidHlwZSI6ICJzdHJpbmciLCAiZGVzY3Jp
cHRpb24iOiAiRG9tYWluIG5hbWUuIiB9LAorICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjog
ImNhcGFiaWxpdGllcyIsICJ0eXBlIjogImFycmF5IiwgIml0ZW1zIjogeyAidHlwZSI6ICJzdHJp
bmciIH0sICJkZXNjcmlwdGlvbiI6ICJMaXN0IG9mIHRoZSBjYXBhYmlsaXRpZXMuIiB9CisgICAg
ICAgICAgICAgICAgXQorICAgICAgICAgICAgfQorICAgICAgICBdLAorICAgICAgICAiY29tbWFu
ZHMiOiBbCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgIm5hbWUiOiAiZ2V0Q2FwYWJp
bGl0aWVzIiwKKyAgICAgICAgICAgICAgICAicGFyYW1ldGVycyI6IFsKKyAgICAgICAgICAgICAg
ICAgICAgeyAibmFtZSI6ICJkb21haW5OYW1lcyIsICJ0eXBlIjogImFycmF5IiwgIml0ZW1zIjog
IHsgInR5cGUiOiAic3RyaW5nIiB9LCAiZGVzY3JpcHRpb24iOiAiTGlzdCBvZiB0aGUgZG9tYWlu
cyB0byByZXR1cm4gY2FwYWJpbGl0aWVzIGZvci4iIH0KKyAgICAgICAgICAgICAgICBdLAorICAg
ICAgICAgICAgICAgICJyZXR1cm5zIjogWworICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjog
ImNhcGFiaWxpdGllcyIsICJ0eXBlIjogImFycmF5IiwgIml0ZW1zIjogeyAiJHJlZiI6ICJEb21h
aW5DYXBhYmlsaXRpZXMifSwgImRlc2NyaXB0aW9uIjogIkFycmF5IG9mIHRoZSBkb21haW4gY2Fw
YWJpbGl0aWVzLiIgfQorICAgICAgICAgICAgICAgIF0sCisgICAgICAgICAgICAgICAgImRlc2Ny
aXB0aW9uIjogIlJldHVybnMgY2FwYWJpbGl0eSBkZXNjcmlwdG9ycyBmb3IgdGhlIGdpdmVuIGRv
bWFpbiBuYW1lcy4iCisgICAgICAgICAgICB9CisgICAgICAgIF0KKyAgICB9LAorICAgIHsKICAg
ICAgICAgImRvbWFpbiI6ICJQYWdlIiwKICAgICAgICAgImRlc2NyaXB0aW9uIjogIkFjdGlvbnMg
YW5kIGV2ZW50cyByZWxhdGVkIHRvIHRoZSBpbnNwZWN0ZWQgcGFnZSBiZWxvbmcgdG8gdGhlIHBh
Z2UgZG9tYWluLiIsCiAgICAgICAgICJ0eXBlcyI6IFsKQEAgLTE3ODcsMTQgKzE4MTQsNiBAQAog
ICAgICAgICBdLAogICAgICAgICAiY29tbWFuZHMiOiBbCiAgICAgICAgICAgICB7Ci0gICAgICAg
ICAgICAgICAgIm5hbWUiOiAiZ2V0Q2FwYWJpbGl0aWVzIiwKLSAgICAgICAgICAgICAgICAicmV0
dXJucyI6IFsKLSAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJjYXBhYmlsaXRpZXMiLCAi
dHlwZSI6ICJhcnJheSIsICJpdGVtcyI6IHsgInR5cGUiOiAic3RyaW5nIn0sICJkZXNjcmlwdGlv
biI6ICJMaXN0IG9mIHRoZSBkZWJ1Z2dlciBkb21haW4gY2FwYWJpbGl0aWVzIiB9Ci0gICAgICAg
ICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiUmV0dXJucyB0aGUg
bGlzdCBvZiB0aGUgZGVidWdnZXIgY2FwYWJpbGl0aWVzLiIsCi0gICAgICAgICAgICAgICAgImhp
ZGRlbiI6IHRydWUKLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7CiAgICAgICAgICAgICAg
ICAgIm5hbWUiOiAiZW5hYmxlIiwKICAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiRW5h
YmxlcyBkZWJ1Z2dlciBmb3IgdGhlIGdpdmVuIHBhZ2UuIENsaWVudHMgc2hvdWxkIG5vdCBhc3N1
bWUgdGhhdCB0aGUgZGVidWdnaW5nIGhhcyBiZWVuIGVuYWJsZWQgdW50aWwgdGhlIHJlc3VsdCBm
b3IgdGhpcyBjb21tYW5kIGlzIHJlY2VpdmVkLiIKICAgICAgICAgICAgIH0sCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQWdlbnQuY3BwIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFnZW50LmNwcAppbmRleCBkYzkyMWExNjJlZTViODI5
YmQ3ZGY4MjQxOTRiN2ExYjAxZTlkYmYxLi41YmRmOGM2MWVlYmJjMGQwMzVlN2U0NjBhMDVjMjgx
ZjQzNDE1ZWVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
QWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBZ2VudC5j
cHAKQEAgLTYyLDcgKzYyLDcgQEAgc3RhdGljIGNvbnN0IGNoYXIgY29uc29sZVBhbmVsTmFtZVtd
ID0gImNvbnNvbGUiOwogc3RhdGljIGNvbnN0IGNoYXIgcHJvZmlsZXNQYW5lbE5hbWVbXSA9ICJw
cm9maWxlcyI7CiAKIEluc3BlY3RvckFnZW50OjpJbnNwZWN0b3JBZ2VudChQYWdlKiBwYWdlLCBJ
bmplY3RlZFNjcmlwdE1hbmFnZXIqIGluamVjdGVkU2NyaXB0TWFuYWdlciwgSW5zdHJ1bWVudGlu
Z0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cywgSW5zcGVjdG9yU3RhdGUqIHN0YXRlKQotICAg
IDogSW5zcGVjdG9yQmFzZUFnZW50PEluc3BlY3RvckFnZW50PihpbnN0cnVtZW50aW5nQWdlbnRz
LCBzdGF0ZSkKKyAgICA6IEluc3BlY3RvckJhc2VBZ2VudDxJbnNwZWN0b3JBZ2VudD4oIkluc3Bl
Y3RvciIsIGluc3RydW1lbnRpbmdBZ2VudHMsIHN0YXRlKQogICAgICwgbV9pbnNwZWN0ZWRQYWdl
KHBhZ2UpCiAgICAgLCBtX2Zyb250ZW5kKDApCiAgICAgLCBtX2luamVjdGVkU2NyaXB0TWFuYWdl
cihpbmplY3RlZFNjcmlwdE1hbmFnZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQuY3BwCmluZGV4IGYzZmE5
MjhmMTc3Y2E5MjRjYzQ1MTEyZmY1OGE3OGNiNjg2YjU5YTEuLmIxN2U1NDUxZGI5NzJkNDA4ZDcy
YTAwZDM0MjUxZjIwNTdiYjQ1MDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQuY3BwCkBAIC00OSw3ICs0
OSw3IEBAIHN0YXRpYyBjb25zdCBjaGFyIGFwcGxpY2F0aW9uQ2FjaGVBZ2VudEVuYWJsZWRbXSA9
ICJhcHBsaWNhdGlvbkNhY2hlQWdlbnRFbmFibGVkCiB9CiAKIEluc3BlY3RvckFwcGxpY2F0aW9u
Q2FjaGVBZ2VudDo6SW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50KEluc3RydW1lbnRpbmdB
Z2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMsIEluc3BlY3RvclN0YXRlKiBzdGF0ZSwgSW5zcGVj
dG9yUGFnZUFnZW50KiBwYWdlQWdlbnQpCi0gICAgOiBJbnNwZWN0b3JCYXNlQWdlbnQ8SW5zcGVj
dG9yQXBwbGljYXRpb25DYWNoZUFnZW50PihpbnN0cnVtZW50aW5nQWdlbnRzLCBzdGF0ZSkKKyAg
ICA6IEluc3BlY3RvckJhc2VBZ2VudDxJbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQ+KCJB
cHBsaWNhdGlvbkNhY2hlIiwgaW5zdHJ1bWVudGluZ0FnZW50cywgc3RhdGUpCiAgICAgLCBtX3Bh
Z2VBZ2VudChwYWdlQWdlbnQpCiAgICAgLCBtX2Zyb250ZW5kKDApCiB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQmFzZUFnZW50LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JCYXNlQWdlbnQuY3BwCmluZGV4IDc0OTYwNzNiYTQ1
NzgzMTNkYTkzY2FiMWQ3ZmEyYTA5N2EzZjFmNTAuLjg0MmU0YTAwOGUyYzUzZGRhMGM2ZGExMDBk
MjY5M2YwNzM3NGQ2MmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JCYXNlQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JCYXNlQWdlbnQuY3BwCkBAIC0zNSw2ICszNSwxNSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKK0luc3BlY3RvckJhc2VBZ2VudEludGVyZmFjZTo6SW5zcGVjdG9yQmFzZUFnZW50SW50ZXJm
YWNlKGNvbnN0IFN0cmluZyYgbmFtZSkKKyAgICA6IG1fbmFtZShuYW1lKQoreworfQorCitJbnNw
ZWN0b3JCYXNlQWdlbnRJbnRlcmZhY2U6On5JbnNwZWN0b3JCYXNlQWdlbnRJbnRlcmZhY2UoKQor
eworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBFTkFCTEUoSU5TUEVD
VE9SKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckJhc2VB
Z2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckJhc2VBZ2VudC5oCmlu
ZGV4IDgxZjA3OWJjMGQ5ODhlNjFhMzIxMzRjOWMzYTRkMTRjYmM0NTYwYzMuLjA3YjNkNmQzNzBl
OTgzNDVjYTViNjkxOTk1YTA0M2NlYzY0OGQ4NTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JCYXNlQWdlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yQmFzZUFnZW50LmgKQEAgLTMyLDYgKzMyLDggQEAKICNkZWZpbmUgSW5z
cGVjdG9yQmFzZUFnZW50X2gKIAogI2luY2x1ZGUgIkluc3BlY3RvckJhY2tlbmREaXNwYXRjaGVy
LmgiCisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmlu
Zy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTQxLDEyICs0MywxOCBAQCBjbGFzcyBJ
bnN0cnVtZW50aW5nQWdlbnRzOwogCiBjbGFzcyBJbnNwZWN0b3JCYXNlQWdlbnRJbnRlcmZhY2Ug
ewogcHVibGljOgotICAgIEluc3BlY3RvckJhc2VBZ2VudEludGVyZmFjZSgpIHsgfQotICAgIHZp
cnR1YWwgfkluc3BlY3RvckJhc2VBZ2VudEludGVyZmFjZSgpIHsgfQorICAgIGV4cGxpY2l0IElu
c3BlY3RvckJhc2VBZ2VudEludGVyZmFjZShjb25zdCBTdHJpbmcmIG5hbWUpOworICAgIHZpcnR1
YWwgfkluc3BlY3RvckJhc2VBZ2VudEludGVyZmFjZSgpOworCiAgICAgdmlydHVhbCB2b2lkIHNl
dEZyb250ZW5kKEluc3BlY3RvckZyb250ZW5kKikgeyB9CiAgICAgdmlydHVhbCB2b2lkIGNsZWFy
RnJvbnRlbmQoKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgcmVzdG9yZSgpIHsgfQogICAgIHZpcnR1
YWwgdm9pZCByZWdpc3RlckluRGlzcGF0Y2hlcihJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlciop
ID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgZ2V0Q2FwYWJpbGl0aWVzKEluc3BlY3RvckFycmF5Kikg
eyB9OworCisgICAgU3RyaW5nIG5hbWUoKSB7IHJldHVybiBtX25hbWU7IH0KK3ByaXZhdGU6Cisg
ICAgU3RyaW5nIG1fbmFtZTsKIH07CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+CkBAIC02MCw4ICs2
OCw5IEBAIHB1YmxpYzoKICAgICB9CiAKIHByb3RlY3RlZDoKLSAgICBJbnNwZWN0b3JCYXNlQWdl
bnQoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cywgSW5zcGVjdG9yU3Rh
dGUqIGluc3BlY3RvclN0YXRlKQotICAgICAgICA6IG1faW5zdHJ1bWVudGluZ0FnZW50cyhpbnN0
cnVtZW50aW5nQWdlbnRzKQorICAgIEluc3BlY3RvckJhc2VBZ2VudChjb25zdCBTdHJpbmcmIG5h
bWUsIEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMsIEluc3BlY3RvclN0
YXRlKiBpbnNwZWN0b3JTdGF0ZSkKKyAgICAgICAgOiBJbnNwZWN0b3JCYXNlQWdlbnRJbnRlcmZh
Y2UobmFtZSkKKyAgICAgICAgLCBtX2luc3RydW1lbnRpbmdBZ2VudHMoaW5zdHJ1bWVudGluZ0Fn
ZW50cykKICAgICAgICAgLCBtX3N0YXRlKGluc3BlY3RvclN0YXRlKQogICAgIHsKICAgICB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ1NTQWdlbnQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNTU0FnZW50LmNwcAppbmRleCAy
N2RmNjk1Yzc5MTZlOTIzOTRmMGM1YmQwZGQ0YWExMWNhN2E0ZDViLi43Y2NjYmJjMWU5ZmU0NDYw
MTJjZmJjYWY3MWI3OTI2ZTBiYjkxMjY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yQ1NTQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JDU1NBZ2VudC5jcHAKQEAgLTE4NSw3ICsxODUsNyBAQCBDU1NTdHlsZVJ1bGUq
IEluc3BlY3RvckNTU0FnZW50Ojphc0NTU1N0eWxlUnVsZShDU1NSdWxlKiBydWxlKQogfQogCiBJ
bnNwZWN0b3JDU1NBZ2VudDo6SW5zcGVjdG9yQ1NTQWdlbnQoSW5zdHJ1bWVudGluZ0FnZW50cyog
aW5zdHJ1bWVudGluZ0FnZW50cywgSW5zcGVjdG9yU3RhdGUqIHN0YXRlLCBJbnNwZWN0b3JET01B
Z2VudCogZG9tQWdlbnQpCi0gICAgOiBJbnNwZWN0b3JCYXNlQWdlbnQ8SW5zcGVjdG9yQ1NTQWdl
bnQ+KGluc3RydW1lbnRpbmdBZ2VudHMsIHN0YXRlKQorICAgIDogSW5zcGVjdG9yQmFzZUFnZW50
PEluc3BlY3RvckNTU0FnZW50PigiQ1NTIiwgaW5zdHJ1bWVudGluZ0FnZW50cywgc3RhdGUpCiAg
ICAgLCBtX2RvbUFnZW50KGRvbUFnZW50KQogICAgICwgbV9sYXN0UHNldWRvU3RhdGUoMCkKICAg
ICAsIG1fbGFzdFN0eWxlU2hlZXRJZCgxKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckNvbnNvbGVBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yQ29uc29sZUFnZW50LmNwcAppbmRleCA2ODNkODlhZWEzYjljNjBkN2MzNzcy
MjkzYjUyNmVkNjQ3ZjM0M2NkLi42M2JjODMwYjRhOGI1N2VlMDE3OGE0MWU4NjUwZTJlNGE4MDYw
MWJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29uc29s
ZUFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29uc29s
ZUFnZW50LmNwcApAQCAtNTcsNyArNTcsNyBAQCBzdGF0aWMgY29uc3QgY2hhciBjb25zb2xlTWVz
c2FnZXNFbmFibGVkW10gPSAiY29uc29sZU1lc3NhZ2VzRW5hYmxlZCI7CiB9CiAKIEluc3BlY3Rv
ckNvbnNvbGVBZ2VudDo6SW5zcGVjdG9yQ29uc29sZUFnZW50KEluc3RydW1lbnRpbmdBZ2VudHMq
IGluc3RydW1lbnRpbmdBZ2VudHMsIEluc3BlY3RvclN0YXRlKiBzdGF0ZSwgSW5qZWN0ZWRTY3Jp
cHRNYW5hZ2VyKiBpbmplY3RlZFNjcmlwdE1hbmFnZXIpCi0gICAgOiBJbnNwZWN0b3JCYXNlQWdl
bnQ8SW5zcGVjdG9yQ29uc29sZUFnZW50PihpbnN0cnVtZW50aW5nQWdlbnRzLCBzdGF0ZSkKKyAg
ICA6IEluc3BlY3RvckJhc2VBZ2VudDxJbnNwZWN0b3JDb25zb2xlQWdlbnQ+KCJDb25zb2xlIiwg
aW5zdHJ1bWVudGluZ0FnZW50cywgc3RhdGUpCiAgICAgLCBtX2luamVjdGVkU2NyaXB0TWFuYWdl
cihpbmplY3RlZFNjcmlwdE1hbmFnZXIpCiAgICAgLCBtX2Zyb250ZW5kKDApCiAgICAgLCBtX3By
ZXZpb3VzTWVzc2FnZSgwKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvckNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckNvbnRyb2xsZXIuY3BwCmluZGV4IDExMDc2NTBkNThlOTE5YmNiZDdkYzEzZjZmNTYwODM0MDk4
MTU5MjkuLjhmMDJlNDk5YjZjODg3ZDcwNzY3MmY1NDI0MDEwOTJlOTA4NjJjNDkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAKQEAgLTUz
LDYgKzUzLDcgQEAKICNpbmNsdWRlICJJbnNwZWN0b3JGcm9udGVuZC5oIgogI2luY2x1ZGUgIklu
c3BlY3RvckZyb250ZW5kQ2xpZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uLmgiCisjaW5jbHVkZSAiSW5zcGVjdG9yTWV0YUFnZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVj
dG9yUGFnZUFnZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yUHJvZmlsZXJBZ2VudC5oIgogI2lu
Y2x1ZGUgIkluc3BlY3RvclJlc291cmNlQWdlbnQuaCIKQEAgLTEzNiw2ICsxMzcsOCBAQCBJbnNw
ZWN0b3JDb250cm9sbGVyOjpJbnNwZWN0b3JDb250cm9sbGVyKFBhZ2UqIHBhZ2UsIEluc3BlY3Rv
ckNsaWVudCogaW5zcGVjdG9yQwogICAgIG1fYWdlbnRzLmFwcGVuZChJbnNwZWN0b3JXb3JrZXJB
Z2VudDo6Y3JlYXRlKG1faW5zdHJ1bWVudGluZ0FnZW50cy5nZXQoKSwgbV9zdGF0ZS5nZXQoKSkp
OwogI2VuZGlmCiAKKyAgICBtX2FnZW50cy5hcHBlbmQoSW5zcGVjdG9yTWV0YUFnZW50OjpjcmVh
dGUobV9pbnN0cnVtZW50aW5nQWdlbnRzLmdldCgpLCBtX3N0YXRlLmdldCgpLCAmbV9hZ2VudHMp
KTsKKwogICAgIEFTU0VSVF9BUkcoaW5zcGVjdG9yQ2xpZW50LCBpbnNwZWN0b3JDbGllbnQpOwog
ICAgIG1faW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLT5pbmplY3RlZFNjcmlwdEhvc3QoKS0+aW5pdCht
X2luc3BlY3RvckFnZW50CiAgICAgICAgICwgY29uc29sZUFnZW50CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuaAppbmRleCBmZTc3YTRhNGUwYTRlYzcw
NmNkMzIwMGI1ZjAzZjA4N2FiZjAzODk5Li5jZDYxNDg2ZDRhMzRhYmIyMzc2N2Y2YmZkZDZlMDdm
Y2NkNDAwYmZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
Q29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250
cm9sbGVyLmgKQEAgLTMzLDggKzMzLDggQEAKIAogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgi
CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KKyNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgotI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yRE9NQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckRPTUFnZW50LmNwcAppbmRleCA4NjM5YzU2NzdjOWUxY2E1NDc5YTUwNmMyNTc3NzMzNmQ0MTVk
NmU5Li5jZjQyMzE0ODAyY2FjYWFiNmM0OGY4ZjQxNDQ3ZDU3ZmViODhlZDI2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5jcHAKQEAgLTE3Miw3ICsx
NzIsNyBAQCB2b2lkIFJldmFsaWRhdGVTdHlsZUF0dHJpYnV0ZVRhc2s6Om9uVGltZXIoVGltZXI8
UmV2YWxpZGF0ZVN0eWxlQXR0cmlidXRlVGFzaz4qKQogfQogCiBJbnNwZWN0b3JET01BZ2VudDo6
SW5zcGVjdG9yRE9NQWdlbnQoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50
cywgSW5zcGVjdG9yUGFnZUFnZW50KiBwYWdlQWdlbnQsIEluc3BlY3RvckNsaWVudCogY2xpZW50
LCBJbnNwZWN0b3JTdGF0ZSogaW5zcGVjdG9yU3RhdGUsIEluamVjdGVkU2NyaXB0TWFuYWdlciog
aW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKQotICAgIDogSW5zcGVjdG9yQmFzZUFnZW50PEluc3BlY3Rv
ckRPTUFnZW50PihpbnN0cnVtZW50aW5nQWdlbnRzLCBpbnNwZWN0b3JTdGF0ZSkKKyAgICA6IElu
c3BlY3RvckJhc2VBZ2VudDxJbnNwZWN0b3JET01BZ2VudD4oIkRPTSIsIGluc3RydW1lbnRpbmdB
Z2VudHMsIGluc3BlY3RvclN0YXRlKQogICAgICwgbV9wYWdlQWdlbnQocGFnZUFnZW50KQogICAg
ICwgbV9jbGllbnQoY2xpZW50KQogICAgICwgbV9pbmplY3RlZFNjcmlwdE1hbmFnZXIoaW5qZWN0
ZWRTY3JpcHRNYW5hZ2VyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvckRPTURlYnVnZ2VyQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvckRPTURlYnVnZ2VyQWdlbnQuY3BwCmluZGV4IDgzZTljZGE3YmIxNzdmMDYyZGYyYjYz
NmU3YWY1ZWM0NTYxOGMwMzQuLjVlZWY5NTBiODYzYjcxYWE4N2MyZTIwZjZjNGVkZDU4NjcwYmVk
YTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01EZWJ1
Z2dlckFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9N
RGVidWdnZXJBZ2VudC5jcHAKQEAgLTc1LDcgKzc1LDcgQEAgUGFzc093blB0cjxJbnNwZWN0b3JE
T01EZWJ1Z2dlckFnZW50PiBJbnNwZWN0b3JET01EZWJ1Z2dlckFnZW50OjpjcmVhdGUoSW5zdHJ1
bWUKIH0KIAogSW5zcGVjdG9yRE9NRGVidWdnZXJBZ2VudDo6SW5zcGVjdG9yRE9NRGVidWdnZXJB
Z2VudChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzLCBJbnNwZWN0b3JT
dGF0ZSogaW5zcGVjdG9yU3RhdGUsIEluc3BlY3RvckRPTUFnZW50KiBkb21BZ2VudCwgSW5zcGVj
dG9yRGVidWdnZXJBZ2VudCogZGVidWdnZXJBZ2VudCwgSW5zcGVjdG9yQWdlbnQqIGluc3BlY3Rv
ckFnZW50KQotICAgIDogSW5zcGVjdG9yQmFzZUFnZW50PEluc3BlY3RvckRPTURlYnVnZ2VyQWdl
bnQ+KGluc3RydW1lbnRpbmdBZ2VudHMsIGluc3BlY3RvclN0YXRlKQorICAgIDogSW5zcGVjdG9y
QmFzZUFnZW50PEluc3BlY3RvckRPTURlYnVnZ2VyQWdlbnQ+KCJET01EZWJ1Z2dlciIsIGluc3Ry
dW1lbnRpbmdBZ2VudHMsIGluc3BlY3RvclN0YXRlKQogICAgICwgbV9kb21BZ2VudChkb21BZ2Vu
dCkKICAgICAsIG1fZGVidWdnZXJBZ2VudChkZWJ1Z2dlckFnZW50KQogICAgICwgbV9pbnNwZWN0
b3JBZ2VudChpbnNwZWN0b3JBZ2VudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JET01TdG9yYWdlQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvckRPTVN0b3JhZ2VBZ2VudC5jcHAKaW5kZXggYTNlMDIyN2FhNTM4NWU0NTY3
OGI4YWQ2ZmE1OWYwNDE0MzI5MDVmMy4uYjgxMWZiYTg2ZDIxODY0ZGZkMGYwYTc2NjMwYjQwNDAw
Y2M3MTM0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRP
TVN0b3JhZ2VBZ2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckRPTVN0b3JhZ2VBZ2VudC5jcHAKQEAgLTU2LDcgKzU2LDcgQEAgc3RhdGljIGNvbnN0IGNoYXIg
ZG9tU3RvcmFnZUFnZW50RW5hYmxlZFtdID0gImRvbVN0b3JhZ2VBZ2VudEVuYWJsZWQiOwogdHlw
ZWRlZiBIYXNoTWFwPGludCwgUmVmUHRyPEluc3BlY3RvckRPTVN0b3JhZ2VSZXNvdXJjZT4gPiBE
T01TdG9yYWdlUmVzb3VyY2VzTWFwOwogCiBJbnNwZWN0b3JET01TdG9yYWdlQWdlbnQ6Okluc3Bl
Y3RvckRPTVN0b3JhZ2VBZ2VudChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdl
bnRzLCBJbnNwZWN0b3JTdGF0ZSogc3RhdGUpCi0gICAgOiBJbnNwZWN0b3JCYXNlQWdlbnQ8SW5z
cGVjdG9yRE9NU3RvcmFnZUFnZW50PihpbnN0cnVtZW50aW5nQWdlbnRzLCBzdGF0ZSkKKyAgICA6
IEluc3BlY3RvckJhc2VBZ2VudDxJbnNwZWN0b3JET01TdG9yYWdlQWdlbnQ+KCJET01TdG9yYWdl
IiwgaW5zdHJ1bWVudGluZ0FnZW50cywgc3RhdGUpCiAgICAgLCBtX2Zyb250ZW5kKDApCiAgICAg
LCBtX2VuYWJsZWQoZmFsc2UpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yRGF0YWJhc2VBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yRGF0YWJhc2VBZ2VudC5jcHAKaW5kZXggNDQ5YTBjZTk2NTY3ODViZGY2OTQ5NmIx
YjY5Zjg0NmU2NjQ3N2QyYi4uNGM4NmU5YmEwMzI2ZDFhYjAwMmI1ZWU3N2QxNmYyNTk3Zjk1ZmQw
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRhdGFiYXNl
QWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JEYXRhYmFz
ZUFnZW50LmNwcApAQCAtMjQzLDcgKzI0Myw3IEBAIHZvaWQgSW5zcGVjdG9yRGF0YWJhc2VBZ2Vu
dDo6Y2xlYXJSZXNvdXJjZXMoKQogfQogCiBJbnNwZWN0b3JEYXRhYmFzZUFnZW50OjpJbnNwZWN0
b3JEYXRhYmFzZUFnZW50KEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMs
IEluc3BlY3RvclN0YXRlKiBzdGF0ZSkKLSAgICA6IEluc3BlY3RvckJhc2VBZ2VudDxJbnNwZWN0
b3JEYXRhYmFzZUFnZW50PihpbnN0cnVtZW50aW5nQWdlbnRzLCBzdGF0ZSkKKyAgICA6IEluc3Bl
Y3RvckJhc2VBZ2VudDxJbnNwZWN0b3JEYXRhYmFzZUFnZW50PigiRGF0YWJhc2UiLCBpbnN0cnVt
ZW50aW5nQWdlbnRzLCBzdGF0ZSkKICAgICAsIG1fZW5hYmxlZChmYWxzZSkKIHsKICAgICBtX2lu
c3RydW1lbnRpbmdBZ2VudHMtPnNldEluc3BlY3RvckRhdGFiYXNlQWdlbnQodGhpcyk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5jcHAK
aW5kZXggY2ZlY2FlYzhiZjJhZjcyOGYwNTdiNDJiMzljYTE3ZWQ3NmEzNDk3My4uNzUwM2FiZTNi
OWY3YWJjYzE4YzU0NGExOTU2ODJiNzY5MmI0YjYzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvckRlYnVnZ2VyQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmNwcApAQCAtNTMsNyArNTMsNyBA
QCBzdGF0aWMgY29uc3QgY2hhciBqYXZhU2NyaXB0QnJlYWtwb2ludHNbXSA9ICJqYXZhU2NyaXB0
QnJlYWtvcGludHMiOwogY29uc3QgY2hhciogSW5zcGVjdG9yRGVidWdnZXJBZ2VudDo6YmFja3Ry
YWNlT2JqZWN0R3JvdXAgPSAiYmFja3RyYWNlLW9iamVjdC1ncm91cCI7CiAKIEluc3BlY3RvckRl
YnVnZ2VyQWdlbnQ6Okluc3BlY3RvckRlYnVnZ2VyQWdlbnQoSW5zdHJ1bWVudGluZ0FnZW50cyog
aW5zdHJ1bWVudGluZ0FnZW50cywgSW5zcGVjdG9yU3RhdGUqIGluc3BlY3RvclN0YXRlLCBJbmpl
Y3RlZFNjcmlwdE1hbmFnZXIqIGluamVjdGVkU2NyaXB0TWFuYWdlcikKLSAgICA6IEluc3BlY3Rv
ckJhc2VBZ2VudDxJbnNwZWN0b3JEZWJ1Z2dlckFnZW50PihpbnN0cnVtZW50aW5nQWdlbnRzLCBp
bnNwZWN0b3JTdGF0ZSkKKyAgICA6IEluc3BlY3RvckJhc2VBZ2VudDxJbnNwZWN0b3JEZWJ1Z2dl
ckFnZW50PigiRGVidWdnZXIiLCBpbnN0cnVtZW50aW5nQWdlbnRzLCBpbnNwZWN0b3JTdGF0ZSkK
ICAgICAsIG1faW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKGluamVjdGVkU2NyaXB0TWFuYWdlcikKICAg
ICAsIG1fZnJvbnRlbmQoMCkKICAgICAsIG1fcGF1c2VkU2NyaXB0U3RhdGUoMCkKQEAgLTk5LDEw
ICs5OSwxMCBAQCBib29sIEluc3BlY3RvckRlYnVnZ2VyQWdlbnQ6OmVuYWJsZWQoKQogICAgIHJl
dHVybiBtX3N0YXRlLT5nZXRCb29sZWFuKERlYnVnZ2VyQWdlbnRTdGF0ZTo6ZGVidWdnZXJFbmFi
bGVkKTsKIH0KIAotdm9pZCBJbnNwZWN0b3JEZWJ1Z2dlckFnZW50OjpnZXRDYXBhYmlsaXRpZXMo
RXJyb3JTdHJpbmcqLCBSZWZQdHI8SW5zcGVjdG9yQXJyYXk+KiBjYXBhYmlsaXRpZXMpCit2b2lk
IEluc3BlY3RvckRlYnVnZ2VyQWdlbnQ6OmdldENhcGFiaWxpdGllcyhJbnNwZWN0b3JBcnJheSog
Y2FwYWJpbGl0aWVzKQogewogICAgIGlmIChzY3JpcHREZWJ1Z1NlcnZlcigpLmNhblNldFNjcmlw
dFNvdXJjZSgpKQotICAgICAgICAoKmNhcGFiaWxpdGllcyktPnB1c2hTdHJpbmcoSW5zcGVjdG9y
RnJvbnRlbmQ6OkRlYnVnZ2VyOjpjYXBhYmlsaXR5U2V0U2NyaXB0U291cmNlKTsKKyAgICAgICAg
Y2FwYWJpbGl0aWVzLT5wdXNoU3RyaW5nKEluc3BlY3RvckZyb250ZW5kOjpEZWJ1Z2dlcjo6Y2Fw
YWJpbGl0eVNldFNjcmlwdFNvdXJjZSk7CiB9CiAKIHZvaWQgSW5zcGVjdG9yRGVidWdnZXJBZ2Vu
dDo6ZW5hYmxlKEVycm9yU3RyaW5nKikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yRGVidWdnZXJBZ2VudC5oCmluZGV4IDE1OTA4MDNiM2ZiOTY3YTE1MmY0Yzk5MGEy
NWFkMTMxMjQ4MTA3NGMuLjViYjk5NDBjMGE0MTFlZmJmYTEzZWY3YTFjZDlhMTYyYzNmOTE1NTAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JEZWJ1Z2dlckFn
ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRlYnVnZ2VyQWdl
bnQuaApAQCAtNjUsMTMgKzY1LDEzIEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgfkluc3BlY3Rv
ckRlYnVnZ2VyQWdlbnQoKTsKIAotICAgIHZvaWQgZ2V0Q2FwYWJpbGl0aWVzKEVycm9yU3RyaW5n
KiwgUmVmUHRyPEluc3BlY3RvckFycmF5PiopOwogICAgIHZvaWQgZW5hYmxlKEVycm9yU3RyaW5n
Kik7CiAgICAgdm9pZCBkaXNhYmxlKEVycm9yU3RyaW5nKik7CiAKICAgICB2aXJ0dWFsIHZvaWQg
c2V0RnJvbnRlbmQoSW5zcGVjdG9yRnJvbnRlbmQqKTsKICAgICB2aXJ0dWFsIHZvaWQgY2xlYXJG
cm9udGVuZCgpOwogICAgIHZpcnR1YWwgdm9pZCByZXN0b3JlKCk7CisgICAgdmlydHVhbCB2b2lk
IGdldENhcGFiaWxpdGllcyhJbnNwZWN0b3JBcnJheSopOwogCiAgICAgdm9pZCBkaWRDbGVhck1h
aW5GcmFtZVdpbmRvd09iamVjdCgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQuY3BwCmluZGV4IDk2ZjAzYjYwZGFmNDdjODg3
MjYyMjEzZWI0YTdjZWYzZjgxZDNhZGQuLjcyNTAxNjZjYjNkNTJkNTM3NjMzOTliNWQwODM2ZTcz
NDhhZmQxNmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JG
aWxlU3lzdGVtQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JGaWxlU3lzdGVtQWdlbnQuY3BwCkBAIC0xMDcsNyArMTA3LDcgQEAgdm9pZCBJbnNwZWN0b3JG
aWxlU3lzdGVtQWdlbnQ6OnJlc3RvcmUoKQogfQogCiBJbnNwZWN0b3JGaWxlU3lzdGVtQWdlbnQ6
Okluc3BlY3RvckZpbGVTeXN0ZW1BZ2VudChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50
aW5nQWdlbnRzLCBJbnNwZWN0b3JTdGF0ZSogc3RhdGUpCi0gICAgOiBJbnNwZWN0b3JCYXNlQWdl
bnQ8SW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50PihpbnN0cnVtZW50aW5nQWdlbnRzLCBzdGF0ZSks
CisgICAgOiBJbnNwZWN0b3JCYXNlQWdlbnQ8SW5zcGVjdG9yRmlsZVN5c3RlbUFnZW50PigiRmls
ZVN5c3RlbSIsIGluc3RydW1lbnRpbmdBZ2VudHMsIHN0YXRlKSwKICAgICAgIG1fZnJvbnRlbmQo
MCksCiAgICAgICBtX2VuYWJsZWQoZmFsc2UpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yTWV0YUFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JNZXRhQWdlbnQuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmUwZWFkNmQ2MTc5ZDZkMDYw
YWQzZGUwOTdjNWRlNDM1YjMyODUxMmQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yTWV0YUFnZW50LmNwcApAQCAtMCwwICsxLDc3IEBACisvKgor
KiBDb3B5cmlnaHQgKEMpIDIwMDkgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyoK
KyogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyogbWV0OgorKgorKiAgICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
KiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUKKyogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisqIGRpc3RyaWJ1dGlvbi4K
KyogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9m
IGl0cworKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHBy
b2R1Y3RzIGRlcml2ZWQgZnJvbQorKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJp
b3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorKgorKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisqICJBUyBJUyIgQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisqIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUgorKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyogU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorKiBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwKKyogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
CisqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiSW5z
cGVjdG9yTWV0YUFnZW50LmgiCisKKyNpZiBFTkFCTEUoSU5TUEVDVE9SKQorCisjaW5jbHVkZSAi
SW5zcGVjdG9yU3RhdGUuaCIKKyNpbmNsdWRlICJJbnNwZWN0b3JWYWx1ZXMuaCIKKyNpbmNsdWRl
ICJJbnN0cnVtZW50aW5nQWdlbnRzLmgiCisjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KKworbmFt
ZXNwYWNlIFdlYkNvcmUgeworCitJbnNwZWN0b3JNZXRhQWdlbnQ6On5JbnNwZWN0b3JNZXRhQWdl
bnQoKQoreworfQorCit2b2lkIEluc3BlY3Rvck1ldGFBZ2VudDo6Z2V0Q2FwYWJpbGl0aWVzKEVy
cm9yU3RyaW5nKiwgY29uc3QgUmVmUHRyPEluc3BlY3RvckFycmF5PiYgZG9tYWluTmFtZXMsIFJl
ZlB0cjxJbnNwZWN0b3JBcnJheT4qIGNhcGFiaWxpdGllcykKK3sKKyAgICBIYXNoU2V0PFN0cmlu
Zz4gcmVxdWVzdGVkRG9tYWluczsKKyAgICBmb3IgKEluc3BlY3RvckFycmF5OjppdGVyYXRvciBp
dCA9IGRvbWFpbk5hbWVzLT5iZWdpbigpOyBpdCAhPSBkb21haW5OYW1lcy0+ZW5kKCk7ICsraXQp
IHsKKyAgICAgICAgU3RyaW5nIHZhbHVlOworICAgICAgICBpZiAoaXQtPmdldCgpLT5hc1N0cmlu
ZygmdmFsdWUpKQorICAgICAgICAgICAgcmVxdWVzdGVkRG9tYWlucy5hZGQodmFsdWUpOworICAg
IH0KKyAgICBmb3IgKEluc3BlY3RvckFnZW50czo6aXRlcmF0b3IgaXQgPSBtX2FnZW50cy0+YmVn
aW4oKTsgaXQgIT0gbV9hZ2VudHMtPmVuZCgpOyArK2l0KSB7CisgICAgICAgIEluc3BlY3RvckJh
c2VBZ2VudEludGVyZmFjZSogYWdlbnQgPSBpdC0+Z2V0KCk7CisgICAgICAgIGlmICghcmVxdWVz
dGVkRG9tYWlucy5jb250YWlucyhhZ2VudC0+bmFtZSgpKSkKKyAgICAgICAgICAgIGNvbnRpbnVl
OworCisgICAgICAgIFJlZlB0cjxJbnNwZWN0b3JPYmplY3Q+IGRvbWFpbkRlc2NyaXB0b3IgPSBJ
bnNwZWN0b3JPYmplY3Q6OmNyZWF0ZSgpOworICAgICAgICBkb21haW5EZXNjcmlwdG9yLT5zZXRT
dHJpbmcoImRvbWFpbk5hbWUiLCBhZ2VudC0+bmFtZSgpKTsKKyAgICAgICAgUmVmUHRyPEluc3Bl
Y3RvckFycmF5PiBhZ2VudENhcGFiaWxpdGllcyA9IEluc3BlY3RvckFycmF5OjpjcmVhdGUoKTsK
KyAgICAgICAgYWdlbnQtPmdldENhcGFiaWxpdGllcyhhZ2VudENhcGFiaWxpdGllcy5nZXQoKSk7
CisgICAgICAgIGRvbWFpbkRlc2NyaXB0b3ItPnNldEFycmF5KCJjYXBhYmlsaXRpZXMiLCBhZ2Vu
dENhcGFiaWxpdGllcyk7CisgICAgICAgICgqY2FwYWJpbGl0aWVzKS0+cHVzaE9iamVjdChkb21h
aW5EZXNjcmlwdG9yKTsKKyAgICB9Cit9CisKK0luc3BlY3Rvck1ldGFBZ2VudDo6SW5zcGVjdG9y
TWV0YUFnZW50KEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMsIEluc3Bl
Y3RvclN0YXRlKiBzdGF0ZSwgSW5zcGVjdG9yQWdlbnRzKiBhZ2VudHMpCisgICAgOiBJbnNwZWN0
b3JCYXNlQWdlbnQ8SW5zcGVjdG9yTWV0YUFnZW50PigiTWV0YSIsIGluc3RydW1lbnRpbmdBZ2Vu
dHMsIHN0YXRlKQorICAgICwgbV9hZ2VudHMoYWdlbnRzKQoreworfQorCit9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck1ldGFBZ2VudC5oIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3Rvck1ldGFBZ2VudC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFhMzkzYTcxNDA0
ZGU2YjVlYWIyZmYwMGY1NzVjYzgzZGE1NWI0YTUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yTWV0YUFnZW50LmgKQEAgLTAsMCArMSw3MCBAQAor
LyoKKyogQ29weXJpZ2h0IChDKSAyMDA5IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisqCisqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisqIG1ldDoKKyoKKyogICAgICogUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlCisqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyogaW4gdGhlIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorKiBkaXN0cmlidXRp
b24uCisqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1l
cyBvZiBpdHMKKyogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyoKKyogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworKiAiQVMgSVMiIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAor
KiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IKKyogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisqIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QK
KyogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsCisqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorKiBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQorKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorKi8KKworI2lmbmRlZiBJbnNwZWN0b3JNZXRhQWdlbnRfaAor
I2RlZmluZSBJbnNwZWN0b3JNZXRhQWdlbnRfaAorCisjaWYgRU5BQkxFKElOU1BFQ1RPUikKKwor
I2luY2x1ZGUgIkluc3BlY3RvckJhc2VBZ2VudC5oIgorI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRy
Lmg+CisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CitjbGFz
cyBJbnNwZWN0b3JGcm9udGVuZDsKK2NsYXNzIEluc3BlY3RvclN0YXRlOworY2xhc3MgSW5zcGVj
dG9yQXJyYXk7CitjbGFzcyBJbnN0cnVtZW50aW5nQWdlbnRzOworCit0eXBlZGVmIFN0cmluZyBF
cnJvclN0cmluZzsKKworY2xhc3MgSW5zcGVjdG9yTWV0YUFnZW50IDogcHVibGljIEluc3BlY3Rv
ckJhc2VBZ2VudDxJbnNwZWN0b3JNZXRhQWdlbnQ+IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShJbnNwZWN0b3JNZXRhQWdlbnQpOworcHVibGljOgorICAgIHR5cGVkZWYgVmVjdG9yPE93blB0
cjxJbnNwZWN0b3JCYXNlQWdlbnRJbnRlcmZhY2U+ID4gSW5zcGVjdG9yQWdlbnRzOworCisgICAg
c3RhdGljIFBhc3NPd25QdHI8SW5zcGVjdG9yTWV0YUFnZW50PiBjcmVhdGUoSW5zdHJ1bWVudGlu
Z0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cywgSW5zcGVjdG9yU3RhdGUqIHN0YXRlLCBJbnNw
ZWN0b3JBZ2VudHMqIGFnZW50cykKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFB0cihuZXcg
SW5zcGVjdG9yTWV0YUFnZW50KGluc3RydW1lbnRpbmdBZ2VudHMsIHN0YXRlLCBhZ2VudHMpKTsK
KyAgICB9CisKKyAgICB2b2lkIGdldENhcGFiaWxpdGllcyhFcnJvclN0cmluZyosIGNvbnN0IFJl
ZlB0cjxJbnNwZWN0b3JBcnJheT4mIGRvbWFpbk5hbWVzLCBSZWZQdHI8SW5zcGVjdG9yQXJyYXk+
KiBjYXBhYmlsaXRpZXMpOworCisgICAgfkluc3BlY3Rvck1ldGFBZ2VudCgpOworCitwcml2YXRl
OgorICAgIEluc3BlY3Rvck1ldGFBZ2VudChJbnN0cnVtZW50aW5nQWdlbnRzKiwgSW5zcGVjdG9y
U3RhdGUqLCBJbnNwZWN0b3JBZ2VudHMqKTsKKyAgICBJbnNwZWN0b3JBZ2VudHMqIG1fYWdlbnRz
OworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gIUVOQUJMRShJTlNQ
RUNUT1IpCisjZW5kaWYgLy8gIWRlZmluZWQoSW5zcGVjdG9yTWV0YUFnZW50X2gpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQYWdlQWdlbnQuY3BwCmluZGV4IDhhMDM4
MGRjZDUyMmUyMDE3NzY0MzlhOTQ4MDQwN2IxMjBkZWZjNWQuLmNjODBiOGI2NTgyNjMzMjNmYzQ1
N2ViMzE5NGZiMTc1Y2I4ZmY4YTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JQYWdlQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JQYWdlQWdlbnQuY3BwCkBAIC0yNjIsNyArMjYyLDcgQEAgU3RyaW5nIEluc3BlY3Rv
clBhZ2VBZ2VudDo6Y2FjaGVkUmVzb3VyY2VUeXBlU3RyaW5nKGNvbnN0IENhY2hlZFJlc291cmNl
JiBjYWNoZWQKIH0KIAogSW5zcGVjdG9yUGFnZUFnZW50OjpJbnNwZWN0b3JQYWdlQWdlbnQoSW5z
dHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cywgUGFnZSogcGFnZSwgSW5zcGVj
dG9yU3RhdGUqIGluc3BlY3RvclN0YXRlLCBJbmplY3RlZFNjcmlwdE1hbmFnZXIqIGluamVjdGVk
U2NyaXB0TWFuYWdlcikKLSAgICA6IEluc3BlY3RvckJhc2VBZ2VudDxJbnNwZWN0b3JQYWdlQWdl
bnQ+KGluc3RydW1lbnRpbmdBZ2VudHMsIGluc3BlY3RvclN0YXRlKQorICAgIDogSW5zcGVjdG9y
QmFzZUFnZW50PEluc3BlY3RvclBhZ2VBZ2VudD4oIlBhZ2UiLCBpbnN0cnVtZW50aW5nQWdlbnRz
LCBpbnNwZWN0b3JTdGF0ZSkKICAgICAsIG1fcGFnZShwYWdlKQogICAgICwgbV9pbmplY3RlZFNj
cmlwdE1hbmFnZXIoaW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKQogICAgICwgbV9mcm9udGVuZCgwKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclByb2ZpbGVyQWdl
bnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclByb2ZpbGVyQWdlbnQu
Y3BwCmluZGV4IGVjYzZjODFjZDRhMzQ4YTEzMTYxOGQzODE1NDNkMjY0Y2QzNjkzZDEuLmVkMzQx
NzJjNDIwYjA4MTA4ODM3NWExMmRiMTY2Mzg4MzY0ZGQyZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQcm9maWxlckFnZW50LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUHJvZmlsZXJBZ2VudC5jcHAKQEAgLTY4LDcgKzY4
LDcgQEAgUGFzc093blB0cjxJbnNwZWN0b3JQcm9maWxlckFnZW50PiBJbnNwZWN0b3JQcm9maWxl
ckFnZW50OjpjcmVhdGUoSW5zdHJ1bWVudGluZ0EKIH0KIAogSW5zcGVjdG9yUHJvZmlsZXJBZ2Vu
dDo6SW5zcGVjdG9yUHJvZmlsZXJBZ2VudChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50
aW5nQWdlbnRzLCBJbnNwZWN0b3JDb25zb2xlQWdlbnQqIGNvbnNvbGVBZ2VudCwgUGFnZSogaW5z
cGVjdGVkUGFnZSwgSW5zcGVjdG9yU3RhdGUqIGluc3BlY3RvclN0YXRlLCBJbmplY3RlZFNjcmlw
dE1hbmFnZXIqIGluamVjdGVkU2NyaXB0TWFuYWdlcikKLSAgICA6IEluc3BlY3RvckJhc2VBZ2Vu
dDxJbnNwZWN0b3JQcm9maWxlckFnZW50PihpbnN0cnVtZW50aW5nQWdlbnRzLCBpbnNwZWN0b3JT
dGF0ZSkKKyAgICA6IEluc3BlY3RvckJhc2VBZ2VudDxJbnNwZWN0b3JQcm9maWxlckFnZW50Pigi
UHJvZmlsZXIiLCBpbnN0cnVtZW50aW5nQWdlbnRzLCBpbnNwZWN0b3JTdGF0ZSkKICAgICAsIG1f
Y29uc29sZUFnZW50KGNvbnNvbGVBZ2VudCkKICAgICAsIG1faW5zcGVjdGVkUGFnZShpbnNwZWN0
ZWRQYWdlKQogICAgICwgbV9pbmplY3RlZFNjcmlwdE1hbmFnZXIoaW5qZWN0ZWRTY3JpcHRNYW5h
Z2VyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclJlc291
cmNlQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclJlc291cmNl
QWdlbnQuY3BwCmluZGV4IDZjMTAyY2NkMjNkZjcyYjVlZDA4YjhkZmIzNTY4NjA2MmEzMjMxODAu
LmRmODQ1MTk0N2NmODU0NjhhYTUyOGE1MmM2YWFlMTcwNWU2ZThkZTYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JSZXNvdXJjZUFnZW50LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUmVzb3VyY2VBZ2VudC5jcHAKQEAgLTUz
MCw3ICs1MzAsNyBAQCB2b2lkIEluc3BlY3RvclJlc291cmNlQWdlbnQ6Om1haW5GcmFtZU5hdmln
YXRlZChEb2N1bWVudExvYWRlciogbG9hZGVyKQogfQogCiBJbnNwZWN0b3JSZXNvdXJjZUFnZW50
OjpJbnNwZWN0b3JSZXNvdXJjZUFnZW50KEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRp
bmdBZ2VudHMsIEluc3BlY3RvclBhZ2VBZ2VudCogcGFnZUFnZW50LCBJbnNwZWN0b3JDbGllbnQq
IGNsaWVudCwgSW5zcGVjdG9yU3RhdGUqIHN0YXRlKQotICAgIDogSW5zcGVjdG9yQmFzZUFnZW50
PEluc3BlY3RvclJlc291cmNlQWdlbnQ+KGluc3RydW1lbnRpbmdBZ2VudHMsIHN0YXRlKQorICAg
IDogSW5zcGVjdG9yQmFzZUFnZW50PEluc3BlY3RvclJlc291cmNlQWdlbnQ+KCJOZXR3b3JrIiwg
aW5zdHJ1bWVudGluZ0FnZW50cywgc3RhdGUpCiAgICAgLCBtX3BhZ2VBZ2VudChwYWdlQWdlbnQp
CiAgICAgLCBtX2NsaWVudChjbGllbnQpCiAgICAgLCBtX2Zyb250ZW5kKDApCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUnVudGltZUFnZW50LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JSdW50aW1lQWdlbnQuY3BwCmluZGV4IGU2
ZGQwNmNhOGZlYTY1YzY5OWE3NWVhZTY2ODBkODU2ZWEwYzc2NDcuLjc3NjkyYTU2OTFiNzMyOWFm
ZWMyMTU3NzZmMjkwNjk5MjNlY2ZjNTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JSdW50aW1lQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JSdW50aW1lQWdlbnQuY3BwCkBAIC01Niw3ICs1Niw3IEBAIHN0YXRpYyBi
b29sIGFzQm9vbChjb25zdCBib29sKiBjb25zdCBiKQogfQogCiBJbnNwZWN0b3JSdW50aW1lQWdl
bnQ6Okluc3BlY3RvclJ1bnRpbWVBZ2VudChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50
aW5nQWdlbnRzLCBJbnNwZWN0b3JTdGF0ZSogc3RhdGUsIEluamVjdGVkU2NyaXB0TWFuYWdlciog
aW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKQotICAgIDogSW5zcGVjdG9yQmFzZUFnZW50PEluc3BlY3Rv
clJ1bnRpbWVBZ2VudD4oaW5zdHJ1bWVudGluZ0FnZW50cywgc3RhdGUpCisgICAgOiBJbnNwZWN0
b3JCYXNlQWdlbnQ8SW5zcGVjdG9yUnVudGltZUFnZW50PigiUnVudGltZSIsIGluc3RydW1lbnRp
bmdBZ2VudHMsIHN0YXRlKQogICAgICwgbV9pbmplY3RlZFNjcmlwdE1hbmFnZXIoaW5qZWN0ZWRT
Y3JpcHRNYW5hZ2VyKQogI2lmIEVOQUJMRShKQVZBU0NSSVBUX0RFQlVHR0VSKQogICAgICwgbV9z
Y3JpcHREZWJ1Z1NlcnZlcigwKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvclRpbWVsaW5lQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvclRpbWVsaW5lQWdlbnQuY3BwCmluZGV4IGNjMjRiOWUxNGE5YTdiMWVkMWYwMGY0MGRj
NGFkZjE4MTNlOTUwY2EuLjE3OTQ5MzNhNjkwNDY0NTgzODgzOWEyYzIzNjE3MDdhOGM1MGU2MzAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFn
ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVB
Z2VudC5jcHAKQEAgLTQwMCw3ICs0MDAsNyBAQCB2b2lkIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6
OmRpZENvbXBsZXRlQ3VycmVudFJlY29yZChjb25zdCBTdHJpbmcmIHR5cGUpCiB9CiAKIEluc3Bl
Y3RvclRpbWVsaW5lQWdlbnQ6Okluc3BlY3RvclRpbWVsaW5lQWdlbnQoSW5zdHJ1bWVudGluZ0Fn
ZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cywgSW5zcGVjdG9yU3RhdGUqIHN0YXRlKQotICAgIDog
SW5zcGVjdG9yQmFzZUFnZW50PEluc3BlY3RvclRpbWVsaW5lQWdlbnQ+KGluc3RydW1lbnRpbmdB
Z2VudHMsIHN0YXRlKQorICAgIDogSW5zcGVjdG9yQmFzZUFnZW50PEluc3BlY3RvclRpbWVsaW5l
QWdlbnQ+KCJUaW1lbGluZSIsIGluc3RydW1lbnRpbmdBZ2VudHMsIHN0YXRlKQogICAgICwgbV9m
cm9udGVuZCgwKQogICAgICwgbV9pZCgxKQogICAgICwgbV9tYXhDYWxsU3RhY2tEZXB0aCg1KQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclZhbHVlcy5oIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclZhbHVlcy5oCmluZGV4IGIyNmFiYzMx
Y2MzY2IwM2Y3YmUwNzU5NTcxZmQxMzYzNWY3YjExNTEuLjYyMTA0YWY2ZWVkMjk5MmNiNmMwMzY3
ZDA4NGE5ODdlYmM0MWI0NTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JWYWx1ZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
VmFsdWVzLmgKQEAgLTE2NSw3ICsxNjUsNiBAQCBwdWJsaWM6CiAgICAgdHlwZWRlZiBEaWN0aW9u
YXJ5OjppdGVyYXRvciBpdGVyYXRvcjsKICAgICB0eXBlZGVmIERpY3Rpb25hcnk6OmNvbnN0X2l0
ZXJhdG9yIGNvbnN0X2l0ZXJhdG9yOwogCi1wdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8
SW5zcGVjdG9yT2JqZWN0PiBjcmVhdGUoKQogICAgIHsKICAgICAgICAgcmV0dXJuIGFkb3B0UmVm
KG5ldyBJbnNwZWN0b3JPYmplY3QoKSk7CkBAIC0yMTQsNiArMjEzLDkgQEAgcHJpdmF0ZToKIAog
Y2xhc3MgSW5zcGVjdG9yQXJyYXkgOiBwdWJsaWMgSW5zcGVjdG9yVmFsdWUgewogcHVibGljOgor
ICAgIHR5cGVkZWYgVmVjdG9yPFJlZlB0cjxJbnNwZWN0b3JWYWx1ZT4gPjo6aXRlcmF0b3IgaXRl
cmF0b3I7CisgICAgdHlwZWRlZiBWZWN0b3I8UmVmUHRyPEluc3BlY3RvclZhbHVlPiA+Ojpjb25z
dF9pdGVyYXRvciBjb25zdF9pdGVyYXRvcjsKKwogICAgIHN0YXRpYyBQYXNzUmVmUHRyPEluc3Bl
Y3RvckFycmF5PiBjcmVhdGUoKQogICAgIHsKICAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBJ
bnNwZWN0b3JBcnJheSgpKTsKQEAgLTIzNSw2ICsyMzcsMTEgQEAgcHVibGljOgogCiAgICAgdmly
dHVhbCB2b2lkIHdyaXRlSlNPTihTdHJpbmdCdWlsZGVyKiBvdXRwdXQpIGNvbnN0OwogCisgICAg
aXRlcmF0b3IgYmVnaW4oKSB7IHJldHVybiBtX2RhdGEuYmVnaW4oKTsgfQorICAgIGl0ZXJhdG9y
IGVuZCgpIHsgcmV0dXJuIG1fZGF0YS5lbmQoKTsgfQorICAgIGNvbnN0X2l0ZXJhdG9yIGJlZ2lu
KCkgY29uc3QgeyByZXR1cm4gbV9kYXRhLmJlZ2luKCk7IH0KKyAgICBjb25zdF9pdGVyYXRvciBl
bmQoKSBjb25zdCB7IHJldHVybiBtX2RhdGEuZW5kKCk7IH0KKwogcHJpdmF0ZToKICAgICBJbnNw
ZWN0b3JBcnJheSgpOwogICAgIFZlY3RvcjxSZWZQdHI8SW5zcGVjdG9yVmFsdWU+ID4gbV9kYXRh
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvcldvcmtlckFn
ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JXb3JrZXJBZ2VudC5j
cHAKaW5kZXggOWI3MjkwYzhkZDhjMTViMzVjMzUwYTRjZTFlZTc2MzJmY2YyOWQyYS4uNzUxMWRh
MWQ2OTJmOGM5Y2M0MjA1ZTc5MzYxN2YxOWYyODg3NjE5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvcldvcmtlckFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yV29ya2VyQWdlbnQuY3BwCkBAIC0xMTEsNyArMTExLDcg
QEAgUGFzc093blB0cjxJbnNwZWN0b3JXb3JrZXJBZ2VudD4gSW5zcGVjdG9yV29ya2VyQWdlbnQ6
OmNyZWF0ZShJbnN0cnVtZW50aW5nQWdlbnQKIH0KIAogSW5zcGVjdG9yV29ya2VyQWdlbnQ6Oklu
c3BlY3RvcldvcmtlckFnZW50KEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2Vu
dHMsIEluc3BlY3RvclN0YXRlKiBpbnNwZWN0b3JTdGF0ZSkKLSAgICA6IEluc3BlY3RvckJhc2VB
Z2VudDxJbnNwZWN0b3JXb3JrZXJBZ2VudD4oaW5zdHJ1bWVudGluZ0FnZW50cywgaW5zcGVjdG9y
U3RhdGUpCisgICAgOiBJbnNwZWN0b3JCYXNlQWdlbnQ8SW5zcGVjdG9yV29ya2VyQWdlbnQ+KCJX
b3JrZXIiLCBpbnN0cnVtZW50aW5nQWdlbnRzLCBpbnNwZWN0b3JTdGF0ZSkKICAgICAsIG1faW5z
cGVjdG9yRnJvbnRlbmQoMCkKIHsKICAgICBtX2luc3RydW1lbnRpbmdBZ2VudHMtPnNldEluc3Bl
Y3RvcldvcmtlckFnZW50KHRoaXMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9EZWJ1Z2dlck1vZGVsLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9EZWJ1Z2dlck1vZGVsLmpzCmluZGV4IDUxNzI3MmIxMGI0OWViOWY0NmVlYWMz
ZDIwZjM5NWE3YjM4MTY5MjEuLjZhNzE0N2M0NzU2MThiZmQ2NTIyYzUzYWZmOWQwNTVmMzUzYmRm
MWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRGVidWdn
ZXJNb2RlbC5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RlYnVn
Z2VyTW9kZWwuanMKQEAgLTkzLDEwICs5MywxNiBAQCBXZWJJbnNwZWN0b3IuRGVidWdnZXJNb2Rl
bC5wcm90b3R5cGUgPSB7CiAgICAgICAgICAqLwogICAgICAgICBmdW5jdGlvbiBjYWxsYmFjayhl
cnJvciwgY2FwYWJpbGl0aWVzKQogICAgICAgICB7Ci0gICAgICAgICAgICBmb3IgKHZhciBpID0g
MDsgaSA8IGNhcGFiaWxpdGllcy5sZW5ndGg7ICsraSkKLSAgICAgICAgICAgICAgICB0aGlzLl9j
YXBhYmlsaXRpZXNPYmplY3RbY2FwYWJpbGl0aWVzW2ldXSA9IHRydWU7CisgICAgICAgICAgICBm
b3IgKHZhciBpID0gMDsgaSA8IGNhcGFiaWxpdGllcy5sZW5ndGg7ICsraSkgeworICAgICAgICAg
ICAgICAgIGlmIChjYXBhYmlsaXRpZXNbaV0uZG9tYWluTmFtZSAhPT0gIkRlYnVnZ2VyIikKKyAg
ICAgICAgICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAgICAgICAgICB2YXIgY2FwYWJp
bGl0aWVzTGlzdCA9IGNhcGFiaWxpdGllc1tpXS5jYXBhYmlsaXRpZXM7CisgICAgICAgICAgICAg
ICAgZm9yICh2YXIgaiA9IDA7IGogPCBjYXBhYmlsaXRpZXNMaXN0Lmxlbmd0aDsgKytqKQorICAg
ICAgICAgICAgICAgICAgICB0aGlzLl9jYXBhYmlsaXRpZXNPYmplY3RbY2FwYWJpbGl0aWVzTGlz
dFtqXV0gPSB0cnVlOworICAgICAgICAgICAgfQogICAgICAgICB9Ci0gICAgICAgIERlYnVnZ2Vy
QWdlbnQuZ2V0Q2FwYWJpbGl0aWVzKGNhbGxiYWNrLmJpbmQodGhpcykpOworICAgICAgICBNZXRh
QWdlbnQuZ2V0Q2FwYWJpbGl0aWVzKFsiRGVidWdnZXIiXSwgY2FsbGJhY2suYmluZCh0aGlzKSk7
CiAgICAgICAgIERlYnVnZ2VyQWdlbnQuZW5hYmxlKHRoaXMuX2RlYnVnZ2VyV2FzRW5hYmxlZC5i
aW5kKHRoaXMpKTsKICAgICB9LAogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>