<?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>93119</bug_id>
          
          <creation_ts>2012-08-03 07:21:09 -0700</creation_ts>
          <short_desc>MediaStream API: Introduce RTCSessionDescription</short_desc>
          <delta_ts>2012-08-22 12:29:50 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</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>WebExposed</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>80589</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Tommy Widenflycht">tommyw</reporter>
          <assigned_to name="Tommy Widenflycht">tommyw</assigned_to>
          <cc>abarth</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>feature-media-reviews</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>ojan</cc>
    
    <cc>rakuco</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>686710</commentid>
    <comment_count>0</comment_count>
    <who name="Tommy Widenflycht">tommyw</who>
    <bug_when>2012-08-03 07:21:09 -0700</bug_when>
    <thetext>Introduce RTCSessionDescription together with its corresponding WebCore/platform representation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>686734</commentid>
    <comment_count>1</comment_count>
      <attachid>156379</attachid>
    <who name="Tommy Widenflycht">tommyw</who>
    <bug_when>2012-08-03 07:37:54 -0700</bug_when>
    <thetext>Created attachment 156379
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>686879</commentid>
    <comment_count>2</comment_count>
      <attachid>156379</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-08-03 10:03:56 -0700</bug_when>
    <thetext>Comment on attachment 156379
Patch

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

&gt; Source/WebCore/Modules/mediastream/RTCSessionDescription.cpp:43
&gt; +namespace {
&gt; +
&gt; +bool verifyType(const String&amp; type)

Generally we prefer to use static functions rather than anonymous namespaces (when possible).

&gt; Source/WebCore/Modules/mediastream/RTCSessionDescription.h:58
&gt; +    String toString();

I couldn&apos;t find the implementation of this function.

&gt; Source/WebCore/Modules/mediastream/RTCSessionDescription.h:63
&gt; +    RTCSessionDescription(PassRefPtr&lt;RTCSessionDescriptionDescriptor&gt;);

explicit</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>701799</commentid>
    <comment_count>3</comment_count>
      <attachid>156379</attachid>
    <who name="Tommy Widenflycht">tommyw</who>
    <bug_when>2012-08-22 05:34:32 -0700</bug_when>
    <thetext>Comment on attachment 156379
Patch

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

&gt;&gt; Source/WebCore/Modules/mediastream/RTCSessionDescription.cpp:43
&gt;&gt; +bool verifyType(const String&amp; type)
&gt; 
&gt; Generally we prefer to use static functions rather than anonymous namespaces (when possible).

Fixed.

&gt;&gt; Source/WebCore/Modules/mediastream/RTCSessionDescription.h:58
&gt;&gt; +    String toString();
&gt; 
&gt; I couldn&apos;t find the implementation of this function.

Removed for now.

&gt;&gt; Source/WebCore/Modules/mediastream/RTCSessionDescription.h:63
&gt;&gt; +    RTCSessionDescription(PassRefPtr&lt;RTCSessionDescriptionDescriptor&gt;);
&gt; 
&gt; explicit

Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>701802</commentid>
    <comment_count>4</comment_count>
      <attachid>159911</attachid>
    <who name="Tommy Widenflycht">tommyw</who>
    <bug_when>2012-08-22 05:38:38 -0700</bug_when>
    <thetext>Created attachment 159911
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>702166</commentid>
    <comment_count>5</comment_count>
      <attachid>159911</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-08-22 12:09:54 -0700</bug_when>
    <thetext>Comment on attachment 159911
Patch

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

&gt; Source/WebCore/Modules/mediastream/RTCSessionDescription.cpp:59
&gt; +    if (!ok || !sdp.length()) {

!sdp.length() -&gt; sdp.isEmpty()

Would you be willing to post a follow-up patch with this tweak?

&gt; Source/WebCore/platform/mediastream/RTCSessionDescriptionDescriptor.h:51
&gt; +    const String&amp; type() { return m_type; }
&gt; +    void setType(const String&amp; type) { m_type = type; }
&gt; +
&gt; +    const String&amp; sdp() { return m_sdp; }
&gt; +    void setSdp(const String&amp; sdp) { m_sdp = sdp; }

ekr points out that these could be const.  We typically don&apos;t worry too much about const-correctness, but it&apos;s a nice-to-have.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>702197</commentid>
    <comment_count>6</comment_count>
      <attachid>159911</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-22 12:29:46 -0700</bug_when>
    <thetext>Comment on attachment 159911
Patch

Clearing flags on attachment: 159911

Committed r126333: &lt;http://trac.webkit.org/changeset/126333&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>702198</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-22 12:29:50 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>156379</attachid>
            <date>2012-08-03 07:37:54 -0700</date>
            <delta_ts>2012-08-22 05:38:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-93119-20120803163733.patch</filename>
            <type>text/plain</type>
            <size>27416</size>
            <attacher name="Tommy Widenflycht">tommyw</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI0NTc5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjQyZWQxNjY5YmNjNzk4
OTFmZDllMWQxNGQyMmFlNDg5YTdhNWZmNS4uYjZmMTIzZWEwNDgyMjQ1Mzk1MjA3MmVkYmZjYTYy
NWQ3ZWVjMWIyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDEyLTA4LTAzICBUb21t
eSBXaWRlbmZseWNodCAgPHRvbW15d0Bnb29nbGUuY29tPgorCisgICAgICAgIE1lZGlhU3RyZWFt
IEFQSTogSW50cm9kdWNlIFJUQ1Nlc3Npb25EZXNjcmlwdGlvbgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTMxMTkKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIHBhdGNoIGludHJvZHVjZXMgUlRDU2Vz
c2lvbkRlc2NyaXB0aW9uIHRvZ2V0aGVyIHdpdGggaXRzCisgICAgICAgIGNvcnJlc3BvbmRpbmcg
V2ViQ29yZS9wbGF0Zm9ybSByZXByZXNlbnRhdGlvbi4KKworICAgICAgICBUZXN0OiBmYXN0L21l
ZGlhc3RyZWFtL1JUQ1Nlc3Npb25EZXNjcmlwdGlvbi5odG1sCisKKyAgICAgICAgKiBDTWFrZUxp
c3RzLnR4dDoKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAqIE1vZHVs
ZXMvbWVkaWFzdHJlYW0vRE9NV2luZG93TWVkaWFTdHJlYW0uaWRsOgorICAgICAgICAqIE1vZHVs
ZXMvbWVkaWFzdHJlYW0vUlRDU2Vzc2lvbkRlc2NyaXB0aW9uLmNwcDogQWRkZWQuCisgICAgICAg
IChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OlJUQ1Nlc3Npb25EZXNjcmlwdGlvbjo6Y3Jl
YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlJUQ1Nlc3Npb25EZXNjcmlwdGlvbjo6UlRDU2Vzc2lv
bkRlc2NyaXB0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlJUQ1Nlc3Npb25EZXNjcmlwdGlvbjo6
flJUQ1Nlc3Npb25EZXNjcmlwdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpSVENTZXNzaW9uRGVz
Y3JpcHRpb246OnR5cGUpOgorICAgICAgICAoV2ViQ29yZTo6UlRDU2Vzc2lvbkRlc2NyaXB0aW9u
OjpzZXRUeXBlKToKKyAgICAgICAgKFdlYkNvcmU6OlJUQ1Nlc3Npb25EZXNjcmlwdGlvbjo6c2Rw
KToKKyAgICAgICAgKFdlYkNvcmU6OlJUQ1Nlc3Npb25EZXNjcmlwdGlvbjo6c2V0U2RwKToKKyAg
ICAgICAgKFdlYkNvcmU6OlJUQ1Nlc3Npb25EZXNjcmlwdGlvbjo6ZGVzY3JpcHRvcik6CisgICAg
ICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENTZXNzaW9uRGVzY3JpcHRpb24uaDogQWRkZWQu
CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFJUQ1Nlc3Npb25EZXNjcmlwdGlvbik6Cisg
ICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENTZXNzaW9uRGVzY3JpcHRpb24uaWRsOiBB
ZGRlZC4KKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFz
dHJlYW0vUlRDU2Vzc2lvbkRlc2NyaXB0aW9uRGVzY3JpcHRvci5jcHA6IEFkZGVkLgorICAgICAg
ICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpSVENTZXNzaW9uRGVzY3JpcHRpb25EZXNj
cmlwdG9yOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6UlRDU2Vzc2lvbkRlc2NyaXB0aW9u
RGVzY3JpcHRvcjo6UlRDU2Vzc2lvbkRlc2NyaXB0aW9uRGVzY3JpcHRvcik6CisgICAgICAgIChX
ZWJDb3JlOjpSVENTZXNzaW9uRGVzY3JpcHRpb25EZXNjcmlwdG9yOjp+UlRDU2Vzc2lvbkRlc2Ny
aXB0aW9uRGVzY3JpcHRvcik6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vUlRDU2Vz
c2lvbkRlc2NyaXB0aW9uRGVzY3JpcHRvci5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgor
ICAgICAgICAoUlRDU2Vzc2lvbkRlc2NyaXB0aW9uRGVzY3JpcHRvcik6CisgICAgICAgIChXZWJD
b3JlOjpSVENTZXNzaW9uRGVzY3JpcHRpb25EZXNjcmlwdG9yOjp0eXBlKToKKyAgICAgICAgKFdl
YkNvcmU6OlJUQ1Nlc3Npb25EZXNjcmlwdGlvbkRlc2NyaXB0b3I6OnNldFR5cGUpOgorICAgICAg
ICAoV2ViQ29yZTo6UlRDU2Vzc2lvbkRlc2NyaXB0aW9uRGVzY3JpcHRvcjo6c2RwKToKKyAgICAg
ICAgKFdlYkNvcmU6OlJUQ1Nlc3Npb25EZXNjcmlwdGlvbkRlc2NyaXB0b3I6OnNldFNkcCk6CisK
IDIwMTItMDgtMDMgIE1hcmlvIFNhbmNoZXogUHJhZGEgIDxtc2FuY2hlekBpZ2FsaWEuY29tPgog
CiAgICAgICAgIFtHVEtdIEFkZCBhIG5ldyBhbmQgcmV1c2FibGUgZW5jaGFudC1iYXNlZCBzcGVs
bGNoZWNrZXIgaW4gV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0
cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCAyNDExMWUyZmMwYzMy
NjY5NmRhY2Q3YTRkZjE5YjE4YTAxZjk1ZmRiLi4zZjE2NjBiMmI4NDMzODMwYjhjNDY4OTRiMjgx
MTkzMDBmNWFhMzMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMjA4LDYgKzIwOCw3IEBAIFNF
VChXZWJDb3JlX0lETF9GSUxFUwogICAgIE1vZHVsZXMvbWVkaWFzdHJlYW0vTmF2aWdhdG9yVXNl
ck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmlkbAogICAgIE1vZHVsZXMvbWVkaWFzdHJlYW0vUGVlckNv
bm5lY3Rpb24wMC5pZGwKICAgICBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9u
LmlkbAorICAgIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDU2Vzc2lvbkRlc2NyaXB0aW9uLmlkbAog
ICAgIE1vZHVsZXMvbWVkaWFzdHJlYW0vU2Vzc2lvbkRlc2NyaXB0aW9uLmlkbAogCiAgICAgTW9k
dWxlcy9uZXR3b3JraW5mby9OYXZpZ2F0b3JOZXR3b3JrSW5mb0Nvbm5lY3Rpb24uaWRsCkBAIC04
MjksNiArODMwLDcgQEAgU0VUKFdlYkNvcmVfU09VUkNFUwogICAgIE1vZHVsZXMvbWVkaWFzdHJl
YW0vTmF2aWdhdG9yTWVkaWFTdHJlYW0uY3BwCiAgICAgTW9kdWxlcy9tZWRpYXN0cmVhbS9QZWVy
Q29ubmVjdGlvbjAwLmNwcAogICAgIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rp
b24uY3BwCisgICAgTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENTZXNzaW9uRGVzY3JpcHRpb24uY3Bw
CiAgICAgTW9kdWxlcy9tZWRpYXN0cmVhbS9TZXNzaW9uRGVzY3JpcHRpb24uY3BwCiAgICAgTW9k
dWxlcy9tZWRpYXN0cmVhbS9Vc2VyTWVkaWFDb250cm9sbGVyLmNwcAogICAgIE1vZHVsZXMvbWVk
aWFzdHJlYW0vVXNlck1lZGlhUmVxdWVzdC5jcHAKQEAgLTE4OTMsNiArMTg5NSw3IEBAIFNFVChX
ZWJDb3JlX1NPVVJDRVMKICAgICBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbUNlbnRl
ci5jcHAKICAgICBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9QZWVyQ29ubmVjdGlvbjAwSGFuZGxlci5j
cHAKICAgICBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbkhhbmRsZXIuY3Bw
CisgICAgcGxhdGZvcm0vbWVkaWFzdHJlYW0vUlRDU2Vzc2lvbkRlc2NyaXB0aW9uRGVzY3JpcHRv
ci5jcHAKICAgICBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9TZXNzaW9uRGVzY3JpcHRpb25EZXNjcmlw
dG9yLmNwcAogCiAgICAgcGxhdGZvcm0vbW9jay9EZXZpY2VNb3Rpb25DbGllbnRNb2NrLmNwcApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9X
ZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5kZXggNWQ4NDNlOWFjNjI1ODU5NzQ4MTE5YWRi
NTJlYTQ1YzYwOGFmZTE5Yi4uZWVlYThhYWIyMTA0YTkxMTQ1NGY4ZmUwNGMyYjAzNGFkODg3YzYw
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9T
b3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC00OTMsNiArNDkzLDggQEAgd2Vi
Y29yZV9idWlsdF9zb3VyY2VzICs9IFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUkdCQ29s
b3IuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1JUQ1BlZXJDb25uZWN0aW9uLmNwcCBc
CiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1JUQ1BlZXJDb25uZWN0aW9uLmggXAorCURlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSlNSVENTZXNzaW9uRGVzY3JpcHRpb24uY3BwIFwKKwlEZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTUlRDU2Vzc2lvbkRlc2NyaXB0aW9uLmggXAogCURlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNTY3JlZW4uY3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTU2Ny
ZWVuLmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNTY3JpcHRQcm9maWxlLmNwcCBcCkBA
IC03MTgsNiArNzIwLDcgQEAgZG9tX2JpbmRpbmdfaWRscyArPSBcCiAJJChXZWJDb3JlKS9Nb2R1
bGVzL21lZGlhc3RyZWFtL05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5pZGwgXAog
CSQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXN0cmVhbS9QZWVyQ29ubmVjdGlvbjAwLmlkbCBcCiAJ
JChXZWJDb3JlKS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLmlkbCBcCisJ
JChXZWJDb3JlKS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1Nlc3Npb25EZXNjcmlwdGlvbi5pZGwg
XAogCSQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXN0cmVhbS9TZXNzaW9uRGVzY3JpcHRpb24uaWRs
IFwKIAkkKFdlYkNvcmUpL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaWRsIFwK
IAkkKFdlYkNvcmUpL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuaWRs
IFwKQEAgLTEyMDQsNiArMTIwNyw4IEBAIHdlYmNvcmVfbW9kdWxlc19zb3VyY2VzICs9IFwKIAlT
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1BlZXJDb25uZWN0aW9uMDAuaCBcCiAJ
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi5jcHAg
XAogCVNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24u
aCBcCisJU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENTZXNzaW9uRGVzY3Jp
cHRpb24uY3BwIFwKKwlTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1Nlc3Np
b25EZXNjcmlwdGlvbi5oIFwKIAlTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1Nl
c3Npb25EZXNjcmlwdGlvbi5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJl
YW0vU2Vzc2lvbkRlc2NyaXB0aW9uLmggXAogCVNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFz
dHJlYW0vVXNlck1lZGlhQ2xpZW50LmggXApAQCAtMzU2Myw2ICszNTY4LDggQEAgd2ViY29yZV9z
b3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SVENQZWVy
Q29ubmVjdGlvbkhhbmRsZXIuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0
cmVhbS9SVENQZWVyQ29ubmVjdGlvbkhhbmRsZXIuaCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyQ2xpZW50LmggXAorCVNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JUQ1Nlc3Npb25EZXNjcmlwdGlvbkRlc2Ny
aXB0b3IuY3BwIFwKKwlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SVENTZXNz
aW9uRGVzY3JpcHRpb25EZXNjcmlwdG9yLmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21l
ZGlhc3RyZWFtL1Nlc3Npb25EZXNjcmlwdGlvbkRlc2NyaXB0b3IuY3BwIFwKIAlTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9TZXNzaW9uRGVzY3JpcHRpb25EZXNjcmlwdG9yLmgg
XAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2dzdHJlYW1lci9NZWRpYVN0
cmVhbUNlbnRlckdTdHJlYW1lci5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXN0cmVhbS9ET01XaW5kb3dNZWRpYVN0cmVhbS5pZGwgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc3RyZWFtL0RPTVdpbmRvd01lZGlhU3RyZWFtLmlkbAppbmRleCBlYTk0
NmE0OTY2YmU4YmJiZjQ4YTNhYzBhNTI2ZWI1NDA3NjUxZDRkLi5hNDAwYzhlNWY1OTY5ZmU4YmJl
MDYzMTllNWYzY2ZhMjJmNjFhZDQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc3RyZWFtL0RPTVdpbmRvd01lZGlhU3RyZWFtLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc3RyZWFtL0RPTVdpbmRvd01lZGlhU3RyZWFtLmlkbApAQCAtMzQsNiAr
MzQsNyBAQCBtb2R1bGUgd2luZG93IHsKICAgICAgICAgYXR0cmlidXRlIFtWOEVuYWJsZWRBdFJ1
bnRpbWVdIFBlZXJDb25uZWN0aW9uMDBDb25zdHJ1Y3RvciB3ZWJraXRQZWVyQ29ubmVjdGlvbjAw
OwogICAgICAgICBhdHRyaWJ1dGUgW1Y4RW5hYmxlZEF0UnVudGltZV0gUlRDUGVlckNvbm5lY3Rp
b25Db25zdHJ1Y3RvciB3ZWJraXRSVENQZWVyQ29ubmVjdGlvbjsKICAgICAgICAgYXR0cmlidXRl
IFNlc3Npb25EZXNjcmlwdGlvbkNvbnN0cnVjdG9yIFNlc3Npb25EZXNjcmlwdGlvbjsKKyAgICAg
ICAgYXR0cmlidXRlIFJUQ1Nlc3Npb25EZXNjcmlwdGlvbkNvbnN0cnVjdG9yIFJUQ1Nlc3Npb25E
ZXNjcmlwdGlvbjsKICAgICAgICAgYXR0cmlidXRlIEljZUNhbmRpZGF0ZUNvbnN0cnVjdG9yIElj
ZUNhbmRpZGF0ZTsKICAgICAgICAgYXR0cmlidXRlIE1lZGlhU3RyZWFtRXZlbnRDb25zdHJ1Y3Rv
ciBNZWRpYVN0cmVhbUV2ZW50OwogICAgIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhc3RyZWFtL1JUQ1Nlc3Npb25EZXNjcmlwdGlvbi5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1Nlc3Npb25EZXNjcmlwdGlvbi5jcHAKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNDk0YmVjOGQ0OWU4ZDdhMjBmYzkyZDgyMjUzYzhkOWU1OTU5Njc4NwotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDU2Vzc2lvbkRl
c2NyaXB0aW9uLmNwcApAQCAtMCwwICsxLDExNiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
MiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiAgICBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiAgICBkaXN0cmlidXRpb24uCisg
KiAzLiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRz
IGNvbnRyaWJ1dG9ycworICogICAgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHBy
b2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzCisgKiAgICBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMi
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAor
ICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcu
aCIKKworI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCisKKyNpbmNsdWRlICJSVENTZXNzaW9uRGVz
Y3JpcHRpb24uaCIKKworI2luY2x1ZGUgIkRpY3Rpb25hcnkuaCIKKyNpbmNsdWRlICJFeGNlcHRp
b25Db2RlLmgiCisjaW5jbHVkZSAiUlRDU2Vzc2lvbkRlc2NyaXB0aW9uRGVzY3JpcHRvci5oIgor
CituYW1lc3BhY2UgeworCitib29sIHZlcmlmeVR5cGUoY29uc3QgU3RyaW5nJiB0eXBlKQorewor
ICAgIHJldHVybiB0eXBlID09ICJvZmZlciIgfHwgdHlwZSA9PSAicHJhbnN3ZXIiIHx8IHR5cGUg
PT0gImFuc3dlciI7Cit9CisKK30gLy8gbmFtZXNwYWNlCisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
KworUGFzc1JlZlB0cjxSVENTZXNzaW9uRGVzY3JpcHRpb24+IFJUQ1Nlc3Npb25EZXNjcmlwdGlv
bjo6Y3JlYXRlKGNvbnN0IERpY3Rpb25hcnkmIGRpY3Rpb25hcnksIEV4Y2VwdGlvbkNvZGUmIGVj
KQoreworICAgIFN0cmluZyB0eXBlOworICAgIGJvb2wgb2sgPSBkaWN0aW9uYXJ5LmdldCgidHlw
ZSIsIHR5cGUpOworICAgIGlmICghb2sgfHwgIXZlcmlmeVR5cGUodHlwZSkpIHsKKyAgICAgICAg
ZWMgPSBUWVBFX01JU01BVENIX0VSUjsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQorCisgICAg
U3RyaW5nIHNkcDsKKyAgICBvayA9IGRpY3Rpb25hcnkuZ2V0KCJzZHAiLCBzZHApOworICAgIGlm
ICghb2sgfHwgIXNkcC5sZW5ndGgoKSkgeworICAgICAgICBlYyA9IFRZUEVfTUlTTUFUQ0hfRVJS
OworICAgICAgICByZXR1cm4gMDsKKyAgICB9CisKKyAgICByZXR1cm4gYWRvcHRSZWYobmV3IFJU
Q1Nlc3Npb25EZXNjcmlwdGlvbihSVENTZXNzaW9uRGVzY3JpcHRpb25EZXNjcmlwdG9yOjpjcmVh
dGUodHlwZSwgc2RwKSkpOworfQorCitQYXNzUmVmUHRyPFJUQ1Nlc3Npb25EZXNjcmlwdGlvbj4g
UlRDU2Vzc2lvbkRlc2NyaXB0aW9uOjpjcmVhdGUoUGFzc1JlZlB0cjxSVENTZXNzaW9uRGVzY3Jp
cHRpb25EZXNjcmlwdG9yPiBkZXNjcmlwdG9yKQoreworICAgIEFTU0VSVChkZXNjcmlwdG9yKTsK
KyAgICByZXR1cm4gYWRvcHRSZWYobmV3IFJUQ1Nlc3Npb25EZXNjcmlwdGlvbihkZXNjcmlwdG9y
KSk7Cit9CisKK1JUQ1Nlc3Npb25EZXNjcmlwdGlvbjo6UlRDU2Vzc2lvbkRlc2NyaXB0aW9uKFBh
c3NSZWZQdHI8UlRDU2Vzc2lvbkRlc2NyaXB0aW9uRGVzY3JpcHRvcj4gZGVzY3JpcHRvcikKKyAg
ICA6IG1fZGVzY3JpcHRvcihkZXNjcmlwdG9yKQoreworfQorCitSVENTZXNzaW9uRGVzY3JpcHRp
b246On5SVENTZXNzaW9uRGVzY3JpcHRpb24oKQoreworfQorCitjb25zdCBTdHJpbmcmIFJUQ1Nl
c3Npb25EZXNjcmlwdGlvbjo6dHlwZSgpCit7CisgICAgcmV0dXJuIG1fZGVzY3JpcHRvci0+dHlw
ZSgpOworfQorCit2b2lkIFJUQ1Nlc3Npb25EZXNjcmlwdGlvbjo6c2V0VHlwZShjb25zdCBTdHJp
bmcmIHR5cGUsIEV4Y2VwdGlvbkNvZGUmIGVjKQoreworICAgIGlmICh2ZXJpZnlUeXBlKHR5cGUp
KQorICAgICAgICBtX2Rlc2NyaXB0b3ItPnNldFR5cGUodHlwZSk7CisgICAgZWxzZQorICAgICAg
ICBlYyA9IFRZUEVfTUlTTUFUQ0hfRVJSOworfQorCitjb25zdCBTdHJpbmcmIFJUQ1Nlc3Npb25E
ZXNjcmlwdGlvbjo6c2RwKCkKK3sKKyAgICByZXR1cm4gbV9kZXNjcmlwdG9yLT5zZHAoKTsKK30K
Kwordm9pZCBSVENTZXNzaW9uRGVzY3JpcHRpb246OnNldFNkcChjb25zdCBTdHJpbmcmIHNkcCwg
RXhjZXB0aW9uQ29kZSYgZWMpCit7CisgICAgbV9kZXNjcmlwdG9yLT5zZXRTZHAoc2RwKTsKK30K
KworUlRDU2Vzc2lvbkRlc2NyaXB0aW9uRGVzY3JpcHRvciogUlRDU2Vzc2lvbkRlc2NyaXB0aW9u
OjpkZXNjcmlwdG9yKCkKK3sKKyAgICByZXR1cm4gbV9kZXNjcmlwdG9yLmdldCgpOworfQorCit9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoTUVESUFfU1RSRUFNKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENTZXNzaW9u
RGVzY3JpcHRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDU2Vz
c2lvbkRlc2NyaXB0aW9uLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTZmZWRhYjJlNzUxNzNjZjIzYWM1NmFmODgz
ZjlhNWU4YzZkNmMwZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFzdHJlYW0vUlRDU2Vzc2lvbkRlc2NyaXB0aW9uLmgKQEAgLTAsMCArMSw3MiBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiAgICBpbiB0aGUg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisg
KiAgICBkaXN0cmlidXRpb24uCisgKiAzLiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMu
IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycworICogICAgbWF5IGJlIHVzZWQgdG8g
ZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzCisgKiAgICBzb2Z0
d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09O
VFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAor
ICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNpZm5kZWYgUlRDU2Vzc2lvbkRlc2NyaXB0aW9uX2gKKyNkZWZpbmUgUlRDU2Vzc2lvbkRl
c2NyaXB0aW9uX2gKKworI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCisKKyNpbmNsdWRlICJFeGNl
cHRpb25CYXNlLmgiCisjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYv
UmVmQ291bnRlZC5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgorCituYW1lc3Bh
Y2UgV2ViQ29yZSB7CisKK2NsYXNzIERpY3Rpb25hcnk7CitjbGFzcyBSVENTZXNzaW9uRGVzY3Jp
cHRpb25EZXNjcmlwdG9yOworCitjbGFzcyBSVENTZXNzaW9uRGVzY3JpcHRpb24gOiBwdWJsaWMg
UmVmQ291bnRlZDxSVENTZXNzaW9uRGVzY3JpcHRpb24+IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMg
UGFzc1JlZlB0cjxSVENTZXNzaW9uRGVzY3JpcHRpb24+IGNyZWF0ZShjb25zdCBEaWN0aW9uYXJ5
JiwgRXhjZXB0aW9uQ29kZSYpOworICAgIHN0YXRpYyBQYXNzUmVmUHRyPFJUQ1Nlc3Npb25EZXNj
cmlwdGlvbj4gY3JlYXRlKFBhc3NSZWZQdHI8UlRDU2Vzc2lvbkRlc2NyaXB0aW9uRGVzY3JpcHRv
cj4pOworICAgIHZpcnR1YWwgflJUQ1Nlc3Npb25EZXNjcmlwdGlvbigpOworCisgICAgY29uc3Qg
U3RyaW5nJiB0eXBlKCk7CisgICAgdm9pZCBzZXRUeXBlKGNvbnN0IFN0cmluZyYsIEV4Y2VwdGlv
bkNvZGUmKTsKKworICAgIGNvbnN0IFN0cmluZyYgc2RwKCk7CisgICAgdm9pZCBzZXRTZHAoY29u
c3QgU3RyaW5nJiwgRXhjZXB0aW9uQ29kZSYpOworCisgICAgU3RyaW5nIHRvU3RyaW5nKCk7CisK
KyAgICBSVENTZXNzaW9uRGVzY3JpcHRpb25EZXNjcmlwdG9yKiBkZXNjcmlwdG9yKCk7CisKK3By
aXZhdGU6CisgICAgUlRDU2Vzc2lvbkRlc2NyaXB0aW9uKFBhc3NSZWZQdHI8UlRDU2Vzc2lvbkRl
c2NyaXB0aW9uRGVzY3JpcHRvcj4pOworCisgICAgUmVmUHRyPFJUQ1Nlc3Npb25EZXNjcmlwdGlv
bkRlc2NyaXB0b3I+IG1fZGVzY3JpcHRvcjsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
KworI2VuZGlmIC8vIEVOQUJMRShNRURJQV9TVFJFQU0pCisKKyNlbmRpZiAvLyBSVENTZXNzaW9u
RGVzY3JpcHRpb25faApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0
cmVhbS9SVENTZXNzaW9uRGVzY3JpcHRpb24uaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXN0cmVhbS9SVENTZXNzaW9uRGVzY3JpcHRpb24uaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU4NGRlYTJl
YmRhZDcyYzc2MmNjNGYwYTM4NjQ4MzAwMmVlN2UwZTUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1Nlc3Npb25EZXNjcmlwdGlvbi5pZGwK
QEAgLTAsMCArMSw0NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyCisgKiAgICBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlCisgKiAgICBkaXN0cmlidXRpb24uCisgKiAzLiBOZWl0aGVyIHRo
ZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycwor
ICogICAgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQg
ZnJvbSB0aGlzCisgKiAgICBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4g
cGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZ
UklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBU
TywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
CisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKK21vZHVsZSBtZWRpYXN0cmVhbSB7CisKKyAgICBpbnRl
cmZhY2UgWworICAgICAgICBDb25kaXRpb25hbD1NRURJQV9TVFJFQU0sCisgICAgICAgIENvbnN0
cnVjdG9yKGluIERpY3Rpb25hcnkgZGljdGlvbmFyeSksCisgICAgICAgIENvbnN0cnVjdG9yUmFp
c2VzRXhjZXB0aW9uCisgICAgXSBSVENTZXNzaW9uRGVzY3JpcHRpb24geworICAgICAgICBhdHRy
aWJ1dGUgRE9NU3RyaW5nIHR5cGUKKyAgICAgICAgICAgIHNldHRlciByYWlzZXMoRE9NRXhjZXB0
aW9uKTsKKyAgICAgICAgYXR0cmlidXRlIERPTVN0cmluZyBzZHAKKyAgICAgICAgICAgIHNldHRl
ciByYWlzZXMoRE9NRXhjZXB0aW9uKTsKKyAgICB9OworCit9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXgg
MzE5YjJhZGU5NTM5MjQ5NDJkNzE2MzA2MzhjNjM2ZWU1ZjIyZWY4Zi4uMzZmZmM4NDZjYjgzMThl
YmM2MzYyOTFiZGMwYjkzNmQ3NmY3YWFlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5neXBpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtNDUzLDYgKzQ1
Myw4IEBACiAgICAgICAgICAgICAncGxhdGZvcm0vbWVkaWFzdHJlYW0vUlRDQ29uZmlndXJhdGlv
bi5oJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlv
bkhhbmRsZXIuaCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vbWVkaWFzdHJlYW0vUlRDUGVlckNv
bm5lY3Rpb25IYW5kbGVyQ2xpZW50LmgnLAorICAgICAgICAgICAgJ3BsYXRmb3JtL21lZGlhc3Ry
ZWFtL1JUQ1Nlc3Npb25EZXNjcmlwdGlvbkRlc2NyaXB0b3IuY3BwJywKKyAgICAgICAgICAgICdw
bGF0Zm9ybS9tZWRpYXN0cmVhbS9SVENTZXNzaW9uRGVzY3JpcHRpb25EZXNjcmlwdG9yLmgnLAog
ICAgICAgICAgICAgJ3BsYXRmb3JtL21lZGlhc3RyZWFtL1Nlc3Npb25EZXNjcmlwdGlvbkRlc2Ny
aXB0b3IuY3BwJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9tZWRpYXN0cmVhbS9TZXNzaW9uRGVz
Y3JpcHRpb25EZXNjcmlwdG9yLmgnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL21lZGlhc3RyZWFt
L2Nocm9taXVtL01lZGlhU3RyZWFtQ2VudGVyQ2hyb21pdW0uY3BwJywKQEAgLTg0Nyw2ICs4NDks
NyBAQAogICAgICAgICAgICAgJ01vZHVsZXMvbWVkaWFzdHJlYW0vTmF2aWdhdG9yVXNlck1lZGlh
U3VjY2Vzc0NhbGxiYWNrLmlkbCcsCiAgICAgICAgICAgICAnTW9kdWxlcy9tZWRpYXN0cmVhbS9Q
ZWVyQ29ubmVjdGlvbjAwLmlkbCcsCiAgICAgICAgICAgICAnTW9kdWxlcy9tZWRpYXN0cmVhbS9S
VENQZWVyQ29ubmVjdGlvbi5pZGwnLAorICAgICAgICAgICAgJ01vZHVsZXMvbWVkaWFzdHJlYW0v
UlRDU2Vzc2lvbkRlc2NyaXB0aW9uLmlkbCcsCiAgICAgICAgICAgICAnTW9kdWxlcy9tZWRpYXN0
cmVhbS9TZXNzaW9uRGVzY3JpcHRpb24uaWRsJywKICAgICAgICAgICAgICdNb2R1bGVzL25vdGlm
aWNhdGlvbnMvRE9NV2luZG93Tm90aWZpY2F0aW9ucy5pZGwnLAogICAgICAgICAgICAgJ01vZHVs
ZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaWRsJywKQEAgLTE1NzUsNiArMTU3OCw4IEBA
CiAgICAgICAgICAgICAnTW9kdWxlcy9tZWRpYXN0cmVhbS9QZWVyQ29ubmVjdGlvbjAwLmgnLAog
ICAgICAgICAgICAgJ01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24uY3BwJywK
ICAgICAgICAgICAgICdNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLmgnLAor
ICAgICAgICAgICAgJ01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDU2Vzc2lvbkRlc2NyaXB0aW9uLmNw
cCcsCisgICAgICAgICAgICAnTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENTZXNzaW9uRGVzY3JpcHRp
b24uaCcsCiAgICAgICAgICAgICAnTW9kdWxlcy9tZWRpYXN0cmVhbS9TZXNzaW9uRGVzY3JpcHRp
b24uY3BwJywKICAgICAgICAgICAgICdNb2R1bGVzL21lZGlhc3RyZWFtL1Nlc3Npb25EZXNjcmlw
dGlvbi5oJywKICAgICAgICAgICAgICdNb2R1bGVzL21lZGlhc3RyZWFtL1VzZXJNZWRpYUNsaWVu
dC5oJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JU
Q1Nlc3Npb25EZXNjcmlwdGlvbkRlc2NyaXB0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWVkaWFzdHJlYW0vUlRDU2Vzc2lvbkRlc2NyaXB0aW9uRGVzY3JpcHRvci5jcHAKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uOTE3ODY3NmIxNDk2NDQzZjQ0ZTljMWQwYzlkZDE0YjBkMTlhNTk4OQotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JUQ1Nlc3Npb25E
ZXNjcmlwdGlvbkRlc2NyaXB0b3IuY3BwCkBAIC0wLDAgKzEsNTYgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogICAgaW4gdGhlIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogICAgZGlzdHJp
YnV0aW9uLgorICogMy4gTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5h
bWVzIG9mIGl0cyBjb250cmlidXRvcnMKKyAqICAgIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3Ig
cHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcworICogICAgc29mdHdhcmUgd2l0aG91
dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwor
ICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9S
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVk
ZSAiY29uZmlnLmgiCisKKyNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQorCisjaW5jbHVkZSAiUlRD
U2Vzc2lvbkRlc2NyaXB0aW9uRGVzY3JpcHRvci5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisK
K1Bhc3NSZWZQdHI8UlRDU2Vzc2lvbkRlc2NyaXB0aW9uRGVzY3JpcHRvcj4gUlRDU2Vzc2lvbkRl
c2NyaXB0aW9uRGVzY3JpcHRvcjo6Y3JlYXRlKGNvbnN0IFN0cmluZyYgdHlwZSwgY29uc3QgU3Ry
aW5nJiBzZHApCit7CisgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBSVENTZXNzaW9uRGVzY3JpcHRp
b25EZXNjcmlwdG9yKHR5cGUsIHNkcCkpOworfQorCitSVENTZXNzaW9uRGVzY3JpcHRpb25EZXNj
cmlwdG9yOjpSVENTZXNzaW9uRGVzY3JpcHRpb25EZXNjcmlwdG9yKGNvbnN0IFN0cmluZyYgdHlw
ZSwgY29uc3QgU3RyaW5nJiBzZHApCisgICAgOiBtX3R5cGUodHlwZSkKKyAgICAsIG1fc2RwKHNk
cCkKK3sKK30KKworUlRDU2Vzc2lvbkRlc2NyaXB0aW9uRGVzY3JpcHRvcjo6flJUQ1Nlc3Npb25E
ZXNjcmlwdGlvbkRlc2NyaXB0b3IoKQoreworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisK
KyNlbmRpZiAvLyBFTkFCTEUoTUVESUFfU1RSRUFNKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUlRDU2Vzc2lvbkRlc2NyaXB0aW9uRGVzY3JpcHRvci5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUlRDU2Vzc2lvbkRlc2NyaXB0
aW9uRGVzY3JpcHRvci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA0ZTM0Yjc4ZDg2ZWMzZGIzYTYwOTgzZmZmY2U0
MTdmNTgzZjg1MjQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
ZWRpYXN0cmVhbS9SVENTZXNzaW9uRGVzY3JpcHRpb25EZXNjcmlwdG9yLmgKQEAgLTAsMCArMSw2
NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiAg
ICBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlCisgKiAgICBkaXN0cmlidXRpb24uCisgKiAzLiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdv
b2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycworICogICAgbWF5IGJl
IHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzCisg
KiAgICBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
UyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENP
UFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAq
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNpZm5kZWYgUlRDU2Vzc2lvbkRlc2NyaXB0aW9uRGVzY3JpcHRvcl9oCisj
ZGVmaW5lIFJUQ1Nlc3Npb25EZXNjcmlwdGlvbkRlc2NyaXB0b3JfaAorCisjaWYgRU5BQkxFKE1F
RElBX1NUUkVBTSkKKworI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CisjaW5jbHVkZSA8d3Rm
L1JlZkNvdW50ZWQuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KKworbmFtZXNw
YWNlIFdlYkNvcmUgeworCitjbGFzcyBSVENTZXNzaW9uRGVzY3JpcHRpb25EZXNjcmlwdG9yIDog
cHVibGljIFJlZkNvdW50ZWQ8UlRDU2Vzc2lvbkRlc2NyaXB0aW9uRGVzY3JpcHRvcj4geworcHVi
bGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPFJUQ1Nlc3Npb25EZXNjcmlwdGlvbkRlc2NyaXB0
b3I+IGNyZWF0ZShjb25zdCBTdHJpbmcmIHR5cGUsIGNvbnN0IFN0cmluZyYgc2RwKTsKKyAgICB2
aXJ0dWFsIH5SVENTZXNzaW9uRGVzY3JpcHRpb25EZXNjcmlwdG9yKCk7CisKKyAgICBjb25zdCBT
dHJpbmcmIHR5cGUoKSB7IHJldHVybiBtX3R5cGU7IH0KKyAgICB2b2lkIHNldFR5cGUoY29uc3Qg
U3RyaW5nJiB0eXBlKSB7IG1fdHlwZSA9IHR5cGU7IH0KKworICAgIGNvbnN0IFN0cmluZyYgc2Rw
KCkgeyByZXR1cm4gbV9zZHA7IH0KKyAgICB2b2lkIHNldFNkcChjb25zdCBTdHJpbmcmIHNkcCkg
eyBtX3NkcCA9IHNkcDsgfQorCitwcml2YXRlOgorICAgIFJUQ1Nlc3Npb25EZXNjcmlwdGlvbkRl
c2NyaXB0b3IoY29uc3QgU3RyaW5nJiB0eXBlLCBjb25zdCBTdHJpbmcmIHNkcCk7CisKKyAgICBT
dHJpbmcgbV90eXBlOworICAgIFN0cmluZyBtX3NkcDsKK307CisKK30gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShNRURJQV9TVFJFQU0pCisKKyNlbmRpZiAvLyBSVENT
ZXNzaW9uRGVzY3JpcHRpb25EZXNjcmlwdG9yX2gKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0No
YW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBlMWEwZTkwMDVkZmM4ZTZiYTE5
N2RkZDM1YzRmMzM0NmQ4MGE2OTVlLi5kYTMwMjAyOWM1Y2I1YTBlMDRhODI3YjY0ZGIwMmVkMTk3
ODg1N2NiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTItMDgtMDMgIFRvbW15IFdpZGVuZmx5
Y2h0ICA8dG9tbXl3QGdvb2dsZS5jb20+CisKKyAgICAgICAgTWVkaWFTdHJlYW0gQVBJOiBJbnRy
b2R1Y2UgUlRDU2Vzc2lvbkRlc2NyaXB0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD05MzExOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogZmFzdC9tZWRpYXN0cmVhbS9SVENTZXNzaW9uRGVzY3JpcHRp
b24tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L21lZGlhc3RyZWFtL1JUQ1Nl
c3Npb25EZXNjcmlwdGlvbi5odG1sOiBBZGRlZC4KKwogMjAxMi0wOC0wMyAgWXV0YSBLaXRhbXVy
YSAgPHl1dGFrQGNocm9taXVtLm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLCB0ZXN0IGV4cGVj
dGF0aW9uIGNoYW5nZSBvbmx5LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0
cmVhbS9SVENTZXNzaW9uRGVzY3JpcHRpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFz
dC9tZWRpYXN0cmVhbS9SVENTZXNzaW9uRGVzY3JpcHRpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjE0ODY0ZWRiMWFkMWI4MjQ1N2IyOTdjMmNjOWY1NWFiY2MwOWU4OTcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL1JUQ1Nlc3Npb25EZXNjcmlwdGlv
bi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyMyBAQAorVGVzdHMgUlRDU2Vzc2lvbkRlc2NyaXB0
aW9uLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBzZXNzaW9uRGVzY3Jp
cHRpb24gPSBuZXcgUlRDU2Vzc2lvbkRlc2NyaXB0aW9uKGluaXRpYWxpemVyKTsgZGlkIG5vdCB0
aHJvdyBleGNlcHRpb24uCitQQVNTIHNlc3Npb25EZXNjcmlwdGlvbi50eXBlIGlzICJvZmZlciIK
K1BBU1Mgc2Vzc2lvbkRlc2NyaXB0aW9uLnNkcCBpcyAiZm9vYmFyIgorUEFTUyBzZXNzaW9uRGVz
Y3JpcHRpb24gPSBuZXcgUlRDU2Vzc2lvbkRlc2NyaXB0aW9uKGluaXRpYWxpemVyKTsgZGlkIG5v
dCB0aHJvdyBleGNlcHRpb24uCitQQVNTIHNlc3Npb25EZXNjcmlwdGlvbi50eXBlIGlzICJvZmZl
ciIKK1BBU1Mgc2Vzc2lvbkRlc2NyaXB0aW9uLnNkcCBpcyAiZm9vYmFyIgorUEFTUyBuZXcgUlRD
U2Vzc2lvbkRlc2NyaXB0aW9uKHt9KTsgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBUWVBFX01JU01B
VENIX0VSUjogRE9NIEV4Y2VwdGlvbiAxNy4KK1BBU1MgbmV3IFJUQ1Nlc3Npb25EZXNjcmlwdGlv
big1KTsgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogTm90IGFuIG9iamVjdC4uCitQQVNTIG5l
dyBSVENTZXNzaW9uRGVzY3JpcHRpb24oJ2Zvb2JhcicpOyB0aHJldyBleGNlcHRpb24gVHlwZUVy
cm9yOiBOb3QgYW4gb2JqZWN0Li4KK1BBU1MgbmV3IFJUQ1Nlc3Npb25EZXNjcmlwdGlvbih7dHlw
ZTonZm9vYmFyJywgc2RwOid4J30pOyB0aHJldyBleGNlcHRpb24gRXJyb3I6IFRZUEVfTUlTTUFU
Q0hfRVJSOiBET00gRXhjZXB0aW9uIDE3LgorUEFTUyBuZXcgUlRDU2Vzc2lvbkRlc2NyaXB0aW9u
KHt0eXBlOidvZmZlcicsIHNkcDonJ30pOyB0aHJldyBleGNlcHRpb24gRXJyb3I6IFRZUEVfTUlT
TUFUQ0hfRVJSOiBET00gRXhjZXB0aW9uIDE3LgorUEFTUyBuZXcgUlRDU2Vzc2lvbkRlc2NyaXB0
aW9uKHt0eXBlOidvZmZlcicsIHNkcDoneCd9KTsgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQ
QVNTIG5ldyBSVENTZXNzaW9uRGVzY3JpcHRpb24oe3R5cGU6J2Fuc3dlcicsIHNkcDoneCd9KTsg
ZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIG5ldyBSVENTZXNzaW9uRGVzY3JpcHRpb24o
e3R5cGU6J3ByYW5zd2VyJywgc2RwOid4J30pOyBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL1JUQ1Nlc3Npb25EZXNjcmlwdGlvbi5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9SVENTZXNzaW9uRGVzY3JpcHRpb24u
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi40NDI4YjBkZWNmNDJhNTg0NWQ5ZjA5MTc0MmVmMzExNWZkMWY1YzQy
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9SVENTZXNz
aW9uRGVzY3JpcHRpb24uaHRtbApAQCAtMCwwICsxLDM4IEBACis8IURPQ1RZUEUgSFRNTCBQVUJM
SUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJz
dHlsZXNoZWV0IiBocmVmPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNj
cmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRlc3RzIFJUQ1Nlc3Npb25EZXNjcmlwdGlv
bi4iKTsKKwordmFyIGluaXRpYWxpemVyID0ge3R5cGU6Im9mZmVyIiwgc2RwOiJmb29iYXIifTsK
K3ZhciBzZXNzaW9uRGVzY3JpcHRpb247CitzaG91bGROb3RUaHJvdygic2Vzc2lvbkRlc2NyaXB0
aW9uID0gbmV3IFJUQ1Nlc3Npb25EZXNjcmlwdGlvbihpbml0aWFsaXplcik7Iik7CitzaG91bGRC
ZSgnc2Vzc2lvbkRlc2NyaXB0aW9uLnR5cGUnLCAnIm9mZmVyIicpOworc2hvdWxkQmUoJ3Nlc3Np
b25EZXNjcmlwdGlvbi5zZHAnLCAnImZvb2JhciInKTsKKworaW5pdGlhbGl6ZXIgPSBKU09OLnBh
cnNlKEpTT04uc3RyaW5naWZ5KHNlc3Npb25EZXNjcmlwdGlvbikpOworc2hvdWxkTm90VGhyb3co
InNlc3Npb25EZXNjcmlwdGlvbiA9IG5ldyBSVENTZXNzaW9uRGVzY3JpcHRpb24oaW5pdGlhbGl6
ZXIpOyIpOworc2hvdWxkQmUoJ3Nlc3Npb25EZXNjcmlwdGlvbi50eXBlJywgJyJvZmZlciInKTsK
K3Nob3VsZEJlKCdzZXNzaW9uRGVzY3JpcHRpb24uc2RwJywgJyJmb29iYXIiJyk7CisKK3Nob3Vs
ZFRocm93KCJuZXcgUlRDU2Vzc2lvbkRlc2NyaXB0aW9uKHt9KTsiKTsKK3Nob3VsZFRocm93KCJu
ZXcgUlRDU2Vzc2lvbkRlc2NyaXB0aW9uKDUpOyIpOworc2hvdWxkVGhyb3coIm5ldyBSVENTZXNz
aW9uRGVzY3JpcHRpb24oJ2Zvb2JhcicpOyIpOworc2hvdWxkVGhyb3coIm5ldyBSVENTZXNzaW9u
RGVzY3JpcHRpb24oe3R5cGU6J2Zvb2JhcicsIHNkcDoneCd9KTsiKTsKK3Nob3VsZFRocm93KCJu
ZXcgUlRDU2Vzc2lvbkRlc2NyaXB0aW9uKHt0eXBlOidvZmZlcicsIHNkcDonJ30pOyIpOworCitz
aG91bGROb3RUaHJvdygibmV3IFJUQ1Nlc3Npb25EZXNjcmlwdGlvbih7dHlwZTonb2ZmZXInLCBz
ZHA6J3gnfSk7Iik7CitzaG91bGROb3RUaHJvdygibmV3IFJUQ1Nlc3Npb25EZXNjcmlwdGlvbih7
dHlwZTonYW5zd2VyJywgc2RwOid4J30pOyIpOworc2hvdWxkTm90VGhyb3coIm5ldyBSVENTZXNz
aW9uRGVzY3JpcHRpb24oe3R5cGU6J3ByYW5zd2VyJywgc2RwOid4J30pOyIpOworCit3aW5kb3cu
c3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL2pz
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>159911</attachid>
            <date>2012-08-22 05:38:38 -0700</date>
            <delta_ts>2012-08-22 12:29:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-93119-20120822143835.patch</filename>
            <type>text/plain</type>
            <size>27420</size>
            <attacher name="Tommy Widenflycht">tommyw</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI2Mjg4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDFjNWM5NDc2MjEyNzhk
NjYyMjBjYmU4MWU5ZDBiOTljYTE0MmJhOC4uY2IwNjQzOGZiNGU5MTBhYWVhYjgxNGRhZjc1ODhi
ZGNlMDQ1OWQyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDEyLTA4LTIyICBUb21t
eSBXaWRlbmZseWNodCAgPHRvbW15d0Bnb29nbGUuY29tPgorCisgICAgICAgIE1lZGlhU3RyZWFt
IEFQSTogSW50cm9kdWNlIFJUQ1Nlc3Npb25EZXNjcmlwdGlvbgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTMxMTkKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIHBhdGNoIGludHJvZHVjZXMgUlRDU2Vz
c2lvbkRlc2NyaXB0aW9uIHRvZ2V0aGVyIHdpdGggaXRzCisgICAgICAgIGNvcnJlc3BvbmRpbmcg
V2ViQ29yZS9wbGF0Zm9ybSByZXByZXNlbnRhdGlvbi4KKworICAgICAgICBUZXN0OiBmYXN0L21l
ZGlhc3RyZWFtL1JUQ1Nlc3Npb25EZXNjcmlwdGlvbi5odG1sCisKKyAgICAgICAgKiBDTWFrZUxp
c3RzLnR4dDoKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAqIE1vZHVs
ZXMvbWVkaWFzdHJlYW0vRE9NV2luZG93TWVkaWFTdHJlYW0uaWRsOgorICAgICAgICAqIE1vZHVs
ZXMvbWVkaWFzdHJlYW0vUlRDU2Vzc2lvbkRlc2NyaXB0aW9uLmNwcDogQWRkZWQuCisgICAgICAg
IChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OlJUQ1Nlc3Npb25EZXNjcmlwdGlvbjo6Y3Jl
YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlJUQ1Nlc3Npb25EZXNjcmlwdGlvbjo6UlRDU2Vzc2lv
bkRlc2NyaXB0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlJUQ1Nlc3Npb25EZXNjcmlwdGlvbjo6
flJUQ1Nlc3Npb25EZXNjcmlwdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpSVENTZXNzaW9uRGVz
Y3JpcHRpb246OnR5cGUpOgorICAgICAgICAoV2ViQ29yZTo6UlRDU2Vzc2lvbkRlc2NyaXB0aW9u
OjpzZXRUeXBlKToKKyAgICAgICAgKFdlYkNvcmU6OlJUQ1Nlc3Npb25EZXNjcmlwdGlvbjo6c2Rw
KToKKyAgICAgICAgKFdlYkNvcmU6OlJUQ1Nlc3Npb25EZXNjcmlwdGlvbjo6c2V0U2RwKToKKyAg
ICAgICAgKFdlYkNvcmU6OlJUQ1Nlc3Npb25EZXNjcmlwdGlvbjo6ZGVzY3JpcHRvcik6CisgICAg
ICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENTZXNzaW9uRGVzY3JpcHRpb24uaDogQWRkZWQu
CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFJUQ1Nlc3Npb25EZXNjcmlwdGlvbik6Cisg
ICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENTZXNzaW9uRGVzY3JpcHRpb24uaWRsOiBB
ZGRlZC4KKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFz
dHJlYW0vUlRDU2Vzc2lvbkRlc2NyaXB0aW9uRGVzY3JpcHRvci5jcHA6IEFkZGVkLgorICAgICAg
ICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpSVENTZXNzaW9uRGVzY3JpcHRpb25EZXNj
cmlwdG9yOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6UlRDU2Vzc2lvbkRlc2NyaXB0aW9u
RGVzY3JpcHRvcjo6UlRDU2Vzc2lvbkRlc2NyaXB0aW9uRGVzY3JpcHRvcik6CisgICAgICAgIChX
ZWJDb3JlOjpSVENTZXNzaW9uRGVzY3JpcHRpb25EZXNjcmlwdG9yOjp+UlRDU2Vzc2lvbkRlc2Ny
aXB0aW9uRGVzY3JpcHRvcik6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vUlRDU2Vz
c2lvbkRlc2NyaXB0aW9uRGVzY3JpcHRvci5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgor
ICAgICAgICAoUlRDU2Vzc2lvbkRlc2NyaXB0aW9uRGVzY3JpcHRvcik6CisgICAgICAgIChXZWJD
b3JlOjpSVENTZXNzaW9uRGVzY3JpcHRpb25EZXNjcmlwdG9yOjp0eXBlKToKKyAgICAgICAgKFdl
YkNvcmU6OlJUQ1Nlc3Npb25EZXNjcmlwdGlvbkRlc2NyaXB0b3I6OnNldFR5cGUpOgorICAgICAg
ICAoV2ViQ29yZTo6UlRDU2Vzc2lvbkRlc2NyaXB0aW9uRGVzY3JpcHRvcjo6c2RwKToKKyAgICAg
ICAgKFdlYkNvcmU6OlJUQ1Nlc3Npb25EZXNjcmlwdGlvbkRlc2NyaXB0b3I6OnNldFNkcCk6CisK
IDIwMTItMDgtMjIgIFNpbW9uIEhhdXNtYW5uICA8c2ltb24uaGF1c21hbm5Abm9raWEuY29tPgog
CiAgICAgICAgIFtRdF0gUkVHUkVTU0lPTihyMTI1NDI4KTogZmFzdC9wcm9maWxlci9uZXN0ZWQt
c3RhcnQtYW5kLXN0b3AtcHJvZmlsZXIuaHRtbCBmYWlscwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRl
eCBhN2FlOTRmNjFlMjRjZDg0NTFmMDVlNGUzMTFlYmZmNzFiYTlmYjk4Li4xZThhZWRhNTQ2NDY1
OGNjYWZiNmY2ZjgyOTMxZDJkYjc5NDJmNTczIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9D
TWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMjIz
LDYgKzIyMyw3IEBAIFNFVChXZWJDb3JlX0lETF9GSUxFUwogICAgIE1vZHVsZXMvbWVkaWFzdHJl
YW0vTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmlkbAogICAgIE1vZHVsZXMvbWVk
aWFzdHJlYW0vUGVlckNvbm5lY3Rpb24wMC5pZGwKICAgICBNb2R1bGVzL21lZGlhc3RyZWFtL1JU
Q1BlZXJDb25uZWN0aW9uLmlkbAorICAgIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDU2Vzc2lvbkRl
c2NyaXB0aW9uLmlkbAogICAgIE1vZHVsZXMvbWVkaWFzdHJlYW0vU2Vzc2lvbkRlc2NyaXB0aW9u
LmlkbAogCiAgICAgTW9kdWxlcy9uZXR3b3JraW5mby9OYXZpZ2F0b3JOZXR3b3JrSW5mb0Nvbm5l
Y3Rpb24uaWRsCkBAIC04NTEsNiArODUyLDcgQEAgU0VUKFdlYkNvcmVfU09VUkNFUwogICAgIE1v
ZHVsZXMvbWVkaWFzdHJlYW0vTmF2aWdhdG9yTWVkaWFTdHJlYW0uY3BwCiAgICAgTW9kdWxlcy9t
ZWRpYXN0cmVhbS9QZWVyQ29ubmVjdGlvbjAwLmNwcAogICAgIE1vZHVsZXMvbWVkaWFzdHJlYW0v
UlRDUGVlckNvbm5lY3Rpb24uY3BwCisgICAgTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENTZXNzaW9u
RGVzY3JpcHRpb24uY3BwCiAgICAgTW9kdWxlcy9tZWRpYXN0cmVhbS9TZXNzaW9uRGVzY3JpcHRp
b24uY3BwCiAgICAgTW9kdWxlcy9tZWRpYXN0cmVhbS9Vc2VyTWVkaWFDb250cm9sbGVyLmNwcAog
ICAgIE1vZHVsZXMvbWVkaWFzdHJlYW0vVXNlck1lZGlhUmVxdWVzdC5jcHAKQEAgLTE5MjMsNiAr
MTkyNSw3IEBAIFNFVChXZWJDb3JlX1NPVVJDRVMKICAgICBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9N
ZWRpYVN0cmVhbUNlbnRlci5jcHAKICAgICBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9QZWVyQ29ubmVj
dGlvbjAwSGFuZGxlci5jcHAKICAgICBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVj
dGlvbkhhbmRsZXIuY3BwCisgICAgcGxhdGZvcm0vbWVkaWFzdHJlYW0vUlRDU2Vzc2lvbkRlc2Ny
aXB0aW9uRGVzY3JpcHRvci5jcHAKICAgICBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9TZXNzaW9uRGVz
Y3JpcHRpb25EZXNjcmlwdG9yLmNwcAogCiAgICAgcGxhdGZvcm0vbW9jay9EZXZpY2VNb3Rpb25D
bGllbnRNb2NrLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlz
dC5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5kZXggYjczMzZjY2Zm
OTU5ZjhmZGJmZDBmNDI4ZGEzNDQwMDViODAwZGIxNi4uYjE5NGRmNGViZmFjMjFjYmJkNGY5OWY4
NzQ3ZTQ4NmQyNzk3MWY3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUu
bGlzdC5hbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC02MjYs
NiArNjI2LDggQEAgd2ViY29yZV9idWlsdF9zb3VyY2VzICs9IFwKIAlEZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTUkdCQ29sb3IuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1JUQ1BlZXJD
b25uZWN0aW9uLmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1JUQ1BlZXJDb25uZWN0
aW9uLmggXAorCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNSVENTZXNzaW9uRGVzY3JpcHRpb24u
Y3BwIFwKKwlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUlRDU2Vzc2lvbkRlc2NyaXB0aW9uLmgg
XAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNTY3JlZW4uY3BwIFwKIAlEZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTU2NyZWVuLmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNTY3JpcHRQ
cm9maWxlLmNwcCBcCkBAIC0xMjE1LDYgKzEyMTcsNyBAQCBkb21fYmluZGluZ19pZGxzICs9IFwK
IAkkKFdlYkNvcmUpL01vZHVsZXMvbWVkaWFzdHJlYW0vTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vz
c0NhbGxiYWNrLmlkbCBcCiAJJChXZWJDb3JlKS9Nb2R1bGVzL21lZGlhc3RyZWFtL1BlZXJDb25u
ZWN0aW9uMDAuaWRsIFwKIAkkKFdlYkNvcmUpL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNv
bm5lY3Rpb24uaWRsIFwKKwkkKFdlYkNvcmUpL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDU2Vzc2lv
bkRlc2NyaXB0aW9uLmlkbCBcCiAJJChXZWJDb3JlKS9Nb2R1bGVzL21lZGlhc3RyZWFtL1Nlc3Np
b25EZXNjcmlwdGlvbi5pZGwgXAogCSQoV2ViQ29yZSkvTW9kdWxlcy9ub3RpZmljYXRpb25zL05v
dGlmaWNhdGlvbi5pZGwgXAogCSQoV2ViQ29yZSkvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlm
aWNhdGlvbkNlbnRlci5pZGwgXApAQCAtMTkwMSw2ICsxOTA0LDggQEAgd2ViY29yZV9tb2R1bGVz
X3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUGVlckNv
bm5lY3Rpb24wMC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1Bl
ZXJDb25uZWN0aW9uLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9S
VENQZWVyQ29ubmVjdGlvbi5oIFwKKwlTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFt
L1JUQ1Nlc3Npb25EZXNjcmlwdGlvbi5jcHAgXAorCVNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzdHJlYW0vUlRDU2Vzc2lvbkRlc2NyaXB0aW9uLmggXAogCVNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzdHJlYW0vU2Vzc2lvbkRlc2NyaXB0aW9uLmNwcCBcCiAJU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYXN0cmVhbS9TZXNzaW9uRGVzY3JpcHRpb24uaCBcCiAJU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9Vc2VyTWVkaWFDbGllbnQuaCBcCkBAIC00NTE1LDYgKzQ1
MjAsOCBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21l
ZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uSGFuZGxlci5jcHAgXAogCVNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uSGFuZGxlci5oIFwKIAlTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbkhhbmRsZXJD
bGllbnQuaCBcCisJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUlRDU2Vzc2lv
bkRlc2NyaXB0aW9uRGVzY3JpcHRvci5jcHAgXAorCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21l
ZGlhc3RyZWFtL1JUQ1Nlc3Npb25EZXNjcmlwdGlvbkRlc2NyaXB0b3IuaCBcCiAJU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vU2Vzc2lvbkRlc2NyaXB0aW9uRGVzY3JpcHRvci5j
cHAgXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1Nlc3Npb25EZXNjcmlw
dGlvbkRlc2NyaXB0b3IuaCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0v
Z3N0cmVhbWVyL01lZGlhU3RyZWFtQ2VudGVyR1N0cmVhbWVyLmNwcCBcCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL0RPTVdpbmRvd01lZGlhU3RyZWFtLmlk
bCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vRE9NV2luZG93TWVkaWFTdHJl
YW0uaWRsCmluZGV4IGVhOTQ2YTQ5NjZiZThiYmJmNDhhM2FjMGE1MjZlYjU0MDc2NTFkNGQuLmE0
MDBjOGU1ZjU5NjlmZThiYmUwNjMxOWU1ZjNjZmEyMmY2MWFkNDYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vRE9NV2luZG93TWVkaWFTdHJlYW0uaWRsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vRE9NV2luZG93TWVkaWFTdHJl
YW0uaWRsCkBAIC0zNCw2ICszNCw3IEBAIG1vZHVsZSB3aW5kb3cgewogICAgICAgICBhdHRyaWJ1
dGUgW1Y4RW5hYmxlZEF0UnVudGltZV0gUGVlckNvbm5lY3Rpb24wMENvbnN0cnVjdG9yIHdlYmtp
dFBlZXJDb25uZWN0aW9uMDA7CiAgICAgICAgIGF0dHJpYnV0ZSBbVjhFbmFibGVkQXRSdW50aW1l
XSBSVENQZWVyQ29ubmVjdGlvbkNvbnN0cnVjdG9yIHdlYmtpdFJUQ1BlZXJDb25uZWN0aW9uOwog
ICAgICAgICBhdHRyaWJ1dGUgU2Vzc2lvbkRlc2NyaXB0aW9uQ29uc3RydWN0b3IgU2Vzc2lvbkRl
c2NyaXB0aW9uOworICAgICAgICBhdHRyaWJ1dGUgUlRDU2Vzc2lvbkRlc2NyaXB0aW9uQ29uc3Ry
dWN0b3IgUlRDU2Vzc2lvbkRlc2NyaXB0aW9uOwogICAgICAgICBhdHRyaWJ1dGUgSWNlQ2FuZGlk
YXRlQ29uc3RydWN0b3IgSWNlQ2FuZGlkYXRlOwogICAgICAgICBhdHRyaWJ1dGUgTWVkaWFTdHJl
YW1FdmVudENvbnN0cnVjdG9yIE1lZGlhU3RyZWFtRXZlbnQ7CiAgICAgfTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDU2Vzc2lvbkRlc2NyaXB0aW9u
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDU2Vzc2lvbkRlc2Ny
aXB0aW9uLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42Nzc5NDkxMjRiYzM1YWZlZDkyZTU4YTg2ZjE2NzE5MmFk
YmJlN2VkCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0
cmVhbS9SVENTZXNzaW9uRGVzY3JpcHRpb24uY3BwCkBAIC0wLDAgKzEsMTEyIEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqICAgIGluIHRoZSBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqICAg
IGRpc3RyaWJ1dGlvbi4KKyAqIDMuIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9y
IHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzCisgKiAgICBtYXkgYmUgdXNlZCB0byBlbmRv
cnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMKKyAqICAgIHNvZnR3YXJl
IHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklC
VVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBP
V05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
CisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I2luY2x1ZGUgImNvbmZpZy5oIgorCisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKKworI2luY2x1
ZGUgIlJUQ1Nlc3Npb25EZXNjcmlwdGlvbi5oIgorCisjaW5jbHVkZSAiRGljdGlvbmFyeS5oIgor
I2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGUuaCIKKyNpbmNsdWRlICJSVENTZXNzaW9uRGVzY3JpcHRp
b25EZXNjcmlwdG9yLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3RhdGljIGJvb2wgdmVy
aWZ5VHlwZShjb25zdCBTdHJpbmcmIHR5cGUpCit7CisgICAgcmV0dXJuIHR5cGUgPT0gIm9mZmVy
IiB8fCB0eXBlID09ICJwcmFuc3dlciIgfHwgdHlwZSA9PSAiYW5zd2VyIjsKK30KKworUGFzc1Jl
ZlB0cjxSVENTZXNzaW9uRGVzY3JpcHRpb24+IFJUQ1Nlc3Npb25EZXNjcmlwdGlvbjo6Y3JlYXRl
KGNvbnN0IERpY3Rpb25hcnkmIGRpY3Rpb25hcnksIEV4Y2VwdGlvbkNvZGUmIGVjKQoreworICAg
IFN0cmluZyB0eXBlOworICAgIGJvb2wgb2sgPSBkaWN0aW9uYXJ5LmdldCgidHlwZSIsIHR5cGUp
OworICAgIGlmICghb2sgfHwgIXZlcmlmeVR5cGUodHlwZSkpIHsKKyAgICAgICAgZWMgPSBUWVBF
X01JU01BVENIX0VSUjsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQorCisgICAgU3RyaW5nIHNk
cDsKKyAgICBvayA9IGRpY3Rpb25hcnkuZ2V0KCJzZHAiLCBzZHApOworICAgIGlmICghb2sgfHwg
IXNkcC5sZW5ndGgoKSkgeworICAgICAgICBlYyA9IFRZUEVfTUlTTUFUQ0hfRVJSOworICAgICAg
ICByZXR1cm4gMDsKKyAgICB9CisKKyAgICByZXR1cm4gYWRvcHRSZWYobmV3IFJUQ1Nlc3Npb25E
ZXNjcmlwdGlvbihSVENTZXNzaW9uRGVzY3JpcHRpb25EZXNjcmlwdG9yOjpjcmVhdGUodHlwZSwg
c2RwKSkpOworfQorCitQYXNzUmVmUHRyPFJUQ1Nlc3Npb25EZXNjcmlwdGlvbj4gUlRDU2Vzc2lv
bkRlc2NyaXB0aW9uOjpjcmVhdGUoUGFzc1JlZlB0cjxSVENTZXNzaW9uRGVzY3JpcHRpb25EZXNj
cmlwdG9yPiBkZXNjcmlwdG9yKQoreworICAgIEFTU0VSVChkZXNjcmlwdG9yKTsKKyAgICByZXR1
cm4gYWRvcHRSZWYobmV3IFJUQ1Nlc3Npb25EZXNjcmlwdGlvbihkZXNjcmlwdG9yKSk7Cit9CisK
K1JUQ1Nlc3Npb25EZXNjcmlwdGlvbjo6UlRDU2Vzc2lvbkRlc2NyaXB0aW9uKFBhc3NSZWZQdHI8
UlRDU2Vzc2lvbkRlc2NyaXB0aW9uRGVzY3JpcHRvcj4gZGVzY3JpcHRvcikKKyAgICA6IG1fZGVz
Y3JpcHRvcihkZXNjcmlwdG9yKQoreworfQorCitSVENTZXNzaW9uRGVzY3JpcHRpb246On5SVENT
ZXNzaW9uRGVzY3JpcHRpb24oKQoreworfQorCitjb25zdCBTdHJpbmcmIFJUQ1Nlc3Npb25EZXNj
cmlwdGlvbjo6dHlwZSgpCit7CisgICAgcmV0dXJuIG1fZGVzY3JpcHRvci0+dHlwZSgpOworfQor
Cit2b2lkIFJUQ1Nlc3Npb25EZXNjcmlwdGlvbjo6c2V0VHlwZShjb25zdCBTdHJpbmcmIHR5cGUs
IEV4Y2VwdGlvbkNvZGUmIGVjKQoreworICAgIGlmICh2ZXJpZnlUeXBlKHR5cGUpKQorICAgICAg
ICBtX2Rlc2NyaXB0b3ItPnNldFR5cGUodHlwZSk7CisgICAgZWxzZQorICAgICAgICBlYyA9IFRZ
UEVfTUlTTUFUQ0hfRVJSOworfQorCitjb25zdCBTdHJpbmcmIFJUQ1Nlc3Npb25EZXNjcmlwdGlv
bjo6c2RwKCkKK3sKKyAgICByZXR1cm4gbV9kZXNjcmlwdG9yLT5zZHAoKTsKK30KKwordm9pZCBS
VENTZXNzaW9uRGVzY3JpcHRpb246OnNldFNkcChjb25zdCBTdHJpbmcmIHNkcCwgRXhjZXB0aW9u
Q29kZSYgZWMpCit7CisgICAgbV9kZXNjcmlwdG9yLT5zZXRTZHAoc2RwKTsKK30KKworUlRDU2Vz
c2lvbkRlc2NyaXB0aW9uRGVzY3JpcHRvciogUlRDU2Vzc2lvbkRlc2NyaXB0aW9uOjpkZXNjcmlw
dG9yKCkKK3sKKyAgICByZXR1cm4gbV9kZXNjcmlwdG9yLmdldCgpOworfQorCit9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoTUVESUFfU1RSRUFNKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENTZXNzaW9uRGVzY3JpcHRp
b24uaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDU2Vzc2lvbkRlc2Ny
aXB0aW9uLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNDU5NzA2OWNlODk4YzBiNTQyYzEzMDBiNjU1NWRiMzI3NjA1
ZmYzZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJl
YW0vUlRDU2Vzc2lvbkRlc2NyaXB0aW9uLmgKQEAgLTAsMCArMSw3MCBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiAgICBpbiB0aGUgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiAgICBkaXN0
cmlidXRpb24uCisgKiAzLiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUg
bmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycworICogICAgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBv
ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzCisgKiAgICBzb2Z0d2FyZSB3aXRo
b3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JT
CisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIg
T1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICog
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5k
ZWYgUlRDU2Vzc2lvbkRlc2NyaXB0aW9uX2gKKyNkZWZpbmUgUlRDU2Vzc2lvbkRlc2NyaXB0aW9u
X2gKKworI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCisKKyNpbmNsdWRlICJFeGNlcHRpb25CYXNl
LmgiCisjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRl
ZC5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgorCituYW1lc3BhY2UgV2ViQ29y
ZSB7CisKK2NsYXNzIERpY3Rpb25hcnk7CitjbGFzcyBSVENTZXNzaW9uRGVzY3JpcHRpb25EZXNj
cmlwdG9yOworCitjbGFzcyBSVENTZXNzaW9uRGVzY3JpcHRpb24gOiBwdWJsaWMgUmVmQ291bnRl
ZDxSVENTZXNzaW9uRGVzY3JpcHRpb24+IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0
cjxSVENTZXNzaW9uRGVzY3JpcHRpb24+IGNyZWF0ZShjb25zdCBEaWN0aW9uYXJ5JiwgRXhjZXB0
aW9uQ29kZSYpOworICAgIHN0YXRpYyBQYXNzUmVmUHRyPFJUQ1Nlc3Npb25EZXNjcmlwdGlvbj4g
Y3JlYXRlKFBhc3NSZWZQdHI8UlRDU2Vzc2lvbkRlc2NyaXB0aW9uRGVzY3JpcHRvcj4pOworICAg
IHZpcnR1YWwgflJUQ1Nlc3Npb25EZXNjcmlwdGlvbigpOworCisgICAgY29uc3QgU3RyaW5nJiB0
eXBlKCk7CisgICAgdm9pZCBzZXRUeXBlKGNvbnN0IFN0cmluZyYsIEV4Y2VwdGlvbkNvZGUmKTsK
KworICAgIGNvbnN0IFN0cmluZyYgc2RwKCk7CisgICAgdm9pZCBzZXRTZHAoY29uc3QgU3RyaW5n
JiwgRXhjZXB0aW9uQ29kZSYpOworCisgICAgUlRDU2Vzc2lvbkRlc2NyaXB0aW9uRGVzY3JpcHRv
ciogZGVzY3JpcHRvcigpOworCitwcml2YXRlOgorICAgIGV4cGxpY2l0IFJUQ1Nlc3Npb25EZXNj
cmlwdGlvbihQYXNzUmVmUHRyPFJUQ1Nlc3Npb25EZXNjcmlwdGlvbkRlc2NyaXB0b3I+KTsKKwor
ICAgIFJlZlB0cjxSVENTZXNzaW9uRGVzY3JpcHRpb25EZXNjcmlwdG9yPiBtX2Rlc2NyaXB0b3I7
Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoTUVESUFf
U1RSRUFNKQorCisjZW5kaWYgLy8gUlRDU2Vzc2lvbkRlc2NyaXB0aW9uX2gKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDU2Vzc2lvbkRlc2NyaXB0aW9u
LmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDU2Vzc2lvbkRlc2Ny
aXB0aW9uLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lODRkZWEyZWJkYWQ3MmM3NjJjYzRmMGEzODY0ODMwMDJl
ZTdlMGU1Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0
cmVhbS9SVENTZXNzaW9uRGVzY3JpcHRpb24uaWRsCkBAIC0wLDAgKzEsNDQgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogICAgaW4gdGhlIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogICAg
ZGlzdHJpYnV0aW9uLgorICogMy4gTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3Ig
dGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMKKyAqICAgIG1heSBiZSB1c2VkIHRvIGVuZG9y
c2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcworICogICAgc29mdHdhcmUg
d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJV
VE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9X
TkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkK
KyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitt
b2R1bGUgbWVkaWFzdHJlYW0geworCisgICAgaW50ZXJmYWNlIFsKKyAgICAgICAgQ29uZGl0aW9u
YWw9TUVESUFfU1RSRUFNLAorICAgICAgICBDb25zdHJ1Y3RvcihpbiBEaWN0aW9uYXJ5IGRpY3Rp
b25hcnkpLAorICAgICAgICBDb25zdHJ1Y3RvclJhaXNlc0V4Y2VwdGlvbgorICAgIF0gUlRDU2Vz
c2lvbkRlc2NyaXB0aW9uIHsKKyAgICAgICAgYXR0cmlidXRlIERPTVN0cmluZyB0eXBlCisgICAg
ICAgICAgICBzZXR0ZXIgcmFpc2VzKERPTUV4Y2VwdGlvbik7CisgICAgICAgIGF0dHJpYnV0ZSBE
T01TdHJpbmcgc2RwCisgICAgICAgICAgICBzZXR0ZXIgcmFpc2VzKERPTUV4Y2VwdGlvbik7Cisg
ICAgfTsKKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IGI2MDIyZTM0MGI5MjA3MmFlNWRkYzdhYjgy
NjgzYjk3NzEzYTI3ODcuLjVmNTJiYmU3NjBhYzJmYjkwMmQ2MzBiN2QyMmI3ZmI1NmJlODM2MGYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLmd5cGkKQEAgLTQ1Nyw2ICs0NTcsOCBAQAogICAgICAgICAgICAgJ3BsYXRm
b3JtL21lZGlhc3RyZWFtL1JUQ0NvbmZpZ3VyYXRpb24uaCcsCiAgICAgICAgICAgICAncGxhdGZv
cm0vbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyLmgnLAogICAgICAgICAgICAg
J3BsYXRmb3JtL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uSGFuZGxlckNsaWVudC5oJywK
KyAgICAgICAgICAgICdwbGF0Zm9ybS9tZWRpYXN0cmVhbS9SVENTZXNzaW9uRGVzY3JpcHRpb25E
ZXNjcmlwdG9yLmNwcCcsCisgICAgICAgICAgICAncGxhdGZvcm0vbWVkaWFzdHJlYW0vUlRDU2Vz
c2lvbkRlc2NyaXB0aW9uRGVzY3JpcHRvci5oJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9tZWRp
YXN0cmVhbS9TZXNzaW9uRGVzY3JpcHRpb25EZXNjcmlwdG9yLmNwcCcsCiAgICAgICAgICAgICAn
cGxhdGZvcm0vbWVkaWFzdHJlYW0vU2Vzc2lvbkRlc2NyaXB0aW9uRGVzY3JpcHRvci5oJywKICAg
ICAgICAgICAgICdwbGF0Zm9ybS9tZWRpYXN0cmVhbS9jaHJvbWl1bS9NZWRpYVN0cmVhbUNlbnRl
ckNocm9taXVtLmNwcCcsCkBAIC04NTQsNiArODU2LDcgQEAKICAgICAgICAgICAgICdNb2R1bGVz
L21lZGlhc3RyZWFtL05hdmlnYXRvclVzZXJNZWRpYVN1Y2Nlc3NDYWxsYmFjay5pZGwnLAogICAg
ICAgICAgICAgJ01vZHVsZXMvbWVkaWFzdHJlYW0vUGVlckNvbm5lY3Rpb24wMC5pZGwnLAogICAg
ICAgICAgICAgJ01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24uaWRsJywKKyAg
ICAgICAgICAgICdNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1Nlc3Npb25EZXNjcmlwdGlvbi5pZGwn
LAogICAgICAgICAgICAgJ01vZHVsZXMvbWVkaWFzdHJlYW0vU2Vzc2lvbkRlc2NyaXB0aW9uLmlk
bCcsCiAgICAgICAgICAgICAnTW9kdWxlcy9ub3RpZmljYXRpb25zL0RPTVdpbmRvd05vdGlmaWNh
dGlvbnMuaWRsJywKICAgICAgICAgICAgICdNb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0
aW9uLmlkbCcsCkBAIC0xNTkxLDYgKzE1OTQsOCBAQAogICAgICAgICAgICAgJ01vZHVsZXMvbWVk
aWFzdHJlYW0vUGVlckNvbm5lY3Rpb24wMC5oJywKICAgICAgICAgICAgICdNb2R1bGVzL21lZGlh
c3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLmNwcCcsCiAgICAgICAgICAgICAnTW9kdWxlcy9tZWRp
YXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi5oJywKKyAgICAgICAgICAgICdNb2R1bGVzL21lZGlh
c3RyZWFtL1JUQ1Nlc3Npb25EZXNjcmlwdGlvbi5jcHAnLAorICAgICAgICAgICAgJ01vZHVsZXMv
bWVkaWFzdHJlYW0vUlRDU2Vzc2lvbkRlc2NyaXB0aW9uLmgnLAogICAgICAgICAgICAgJ01vZHVs
ZXMvbWVkaWFzdHJlYW0vU2Vzc2lvbkRlc2NyaXB0aW9uLmNwcCcsCiAgICAgICAgICAgICAnTW9k
dWxlcy9tZWRpYXN0cmVhbS9TZXNzaW9uRGVzY3JpcHRpb24uaCcsCiAgICAgICAgICAgICAnTW9k
dWxlcy9tZWRpYXN0cmVhbS9Vc2VyTWVkaWFDbGllbnQuaCcsCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SVENTZXNzaW9uRGVzY3JpcHRpb25EZXNjcmlw
dG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JUQ1Nlc3Npb25E
ZXNjcmlwdGlvbkRlc2NyaXB0b3IuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjkxNzg2NzZiMTQ5NjQ0M2Y0NGU5
YzFkMGM5ZGQxNGIwZDE5YTU5ODkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tZWRpYXN0cmVhbS9SVENTZXNzaW9uRGVzY3JpcHRpb25EZXNjcmlwdG9yLmNwcApA
QCAtMCwwICsxLDU2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIKKyAqICAgIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUKKyAqICAgIGRpc3RyaWJ1dGlvbi4KKyAqIDMuIE5laXRoZXIgdGhl
IG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzCisg
KiAgICBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBm
cm9tIHRoaXMKKyAqICAgIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw
ZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlS
SUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
KyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorCisjaWYgRU5BQkxF
KE1FRElBX1NUUkVBTSkKKworI2luY2x1ZGUgIlJUQ1Nlc3Npb25EZXNjcmlwdGlvbkRlc2NyaXB0
b3IuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitQYXNzUmVmUHRyPFJUQ1Nlc3Npb25EZXNj
cmlwdGlvbkRlc2NyaXB0b3I+IFJUQ1Nlc3Npb25EZXNjcmlwdGlvbkRlc2NyaXB0b3I6OmNyZWF0
ZShjb25zdCBTdHJpbmcmIHR5cGUsIGNvbnN0IFN0cmluZyYgc2RwKQoreworICAgIHJldHVybiBh
ZG9wdFJlZihuZXcgUlRDU2Vzc2lvbkRlc2NyaXB0aW9uRGVzY3JpcHRvcih0eXBlLCBzZHApKTsK
K30KKworUlRDU2Vzc2lvbkRlc2NyaXB0aW9uRGVzY3JpcHRvcjo6UlRDU2Vzc2lvbkRlc2NyaXB0
aW9uRGVzY3JpcHRvcihjb25zdCBTdHJpbmcmIHR5cGUsIGNvbnN0IFN0cmluZyYgc2RwKQorICAg
IDogbV90eXBlKHR5cGUpCisgICAgLCBtX3NkcChzZHApCit7Cit9CisKK1JUQ1Nlc3Npb25EZXNj
cmlwdGlvbkRlc2NyaXB0b3I6On5SVENTZXNzaW9uRGVzY3JpcHRpb25EZXNjcmlwdG9yKCkKK3sK
K30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NU
UkVBTSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JU
Q1Nlc3Npb25EZXNjcmlwdGlvbkRlc2NyaXB0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21lZGlhc3RyZWFtL1JUQ1Nlc3Npb25EZXNjcmlwdGlvbkRlc2NyaXB0b3IuaApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4wNGUzNGI3OGQ4NmVjM2RiM2E2MDk4M2ZmZmNlNDE3ZjU4M2Y4NTI0Ci0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUlRDU2Vzc2lvbkRlc2Ny
aXB0aW9uRGVzY3JpcHRvci5oCkBAIC0wLDAgKzEsNjQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogICAgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogICAgZGlzdHJpYnV0aW9u
LgorICogMy4gTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9m
IGl0cyBjb250cmlidXRvcnMKKyAqICAgIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcworICogICAgc29mdHdhcmUgd2l0aG91dCBzcGVj
aWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFT
IElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAor
ICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFJUQ1Nl
c3Npb25EZXNjcmlwdGlvbkRlc2NyaXB0b3JfaAorI2RlZmluZSBSVENTZXNzaW9uRGVzY3JpcHRp
b25EZXNjcmlwdG9yX2gKKworI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCisKKyNpbmNsdWRlIDx3
dGYvUGFzc1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisjaW5jbHVkZSA8
d3RmL3RleHQvV1RGU3RyaW5nLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgUlRD
U2Vzc2lvbkRlc2NyaXB0aW9uRGVzY3JpcHRvciA6IHB1YmxpYyBSZWZDb3VudGVkPFJUQ1Nlc3Np
b25EZXNjcmlwdGlvbkRlc2NyaXB0b3I+IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0
cjxSVENTZXNzaW9uRGVzY3JpcHRpb25EZXNjcmlwdG9yPiBjcmVhdGUoY29uc3QgU3RyaW5nJiB0
eXBlLCBjb25zdCBTdHJpbmcmIHNkcCk7CisgICAgdmlydHVhbCB+UlRDU2Vzc2lvbkRlc2NyaXB0
aW9uRGVzY3JpcHRvcigpOworCisgICAgY29uc3QgU3RyaW5nJiB0eXBlKCkgeyByZXR1cm4gbV90
eXBlOyB9CisgICAgdm9pZCBzZXRUeXBlKGNvbnN0IFN0cmluZyYgdHlwZSkgeyBtX3R5cGUgPSB0
eXBlOyB9CisKKyAgICBjb25zdCBTdHJpbmcmIHNkcCgpIHsgcmV0dXJuIG1fc2RwOyB9CisgICAg
dm9pZCBzZXRTZHAoY29uc3QgU3RyaW5nJiBzZHApIHsgbV9zZHAgPSBzZHA7IH0KKworcHJpdmF0
ZToKKyAgICBSVENTZXNzaW9uRGVzY3JpcHRpb25EZXNjcmlwdG9yKGNvbnN0IFN0cmluZyYgdHlw
ZSwgY29uc3QgU3RyaW5nJiBzZHApOworCisgICAgU3RyaW5nIG1fdHlwZTsKKyAgICBTdHJpbmcg
bV9zZHA7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUo
TUVESUFfU1RSRUFNKQorCisjZW5kaWYgLy8gUlRDU2Vzc2lvbkRlc2NyaXB0aW9uRGVzY3JpcHRv
cl9oCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKaW5kZXggNzgwNWIwNjg3MTM4MGM3YjVhZjYyMDUyZDQwZGFlN2I2ODkwNzcxYy4uZjYw
MzI2N2RjYTNjODMzOTQ0ZTUyOTg2ZWRhYTM5MDZjMzE4YmEwMyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEz
IEBACisyMDEyLTA4LTIyICBUb21teSBXaWRlbmZseWNodCAgPHRvbW15d0Bnb29nbGUuY29tPgor
CisgICAgICAgIE1lZGlhU3RyZWFtIEFQSTogSW50cm9kdWNlIFJUQ1Nlc3Npb25EZXNjcmlwdGlv
bgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTMxMTkK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3Qv
bWVkaWFzdHJlYW0vUlRDU2Vzc2lvbkRlc2NyaXB0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZmFzdC9tZWRpYXN0cmVhbS9SVENTZXNzaW9uRGVzY3JpcHRpb24uaHRtbDogQWRk
ZWQuCisKIDIwMTItMDgtMjIgIFNoaW55YSBLYXdhbmFrYSAgPHNoaW55YWtAY2hyb21pdW0ub3Jn
PgogCiAgICAgICAgIFRlc3QgYW5kIHRlc3QgZXhwZWN0YXRpb24gb2YgU2hhZG93IERPTSBmb3Ig
YnV0dG9uIHNob3VsZCBiZSBmaXhlZC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbWVk
aWFzdHJlYW0vUlRDU2Vzc2lvbkRlc2NyaXB0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2Zhc3QvbWVkaWFzdHJlYW0vUlRDU2Vzc2lvbkRlc2NyaXB0aW9uLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xNDg2NGVkYjFhZDFiODI0NTdiMjk3YzJjYzlmNTVhYmNjMDllODk3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9SVENTZXNzaW9uRGVzY3Jp
cHRpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjMgQEAKK1Rlc3RzIFJUQ1Nlc3Npb25EZXNj
cmlwdGlvbi4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1Mgc2Vzc2lvbkRl
c2NyaXB0aW9uID0gbmV3IFJUQ1Nlc3Npb25EZXNjcmlwdGlvbihpbml0aWFsaXplcik7IGRpZCBu
b3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBzZXNzaW9uRGVzY3JpcHRpb24udHlwZSBpcyAib2Zm
ZXIiCitQQVNTIHNlc3Npb25EZXNjcmlwdGlvbi5zZHAgaXMgImZvb2JhciIKK1BBU1Mgc2Vzc2lv
bkRlc2NyaXB0aW9uID0gbmV3IFJUQ1Nlc3Npb25EZXNjcmlwdGlvbihpbml0aWFsaXplcik7IGRp
ZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBzZXNzaW9uRGVzY3JpcHRpb24udHlwZSBpcyAi
b2ZmZXIiCitQQVNTIHNlc3Npb25EZXNjcmlwdGlvbi5zZHAgaXMgImZvb2JhciIKK1BBU1MgbmV3
IFJUQ1Nlc3Npb25EZXNjcmlwdGlvbih7fSk7IHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogVFlQRV9N
SVNNQVRDSF9FUlI6IERPTSBFeGNlcHRpb24gMTcuCitQQVNTIG5ldyBSVENTZXNzaW9uRGVzY3Jp
cHRpb24oNSk7IHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IE5vdCBhbiBvYmplY3QuLgorUEFT
UyBuZXcgUlRDU2Vzc2lvbkRlc2NyaXB0aW9uKCdmb29iYXInKTsgdGhyZXcgZXhjZXB0aW9uIFR5
cGVFcnJvcjogTm90IGFuIG9iamVjdC4uCitQQVNTIG5ldyBSVENTZXNzaW9uRGVzY3JpcHRpb24o
e3R5cGU6J2Zvb2JhcicsIHNkcDoneCd9KTsgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBUWVBFX01J
U01BVENIX0VSUjogRE9NIEV4Y2VwdGlvbiAxNy4KK1BBU1MgbmV3IFJUQ1Nlc3Npb25EZXNjcmlw
dGlvbih7dHlwZTonb2ZmZXInLCBzZHA6Jyd9KTsgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBUWVBF
X01JU01BVENIX0VSUjogRE9NIEV4Y2VwdGlvbiAxNy4KK1BBU1MgbmV3IFJUQ1Nlc3Npb25EZXNj
cmlwdGlvbih7dHlwZTonb2ZmZXInLCBzZHA6J3gnfSk7IGRpZCBub3QgdGhyb3cgZXhjZXB0aW9u
LgorUEFTUyBuZXcgUlRDU2Vzc2lvbkRlc2NyaXB0aW9uKHt0eXBlOidhbnN3ZXInLCBzZHA6J3gn
fSk7IGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBuZXcgUlRDU2Vzc2lvbkRlc2NyaXB0
aW9uKHt0eXBlOidwcmFuc3dlcicsIHNkcDoneCd9KTsgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24u
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9SVENTZXNzaW9uRGVzY3JpcHRp
b24uaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vUlRDU2Vzc2lvbkRlc2NyaXB0
aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNDQyOGIwZGVjZjQyYTU4NDVkOWYwOTE3NDJlZjMxMTVmZDFm
NWM0MgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vUlRD
U2Vzc2lvbkRlc2NyaXB0aW9uLmh0bWwKQEAgLTAsMCArMSwzOCBAQAorPCFET0NUWVBFIEhUTUwg
UFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJl
bD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4K
KzxzY3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJUZXN0cyBSVENTZXNzaW9uRGVzY3Jp
cHRpb24uIik7CisKK3ZhciBpbml0aWFsaXplciA9IHt0eXBlOiJvZmZlciIsIHNkcDoiZm9vYmFy
In07Cit2YXIgc2Vzc2lvbkRlc2NyaXB0aW9uOworc2hvdWxkTm90VGhyb3coInNlc3Npb25EZXNj
cmlwdGlvbiA9IG5ldyBSVENTZXNzaW9uRGVzY3JpcHRpb24oaW5pdGlhbGl6ZXIpOyIpOworc2hv
dWxkQmUoJ3Nlc3Npb25EZXNjcmlwdGlvbi50eXBlJywgJyJvZmZlciInKTsKK3Nob3VsZEJlKCdz
ZXNzaW9uRGVzY3JpcHRpb24uc2RwJywgJyJmb29iYXIiJyk7CisKK2luaXRpYWxpemVyID0gSlNP
Ti5wYXJzZShKU09OLnN0cmluZ2lmeShzZXNzaW9uRGVzY3JpcHRpb24pKTsKK3Nob3VsZE5vdFRo
cm93KCJzZXNzaW9uRGVzY3JpcHRpb24gPSBuZXcgUlRDU2Vzc2lvbkRlc2NyaXB0aW9uKGluaXRp
YWxpemVyKTsiKTsKK3Nob3VsZEJlKCdzZXNzaW9uRGVzY3JpcHRpb24udHlwZScsICcib2ZmZXIi
Jyk7CitzaG91bGRCZSgnc2Vzc2lvbkRlc2NyaXB0aW9uLnNkcCcsICciZm9vYmFyIicpOworCitz
aG91bGRUaHJvdygibmV3IFJUQ1Nlc3Npb25EZXNjcmlwdGlvbih7fSk7Iik7CitzaG91bGRUaHJv
dygibmV3IFJUQ1Nlc3Npb25EZXNjcmlwdGlvbig1KTsiKTsKK3Nob3VsZFRocm93KCJuZXcgUlRD
U2Vzc2lvbkRlc2NyaXB0aW9uKCdmb29iYXInKTsiKTsKK3Nob3VsZFRocm93KCJuZXcgUlRDU2Vz
c2lvbkRlc2NyaXB0aW9uKHt0eXBlOidmb29iYXInLCBzZHA6J3gnfSk7Iik7CitzaG91bGRUaHJv
dygibmV3IFJUQ1Nlc3Npb25EZXNjcmlwdGlvbih7dHlwZTonb2ZmZXInLCBzZHA6Jyd9KTsiKTsK
Kworc2hvdWxkTm90VGhyb3coIm5ldyBSVENTZXNzaW9uRGVzY3JpcHRpb24oe3R5cGU6J29mZmVy
Jywgc2RwOid4J30pOyIpOworc2hvdWxkTm90VGhyb3coIm5ldyBSVENTZXNzaW9uRGVzY3JpcHRp
b24oe3R5cGU6J2Fuc3dlcicsIHNkcDoneCd9KTsiKTsKK3Nob3VsZE5vdFRocm93KCJuZXcgUlRD
U2Vzc2lvbkRlc2NyaXB0aW9uKHt0eXBlOidwcmFuc3dlcicsIHNkcDoneCd9KTsiKTsKKword2lu
ZG93LnN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>