<?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>136669</bug_id>
          
          <creation_ts>2014-09-09 02:16:49 -0700</creation_ts>
          <short_desc>REGRESSION(r173423): CertificateInfo is never sent to the UI process when using shared secondary process model</short_desc>
          <delta_ts>2014-09-12 08:42:28 -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>WebKit2</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Carlos Alberto Lopez Perez">clopez</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ap</cc>
    
    <cc>cgarcia</cc>
    
    <cc>darin</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>koivisto</cc>
    
    <cc>mrobinson</cc>
    
    <cc>ossy</cc>
    
    <cc>pnormand</cc>
    
    <cc>svillar</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1034095</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2014-09-09 02:16:49 -0700</bug_when>
    <thetext>The GTK API test WebKit2Gtk/TestSSL is failing since r173423 &lt;http://trac.webkit.org/r173423&gt;

$ Tools/Scripts/run-gtk-tests --verbose --release WebKitBuild/Release/bin/TestWebKitAPI/WebKit2Gtk/TestSSL 
TEST: WebKitBuild/Release/bin/TestWebKitAPI/WebKit2Gtk/TestSSL... (pid=32700)
  /webkit2/WebKitWebView/ssl:                                          **
ERROR:../../Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestSSL.cpp:72:void testSSL(SSLTest*, gconstpointer): assertion failed: (test-&gt;m_certificate)
FAIL
GTester: last random seed: R02Sc9ca19c165138113981a6793268440f9
(pid=312)
  /webkit2/WebKitWebView/insecure-content:                             OK
  /webkit2/WebKitWebView/tls-errors-policy:                            OK
  /webkit2/WebKitWebView/tls-errors-redirect-to-http:                  OK
  /webkit2/WebKitWebView/load-failed-with-tls-errors:                  OK
FAIL: WebKitBuild/Release/bin/TestWebKitAPI/WebKit2Gtk/TestSSL
Tests failed (1): WebKitBuild/Release/bin/TestWebKitAPI/WebKit2Gtk/TestSSL</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1034098</commentid>
    <comment_count>1</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2014-09-09 02:36:40 -0700</bug_when>
    <thetext>We don&apos;t include certificate info to subresources anymore. Maybe just the assert needs fixing?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1034138</commentid>
    <comment_count>2</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2014-09-09 12:27:22 -0700</bug_when>
    <thetext>(In reply to comment #1)
&gt; We don&apos;t include certificate info to subresources anymore. Maybe just the assert needs fixing?

Maybe.

I guess that cgarcia can check better than me if this is the case.

In the meanwhile. I skipped the test on http://trac.webkit.org/changeset/173435</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1034559</commentid>
    <comment_count>3</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2014-09-11 01:54:00 -0700</bug_when>
    <thetext>(In reply to comment #1)
&gt; We don&apos;t include certificate info to subresources anymore. Maybe just the assert needs fixing?

No, we are not testing the certificate of a subresource, there aren&apos;t even subresources in the html of the test. What we are testing here is that the view has a certifciate once the load has been committed, and we use mainFrame-&gt;certificateInfo()-&gt;certificateInfo() for that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1034571</commentid>
    <comment_count>4</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2014-09-11 02:52:58 -0700</bug_when>
    <thetext>The problem is that only the network process calls ResourceResponse::includeCertificateInfo(), and our test is using the single shared secondary process model.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1034583</commentid>
    <comment_count>5</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2014-09-11 05:08:13 -0700</bug_when>
    <thetext>Ah ok. Would it be difficult for you to move to using network process everywhere? Eliminating WK2-without-network-process mode would simplify the code and avoid this sort of issues.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1034584</commentid>
    <comment_count>6</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2014-09-11 05:14:43 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; Ah ok. Would it be difficult for you to move to using network process everywhere? Eliminating WK2-without-network-process mode would simplify the code and avoid this sort of issues.

Yes, I&apos;m afraid so, we have the single shared secondary process model exposed in our API, and used by applications. I think it&apos;s the best model for most applications, except web browsers. Are there any plans to remove that model? 
Would it be possible to implement this in WebCore by adding a ResourceLoaderOption? a CertificateInfoPolicy that will be only set as IncludeCertificateInfo for the main resource loader.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1034585</commentid>
    <comment_count>7</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2014-09-11 05:20:18 -0700</bug_when>
    <thetext>I don&apos;t think there are any plans to remove it. Having less configurations to support would be nice though.

Yeah, solution along those lines makes sense.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1034588</commentid>
    <comment_count>8</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2014-09-11 05:24:55 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; I don&apos;t think there are any plans to remove it. Having less configurations to support would be nice though.

phew, good to know, thanks :-)

&gt; Yeah, solution along those lines makes sense.

Ok, I&apos;ll try that approach then</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1034846</commentid>
    <comment_count>9</comment_count>
      <attachid>238023</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2014-09-12 05:27:35 -0700</bug_when>
    <thetext>Created attachment 238023
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1034847</commentid>
    <comment_count>10</comment_count>
      <attachid>238024</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2014-09-12 05:34:47 -0700</bug_when>
    <thetext>Created attachment 238024
Rebased to apply on current git master</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1034853</commentid>
    <comment_count>11</comment_count>
      <attachid>238024</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2014-09-12 06:46:17 -0700</bug_when>
    <thetext>Comment on attachment 238024
Rebased to apply on current git master

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

&gt; Source/WebCore/loader/DocumentLoader.cpp:1435
&gt; +    static NeverDestroyed&lt;ResourceLoaderOptions&gt; mainResourceLoadOptions(SendCallbacks, SniffContent, BufferData, AllowStoredCredentials, AskClientForAllCredentials, SkipSecurityCheck, UseDefaultOriginRestrictionsForType, IncludeCertificateInfo);

It would be nice to refactor ResourceLoaderOptions to be in the style of ViewState::Flags and LayerFlushThrottleState::Flags. The current struct is very expansion unfriendly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1034863</commentid>
    <comment_count>12</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2014-09-12 08:39:54 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; (From update of attachment 238024 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=238024&amp;action=review

Thanks for the review.

&gt; &gt; Source/WebCore/loader/DocumentLoader.cpp:1435
&gt; &gt; +    static NeverDestroyed&lt;ResourceLoaderOptions&gt; mainResourceLoadOptions(SendCallbacks, SniffContent, BufferData, AllowStoredCredentials, AskClientForAllCredentials, SkipSecurityCheck, UseDefaultOriginRestrictionsForType, IncludeCertificateInfo);
&gt; 
&gt; It would be nice to refactor ResourceLoaderOptions to be in the style of ViewState::Flags and LayerFlushThrottleState::Flags. The current struct is very expansion unfriendly.

Definitely</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1034864</commentid>
    <comment_count>13</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2014-09-12 08:42:28 -0700</bug_when>
    <thetext>Committed r173558: &lt;http://trac.webkit.org/changeset/173558&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>238023</attachid>
            <date>2014-09-12 05:27:35 -0700</date>
            <delta_ts>2014-09-12 05:34:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>wk2-certificate-info.diff</filename>
            <type>text/plain</type>
            <size>18918</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA2YWMyZTI0Li42MTBlZjhlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDQg
QEAKKzIwMTQtMDktMTIgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29t
PgorCisgICAgICAgIFJFR1JFU1NJT04ocjE3MzQyMyk6IENlcnRpZmljYXRlSW5mbyBpcyBuZXZl
ciBzZW50IHRvIHRoZSBVSSBwcm9jZXNzIHdoZW4gdXNpbmcgc2hhcmVkIHNlY29uZGFyeSBwcm9j
ZXNzIG1vZGVsCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xMzY2NjkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBBZGQgQ2VydGlmaWNhdGVJbmZvUG9saWN5IG9wdGlvbiB0byBSZXNvdXJjZUxvYWRlck9wdGlv
bnMuIEl0J3MKKyAgICAgICAgc2V0IHRvIERvTm90SW5jbHVkZUNlcnRpZmljYXRlSW5mbyBmb3Ig
YWxsIGxvYWRzIGV4Y2VwdCB0aGUgbWFpbgorICAgICAgICByZXNvdXJjZSBsb2FkLgorCisgICAg
ICAgICogbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3Vt
ZW50TG9hZGVyOjpzdGFydExvYWRpbmdNYWluUmVzb3VyY2UpOiBQYXNzCisgICAgICAgIEluY2x1
ZGVDZXJ0aWZpY2F0ZUluZm8gdG8gUmVzb3VyY2VMb2FkZXJPcHRpb25zLgorICAgICAgICAqIGxv
YWRlci9OZXRzY2FwZVBsdWdJblN0cmVhbUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpO
ZXRzY2FwZVBsdWdJblN0cmVhbUxvYWRlcjo6TmV0c2NhcGVQbHVnSW5TdHJlYW1Mb2FkZXIpOgor
ICAgICAgICBQYXNzIERvTm90SW5jbHVkZUNlcnRpZmljYXRlSW5mbyB0byBSZXNvdXJjZUxvYWRl
ck9wdGlvbnMoKS4KKyAgICAgICAgKiBsb2FkZXIvUmVzb3VyY2VMb2FkZXIuaDoKKyAgICAgICAg
KFdlYkNvcmU6OlJlc291cmNlTG9hZGVyOjpzaG91bGRJbmNsdWRlQ2VydGlmaWNhdGVJbmZvKTog
UmV0dXJuCisgICAgICAgIHRydWUgaWYgSW5jbHVkZUNlcnRpZmljYXRlSW5mbyBvcHRpb24gd2Fz
IGdpdmVuLgorICAgICAgICAqIGxvYWRlci9SZXNvdXJjZUxvYWRlck9wdGlvbnMuaDoKKyAgICAg
ICAgKFdlYkNvcmU6OlJlc291cmNlTG9hZGVyT3B0aW9uczo6UmVzb3VyY2VMb2FkZXJPcHRpb25z
KToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlTG9hZGVyT3B0aW9uczo6Y2VydGlmaWNhdGVJ
bmZvUG9saWN5KToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlTG9hZGVyT3B0aW9uczo6c2V0
Q2VydGlmaWNhdGVJbmZvUG9saWN5KToKKyAgICAgICAgKiBsb2FkZXIvU3VicmVzb3VyY2VMb2Fk
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3VicmVzb3VyY2VMb2FkZXI6OmRpZFJlY2VpdmVS
ZXNwb25zZSk6IElmCisgICAgICAgIEluY2x1ZGVDZXJ0aWZpY2F0ZUluZm8gb3B0aW9uIGlzIHBy
ZXNlbnQsIGNhbGwKKyAgICAgICAgaW5jbHVkZUNlcnRpZmljYXRlSW5mbygpIG9uIHRoZSByZXNw
b25zZS4KKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJlcXVlc3RVc2VyQ1NTU3R5
bGVTaGVldCk6IFBhc3MKKyAgICAgICAgRG9Ob3RJbmNsdWRlQ2VydGlmaWNhdGVJbmZvIHRvIFJl
c291cmNlTG9hZGVyT3B0aW9ucygpLgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VM
b2FkZXI6OmRlZmF1bHRDYWNoZWRSZXNvdXJjZU9wdGlvbnMpOiBEaXR0by4KKyAgICAgICAgKiBs
b2FkZXIvaWNvbi9JY29uTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okljb25Mb2FkZXI6
OnN0YXJ0TG9hZGluZyk6IERpdHRvLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91
bmRhdGlvbi9jZi9XZWJDb3JlQVZDRlJlc291cmNlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OldlYkNvcmVBVkNGUmVzb3VyY2VMb2FkZXI6OnN0YXJ0TG9hZGluZyk6IERpdHRvLgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL1dlYkNvcmVBVkZSZXNv
dXJjZUxvYWRlci5tbToKKyAgICAgICAgKFdlYkNvcmU6OldlYkNvcmVBVkZSZXNvdXJjZUxvYWRl
cjo6c3RhcnRMb2FkaW5nKTogRGl0dG8uCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0
cmVhbWVyL1dlYktpdFdlYlNvdXJjZUdTdHJlYW1lci5jcHA6CisgICAgICAgIChDYWNoZWRSZXNv
dXJjZVN0cmVhbWluZ0NsaWVudDo6Q2FjaGVkUmVzb3VyY2VTdHJlYW1pbmdDbGllbnQpOiBEaXR0
by4KKwogMjAxNC0wOS0xMSAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5j
b20+CiAKICAgICAgICAgUkVHUkVTU0lPTihyMTczNDQxKTogW0dUS10gQWxsIGJ1dHRvbnMgYXBw
ZWFyIGluc2Vuc2l0aXZlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1l
bnRMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcApp
bmRleCA5YzIzNjNlLi42YmUyNzUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
RG9jdW1lbnRMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExv
YWRlci5jcHAKQEAgLTE0MzIsNyArMTQzMiw3IEBAIHZvaWQgRG9jdW1lbnRMb2FkZXI6OnN0YXJ0
TG9hZGluZ01haW5SZXNvdXJjZSgpCiAjZW5kaWYKIAogICAgIFJlc291cmNlUmVxdWVzdCByZXF1
ZXN0KG1fcmVxdWVzdCk7Ci0gICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPFJlc291cmNlTG9hZGVy
T3B0aW9ucz4gbWFpblJlc291cmNlTG9hZE9wdGlvbnMoU2VuZENhbGxiYWNrcywgU25pZmZDb250
ZW50LCBCdWZmZXJEYXRhLCBBbGxvd1N0b3JlZENyZWRlbnRpYWxzLCBBc2tDbGllbnRGb3JBbGxD
cmVkZW50aWFscywgU2tpcFNlY3VyaXR5Q2hlY2ssIFVzZURlZmF1bHRPcmlnaW5SZXN0cmljdGlv
bnNGb3JUeXBlKTsKKyAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8UmVzb3VyY2VMb2FkZXJPcHRp
b25zPiBtYWluUmVzb3VyY2VMb2FkT3B0aW9ucyhTZW5kQ2FsbGJhY2tzLCBTbmlmZkNvbnRlbnQs
IEJ1ZmZlckRhdGEsIEFsbG93U3RvcmVkQ3JlZGVudGlhbHMsIEFza0NsaWVudEZvckFsbENyZWRl
bnRpYWxzLCBTa2lwU2VjdXJpdHlDaGVjaywgVXNlRGVmYXVsdE9yaWdpblJlc3RyaWN0aW9uc0Zv
clR5cGUsIEluY2x1ZGVDZXJ0aWZpY2F0ZUluZm8pOwogICAgIENhY2hlZFJlc291cmNlUmVxdWVz
dCBjYWNoZWRSZXNvdXJjZVJlcXVlc3QocmVxdWVzdCwgbWFpblJlc291cmNlTG9hZE9wdGlvbnMp
OwogICAgIG1fbWFpblJlc291cmNlID0gbV9jYWNoZWRSZXNvdXJjZUxvYWRlci0+cmVxdWVzdE1h
aW5SZXNvdXJjZShjYWNoZWRSZXNvdXJjZVJlcXVlc3QpOwogICAgIGlmICghbV9tYWluUmVzb3Vy
Y2UpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9OZXRzY2FwZVBsdWdJblN0
cmVhbUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTmV0c2NhcGVQbHVnSW5TdHJl
YW1Mb2FkZXIuY3BwCmluZGV4IDljNmU1MDUuLjQyYTMzOTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9OZXRzY2FwZVBsdWdJblN0cmVhbUxvYWRlci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL05ldHNjYXBlUGx1Z0luU3RyZWFtTG9hZGVyLmNwcApAQCAtMzcsNyAr
MzcsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBOZXRzY2FwZVBsdWdJblN0cmVhbUxvYWRl
cjo6TmV0c2NhcGVQbHVnSW5TdHJlYW1Mb2FkZXIoRnJhbWUqIGZyYW1lLCBOZXRzY2FwZVBsdWdJ
blN0cmVhbUxvYWRlckNsaWVudCogY2xpZW50KQotICAgIDogUmVzb3VyY2VMb2FkZXIoZnJhbWUs
IFJlc291cmNlTG9hZGVyT3B0aW9ucyhTZW5kQ2FsbGJhY2tzLCBTbmlmZkNvbnRlbnQsIERvTm90
QnVmZmVyRGF0YSwgQWxsb3dTdG9yZWRDcmVkZW50aWFscywgQXNrQ2xpZW50Rm9yQWxsQ3JlZGVu
dGlhbHMsIFNraXBTZWN1cml0eUNoZWNrLCBVc2VEZWZhdWx0T3JpZ2luUmVzdHJpY3Rpb25zRm9y
VHlwZSkpCisgICAgOiBSZXNvdXJjZUxvYWRlcihmcmFtZSwgUmVzb3VyY2VMb2FkZXJPcHRpb25z
KFNlbmRDYWxsYmFja3MsIFNuaWZmQ29udGVudCwgRG9Ob3RCdWZmZXJEYXRhLCBBbGxvd1N0b3Jl
ZENyZWRlbnRpYWxzLCBBc2tDbGllbnRGb3JBbGxDcmVkZW50aWFscywgU2tpcFNlY3VyaXR5Q2hl
Y2ssIFVzZURlZmF1bHRPcmlnaW5SZXN0cmljdGlvbnNGb3JUeXBlLCBEb05vdEluY2x1ZGVDZXJ0
aWZpY2F0ZUluZm8pKQogICAgICwgbV9jbGllbnQoY2xpZW50KQogewogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvUmVzb3VyY2VMb2FkZXIuaAppbmRleCAyYmY3NTM3Li4yM2ZlZTMxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkZXIuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkZXIuaApAQCAtMTIzLDYgKzEyMyw3IEBAIHB1YmxpYzoK
ICAgICB2b2lkIHNldFNlbmRDYWxsYmFja1BvbGljeShTZW5kQ2FsbGJhY2tQb2xpY3kgc2VuZExv
YWRDYWxsYmFja3MpIHsgbV9vcHRpb25zLnNldFNlbmRMb2FkQ2FsbGJhY2tzKHNlbmRMb2FkQ2Fs
bGJhY2tzKTsgfQogICAgIGJvb2wgc2hvdWxkU25pZmZDb250ZW50KCkgY29uc3QgeyByZXR1cm4g
bV9vcHRpb25zLnNuaWZmQ29udGVudCgpID09IFNuaWZmQ29udGVudDsgfQogICAgIENsaWVudENy
ZWRlbnRpYWxQb2xpY3kgY2xpZW50Q3JlZGVudGlhbFBvbGljeSgpIGNvbnN0IHsgcmV0dXJuIG1f
b3B0aW9ucy5jbGllbnRDcmVkZW50aWFsUG9saWN5KCk7IH0KKyAgICBib29sIHNob3VsZEluY2x1
ZGVDZXJ0aWZpY2F0ZUluZm8oKSBjb25zdCB7IHJldHVybiBtX29wdGlvbnMuY2VydGlmaWNhdGVJ
bmZvUG9saWN5KCkgPT0gSW5jbHVkZUNlcnRpZmljYXRlSW5mbzsgfQogCiAgICAgYm9vbCByZWFj
aGVkVGVybWluYWxTdGF0ZSgpIGNvbnN0IHsgcmV0dXJuIG1fcmVhY2hlZFRlcm1pbmFsU3RhdGU7
IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZGVyT3B0
aW9ucy5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZGVyT3B0aW9ucy5oCmlu
ZGV4IGVjNGI1NDguLjBjNDI1NmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9S
ZXNvdXJjZUxvYWRlck9wdGlvbnMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3Vy
Y2VMb2FkZXJPcHRpb25zLmgKQEAgLTYxLDYgKzYxLDExIEBAIGVudW0gUmVxdWVzdE9yaWdpblBv
bGljeSB7CiAgICAgUG90ZW50aWFsbHlDcm9zc09yaWdpbkVuYWJsZWQgLy8gSW5kaWNhdGVzICJw
b3RlbnRpYWxseSBDT1JTLWVuYWJsZWQgZmV0Y2giIGluIEhUTUwgc3RhbmRhcmQuCiB9OwogCitl
bnVtIENlcnRpZmljYXRlSW5mb1BvbGljeSB7CisgICAgSW5jbHVkZUNlcnRpZmljYXRlSW5mbywK
KyAgICBEb05vdEluY2x1ZGVDZXJ0aWZpY2F0ZUluZm8KK307CisKIHN0cnVjdCBSZXNvdXJjZUxv
YWRlck9wdGlvbnMgewogICAgIFJlc291cmNlTG9hZGVyT3B0aW9ucygpCiAgICAgICAgIDogbV9z
ZW5kTG9hZENhbGxiYWNrcyhEb05vdFNlbmRDYWxsYmFja3MpCkBAIC03MCwxMCArNzUsMTEgQEAg
c3RydWN0IFJlc291cmNlTG9hZGVyT3B0aW9ucyB7CiAgICAgICAgICwgbV9jbGllbnRDcmVkZW50
aWFsUG9saWN5KERvTm90QXNrQ2xpZW50Rm9yQW55Q3JlZGVudGlhbHMpCiAgICAgICAgICwgbV9z
ZWN1cml0eUNoZWNrKERvU2VjdXJpdHlDaGVjaykKICAgICAgICAgLCBtX3JlcXVlc3RPcmlnaW5Q
b2xpY3koVXNlRGVmYXVsdE9yaWdpblJlc3RyaWN0aW9uc0ZvclR5cGUpCisgICAgICAgICwgbV9j
ZXJ0aWZpY2F0ZUluZm9Qb2xpY3koRG9Ob3RJbmNsdWRlQ2VydGlmaWNhdGVJbmZvKQogICAgIHsK
ICAgICB9CiAKLSAgICBSZXNvdXJjZUxvYWRlck9wdGlvbnMoU2VuZENhbGxiYWNrUG9saWN5IHNl
bmRMb2FkQ2FsbGJhY2tzLCBDb250ZW50U25pZmZpbmdQb2xpY3kgc25pZmZDb250ZW50LCBEYXRh
QnVmZmVyaW5nUG9saWN5IGRhdGFCdWZmZXJpbmdQb2xpY3ksIFN0b3JlZENyZWRlbnRpYWxzIGFs
bG93Q3JlZGVudGlhbHMsIENsaWVudENyZWRlbnRpYWxQb2xpY3kgY3JlZGVudGlhbFBvbGljeSwg
U2VjdXJpdHlDaGVja1BvbGljeSBzZWN1cml0eUNoZWNrLCBSZXF1ZXN0T3JpZ2luUG9saWN5IHJl
cXVlc3RPcmlnaW5Qb2xpY3kpCisgICAgUmVzb3VyY2VMb2FkZXJPcHRpb25zKFNlbmRDYWxsYmFj
a1BvbGljeSBzZW5kTG9hZENhbGxiYWNrcywgQ29udGVudFNuaWZmaW5nUG9saWN5IHNuaWZmQ29u
dGVudCwgRGF0YUJ1ZmZlcmluZ1BvbGljeSBkYXRhQnVmZmVyaW5nUG9saWN5LCBTdG9yZWRDcmVk
ZW50aWFscyBhbGxvd0NyZWRlbnRpYWxzLCBDbGllbnRDcmVkZW50aWFsUG9saWN5IGNyZWRlbnRp
YWxQb2xpY3ksIFNlY3VyaXR5Q2hlY2tQb2xpY3kgc2VjdXJpdHlDaGVjaywgUmVxdWVzdE9yaWdp
blBvbGljeSByZXF1ZXN0T3JpZ2luUG9saWN5LCBDZXJ0aWZpY2F0ZUluZm9Qb2xpY3kgY2VydGlm
aWNhdGVJbmZvUG9saWN5KQogICAgICAgICA6IG1fc2VuZExvYWRDYWxsYmFja3Moc2VuZExvYWRD
YWxsYmFja3MpCiAgICAgICAgICwgbV9zbmlmZkNvbnRlbnQoc25pZmZDb250ZW50KQogICAgICAg
ICAsIG1fZGF0YUJ1ZmZlcmluZ1BvbGljeShkYXRhQnVmZmVyaW5nUG9saWN5KQpAQCAtODEsNiAr
ODcsNyBAQCBzdHJ1Y3QgUmVzb3VyY2VMb2FkZXJPcHRpb25zIHsKICAgICAgICAgLCBtX2NsaWVu
dENyZWRlbnRpYWxQb2xpY3koY3JlZGVudGlhbFBvbGljeSkKICAgICAgICAgLCBtX3NlY3VyaXR5
Q2hlY2soc2VjdXJpdHlDaGVjaykKICAgICAgICAgLCBtX3JlcXVlc3RPcmlnaW5Qb2xpY3kocmVx
dWVzdE9yaWdpblBvbGljeSkKKyAgICAgICAgLCBtX2NlcnRpZmljYXRlSW5mb1BvbGljeShjZXJ0
aWZpY2F0ZUluZm9Qb2xpY3kpCiAgICAgewogICAgIH0KIApAQCAtOTgsNiArMTA1LDggQEAgc3Ry
dWN0IFJlc291cmNlTG9hZGVyT3B0aW9ucyB7CiAgICAgdm9pZCBzZXRTZWN1cml0eUNoZWNrKFNl
Y3VyaXR5Q2hlY2tQb2xpY3kgY2hlY2spIHsgbV9zZWN1cml0eUNoZWNrID0gY2hlY2s7IH0KICAg
ICBSZXF1ZXN0T3JpZ2luUG9saWN5IHJlcXVlc3RPcmlnaW5Qb2xpY3koKSBjb25zdCB7IHJldHVy
biBzdGF0aWNfY2FzdDxSZXF1ZXN0T3JpZ2luUG9saWN5PihtX3JlcXVlc3RPcmlnaW5Qb2xpY3kp
OyB9CiAgICAgdm9pZCBzZXRSZXF1ZXN0T3JpZ2luUG9saWN5KFJlcXVlc3RPcmlnaW5Qb2xpY3kg
cG9saWN5KSB7IG1fcmVxdWVzdE9yaWdpblBvbGljeSA9IHBvbGljeTsgfQorICAgIENlcnRpZmlj
YXRlSW5mb1BvbGljeSBjZXJ0aWZpY2F0ZUluZm9Qb2xpY3koKSBjb25zdCB7IHJldHVybiBzdGF0
aWNfY2FzdDxDZXJ0aWZpY2F0ZUluZm9Qb2xpY3k+KG1fY2VydGlmaWNhdGVJbmZvUG9saWN5KTsg
fQorICAgIHZvaWQgc2V0Q2VydGlmaWNhdGVJbmZvUG9saWN5KENlcnRpZmljYXRlSW5mb1BvbGlj
eSBwb2xpY3kpIHsgbV9jZXJ0aWZpY2F0ZUluZm9Qb2xpY3kgPSBwb2xpY3k7IH0KIAogICAgIHVu
c2lnbmVkIG1fc2VuZExvYWRDYWxsYmFja3MgOiAxOwogICAgIHVuc2lnbmVkIG1fc25pZmZDb250
ZW50IDogMTsKQEAgLTEwNiw2ICsxMTUsNyBAQCBzdHJ1Y3QgUmVzb3VyY2VMb2FkZXJPcHRpb25z
IHsKICAgICB1bnNpZ25lZCBtX2NsaWVudENyZWRlbnRpYWxQb2xpY3kgOiAyOyAvLyBXaGVuIHdl
IHNob3VsZCBhc2sgdGhlIGNsaWVudCBmb3IgY3JlZGVudGlhbHMgKGlmIHdlIGFsbG93IGNyZWRl
bnRpYWxzIGF0IGFsbCkuCiAgICAgdW5zaWduZWQgbV9zZWN1cml0eUNoZWNrIDogMTsKICAgICB1
bnNpZ25lZCBtX3JlcXVlc3RPcmlnaW5Qb2xpY3kgOiAyOworICAgIHVuc2lnbmVkIG1fY2VydGlm
aWNhdGVJbmZvUG9saWN5IDogMTsgLy8gV2hldGhlciB0aGUgcmVzcG9uc2Ugc2hvdWxkIGluY2x1
ZGUgY2VydGlmaWNhdGUgaW5mby4KIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUgICAgCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvU3VicmVzb3VyY2VMb2FkZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvbG9hZGVyL1N1YnJlc291cmNlTG9hZGVyLmNwcAppbmRleCBjYmIwNTYx
Li43ZDQwZTYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvU3VicmVzb3VyY2VM
b2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9TdWJyZXNvdXJjZUxvYWRlci5j
cHAKQEAgLTE5NSw2ICsxOTUsOSBAQCB2b2lkIFN1YnJlc291cmNlTG9hZGVyOjpkaWRSZWNlaXZl
UmVzcG9uc2UoY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UpCiAgICAgLy8gYW55dGhp
bmcgaW5jbHVkaW5nIHJlbW92aW5nIHRoZSBsYXN0IHJlZmVyZW5jZSB0byB0aGlzIG9iamVjdDsg
b25lIGV4YW1wbGUgb2YgdGhpcyBpcyAzMjY2MjE2LgogICAgIFJlZjxTdWJyZXNvdXJjZUxvYWRl
cj4gcHJvdGVjdCgqdGhpcyk7CiAKKyAgICBpZiAoc2hvdWxkSW5jbHVkZUNlcnRpZmljYXRlSW5m
bygpKQorICAgICAgICByZXNwb25zZS5pbmNsdWRlQ2VydGlmaWNhdGVJbmZvKCk7CisKICAgICBp
ZiAobV9yZXNvdXJjZS0+cmVzb3VyY2VUb1JldmFsaWRhdGUoKSkgewogICAgICAgICBpZiAocmVz
cG9uc2UuaHR0cFN0YXR1c0NvZGUoKSA9PSAzMDQpIHsKICAgICAgICAgICAgIC8vIDMwNCBOb3Qg
bW9kaWZpZWQgLyBVc2UgbG9jYWwgY29weQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggZjkzYjBkMy4uNTc1NzNlMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9h
ZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VM
b2FkZXIuY3BwCkBAIC0yMTEsNyArMjExLDcgQEAgQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVk
Q1NTU3R5bGVTaGVldD4gQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJlcXVlc3RVc2VyQ1NTU3QKICAg
ICBtZW1vcnlDYWNoZSgpLT5hZGQodXNlclNoZWV0LmdldCgpKTsKICAgICAvLyBGSVhNRTogbG9h
ZFJlc291cmNlIGNhbGxzIHNldE93bmluZ0NhY2hlZFJlc291cmNlTG9hZGVyKCkgaWYgdGhlIHJl
c291cmNlIGNvdWxkbid0IGJlIGFkZGVkIHRvIGNhY2hlLiBEb2VzIHRoaXMgZnVuY3Rpb24gbmVl
ZCB0byBjYWxsIGl0LCB0b28/CiAKLSAgICB1c2VyU2hlZXQtPmxvYWQodGhpcywgUmVzb3VyY2VM
b2FkZXJPcHRpb25zKERvTm90U2VuZENhbGxiYWNrcywgU25pZmZDb250ZW50LCBCdWZmZXJEYXRh
LCBBbGxvd1N0b3JlZENyZWRlbnRpYWxzLCBBc2tDbGllbnRGb3JBbGxDcmVkZW50aWFscywgU2tp
cFNlY3VyaXR5Q2hlY2ssIFVzZURlZmF1bHRPcmlnaW5SZXN0cmljdGlvbnNGb3JUeXBlKSk7Cisg
ICAgdXNlclNoZWV0LT5sb2FkKHRoaXMsIFJlc291cmNlTG9hZGVyT3B0aW9ucyhEb05vdFNlbmRD
YWxsYmFja3MsIFNuaWZmQ29udGVudCwgQnVmZmVyRGF0YSwgQWxsb3dTdG9yZWRDcmVkZW50aWFs
cywgQXNrQ2xpZW50Rm9yQWxsQ3JlZGVudGlhbHMsIFNraXBTZWN1cml0eUNoZWNrLCBVc2VEZWZh
dWx0T3JpZ2luUmVzdHJpY3Rpb25zRm9yVHlwZSwgRG9Ob3RJbmNsdWRlQ2VydGlmaWNhdGVJbmZv
KSk7CiAgICAgCiAgICAgcmV0dXJuIHVzZXJTaGVldDsKIH0KQEAgLTk3NCw3ICs5NzQsNyBAQCB2
b2lkIENhY2hlZFJlc291cmNlTG9hZGVyOjpwcmludFByZWxvYWRTdGF0cygpCiAKIGNvbnN0IFJl
c291cmNlTG9hZGVyT3B0aW9ucyYgQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OmRlZmF1bHRDYWNoZWRS
ZXNvdXJjZU9wdGlvbnMoKQogewotICAgIHN0YXRpYyBSZXNvdXJjZUxvYWRlck9wdGlvbnMgb3B0
aW9ucyhTZW5kQ2FsbGJhY2tzLCBTbmlmZkNvbnRlbnQsIEJ1ZmZlckRhdGEsIEFsbG93U3RvcmVk
Q3JlZGVudGlhbHMsIEFza0NsaWVudEZvckFsbENyZWRlbnRpYWxzLCBEb1NlY3VyaXR5Q2hlY2ss
IFVzZURlZmF1bHRPcmlnaW5SZXN0cmljdGlvbnNGb3JUeXBlKTsKKyAgICBzdGF0aWMgUmVzb3Vy
Y2VMb2FkZXJPcHRpb25zIG9wdGlvbnMoU2VuZENhbGxiYWNrcywgU25pZmZDb250ZW50LCBCdWZm
ZXJEYXRhLCBBbGxvd1N0b3JlZENyZWRlbnRpYWxzLCBBc2tDbGllbnRGb3JBbGxDcmVkZW50aWFs
cywgRG9TZWN1cml0eUNoZWNrLCBVc2VEZWZhdWx0T3JpZ2luUmVzdHJpY3Rpb25zRm9yVHlwZSwg
RG9Ob3RJbmNsdWRlQ2VydGlmaWNhdGVJbmZvKTsKICAgICByZXR1cm4gb3B0aW9uczsKIH0KIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkxvYWRlci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uTG9hZGVyLmNwcAppbmRleCAwYmM1NTgzLi41
NDAyZWIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uTG9hZGVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uTG9hZGVyLmNwcApAQCAt
NTksNyArNTksNyBAQCB2b2lkIEljb25Mb2FkZXI6OnN0YXJ0TG9hZGluZygpCiAgICAgaWYgKG1f
cmVzb3VyY2UgfHwgIW1fZnJhbWUuZG9jdW1lbnQoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAg
Q2FjaGVkUmVzb3VyY2VSZXF1ZXN0IHJlcXVlc3QoUmVzb3VyY2VSZXF1ZXN0KG1fZnJhbWUubG9h
ZGVyKCkuaWNvbigpLnVybCgpKSwgUmVzb3VyY2VMb2FkZXJPcHRpb25zKFNlbmRDYWxsYmFja3Ms
IFNuaWZmQ29udGVudCwgQnVmZmVyRGF0YSwgRG9Ob3RBbGxvd1N0b3JlZENyZWRlbnRpYWxzLCBE
b05vdEFza0NsaWVudEZvckFueUNyZWRlbnRpYWxzLCBEb1NlY3VyaXR5Q2hlY2ssIFVzZURlZmF1
bHRPcmlnaW5SZXN0cmljdGlvbnNGb3JUeXBlKSk7CisgICAgQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0
IHJlcXVlc3QoUmVzb3VyY2VSZXF1ZXN0KG1fZnJhbWUubG9hZGVyKCkuaWNvbigpLnVybCgpKSwg
UmVzb3VyY2VMb2FkZXJPcHRpb25zKFNlbmRDYWxsYmFja3MsIFNuaWZmQ29udGVudCwgQnVmZmVy
RGF0YSwgRG9Ob3RBbGxvd1N0b3JlZENyZWRlbnRpYWxzLCBEb05vdEFza0NsaWVudEZvckFueUNy
ZWRlbnRpYWxzLCBEb1NlY3VyaXR5Q2hlY2ssIFVzZURlZmF1bHRPcmlnaW5SZXN0cmljdGlvbnNG
b3JUeXBlLCBEb05vdEluY2x1ZGVDZXJ0aWZpY2F0ZUluZm8pKTsKIAogICAgIHJlcXVlc3QubXV0
YWJsZVJlc291cmNlUmVxdWVzdCgpLnNldFByaW9yaXR5KFJlc291cmNlTG9hZFByaW9yaXR5TG93
KTsKICAgICByZXF1ZXN0LnNldEluaXRpYXRvcihjYWNoZWRSZXNvdXJjZVJlcXVlc3RJbml0aWF0
b3JzKCkuaWNvbik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9hdmZvdW5kYXRpb24vY2YvV2ViQ29yZUFWQ0ZSZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vY2YvV2ViQ29yZUFWQ0ZSZXNv
dXJjZUxvYWRlci5jcHAKaW5kZXggODRlYTNlOS4uYzUzMjBiZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL2NmL1dlYkNvcmVBVkNGUmVz
b3VyY2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2
Zm91bmRhdGlvbi9jZi9XZWJDb3JlQVZDRlJlc291cmNlTG9hZGVyLmNwcApAQCAtNzIsNyArNzIs
NyBAQCB2b2lkIFdlYkNvcmVBVkNGUmVzb3VyY2VMb2FkZXI6OnN0YXJ0TG9hZGluZygpCiAgICAg
UmV0YWluUHRyPENGVVJMUmVxdWVzdFJlZj4gdXJsUmVxdWVzdCA9IEFWQ0ZBc3NldFJlc291cmNl
TG9hZGluZ1JlcXVlc3RHZXRVUkxSZXF1ZXN0KG1fYXZSZXF1ZXN0LmdldCgpKTsKICAgICBVUkwg
cmVxdWVzdFVSTCA9IENGVVJMUmVxdWVzdEdldFVSTCh1cmxSZXF1ZXN0LmdldCgpKTsKIAotICAg
IENhY2hlZFJlc291cmNlUmVxdWVzdCByZXF1ZXN0KFJlc291cmNlUmVxdWVzdChyZXF1ZXN0VVJM
KSwgUmVzb3VyY2VMb2FkZXJPcHRpb25zKFNlbmRDYWxsYmFja3MsIERvTm90U25pZmZDb250ZW50
LCBCdWZmZXJEYXRhLCBEb05vdEFsbG93U3RvcmVkQ3JlZGVudGlhbHMsIERvTm90QXNrQ2xpZW50
Rm9yQ3Jvc3NPcmlnaW5DcmVkZW50aWFscywgRG9TZWN1cml0eUNoZWNrLCBVc2VEZWZhdWx0T3Jp
Z2luUmVzdHJpY3Rpb25zRm9yVHlwZSkpOworICAgIENhY2hlZFJlc291cmNlUmVxdWVzdCByZXF1
ZXN0KFJlc291cmNlUmVxdWVzdChyZXF1ZXN0VVJMKSwgUmVzb3VyY2VMb2FkZXJPcHRpb25zKFNl
bmRDYWxsYmFja3MsIERvTm90U25pZmZDb250ZW50LCBCdWZmZXJEYXRhLCBEb05vdEFsbG93U3Rv
cmVkQ3JlZGVudGlhbHMsIERvTm90QXNrQ2xpZW50Rm9yQ3Jvc3NPcmlnaW5DcmVkZW50aWFscywg
RG9TZWN1cml0eUNoZWNrLCBVc2VEZWZhdWx0T3JpZ2luUmVzdHJpY3Rpb25zRm9yVHlwZSwgRG9O
b3RJbmNsdWRlQ2VydGlmaWNhdGVJbmZvKSk7CiAKICAgICByZXF1ZXN0Lm11dGFibGVSZXNvdXJj
ZVJlcXVlc3QoKS5zZXRQcmlvcml0eShSZXNvdXJjZUxvYWRQcmlvcml0eUxvdyk7CiAgICAgQ2Fj
aGVkUmVzb3VyY2VMb2FkZXIqIGxvYWRlciA9IG1fcGFyZW50LT5wbGF5ZXIoKS0+Y2FjaGVkUmVz
b3VyY2VMb2FkZXIoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2F2Zm91bmRhdGlvbi9vYmpjL1dlYkNvcmVBVkZSZXNvdXJjZUxvYWRlci5tbSBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL1dlYkNvcmVBVkZS
ZXNvdXJjZUxvYWRlci5tbQppbmRleCA3ODMwODdlLi5mMjBlNmEwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9XZWJDb3JlQVZG
UmVzb3VyY2VMb2FkZXIubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
YXZmb3VuZGF0aW9uL29iamMvV2ViQ29yZUFWRlJlc291cmNlTG9hZGVyLm1tCkBAIC02OCw3ICs2
OCw3IEBAIHZvaWQgV2ViQ29yZUFWRlJlc291cmNlTG9hZGVyOjpzdGFydExvYWRpbmcoKQogCiAg
ICAgVVJMIHJlcXVlc3RVUkwgPSBbW21fYXZSZXF1ZXN0LmdldCgpIHJlcXVlc3RdIFVSTF07CiAK
LSAgICBDYWNoZWRSZXNvdXJjZVJlcXVlc3QgcmVxdWVzdChSZXNvdXJjZVJlcXVlc3QocmVxdWVz
dFVSTCksIFJlc291cmNlTG9hZGVyT3B0aW9ucyhTZW5kQ2FsbGJhY2tzLCBEb05vdFNuaWZmQ29u
dGVudCwgQnVmZmVyRGF0YSwgRG9Ob3RBbGxvd1N0b3JlZENyZWRlbnRpYWxzLCBEb05vdEFza0Ns
aWVudEZvckNyb3NzT3JpZ2luQ3JlZGVudGlhbHMsIERvU2VjdXJpdHlDaGVjaywgVXNlRGVmYXVs
dE9yaWdpblJlc3RyaWN0aW9uc0ZvclR5cGUpKTsKKyAgICBDYWNoZWRSZXNvdXJjZVJlcXVlc3Qg
cmVxdWVzdChSZXNvdXJjZVJlcXVlc3QocmVxdWVzdFVSTCksIFJlc291cmNlTG9hZGVyT3B0aW9u
cyhTZW5kQ2FsbGJhY2tzLCBEb05vdFNuaWZmQ29udGVudCwgQnVmZmVyRGF0YSwgRG9Ob3RBbGxv
d1N0b3JlZENyZWRlbnRpYWxzLCBEb05vdEFza0NsaWVudEZvckNyb3NzT3JpZ2luQ3JlZGVudGlh
bHMsIERvU2VjdXJpdHlDaGVjaywgVXNlRGVmYXVsdE9yaWdpblJlc3RyaWN0aW9uc0ZvclR5cGUs
IERvTm90SW5jbHVkZUNlcnRpZmljYXRlSW5mbykpOwogCiAgICAgcmVxdWVzdC5tdXRhYmxlUmVz
b3VyY2VSZXF1ZXN0KCkuc2V0UHJpb3JpdHkoUmVzb3VyY2VMb2FkUHJpb3JpdHlMb3cpOwogICAg
IENhY2hlZFJlc291cmNlTG9hZGVyKiBsb2FkZXIgPSBtX3BhcmVudC0+cGxheWVyKCktPmNhY2hl
ZFJlc291cmNlTG9hZGVyKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9nc3RyZWFtZXIvV2ViS2l0V2ViU291cmNlR1N0cmVhbWVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9XZWJLaXRXZWJTb3VyY2VHU3RyZWFt
ZXIuY3BwCmluZGV4IDg3Y2IyMDMuLmM3MzEwMTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9XZWJLaXRXZWJTb3VyY2VHU3RyZWFtZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9XZWJLaXRX
ZWJTb3VyY2VHU3RyZWFtZXIuY3BwCkBAIC0xMDAwLDcgKzEwMDAsNyBAQCBDYWNoZWRSZXNvdXJj
ZVN0cmVhbWluZ0NsaWVudDo6Q2FjaGVkUmVzb3VyY2VTdHJlYW1pbmdDbGllbnQoV2ViS2l0V2Vi
U3JjKiBzcmMsCiAgICAgRGF0YUJ1ZmZlcmluZ1BvbGljeSBidWZmZXJpbmdQb2xpY3kgPSByZXF1
ZXN0LnVybCgpLnByb3RvY29sSXMoImJsb2IiKSA/IEJ1ZmZlckRhdGEgOiBEb05vdEJ1ZmZlckRh
dGE7CiAgICAgUmVxdWVzdE9yaWdpblBvbGljeSBjb3JzUG9saWN5ID0gY29yc01vZGUgIT0gTWVk
aWFQbGF5ZXJDbGllbnQ6OlVuc3BlY2lmaWVkID8gUG90ZW50aWFsbHlDcm9zc09yaWdpbkVuYWJs
ZWQgOiBVc2VEZWZhdWx0T3JpZ2luUmVzdHJpY3Rpb25zRm9yVHlwZTsKICAgICBTdG9yZWRDcmVk
ZW50aWFscyBhbGxvd0NyZWRlbnRpYWxzID0gY29yc01vZGUgPT0gTWVkaWFQbGF5ZXJDbGllbnQ6
OlVzZUNyZWRlbnRpYWxzID8gQWxsb3dTdG9yZWRDcmVkZW50aWFscyA6IERvTm90QWxsb3dTdG9y
ZWRDcmVkZW50aWFsczsKLSAgICBSZXNvdXJjZUxvYWRlck9wdGlvbnMgb3B0aW9ucyhTZW5kQ2Fs
bGJhY2tzLCBEb05vdFNuaWZmQ29udGVudCwgYnVmZmVyaW5nUG9saWN5LCBhbGxvd0NyZWRlbnRp
YWxzLCBEb05vdEFza0NsaWVudEZvckNyb3NzT3JpZ2luQ3JlZGVudGlhbHMsIERvU2VjdXJpdHlD
aGVjaywgY29yc1BvbGljeSk7CisgICAgUmVzb3VyY2VMb2FkZXJPcHRpb25zIG9wdGlvbnMoU2Vu
ZENhbGxiYWNrcywgRG9Ob3RTbmlmZkNvbnRlbnQsIGJ1ZmZlcmluZ1BvbGljeSwgYWxsb3dDcmVk
ZW50aWFscywgRG9Ob3RBc2tDbGllbnRGb3JDcm9zc09yaWdpbkNyZWRlbnRpYWxzLCBEb1NlY3Vy
aXR5Q2hlY2ssIGNvcnNQb2xpY3ksIERvTm90SW5jbHVkZUNlcnRpZmljYXRlSW5mbyk7CiAKICAg
ICBDYWNoZWRSZXNvdXJjZVJlcXVlc3QgY2FjaGVSZXF1ZXN0KHJlcXVlc3QsIG9wdGlvbnMpOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cKaW5kZXggMTlkYzNjZi4uZGYyMTliNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1
IEBACisyMDE0LTA5LTEyICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNv
bT4KKworICAgICAgICBSRUdSRVNTSU9OKHIxNzM0MjMpOiBDZXJ0aWZpY2F0ZUluZm8gaXMgbmV2
ZXIgc2VudCB0byB0aGUgVUkgcHJvY2VzcyB3aGVuIHVzaW5nIHNoYXJlZCBzZWNvbmRhcnkgcHJv
Y2VzcyBtb2RlbAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTM2NjY5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkU2NoZWR1bGVyLmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6V2ViUmVzb3VyY2VMb2FkU2NoZWR1bGVyOjpzY2hlZHVsZUxvYWQpOiBV
c2UKKyAgICAgICAgUmVzb3VyY2VMb2FkZXI6OnNob3VsZEluY2x1ZGVDZXJ0aWZpY2F0ZUluZm8o
KSB0byBpbml0aWFsaXplCisgICAgICAgIG5lZWRzQ2VydGlmaWNhdGVJbmZvIHBhcmFtZXRlci4K
KwogMjAxNC0wOS0xMSAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+
CiAKICAgICAgICAgW0dUS10gTWVyZ2UgV2ViS2l0QXV0aGVudGljYXRpb25XaWRnZXQgaW50byBX
ZWJLaXRBdXRoZW50aWNhdGlvbkRpYWxvZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZFNjaGVkdWxlci5jcHAgYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkU2NoZWR1bGVyLmNwcAppbmRl
eCBjNTU4MDJmLi42ZjE3YzdkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkU2NoZWR1bGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkU2NoZWR1bGVyLmNwcApAQCAtMTcz
LDcgKzE3Myw3IEBAIHZvaWQgV2ViUmVzb3VyY2VMb2FkU2NoZWR1bGVyOjpzY2hlZHVsZUxvYWQo
UmVzb3VyY2VMb2FkZXIqIHJlc291cmNlTG9hZGVyLCBDYWNoCiAgICAgbG9hZFBhcmFtZXRlcnMu
c2hvdWxkQ2xlYXJSZWZlcnJlck9uSFRUUFNUb0hUVFBSZWRpcmVjdCA9IHNob3VsZENsZWFyUmVm
ZXJyZXJPbkhUVFBTVG9IVFRQUmVkaXJlY3Q7CiAgICAgbG9hZFBhcmFtZXRlcnMuaXNNYWluUmVz
b3VyY2UgPSByZXNvdXJjZSAmJiByZXNvdXJjZS0+dHlwZSgpID09IENhY2hlZFJlc291cmNlOjpN
YWluUmVzb3VyY2U7CiAgICAgbG9hZFBhcmFtZXRlcnMuZGVmZXJzTG9hZGluZyA9IHJlc291cmNl
TG9hZGVyLT5kZWZlcnNMb2FkaW5nKCk7Ci0gICAgbG9hZFBhcmFtZXRlcnMubmVlZHNDZXJ0aWZp
Y2F0ZUluZm8gPSBsb2FkUGFyYW1ldGVycy5pc01haW5SZXNvdXJjZTsKKyAgICBsb2FkUGFyYW1l
dGVycy5uZWVkc0NlcnRpZmljYXRlSW5mbyA9IHJlc291cmNlTG9hZGVyLT5zaG91bGRJbmNsdWRl
Q2VydGlmaWNhdGVJbmZvKCk7CiAgICAgbG9hZFBhcmFtZXRlcnMubWF4aW11bUJ1ZmZlcmluZ1Rp
bWUgPSBtYXhpbXVtQnVmZmVyaW5nVGltZShyZXNvdXJjZSk7CiAKICAgICBBU1NFUlQoKGxvYWRQ
YXJhbWV0ZXJzLndlYlBhZ2VJRCAmJiBsb2FkUGFyYW1ldGVycy53ZWJGcmFtZUlEKSB8fCBsb2Fk
UGFyYW1ldGVycy5jbGllbnRDcmVkZW50aWFsUG9saWN5ID09IERvTm90QXNrQ2xpZW50Rm9yQW55
Q3JlZGVudGlhbHMpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdl
TG9nCmluZGV4IDIzMjM0YWEuLjQyODJkZGUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZwor
KysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxNC0wOS0xMiAgQ2FybG9z
IEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CisKKyAgICAgICAgUkVHUkVTU0lP
TihyMTczNDIzKTogQ2VydGlmaWNhdGVJbmZvIGlzIG5ldmVyIHNlbnQgdG8gdGhlIFVJIHByb2Nl
c3Mgd2hlbiB1c2luZyBzaGFyZWQgc2Vjb25kYXJ5IHByb2Nlc3MgbW9kZWwKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzNjY2OQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogU2NyaXB0cy9ydW4tZ3RrLXRl
c3RzOgorICAgICAgICAoVGVzdFJ1bm5lcik6IFVuc2tpcCBTU0wgdGVzdC4KKwogMjAxNC0wOS0x
MSAgTMOhc3psw7MgTGFuZ8OzICA8bGxhbmdvLnUtc3plZ2VkQHBhcnRuZXIuc2Ftc3VuZy5jb20+
CiAKICAgICAgICAgW0phdmFTY3JpcHRDb3JlXSBGaXggRlRMIG9uIHBsYXRmb3JtIEVGTC4KZGlm
ZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvcnVuLWd0ay10ZXN0cyBiL1Rvb2xzL1NjcmlwdHMvcnVu
LWd0ay10ZXN0cwppbmRleCBjYjIzMzA2Li5kNTMwZjlkIDEwMDc1NQotLS0gYS9Ub29scy9TY3Jp
cHRzL3J1bi1ndGstdGVzdHMKKysrIGIvVG9vbHMvU2NyaXB0cy9ydW4tZ3RrLXRlc3RzCkBAIC02
Nyw3ICs2Nyw2IEBAIGNsYXNzIFRlc3RSdW5uZXI6CiAgICAgICAgIFNraXBwZWRUZXN0KCJXZWJL
aXQyR3RrL1Rlc3RXZWJLaXRXZWJWaWV3IiwgIi93ZWJraXQyL1dlYktpdFdlYlZpZXcvc25hcHNo
b3QiLCAiVGVzdCBmYWlscyIsIDEyMDQwNCksCiAgICAgICAgIFNraXBwZWRUZXN0KCJXZWJLaXQy
R3RrL1Rlc3RXZWJLaXRXZWJWaWV3IiwgIi93ZWJraXQyL1dlYktpdFdlYlZpZXcvcGFnZS12aXNp
YmlsaXR5IiwgIlRlc3QgZmFpbHMgb3IgdGltZXMgb3V0IiwgMTMxNzMxKSwKICAgICAgICAgU2tp
cHBlZFRlc3QoIldlYktpdDJHdGsvVGVzdENvb2tpZU1hbmFnZXIiLCAiL3dlYmtpdDIvV2ViS2l0
Q29va2llTWFuYWdlci9wZXJzaXN0ZW50LXN0b3JhZ2UiLCAiVGVzdCBpcyBmbGFreSIsIDEzNDU4
MCksCi0gICAgICAgIFNraXBwZWRUZXN0KCJXZWJLaXQyR3RrL1Rlc3RTU0wiLCAiL3dlYmtpdDIv
V2ViS2l0V2ViVmlldy9zc2wiLCAiQXNzZXJ0IGZhaWxzIGFmdGVyIHIxNzM0MjMiLCAxMzY2Njkp
LAogICAgICAgICBTa2lwcGVkVGVzdCgiV2ViS2l0Mi9UZXN0V2ViS2l0MiIsICJXZWJLaXQyLk1v
dXNlTW92ZUFmdGVyQ3Jhc2giLCAiVGVzdCBpcyBmbGFreSIsIDg1MDY2KSwKICAgICAgICAgU2tp
cHBlZFRlc3QoIldlYktpdDIvVGVzdFdlYktpdDIiLCAiV2ViS2l0Mi5OZXdGaXJzdFZpc3VhbGx5
Tm9uRW1wdHlMYXlvdXRGb3JJbWFnZXMiLCAiVGVzdCBpcyBmbGFreSIsIDg1MDY2KSwKICAgICAg
ICAgU2tpcHBlZFRlc3QoIldlYktpdDIvVGVzdFdlYktpdDIiLCAiV2ViS2l0Mi5OZXdGaXJzdFZp
c3VhbGx5Tm9uRW1wdHlMYXlvdXRGcmFtZXMiLCAiVGVzdCBmYWlscyIsIDg1MDM3KSwK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>238024</attachid>
            <date>2014-09-12 05:34:47 -0700</date>
            <delta_ts>2014-09-12 06:46:16 -0700</delta_ts>
            <desc>Rebased to apply on current git master</desc>
            <filename>wk2-certificate-info2.diff</filename>
            <type>text/plain</type>
            <size>18888</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBiZWRlZDM1Li5hZjk1N2E4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDQg
QEAKKzIwMTQtMDktMTIgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29t
PgorCisgICAgICAgIFJFR1JFU1NJT04ocjE3MzQyMyk6IENlcnRpZmljYXRlSW5mbyBpcyBuZXZl
ciBzZW50IHRvIHRoZSBVSSBwcm9jZXNzIHdoZW4gdXNpbmcgc2hhcmVkIHNlY29uZGFyeSBwcm9j
ZXNzIG1vZGVsCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xMzY2NjkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBBZGQgQ2VydGlmaWNhdGVJbmZvUG9saWN5IG9wdGlvbiB0byBSZXNvdXJjZUxvYWRlck9wdGlv
bnMuIEl0J3MKKyAgICAgICAgc2V0IHRvIERvTm90SW5jbHVkZUNlcnRpZmljYXRlSW5mbyBmb3Ig
YWxsIGxvYWRzIGV4Y2VwdCB0aGUgbWFpbgorICAgICAgICByZXNvdXJjZSBsb2FkLgorCisgICAg
ICAgICogbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3Vt
ZW50TG9hZGVyOjpzdGFydExvYWRpbmdNYWluUmVzb3VyY2UpOiBQYXNzCisgICAgICAgIEluY2x1
ZGVDZXJ0aWZpY2F0ZUluZm8gdG8gUmVzb3VyY2VMb2FkZXJPcHRpb25zLgorICAgICAgICAqIGxv
YWRlci9OZXRzY2FwZVBsdWdJblN0cmVhbUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpO
ZXRzY2FwZVBsdWdJblN0cmVhbUxvYWRlcjo6TmV0c2NhcGVQbHVnSW5TdHJlYW1Mb2FkZXIpOgor
ICAgICAgICBQYXNzIERvTm90SW5jbHVkZUNlcnRpZmljYXRlSW5mbyB0byBSZXNvdXJjZUxvYWRl
ck9wdGlvbnMoKS4KKyAgICAgICAgKiBsb2FkZXIvUmVzb3VyY2VMb2FkZXIuaDoKKyAgICAgICAg
KFdlYkNvcmU6OlJlc291cmNlTG9hZGVyOjpzaG91bGRJbmNsdWRlQ2VydGlmaWNhdGVJbmZvKTog
UmV0dXJuCisgICAgICAgIHRydWUgaWYgSW5jbHVkZUNlcnRpZmljYXRlSW5mbyBvcHRpb24gd2Fz
IGdpdmVuLgorICAgICAgICAqIGxvYWRlci9SZXNvdXJjZUxvYWRlck9wdGlvbnMuaDoKKyAgICAg
ICAgKFdlYkNvcmU6OlJlc291cmNlTG9hZGVyT3B0aW9uczo6UmVzb3VyY2VMb2FkZXJPcHRpb25z
KToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlTG9hZGVyT3B0aW9uczo6Y2VydGlmaWNhdGVJ
bmZvUG9saWN5KToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlTG9hZGVyT3B0aW9uczo6c2V0
Q2VydGlmaWNhdGVJbmZvUG9saWN5KToKKyAgICAgICAgKiBsb2FkZXIvU3VicmVzb3VyY2VMb2Fk
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3VicmVzb3VyY2VMb2FkZXI6OmRpZFJlY2VpdmVS
ZXNwb25zZSk6IElmCisgICAgICAgIEluY2x1ZGVDZXJ0aWZpY2F0ZUluZm8gb3B0aW9uIGlzIHBy
ZXNlbnQsIGNhbGwKKyAgICAgICAgaW5jbHVkZUNlcnRpZmljYXRlSW5mbygpIG9uIHRoZSByZXNw
b25zZS4KKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJlcXVlc3RVc2VyQ1NTU3R5
bGVTaGVldCk6IFBhc3MKKyAgICAgICAgRG9Ob3RJbmNsdWRlQ2VydGlmaWNhdGVJbmZvIHRvIFJl
c291cmNlTG9hZGVyT3B0aW9ucygpLgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VM
b2FkZXI6OmRlZmF1bHRDYWNoZWRSZXNvdXJjZU9wdGlvbnMpOiBEaXR0by4KKyAgICAgICAgKiBs
b2FkZXIvaWNvbi9JY29uTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okljb25Mb2FkZXI6
OnN0YXJ0TG9hZGluZyk6IERpdHRvLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91
bmRhdGlvbi9jZi9XZWJDb3JlQVZDRlJlc291cmNlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OldlYkNvcmVBVkNGUmVzb3VyY2VMb2FkZXI6OnN0YXJ0TG9hZGluZyk6IERpdHRvLgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL1dlYkNvcmVBVkZSZXNv
dXJjZUxvYWRlci5tbToKKyAgICAgICAgKFdlYkNvcmU6OldlYkNvcmVBVkZSZXNvdXJjZUxvYWRl
cjo6c3RhcnRMb2FkaW5nKTogRGl0dG8uCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0
cmVhbWVyL1dlYktpdFdlYlNvdXJjZUdTdHJlYW1lci5jcHA6CisgICAgICAgIChDYWNoZWRSZXNv
dXJjZVN0cmVhbWluZ0NsaWVudDo6Q2FjaGVkUmVzb3VyY2VTdHJlYW1pbmdDbGllbnQpOiBEaXR0
by4KKwogMjAxNC0wOS0xMSAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5j
b20+CiAKICAgICAgICAgUkVHUkVTU0lPTihyMTczNDQxKTogW0dUS10gQWxsIGJ1dHRvbnMgYXBw
ZWFyIGluc2Vuc2l0aXZlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1l
bnRMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcApp
bmRleCA5YzIzNjNlLi42YmUyNzUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
RG9jdW1lbnRMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExv
YWRlci5jcHAKQEAgLTE0MzIsNyArMTQzMiw3IEBAIHZvaWQgRG9jdW1lbnRMb2FkZXI6OnN0YXJ0
TG9hZGluZ01haW5SZXNvdXJjZSgpCiAjZW5kaWYKIAogICAgIFJlc291cmNlUmVxdWVzdCByZXF1
ZXN0KG1fcmVxdWVzdCk7Ci0gICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPFJlc291cmNlTG9hZGVy
T3B0aW9ucz4gbWFpblJlc291cmNlTG9hZE9wdGlvbnMoU2VuZENhbGxiYWNrcywgU25pZmZDb250
ZW50LCBCdWZmZXJEYXRhLCBBbGxvd1N0b3JlZENyZWRlbnRpYWxzLCBBc2tDbGllbnRGb3JBbGxD
cmVkZW50aWFscywgU2tpcFNlY3VyaXR5Q2hlY2ssIFVzZURlZmF1bHRPcmlnaW5SZXN0cmljdGlv
bnNGb3JUeXBlKTsKKyAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8UmVzb3VyY2VMb2FkZXJPcHRp
b25zPiBtYWluUmVzb3VyY2VMb2FkT3B0aW9ucyhTZW5kQ2FsbGJhY2tzLCBTbmlmZkNvbnRlbnQs
IEJ1ZmZlckRhdGEsIEFsbG93U3RvcmVkQ3JlZGVudGlhbHMsIEFza0NsaWVudEZvckFsbENyZWRl
bnRpYWxzLCBTa2lwU2VjdXJpdHlDaGVjaywgVXNlRGVmYXVsdE9yaWdpblJlc3RyaWN0aW9uc0Zv
clR5cGUsIEluY2x1ZGVDZXJ0aWZpY2F0ZUluZm8pOwogICAgIENhY2hlZFJlc291cmNlUmVxdWVz
dCBjYWNoZWRSZXNvdXJjZVJlcXVlc3QocmVxdWVzdCwgbWFpblJlc291cmNlTG9hZE9wdGlvbnMp
OwogICAgIG1fbWFpblJlc291cmNlID0gbV9jYWNoZWRSZXNvdXJjZUxvYWRlci0+cmVxdWVzdE1h
aW5SZXNvdXJjZShjYWNoZWRSZXNvdXJjZVJlcXVlc3QpOwogICAgIGlmICghbV9tYWluUmVzb3Vy
Y2UpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9OZXRzY2FwZVBsdWdJblN0
cmVhbUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTmV0c2NhcGVQbHVnSW5TdHJl
YW1Mb2FkZXIuY3BwCmluZGV4IDljNmU1MDUuLjQyYTMzOTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9OZXRzY2FwZVBsdWdJblN0cmVhbUxvYWRlci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL05ldHNjYXBlUGx1Z0luU3RyZWFtTG9hZGVyLmNwcApAQCAtMzcsNyAr
MzcsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBOZXRzY2FwZVBsdWdJblN0cmVhbUxvYWRl
cjo6TmV0c2NhcGVQbHVnSW5TdHJlYW1Mb2FkZXIoRnJhbWUqIGZyYW1lLCBOZXRzY2FwZVBsdWdJ
blN0cmVhbUxvYWRlckNsaWVudCogY2xpZW50KQotICAgIDogUmVzb3VyY2VMb2FkZXIoZnJhbWUs
IFJlc291cmNlTG9hZGVyT3B0aW9ucyhTZW5kQ2FsbGJhY2tzLCBTbmlmZkNvbnRlbnQsIERvTm90
QnVmZmVyRGF0YSwgQWxsb3dTdG9yZWRDcmVkZW50aWFscywgQXNrQ2xpZW50Rm9yQWxsQ3JlZGVu
dGlhbHMsIFNraXBTZWN1cml0eUNoZWNrLCBVc2VEZWZhdWx0T3JpZ2luUmVzdHJpY3Rpb25zRm9y
VHlwZSkpCisgICAgOiBSZXNvdXJjZUxvYWRlcihmcmFtZSwgUmVzb3VyY2VMb2FkZXJPcHRpb25z
KFNlbmRDYWxsYmFja3MsIFNuaWZmQ29udGVudCwgRG9Ob3RCdWZmZXJEYXRhLCBBbGxvd1N0b3Jl
ZENyZWRlbnRpYWxzLCBBc2tDbGllbnRGb3JBbGxDcmVkZW50aWFscywgU2tpcFNlY3VyaXR5Q2hl
Y2ssIFVzZURlZmF1bHRPcmlnaW5SZXN0cmljdGlvbnNGb3JUeXBlLCBEb05vdEluY2x1ZGVDZXJ0
aWZpY2F0ZUluZm8pKQogICAgICwgbV9jbGllbnQoY2xpZW50KQogewogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvUmVzb3VyY2VMb2FkZXIuaAppbmRleCBlMzdmMGMyLi44ZDA5NGM2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkZXIuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkZXIuaApAQCAtMTIzLDYgKzEyMyw3IEBAIHB1YmxpYzoK
ICAgICB2b2lkIHNldFNlbmRDYWxsYmFja1BvbGljeShTZW5kQ2FsbGJhY2tQb2xpY3kgc2VuZExv
YWRDYWxsYmFja3MpIHsgbV9vcHRpb25zLnNldFNlbmRMb2FkQ2FsbGJhY2tzKHNlbmRMb2FkQ2Fs
bGJhY2tzKTsgfQogICAgIGJvb2wgc2hvdWxkU25pZmZDb250ZW50KCkgY29uc3QgeyByZXR1cm4g
bV9vcHRpb25zLnNuaWZmQ29udGVudCgpID09IFNuaWZmQ29udGVudDsgfQogICAgIFdFQkNPUkVf
RVhQT1JUIGJvb2wgaXNBbGxvd2VkVG9Bc2tVc2VyRm9yQ3JlZGVudGlhbHMoKSBjb25zdDsKKyAg
ICBib29sIHNob3VsZEluY2x1ZGVDZXJ0aWZpY2F0ZUluZm8oKSBjb25zdCB7IHJldHVybiBtX29w
dGlvbnMuY2VydGlmaWNhdGVJbmZvUG9saWN5KCkgPT0gSW5jbHVkZUNlcnRpZmljYXRlSW5mbzsg
fQogCiAgICAgYm9vbCByZWFjaGVkVGVybWluYWxTdGF0ZSgpIGNvbnN0IHsgcmV0dXJuIG1fcmVh
Y2hlZFRlcm1pbmFsU3RhdGU7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVy
L1Jlc291cmNlTG9hZGVyT3B0aW9ucy5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNl
TG9hZGVyT3B0aW9ucy5oCmluZGV4IGVjNGI1NDguLjBjNDI1NmUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRlck9wdGlvbnMuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkZXJPcHRpb25zLmgKQEAgLTYxLDYgKzYxLDExIEBAIGVu
dW0gUmVxdWVzdE9yaWdpblBvbGljeSB7CiAgICAgUG90ZW50aWFsbHlDcm9zc09yaWdpbkVuYWJs
ZWQgLy8gSW5kaWNhdGVzICJwb3RlbnRpYWxseSBDT1JTLWVuYWJsZWQgZmV0Y2giIGluIEhUTUwg
c3RhbmRhcmQuCiB9OwogCitlbnVtIENlcnRpZmljYXRlSW5mb1BvbGljeSB7CisgICAgSW5jbHVk
ZUNlcnRpZmljYXRlSW5mbywKKyAgICBEb05vdEluY2x1ZGVDZXJ0aWZpY2F0ZUluZm8KK307CisK
IHN0cnVjdCBSZXNvdXJjZUxvYWRlck9wdGlvbnMgewogICAgIFJlc291cmNlTG9hZGVyT3B0aW9u
cygpCiAgICAgICAgIDogbV9zZW5kTG9hZENhbGxiYWNrcyhEb05vdFNlbmRDYWxsYmFja3MpCkBA
IC03MCwxMCArNzUsMTEgQEAgc3RydWN0IFJlc291cmNlTG9hZGVyT3B0aW9ucyB7CiAgICAgICAg
ICwgbV9jbGllbnRDcmVkZW50aWFsUG9saWN5KERvTm90QXNrQ2xpZW50Rm9yQW55Q3JlZGVudGlh
bHMpCiAgICAgICAgICwgbV9zZWN1cml0eUNoZWNrKERvU2VjdXJpdHlDaGVjaykKICAgICAgICAg
LCBtX3JlcXVlc3RPcmlnaW5Qb2xpY3koVXNlRGVmYXVsdE9yaWdpblJlc3RyaWN0aW9uc0ZvclR5
cGUpCisgICAgICAgICwgbV9jZXJ0aWZpY2F0ZUluZm9Qb2xpY3koRG9Ob3RJbmNsdWRlQ2VydGlm
aWNhdGVJbmZvKQogICAgIHsKICAgICB9CiAKLSAgICBSZXNvdXJjZUxvYWRlck9wdGlvbnMoU2Vu
ZENhbGxiYWNrUG9saWN5IHNlbmRMb2FkQ2FsbGJhY2tzLCBDb250ZW50U25pZmZpbmdQb2xpY3kg
c25pZmZDb250ZW50LCBEYXRhQnVmZmVyaW5nUG9saWN5IGRhdGFCdWZmZXJpbmdQb2xpY3ksIFN0
b3JlZENyZWRlbnRpYWxzIGFsbG93Q3JlZGVudGlhbHMsIENsaWVudENyZWRlbnRpYWxQb2xpY3kg
Y3JlZGVudGlhbFBvbGljeSwgU2VjdXJpdHlDaGVja1BvbGljeSBzZWN1cml0eUNoZWNrLCBSZXF1
ZXN0T3JpZ2luUG9saWN5IHJlcXVlc3RPcmlnaW5Qb2xpY3kpCisgICAgUmVzb3VyY2VMb2FkZXJP
cHRpb25zKFNlbmRDYWxsYmFja1BvbGljeSBzZW5kTG9hZENhbGxiYWNrcywgQ29udGVudFNuaWZm
aW5nUG9saWN5IHNuaWZmQ29udGVudCwgRGF0YUJ1ZmZlcmluZ1BvbGljeSBkYXRhQnVmZmVyaW5n
UG9saWN5LCBTdG9yZWRDcmVkZW50aWFscyBhbGxvd0NyZWRlbnRpYWxzLCBDbGllbnRDcmVkZW50
aWFsUG9saWN5IGNyZWRlbnRpYWxQb2xpY3ksIFNlY3VyaXR5Q2hlY2tQb2xpY3kgc2VjdXJpdHlD
aGVjaywgUmVxdWVzdE9yaWdpblBvbGljeSByZXF1ZXN0T3JpZ2luUG9saWN5LCBDZXJ0aWZpY2F0
ZUluZm9Qb2xpY3kgY2VydGlmaWNhdGVJbmZvUG9saWN5KQogICAgICAgICA6IG1fc2VuZExvYWRD
YWxsYmFja3Moc2VuZExvYWRDYWxsYmFja3MpCiAgICAgICAgICwgbV9zbmlmZkNvbnRlbnQoc25p
ZmZDb250ZW50KQogICAgICAgICAsIG1fZGF0YUJ1ZmZlcmluZ1BvbGljeShkYXRhQnVmZmVyaW5n
UG9saWN5KQpAQCAtODEsNiArODcsNyBAQCBzdHJ1Y3QgUmVzb3VyY2VMb2FkZXJPcHRpb25zIHsK
ICAgICAgICAgLCBtX2NsaWVudENyZWRlbnRpYWxQb2xpY3koY3JlZGVudGlhbFBvbGljeSkKICAg
ICAgICAgLCBtX3NlY3VyaXR5Q2hlY2soc2VjdXJpdHlDaGVjaykKICAgICAgICAgLCBtX3JlcXVl
c3RPcmlnaW5Qb2xpY3kocmVxdWVzdE9yaWdpblBvbGljeSkKKyAgICAgICAgLCBtX2NlcnRpZmlj
YXRlSW5mb1BvbGljeShjZXJ0aWZpY2F0ZUluZm9Qb2xpY3kpCiAgICAgewogICAgIH0KIApAQCAt
OTgsNiArMTA1LDggQEAgc3RydWN0IFJlc291cmNlTG9hZGVyT3B0aW9ucyB7CiAgICAgdm9pZCBz
ZXRTZWN1cml0eUNoZWNrKFNlY3VyaXR5Q2hlY2tQb2xpY3kgY2hlY2spIHsgbV9zZWN1cml0eUNo
ZWNrID0gY2hlY2s7IH0KICAgICBSZXF1ZXN0T3JpZ2luUG9saWN5IHJlcXVlc3RPcmlnaW5Qb2xp
Y3koKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxSZXF1ZXN0T3JpZ2luUG9saWN5PihtX3Jl
cXVlc3RPcmlnaW5Qb2xpY3kpOyB9CiAgICAgdm9pZCBzZXRSZXF1ZXN0T3JpZ2luUG9saWN5KFJl
cXVlc3RPcmlnaW5Qb2xpY3kgcG9saWN5KSB7IG1fcmVxdWVzdE9yaWdpblBvbGljeSA9IHBvbGlj
eTsgfQorICAgIENlcnRpZmljYXRlSW5mb1BvbGljeSBjZXJ0aWZpY2F0ZUluZm9Qb2xpY3koKSBj
b25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxDZXJ0aWZpY2F0ZUluZm9Qb2xpY3k+KG1fY2VydGlm
aWNhdGVJbmZvUG9saWN5KTsgfQorICAgIHZvaWQgc2V0Q2VydGlmaWNhdGVJbmZvUG9saWN5KENl
cnRpZmljYXRlSW5mb1BvbGljeSBwb2xpY3kpIHsgbV9jZXJ0aWZpY2F0ZUluZm9Qb2xpY3kgPSBw
b2xpY3k7IH0KIAogICAgIHVuc2lnbmVkIG1fc2VuZExvYWRDYWxsYmFja3MgOiAxOwogICAgIHVu
c2lnbmVkIG1fc25pZmZDb250ZW50IDogMTsKQEAgLTEwNiw2ICsxMTUsNyBAQCBzdHJ1Y3QgUmVz
b3VyY2VMb2FkZXJPcHRpb25zIHsKICAgICB1bnNpZ25lZCBtX2NsaWVudENyZWRlbnRpYWxQb2xp
Y3kgOiAyOyAvLyBXaGVuIHdlIHNob3VsZCBhc2sgdGhlIGNsaWVudCBmb3IgY3JlZGVudGlhbHMg
KGlmIHdlIGFsbG93IGNyZWRlbnRpYWxzIGF0IGFsbCkuCiAgICAgdW5zaWduZWQgbV9zZWN1cml0
eUNoZWNrIDogMTsKICAgICB1bnNpZ25lZCBtX3JlcXVlc3RPcmlnaW5Qb2xpY3kgOiAyOworICAg
IHVuc2lnbmVkIG1fY2VydGlmaWNhdGVJbmZvUG9saWN5IDogMTsgLy8gV2hldGhlciB0aGUgcmVz
cG9uc2Ugc2hvdWxkIGluY2x1ZGUgY2VydGlmaWNhdGUgaW5mby4KIH07CiAKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvU3VicmVz
b3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1N1YnJlc291cmNlTG9hZGVy
LmNwcAppbmRleCBjYmIwNTYxLi43ZDQwZTYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvU3VicmVzb3VyY2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9T
dWJyZXNvdXJjZUxvYWRlci5jcHAKQEAgLTE5NSw2ICsxOTUsOSBAQCB2b2lkIFN1YnJlc291cmNl
TG9hZGVyOjpkaWRSZWNlaXZlUmVzcG9uc2UoY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9u
c2UpCiAgICAgLy8gYW55dGhpbmcgaW5jbHVkaW5nIHJlbW92aW5nIHRoZSBsYXN0IHJlZmVyZW5j
ZSB0byB0aGlzIG9iamVjdDsgb25lIGV4YW1wbGUgb2YgdGhpcyBpcyAzMjY2MjE2LgogICAgIFJl
ZjxTdWJyZXNvdXJjZUxvYWRlcj4gcHJvdGVjdCgqdGhpcyk7CiAKKyAgICBpZiAoc2hvdWxkSW5j
bHVkZUNlcnRpZmljYXRlSW5mbygpKQorICAgICAgICByZXNwb25zZS5pbmNsdWRlQ2VydGlmaWNh
dGVJbmZvKCk7CisKICAgICBpZiAobV9yZXNvdXJjZS0+cmVzb3VyY2VUb1JldmFsaWRhdGUoKSkg
ewogICAgICAgICBpZiAocmVzcG9uc2UuaHR0cFN0YXR1c0NvZGUoKSA9PSAzMDQpIHsKICAgICAg
ICAgICAgIC8vIDMwNCBOb3QgbW9kaWZpZWQgLyBVc2UgbG9jYWwgY29weQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAKaW5kZXgg
ZjkzYjBkMy4uNTc1NzNlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hl
L0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2Fj
aGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwCkBAIC0yMTEsNyArMjExLDcgQEAgQ2FjaGVkUmVz
b3VyY2VIYW5kbGU8Q2FjaGVkQ1NTU3R5bGVTaGVldD4gQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJl
cXVlc3RVc2VyQ1NTU3QKICAgICBtZW1vcnlDYWNoZSgpLT5hZGQodXNlclNoZWV0LmdldCgpKTsK
ICAgICAvLyBGSVhNRTogbG9hZFJlc291cmNlIGNhbGxzIHNldE93bmluZ0NhY2hlZFJlc291cmNl
TG9hZGVyKCkgaWYgdGhlIHJlc291cmNlIGNvdWxkbid0IGJlIGFkZGVkIHRvIGNhY2hlLiBEb2Vz
IHRoaXMgZnVuY3Rpb24gbmVlZCB0byBjYWxsIGl0LCB0b28/CiAKLSAgICB1c2VyU2hlZXQtPmxv
YWQodGhpcywgUmVzb3VyY2VMb2FkZXJPcHRpb25zKERvTm90U2VuZENhbGxiYWNrcywgU25pZmZD
b250ZW50LCBCdWZmZXJEYXRhLCBBbGxvd1N0b3JlZENyZWRlbnRpYWxzLCBBc2tDbGllbnRGb3JB
bGxDcmVkZW50aWFscywgU2tpcFNlY3VyaXR5Q2hlY2ssIFVzZURlZmF1bHRPcmlnaW5SZXN0cmlj
dGlvbnNGb3JUeXBlKSk7CisgICAgdXNlclNoZWV0LT5sb2FkKHRoaXMsIFJlc291cmNlTG9hZGVy
T3B0aW9ucyhEb05vdFNlbmRDYWxsYmFja3MsIFNuaWZmQ29udGVudCwgQnVmZmVyRGF0YSwgQWxs
b3dTdG9yZWRDcmVkZW50aWFscywgQXNrQ2xpZW50Rm9yQWxsQ3JlZGVudGlhbHMsIFNraXBTZWN1
cml0eUNoZWNrLCBVc2VEZWZhdWx0T3JpZ2luUmVzdHJpY3Rpb25zRm9yVHlwZSwgRG9Ob3RJbmNs
dWRlQ2VydGlmaWNhdGVJbmZvKSk7CiAgICAgCiAgICAgcmV0dXJuIHVzZXJTaGVldDsKIH0KQEAg
LTk3NCw3ICs5NzQsNyBAQCB2b2lkIENhY2hlZFJlc291cmNlTG9hZGVyOjpwcmludFByZWxvYWRT
dGF0cygpCiAKIGNvbnN0IFJlc291cmNlTG9hZGVyT3B0aW9ucyYgQ2FjaGVkUmVzb3VyY2VMb2Fk
ZXI6OmRlZmF1bHRDYWNoZWRSZXNvdXJjZU9wdGlvbnMoKQogewotICAgIHN0YXRpYyBSZXNvdXJj
ZUxvYWRlck9wdGlvbnMgb3B0aW9ucyhTZW5kQ2FsbGJhY2tzLCBTbmlmZkNvbnRlbnQsIEJ1ZmZl
ckRhdGEsIEFsbG93U3RvcmVkQ3JlZGVudGlhbHMsIEFza0NsaWVudEZvckFsbENyZWRlbnRpYWxz
LCBEb1NlY3VyaXR5Q2hlY2ssIFVzZURlZmF1bHRPcmlnaW5SZXN0cmljdGlvbnNGb3JUeXBlKTsK
KyAgICBzdGF0aWMgUmVzb3VyY2VMb2FkZXJPcHRpb25zIG9wdGlvbnMoU2VuZENhbGxiYWNrcywg
U25pZmZDb250ZW50LCBCdWZmZXJEYXRhLCBBbGxvd1N0b3JlZENyZWRlbnRpYWxzLCBBc2tDbGll
bnRGb3JBbGxDcmVkZW50aWFscywgRG9TZWN1cml0eUNoZWNrLCBVc2VEZWZhdWx0T3JpZ2luUmVz
dHJpY3Rpb25zRm9yVHlwZSwgRG9Ob3RJbmNsdWRlQ2VydGlmaWNhdGVJbmZvKTsKICAgICByZXR1
cm4gb3B0aW9uczsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2ljb24v
SWNvbkxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uTG9hZGVyLmNw
cAppbmRleCAwYmM1NTgzLi41NDAyZWIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvaWNvbi9JY29uTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvaWNvbi9J
Y29uTG9hZGVyLmNwcApAQCAtNTksNyArNTksNyBAQCB2b2lkIEljb25Mb2FkZXI6OnN0YXJ0TG9h
ZGluZygpCiAgICAgaWYgKG1fcmVzb3VyY2UgfHwgIW1fZnJhbWUuZG9jdW1lbnQoKSkKICAgICAg
ICAgcmV0dXJuOwogCi0gICAgQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0IHJlcXVlc3QoUmVzb3VyY2VS
ZXF1ZXN0KG1fZnJhbWUubG9hZGVyKCkuaWNvbigpLnVybCgpKSwgUmVzb3VyY2VMb2FkZXJPcHRp
b25zKFNlbmRDYWxsYmFja3MsIFNuaWZmQ29udGVudCwgQnVmZmVyRGF0YSwgRG9Ob3RBbGxvd1N0
b3JlZENyZWRlbnRpYWxzLCBEb05vdEFza0NsaWVudEZvckFueUNyZWRlbnRpYWxzLCBEb1NlY3Vy
aXR5Q2hlY2ssIFVzZURlZmF1bHRPcmlnaW5SZXN0cmljdGlvbnNGb3JUeXBlKSk7CisgICAgQ2Fj
aGVkUmVzb3VyY2VSZXF1ZXN0IHJlcXVlc3QoUmVzb3VyY2VSZXF1ZXN0KG1fZnJhbWUubG9hZGVy
KCkuaWNvbigpLnVybCgpKSwgUmVzb3VyY2VMb2FkZXJPcHRpb25zKFNlbmRDYWxsYmFja3MsIFNu
aWZmQ29udGVudCwgQnVmZmVyRGF0YSwgRG9Ob3RBbGxvd1N0b3JlZENyZWRlbnRpYWxzLCBEb05v
dEFza0NsaWVudEZvckFueUNyZWRlbnRpYWxzLCBEb1NlY3VyaXR5Q2hlY2ssIFVzZURlZmF1bHRP
cmlnaW5SZXN0cmljdGlvbnNGb3JUeXBlLCBEb05vdEluY2x1ZGVDZXJ0aWZpY2F0ZUluZm8pKTsK
IAogICAgIHJlcXVlc3QubXV0YWJsZVJlc291cmNlUmVxdWVzdCgpLnNldFByaW9yaXR5KFJlc291
cmNlTG9hZFByaW9yaXR5TG93KTsKICAgICByZXF1ZXN0LnNldEluaXRpYXRvcihjYWNoZWRSZXNv
dXJjZVJlcXVlc3RJbml0aWF0b3JzKCkuaWNvbik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vY2YvV2ViQ29yZUFWQ0ZSZXNvdXJjZUxv
YWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24v
Y2YvV2ViQ29yZUFWQ0ZSZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggODRlYTNlOS4uYzUzMjBiZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9u
L2NmL1dlYkNvcmVBVkNGUmVzb3VyY2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9jZi9XZWJDb3JlQVZDRlJlc291cmNlTG9hZGVy
LmNwcApAQCAtNzIsNyArNzIsNyBAQCB2b2lkIFdlYkNvcmVBVkNGUmVzb3VyY2VMb2FkZXI6OnN0
YXJ0TG9hZGluZygpCiAgICAgUmV0YWluUHRyPENGVVJMUmVxdWVzdFJlZj4gdXJsUmVxdWVzdCA9
IEFWQ0ZBc3NldFJlc291cmNlTG9hZGluZ1JlcXVlc3RHZXRVUkxSZXF1ZXN0KG1fYXZSZXF1ZXN0
LmdldCgpKTsKICAgICBVUkwgcmVxdWVzdFVSTCA9IENGVVJMUmVxdWVzdEdldFVSTCh1cmxSZXF1
ZXN0LmdldCgpKTsKIAotICAgIENhY2hlZFJlc291cmNlUmVxdWVzdCByZXF1ZXN0KFJlc291cmNl
UmVxdWVzdChyZXF1ZXN0VVJMKSwgUmVzb3VyY2VMb2FkZXJPcHRpb25zKFNlbmRDYWxsYmFja3Ms
IERvTm90U25pZmZDb250ZW50LCBCdWZmZXJEYXRhLCBEb05vdEFsbG93U3RvcmVkQ3JlZGVudGlh
bHMsIERvTm90QXNrQ2xpZW50Rm9yQ3Jvc3NPcmlnaW5DcmVkZW50aWFscywgRG9TZWN1cml0eUNo
ZWNrLCBVc2VEZWZhdWx0T3JpZ2luUmVzdHJpY3Rpb25zRm9yVHlwZSkpOworICAgIENhY2hlZFJl
c291cmNlUmVxdWVzdCByZXF1ZXN0KFJlc291cmNlUmVxdWVzdChyZXF1ZXN0VVJMKSwgUmVzb3Vy
Y2VMb2FkZXJPcHRpb25zKFNlbmRDYWxsYmFja3MsIERvTm90U25pZmZDb250ZW50LCBCdWZmZXJE
YXRhLCBEb05vdEFsbG93U3RvcmVkQ3JlZGVudGlhbHMsIERvTm90QXNrQ2xpZW50Rm9yQ3Jvc3NP
cmlnaW5DcmVkZW50aWFscywgRG9TZWN1cml0eUNoZWNrLCBVc2VEZWZhdWx0T3JpZ2luUmVzdHJp
Y3Rpb25zRm9yVHlwZSwgRG9Ob3RJbmNsdWRlQ2VydGlmaWNhdGVJbmZvKSk7CiAKICAgICByZXF1
ZXN0Lm11dGFibGVSZXNvdXJjZVJlcXVlc3QoKS5zZXRQcmlvcml0eShSZXNvdXJjZUxvYWRQcmlv
cml0eUxvdyk7CiAgICAgQ2FjaGVkUmVzb3VyY2VMb2FkZXIqIGxvYWRlciA9IG1fcGFyZW50LT5w
bGF5ZXIoKS0+Y2FjaGVkUmVzb3VyY2VMb2FkZXIoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL1dlYkNvcmVBVkZSZXNvdXJj
ZUxvYWRlci5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlv
bi9vYmpjL1dlYkNvcmVBVkZSZXNvdXJjZUxvYWRlci5tbQppbmRleCA3ODMwODdlLi5mMjBlNmEw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRp
b24vb2JqYy9XZWJDb3JlQVZGUmVzb3VyY2VMb2FkZXIubW0KKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvV2ViQ29yZUFWRlJlc291cmNlTG9h
ZGVyLm1tCkBAIC02OCw3ICs2OCw3IEBAIHZvaWQgV2ViQ29yZUFWRlJlc291cmNlTG9hZGVyOjpz
dGFydExvYWRpbmcoKQogCiAgICAgVVJMIHJlcXVlc3RVUkwgPSBbW21fYXZSZXF1ZXN0LmdldCgp
IHJlcXVlc3RdIFVSTF07CiAKLSAgICBDYWNoZWRSZXNvdXJjZVJlcXVlc3QgcmVxdWVzdChSZXNv
dXJjZVJlcXVlc3QocmVxdWVzdFVSTCksIFJlc291cmNlTG9hZGVyT3B0aW9ucyhTZW5kQ2FsbGJh
Y2tzLCBEb05vdFNuaWZmQ29udGVudCwgQnVmZmVyRGF0YSwgRG9Ob3RBbGxvd1N0b3JlZENyZWRl
bnRpYWxzLCBEb05vdEFza0NsaWVudEZvckNyb3NzT3JpZ2luQ3JlZGVudGlhbHMsIERvU2VjdXJp
dHlDaGVjaywgVXNlRGVmYXVsdE9yaWdpblJlc3RyaWN0aW9uc0ZvclR5cGUpKTsKKyAgICBDYWNo
ZWRSZXNvdXJjZVJlcXVlc3QgcmVxdWVzdChSZXNvdXJjZVJlcXVlc3QocmVxdWVzdFVSTCksIFJl
c291cmNlTG9hZGVyT3B0aW9ucyhTZW5kQ2FsbGJhY2tzLCBEb05vdFNuaWZmQ29udGVudCwgQnVm
ZmVyRGF0YSwgRG9Ob3RBbGxvd1N0b3JlZENyZWRlbnRpYWxzLCBEb05vdEFza0NsaWVudEZvckNy
b3NzT3JpZ2luQ3JlZGVudGlhbHMsIERvU2VjdXJpdHlDaGVjaywgVXNlRGVmYXVsdE9yaWdpblJl
c3RyaWN0aW9uc0ZvclR5cGUsIERvTm90SW5jbHVkZUNlcnRpZmljYXRlSW5mbykpOwogCiAgICAg
cmVxdWVzdC5tdXRhYmxlUmVzb3VyY2VSZXF1ZXN0KCkuc2V0UHJpb3JpdHkoUmVzb3VyY2VMb2Fk
UHJpb3JpdHlMb3cpOwogICAgIENhY2hlZFJlc291cmNlTG9hZGVyKiBsb2FkZXIgPSBtX3BhcmVu
dC0+cGxheWVyKCktPmNhY2hlZFJlc291cmNlTG9hZGVyKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvV2ViS2l0V2ViU291cmNlR1N0cmVh
bWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9XZWJL
aXRXZWJTb3VyY2VHU3RyZWFtZXIuY3BwCmluZGV4IDg3Y2IyMDMuLmM3MzEwMTcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9XZWJLaXRXZWJT
b3VyY2VHU3RyZWFtZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2dzdHJlYW1lci9XZWJLaXRXZWJTb3VyY2VHU3RyZWFtZXIuY3BwCkBAIC0xMDAwLDcgKzEwMDAs
NyBAQCBDYWNoZWRSZXNvdXJjZVN0cmVhbWluZ0NsaWVudDo6Q2FjaGVkUmVzb3VyY2VTdHJlYW1p
bmdDbGllbnQoV2ViS2l0V2ViU3JjKiBzcmMsCiAgICAgRGF0YUJ1ZmZlcmluZ1BvbGljeSBidWZm
ZXJpbmdQb2xpY3kgPSByZXF1ZXN0LnVybCgpLnByb3RvY29sSXMoImJsb2IiKSA/IEJ1ZmZlckRh
dGEgOiBEb05vdEJ1ZmZlckRhdGE7CiAgICAgUmVxdWVzdE9yaWdpblBvbGljeSBjb3JzUG9saWN5
ID0gY29yc01vZGUgIT0gTWVkaWFQbGF5ZXJDbGllbnQ6OlVuc3BlY2lmaWVkID8gUG90ZW50aWFs
bHlDcm9zc09yaWdpbkVuYWJsZWQgOiBVc2VEZWZhdWx0T3JpZ2luUmVzdHJpY3Rpb25zRm9yVHlw
ZTsKICAgICBTdG9yZWRDcmVkZW50aWFscyBhbGxvd0NyZWRlbnRpYWxzID0gY29yc01vZGUgPT0g
TWVkaWFQbGF5ZXJDbGllbnQ6OlVzZUNyZWRlbnRpYWxzID8gQWxsb3dTdG9yZWRDcmVkZW50aWFs
cyA6IERvTm90QWxsb3dTdG9yZWRDcmVkZW50aWFsczsKLSAgICBSZXNvdXJjZUxvYWRlck9wdGlv
bnMgb3B0aW9ucyhTZW5kQ2FsbGJhY2tzLCBEb05vdFNuaWZmQ29udGVudCwgYnVmZmVyaW5nUG9s
aWN5LCBhbGxvd0NyZWRlbnRpYWxzLCBEb05vdEFza0NsaWVudEZvckNyb3NzT3JpZ2luQ3JlZGVu
dGlhbHMsIERvU2VjdXJpdHlDaGVjaywgY29yc1BvbGljeSk7CisgICAgUmVzb3VyY2VMb2FkZXJP
cHRpb25zIG9wdGlvbnMoU2VuZENhbGxiYWNrcywgRG9Ob3RTbmlmZkNvbnRlbnQsIGJ1ZmZlcmlu
Z1BvbGljeSwgYWxsb3dDcmVkZW50aWFscywgRG9Ob3RBc2tDbGllbnRGb3JDcm9zc09yaWdpbkNy
ZWRlbnRpYWxzLCBEb1NlY3VyaXR5Q2hlY2ssIGNvcnNQb2xpY3ksIERvTm90SW5jbHVkZUNlcnRp
ZmljYXRlSW5mbyk7CiAKICAgICBDYWNoZWRSZXNvdXJjZVJlcXVlc3QgY2FjaGVSZXF1ZXN0KHJl
cXVlc3QsIG9wdGlvbnMpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYzNjMWEwMy4uZjM0M2U2YSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE0LTA5LTEyICBDYXJsb3MgR2FyY2lhIENhbXBvcyAg
PGNnYXJjaWFAaWdhbGlhLmNvbT4KKworICAgICAgICBSRUdSRVNTSU9OKHIxNzM0MjMpOiBDZXJ0
aWZpY2F0ZUluZm8gaXMgbmV2ZXIgc2VudCB0byB0aGUgVUkgcHJvY2VzcyB3aGVuIHVzaW5nIHNo
YXJlZCBzZWNvbmRhcnkgcHJvY2VzcyBtb2RlbAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM2NjY5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2Fk
U2NoZWR1bGVyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUmVzb3VyY2VMb2FkU2NoZWR1bGVy
OjpzY2hlZHVsZUxvYWQpOiBVc2UKKyAgICAgICAgUmVzb3VyY2VMb2FkZXI6OnNob3VsZEluY2x1
ZGVDZXJ0aWZpY2F0ZUluZm8oKSB0byBpbml0aWFsaXplCisgICAgICAgIG5lZWRzQ2VydGlmaWNh
dGVJbmZvIHBhcmFtZXRlci4KKwogMjAxNC0wOS0xMSAgUnl1YW4gQ2hvaSAgPHJ5dWFuLmNob2lA
Z21haWwuY29tPgogCiAgICAgICAgIFtFRkxdW0Nvb3JkaW5hdGVkR3JhcGhpY3NdIE1vdmUgQ29v
cmRpbmF0ZWRHcmFwaGljc1NjZW5lIGFuZCBDb29yZGluYXRlZEJhY2tpbmdTdG9yZSB0byBXZWJL
aXQyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVz
b3VyY2VMb2FkU2NoZWR1bGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29y
ay9XZWJSZXNvdXJjZUxvYWRTY2hlZHVsZXIuY3BwCmluZGV4IDcxYzg4ODkuLjFhN2Y5YzEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxv
YWRTY2hlZHVsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9X
ZWJSZXNvdXJjZUxvYWRTY2hlZHVsZXIuY3BwCkBAIC0xNzMsNyArMTczLDcgQEAgdm9pZCBXZWJS
ZXNvdXJjZUxvYWRTY2hlZHVsZXI6OnNjaGVkdWxlTG9hZChSZXNvdXJjZUxvYWRlciogcmVzb3Vy
Y2VMb2FkZXIsIENhY2gKICAgICBsb2FkUGFyYW1ldGVycy5zaG91bGRDbGVhclJlZmVycmVyT25I
VFRQU1RvSFRUUFJlZGlyZWN0ID0gc2hvdWxkQ2xlYXJSZWZlcnJlck9uSFRUUFNUb0hUVFBSZWRp
cmVjdDsKICAgICBsb2FkUGFyYW1ldGVycy5pc01haW5SZXNvdXJjZSA9IHJlc291cmNlICYmIHJl
c291cmNlLT50eXBlKCkgPT0gQ2FjaGVkUmVzb3VyY2U6Ok1haW5SZXNvdXJjZTsKICAgICBsb2Fk
UGFyYW1ldGVycy5kZWZlcnNMb2FkaW5nID0gcmVzb3VyY2VMb2FkZXItPmRlZmVyc0xvYWRpbmco
KTsKLSAgICBsb2FkUGFyYW1ldGVycy5uZWVkc0NlcnRpZmljYXRlSW5mbyA9IGxvYWRQYXJhbWV0
ZXJzLmlzTWFpblJlc291cmNlOworICAgIGxvYWRQYXJhbWV0ZXJzLm5lZWRzQ2VydGlmaWNhdGVJ
bmZvID0gcmVzb3VyY2VMb2FkZXItPnNob3VsZEluY2x1ZGVDZXJ0aWZpY2F0ZUluZm8oKTsKICAg
ICBsb2FkUGFyYW1ldGVycy5tYXhpbXVtQnVmZmVyaW5nVGltZSA9IG1heGltdW1CdWZmZXJpbmdU
aW1lKHJlc291cmNlKTsKIAogICAgIEFTU0VSVCgobG9hZFBhcmFtZXRlcnMud2ViUGFnZUlEICYm
IGxvYWRQYXJhbWV0ZXJzLndlYkZyYW1lSUQpIHx8IGxvYWRQYXJhbWV0ZXJzLmNsaWVudENyZWRl
bnRpYWxQb2xpY3kgPT0gRG9Ob3RBc2tDbGllbnRGb3JBbnlDcmVkZW50aWFscyk7CmRpZmYgLS1n
aXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggOWY5MTIwNy4uNDk2
NmVlOCAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDEzIEBACisyMDE0LTA5LTEyICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJj
aWFAaWdhbGlhLmNvbT4KKworICAgICAgICBSRUdSRVNTSU9OKHIxNzM0MjMpOiBDZXJ0aWZpY2F0
ZUluZm8gaXMgbmV2ZXIgc2VudCB0byB0aGUgVUkgcHJvY2VzcyB3aGVuIHVzaW5nIHNoYXJlZCBz
ZWNvbmRhcnkgcHJvY2VzcyBtb2RlbAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTM2NjY5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBTY3JpcHRzL3J1bi1ndGstdGVzdHM6CisgICAgICAgIChUZXN0UnVu
bmVyKTogVW5za2lwIFNTTCB0ZXN0LgorCiAyMDE0LTA5LTExICBNaWNoYWVsIFNhYm9mZiAgPG1z
YWJvZmZAYXBwbGUuY29tPgogCiAgICAgICAgIGxsZGJfd2Via2l0LnB5OmJ0anMgZG9lc24ndCB3
b3JrIHdpdGggcmVsZWFzZSBidWlsZHMKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvcnVuLWd0
ay10ZXN0cyBiL1Rvb2xzL1NjcmlwdHMvcnVuLWd0ay10ZXN0cwppbmRleCBjYjIzMzA2Li5kNTMw
ZjlkIDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL3J1bi1ndGstdGVzdHMKKysrIGIvVG9vbHMv
U2NyaXB0cy9ydW4tZ3RrLXRlc3RzCkBAIC02Nyw3ICs2Nyw2IEBAIGNsYXNzIFRlc3RSdW5uZXI6
CiAgICAgICAgIFNraXBwZWRUZXN0KCJXZWJLaXQyR3RrL1Rlc3RXZWJLaXRXZWJWaWV3IiwgIi93
ZWJraXQyL1dlYktpdFdlYlZpZXcvc25hcHNob3QiLCAiVGVzdCBmYWlscyIsIDEyMDQwNCksCiAg
ICAgICAgIFNraXBwZWRUZXN0KCJXZWJLaXQyR3RrL1Rlc3RXZWJLaXRXZWJWaWV3IiwgIi93ZWJr
aXQyL1dlYktpdFdlYlZpZXcvcGFnZS12aXNpYmlsaXR5IiwgIlRlc3QgZmFpbHMgb3IgdGltZXMg
b3V0IiwgMTMxNzMxKSwKICAgICAgICAgU2tpcHBlZFRlc3QoIldlYktpdDJHdGsvVGVzdENvb2tp
ZU1hbmFnZXIiLCAiL3dlYmtpdDIvV2ViS2l0Q29va2llTWFuYWdlci9wZXJzaXN0ZW50LXN0b3Jh
Z2UiLCAiVGVzdCBpcyBmbGFreSIsIDEzNDU4MCksCi0gICAgICAgIFNraXBwZWRUZXN0KCJXZWJL
aXQyR3RrL1Rlc3RTU0wiLCAiL3dlYmtpdDIvV2ViS2l0V2ViVmlldy9zc2wiLCAiQXNzZXJ0IGZh
aWxzIGFmdGVyIHIxNzM0MjMiLCAxMzY2NjkpLAogICAgICAgICBTa2lwcGVkVGVzdCgiV2ViS2l0
Mi9UZXN0V2ViS2l0MiIsICJXZWJLaXQyLk1vdXNlTW92ZUFmdGVyQ3Jhc2giLCAiVGVzdCBpcyBm
bGFreSIsIDg1MDY2KSwKICAgICAgICAgU2tpcHBlZFRlc3QoIldlYktpdDIvVGVzdFdlYktpdDIi
LCAiV2ViS2l0Mi5OZXdGaXJzdFZpc3VhbGx5Tm9uRW1wdHlMYXlvdXRGb3JJbWFnZXMiLCAiVGVz
dCBpcyBmbGFreSIsIDg1MDY2KSwKICAgICAgICAgU2tpcHBlZFRlc3QoIldlYktpdDIvVGVzdFdl
YktpdDIiLCAiV2ViS2l0Mi5OZXdGaXJzdFZpc3VhbGx5Tm9uRW1wdHlMYXlvdXRGcmFtZXMiLCAi
VGVzdCBmYWlscyIsIDg1MDM3KSwK
</data>
<flag name="review"
          id="262788"
          type_id="1"
          status="+"
          setter="koivisto"
    />
          </attachment>
      

    </bug>

</bugzilla>