<?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>133324</bug_id>
          
          <creation_ts>2014-05-27 14:16:46 -0700</creation_ts>
          <short_desc>Need an API test for bug #133193 (r169315)</short_desc>
          <delta_ts>2014-05-28 12:21:51 -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>Tools / Tests</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="Jon Honeycutt">jhoneycutt</reporter>
          <assigned_to name="Jon Honeycutt">jhoneycutt</assigned_to>
          <cc>aestes</cc>
    
    <cc>ap</cc>
    
    <cc>beidson</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1012063</commentid>
    <comment_count>0</comment_count>
    <who name="Jon Honeycutt">jhoneycutt</who>
    <bug_when>2014-05-27 14:16:46 -0700</bug_when>
    <thetext>Need an API test for bug #133193 (r169315).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1012070</commentid>
    <comment_count>1</comment_count>
      <attachid>232151</attachid>
    <who name="Jon Honeycutt">jhoneycutt</who>
    <bug_when>2014-05-27 15:17:23 -0700</bug_when>
    <thetext>Created attachment 232151
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1012207</commentid>
    <comment_count>2</comment_count>
      <attachid>232151</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2014-05-28 08:04:33 -0700</bug_when>
    <thetext>Comment on attachment 232151
Patch

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

r=me, but the StopLoadingDuringDidFailProvisionalLoadTestDone message seems superfluous.

&gt; Tools/TestWebKitAPI/Tests/WebKit2/StopLoadingDuringDidFailProvisionalLoad.cpp:41
&gt; +static void didReceiveMessageFromInjectedBundle(WKContextRef context, WKStringRef messageName, WKTypeRef messageBody, const void* clientInfo)
&gt; +{
&gt; +    if (WKStringIsEqualToUTF8CString(messageName, &quot;StopLoadingDuringDidFailProvisionalLoadTestDone&quot;))
&gt; +        receivedMessageFromBundle = true;
&gt; +}

I&apos;m not sure I understand the purpose of the StopLoadingDuringDidFailProvisionalLoadTestDone message.

&gt; Tools/TestWebKitAPI/Tests/WebKit2/StopLoadingDuringDidFailProvisionalLoad.cpp:48
&gt; +    injectedBundleClient.base.version = 0;

You already memset the entire struct to 0.

&gt; Tools/TestWebKitAPI/Tests/WebKit2/StopLoadingDuringDidFailProvisionalLoad.cpp:57
&gt; +    ASSERT(receivedMessageFromBundle);

You should use EXPECT_TRUE() instead.

&gt; Tools/TestWebKitAPI/Tests/WebKit2/StopLoadingDuringDidFailProvisionalLoad.cpp:70
&gt; +    loaderClient.base.version = 0;

You already memset the entire struct to 0.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1012246</commentid>
    <comment_count>3</comment_count>
    <who name="Jon Honeycutt">jhoneycutt</who>
    <bug_when>2014-05-28 10:46:58 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 232151 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=232151&amp;action=review
&gt; 
&gt; r=me, but the StopLoadingDuringDidFailProvisionalLoadTestDone message seems superfluous.
&gt; 
&gt; &gt; Tools/TestWebKitAPI/Tests/WebKit2/StopLoadingDuringDidFailProvisionalLoad.cpp:41
&gt; &gt; +static void didReceiveMessageFromInjectedBundle(WKContextRef context, WKStringRef messageName, WKTypeRef messageBody, const void* clientInfo)
&gt; &gt; +{
&gt; &gt; +    if (WKStringIsEqualToUTF8CString(messageName, &quot;StopLoadingDuringDidFailProvisionalLoadTestDone&quot;))
&gt; &gt; +        receivedMessageFromBundle = true;
&gt; &gt; +}
&gt; 
&gt; I&apos;m not sure I understand the purpose of the StopLoadingDuringDidFailProvisionalLoadTestDone message.


It&apos;s there to ensure that the injected bundle loaded and that it called &apos;stop loading&apos; during the &apos;did fail provisional load&apos; callback before the UI process received notice of the failed load.

&gt; 
&gt; &gt; Tools/TestWebKitAPI/Tests/WebKit2/StopLoadingDuringDidFailProvisionalLoad.cpp:48
&gt; &gt; +    injectedBundleClient.base.version = 0;
&gt; 
&gt; You already memset the entire struct to 0.

Fixed.

&gt; 
&gt; &gt; Tools/TestWebKitAPI/Tests/WebKit2/StopLoadingDuringDidFailProvisionalLoad.cpp:57
&gt; &gt; +    ASSERT(receivedMessageFromBundle);
&gt; 
&gt; You should use EXPECT_TRUE() instead.

Fixed.

&gt; 
&gt; &gt; Tools/TestWebKitAPI/Tests/WebKit2/StopLoadingDuringDidFailProvisionalLoad.cpp:70
&gt; &gt; +    loaderClient.base.version = 0;
&gt; 
&gt; You already memset the entire struct to 0.

Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1012262</commentid>
    <comment_count>4</comment_count>
    <who name="Jon Honeycutt">jhoneycutt</who>
    <bug_when>2014-05-28 12:21:51 -0700</bug_when>
    <thetext>Committed r169429: &lt;http://trac.webkit.org/changeset/169429&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>232151</attachid>
            <date>2014-05-27 15:17:23 -0700</date>
            <delta_ts>2014-05-28 08:04:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-133324-20140527151551.patch</filename>
            <type>text/plain</type>
            <size>15206</size>
            <attacher name="Jon Honeycutt">jhoneycutt</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY5NDAxCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMDdhNThiNmZhOTRiZGJiMGM3NzI0ZGEzM2Q5NDY5MTk1
Njk5MDZhZi4uMzQ4ZDExYmYxZThhMTBiOTEyOGVhMDkzZjRiNTlmY2FhY2FmNTNhMiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQx
IEBACisyMDE0LTA1LTI3ICBKb24gSG9uZXljdXR0ICA8amhvbmV5Y3V0dEBhcHBsZS5jb20+CisK
KyAgICAgICAgTmVlZCBhbiBBUEkgdGVzdCBmb3IgYnVnICMxMzMxOTMgKHIxNjkzMTUpCisgICAg
ICAgIDxodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMzMzI0PgorCisg
ICAgICAgIFRoaXMgYWRkcyBhbiBBUEkgdGVzdCB0aGF0IGVuc3VyZXMgdGhhdCBjYWxsaW5nICJz
dG9wIGxvYWRpbmciIGR1cmluZyBhCisgICAgICAgICJkaWQgZmFpbCBwcm92aXNpb25hbCBsb2Fk
IiBjYWxsYmFjayBkb2Vzbid0IGNyYXNoLgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgIEFkZCBuZXcgZmlsZXMgdG8gcHJvamVjdC4KKwor
ICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9TdG9wTG9hZGluZ0R1cmluZ0Rp
ZEZhaWxQcm92aXNpb25hbExvYWQuY3BwOiBBZGRlZC4KKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6
OmRpZFJlY2VpdmVNZXNzYWdlRnJvbUluamVjdGVkQnVuZGxlKToKKyAgICAgICAgSWYgdGhlIG1l
c3NhZ2UgaXMgdGhlICJ0ZXN0IGRvbmUiIG1lc3NhZ2UsIHJlY29yZCB0aGF0LgorICAgICAgICAo
VGVzdFdlYktpdEFQSTo6c2V0SW5qZWN0ZWRCdW5kbGVDbGllbnQpOgorICAgICAgICBSZWdpc3Rl
ciBhIGZ1bmN0aW9uIGZvciB0aGUgImRpZCByZWNlaXZlIG1lc3NhZ2UgZnJvbSBpbmplY3RlZCBi
dW5kbGUiCisgICAgICAgIGNhbGxiYWNrLgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6ZGlkRmFp
bFByb3Zpc2lvbmFsTG9hZFdpdGhFcnJvckZvckZyYW1lKToKKyAgICAgICAgQXNzZXJ0IHRoYXQg
d2UgcmVjZWl2ZWQgdGhlIG1lc3NhZ2UgZnJvbSB0aGUgaW5qZWN0ZWQgYnVuZGxlLCBhbmQgc2V0
CisgICAgICAgICdkb25lJyB0byBmaW5pc2ggdGhlIHRlc3QuCisgICAgICAgIChUZXN0V2ViS2l0
QVBJOjpURVNUKToKKyAgICAgICAgQ3JlYXRlIGEgV2ViVmlldywgcmVnaXN0ZXIgYSBwYWdlIGxv
YWRlciBjbGllbnQgZm9yIHRoZSAiZGlkIGZhaWwKKyAgICAgICAgcHJvdmlzaW9uYWwgbG9hZCIg
Y2FsbGJhY2ssIGFuZCBsb2FkIGEgbm9uLWV4aXN0ZW50IHJlc291cmNlLgorCisgICAgICAgICog
VGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyL1N0b3BMb2FkaW5nRHVyaW5nRGlkRmFpbFByb3Zp
c2lvbmFsTG9hZF9idW5kbGUuY3BwOiBBZGRlZC4KKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlN0
b3BMb2FkaW5nRHVyaW5nRGlkRmFpbFByb3Zpc2lvbmFsTG9hZFRlc3Q6OlN0b3BMb2FkaW5nRHVy
aW5nRGlkRmFpbFByb3Zpc2lvbmFsTG9hZFRlc3QpOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6
ZGlkRmFpbFByb3Zpc2lvbmFsTG9hZFdpdGhFcnJvckZvckZyYW1lQ2FsbGJhY2spOgorICAgICAg
ICBUZWxsIHRoZSBTdG9wTG9hZGluZ0R1cmluZ0RpZEZhaWxQcm92aXNpb25hbExvYWRUZXN0IG9i
amVjdCB0aGF0IHRoZQorICAgICAgICBwcm92aXNpb25hbCBsb2FkIGZhaWxlZC4KKyAgICAgICAg
KFRlc3RXZWJLaXRBUEk6OlN0b3BMb2FkaW5nRHVyaW5nRGlkRmFpbFByb3Zpc2lvbmFsTG9hZFRl
c3Q6OmRpZENyZWF0ZVBhZ2UpOgorICAgICAgICBSZWdpc3RlciBhIHBhZ2UgbG9hZGVyIGNsaWVu
dCBmb3IgdGhlICJkaWQgZmFpbCBwcm92aXNpb25hbCBsb2FkIgorICAgICAgICBjYWxsYmFjay4K
KyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlN0b3BMb2FkaW5nRHVyaW5nRGlkRmFpbFByb3Zpc2lv
bmFsTG9hZFRlc3Q6OmRpZEZhaWxQcm92aXNpb25hbExvYWQpOgorICAgICAgICBDYWxsIFdLQnVu
ZGxlUGFnZVN0b3BMb2FkaW5nKCkgZHVyaW5nIHRoZSBjYWxsYmFjay4gVGhpcyBub3QgY3Jhc2hp
bmcKKyAgICAgICAgaXMgd2hhdCB3ZSdyZSBlbnN1cmluZyB3aXRoIHRoaXMgdGVzdC4KKwogMjAx
NC0wNS0yNyAgTWljaGFlbCBTYWJvZmYgIDxtc2Fib2ZmQGFwcGxlLmNvbT4KIAogICAgICAgICBS
RUdSRVNTSU9OKHIxNjkyNjUpOiBzaDogbGluZSAwOiBjZDogLi4vLnZtCmRpZmYgLS1naXQgYS9U
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
aiBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCmluZGV4IGJjNTgxMzg0NmIwOWEyYzdmMjNmM2JhZDFhYTBmMGU2OGM2YjBiM2YuLmE0
NjgzMDM3NWE5Njk0ZTY2ZWIyOTdiMDUzY2VhZTQxNjA4M2ZmODEgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisr
KyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCkBAIC0xMTIsNiArMTEyLDggQEAKIAkJNTJFNUNFNDkxNEQyMUVBQjAwM0IyQkQ4IC8q
IFBhcmVudEZyYW1lX0J1bmRsZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA1MkU1Q0U0ODE0RDIxRUFCMDAzQjJCRDggLyogUGFyZW50RnJhbWVfQnVu
ZGxlLmNwcCAqLzsgfTsKIAkJNzU2MDkxNzgxOTI1OUM1OTAwOUVGMDZFIC8qIE1lbW9yeUNhY2hl
QWRkSW1hZ2VUb0NhY2hlSU9TLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNzU2MDkxNzcxOTI1OUM1OTAwOUVGMDZFIC8qIE1lbW9yeUNhY2hlQWRkSW1h
Z2VUb0NhY2hlSU9TLm1tICovOyB9OwogCQk3NUYzMTM0MDE4QzE3MUI3MDA0MUNBRUMgLyogRXBo
ZW1lcmFsU2Vzc2lvblB1c2hTdGF0ZU5vSGlzdG9yeUNhbGxiYWNrLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc1RjMxMzNGMThDMTcxQjcwMDQxQ0FF
QyAvKiBFcGhlbWVyYWxTZXNzaW9uUHVzaFN0YXRlTm9IaXN0b3J5Q2FsbGJhY2suY3BwICovOyB9
OworCQk3NjczNDk5OTE5MzAxNkRDMDBFNDRERjkgLyogU3RvcExvYWRpbmdEdXJpbmdEaWRGYWls
UHJvdmlzaW9uYWxMb2FkLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDc2NzM0OTk3MTkzMDE2REMwMEU0NERGOSAvKiBTdG9wTG9hZGluZ0R1cmluZ0Rp
ZEZhaWxQcm92aXNpb25hbExvYWQuY3BwICovOyB9OworCQk3NjczNDk5RDE5MzBDNUJCMDBFNDRE
RjkgLyogU3RvcExvYWRpbmdEdXJpbmdEaWRGYWlsUHJvdmlzaW9uYWxMb2FkX2J1bmRsZS5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3NjczNDk5QTE5
MzAxODJFMDBFNDRERjkgLyogU3RvcExvYWRpbmdEdXJpbmdEaWRGYWlsUHJvdmlzaW9uYWxMb2Fk
X2J1bmRsZS5jcHAgKi87IH07CiAJCTc2RTE4MkRBMTU0NzU1MDEwMEYxRkFERCAvKiBXaWxsU2Vu
ZFN1Ym1pdEV2ZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDc2RTE4MkQ5MTU0NzU1MDEwMEYxRkFERCAvKiBXaWxsU2VuZFN1Ym1pdEV2ZW50LmNw
cCAqLzsgfTsKIAkJNzZFMTgyREQxNTQ3NTY5MTAwRjFGQUREIC8qIFdpbGxTZW5kU3VibWl0RXZl
bnRfQnVuZGxlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDc2RTE4MkRDMTU0NzU2OTEwMEYxRkFERCAvKiBXaWxsU2VuZFN1Ym1pdEV2ZW50X0J1bmRs
ZS5jcHAgKi87IH07CiAJCTc2RTE4MkRGMTU0NzY3RTYwMEYxRkFERCAvKiBhdXRvLXN1Ym1pdHRp
bmctZm9ybS5odG1sIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDc2RTE4MkRFMTU0NzVBODMwMEYxRkFERCAvKiBhdXRvLXN1Ym1pdHRpbmctZm9y
bS5odG1sICovOyB9OwpAQCAtNDQ4LDYgKzQ1MCw4IEBACiAJCTUyRTVDRTQ4MTREMjFFQUIwMDNC
MkJEOCAvKiBQYXJlbnRGcmFtZV9CdW5kbGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gUGFyZW50RnJhbWVfQnVuZGxlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJNzU2MDkxNzcxOTI1OUM1OTAwOUVGMDZFIC8qIE1lbW9yeUNhY2hlQWRkSW1hZ2VU
b0NhY2hlSU9TLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gTWVt
b3J5Q2FjaGVBZGRJbWFnZVRvQ2FjaGVJT1MubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTc1RjMxMzNGMThDMTcxQjcwMDQxQ0FFQyAvKiBFcGhlbWVyYWxTZXNzaW9uUHVzaFN0YXRl
Tm9IaXN0b3J5Q2FsbGJhY2suY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gRXBoZW1lcmFsU2Vzc2lvblB1c2hTdGF0ZU5vSGlzdG9yeUNhbGxiYWNrLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNzY3MzQ5OTcxOTMwMTZEQzAwRTQ0REY5IC8qIFN0b3BM
b2FkaW5nRHVyaW5nRGlkRmFpbFByb3Zpc2lvbmFsTG9hZC5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBTdG9wTG9hZGluZ0R1cmluZ0RpZEZhaWxQcm92aXNpb25hbExv
YWQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3NjczNDk5QTE5MzAxODJFMDBF
NDRERjkgLyogU3RvcExvYWRpbmdEdXJpbmdEaWRGYWlsUHJvdmlzaW9uYWxMb2FkX2J1bmRsZS5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTdG9wTG9hZGluZ0R1cmlu
Z0RpZEZhaWxQcm92aXNpb25hbExvYWRfYnVuZGxlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJNzZFMTgyRDkxNTQ3NTUwMTAwRjFGQUREIC8qIFdpbGxTZW5kU3VibWl0RXZlbnQu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2lsbFNlbmRTdWJtaXRF
dmVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTc2RTE4MkRDMTU0NzU2OTEw
MEYxRkFERCAvKiBXaWxsU2VuZFN1Ym1pdEV2ZW50X0J1bmRsZS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXaWxsU2VuZFN1Ym1pdEV2ZW50X0J1bmRsZS5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTc2RTE4MkRFMTU0NzVBODMwMEYxRkFERCAvKiBh
dXRvLXN1Ym1pdHRpbmctZm9ybS5odG1sICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5odG1sOyBwYXRoID0gImF1
dG8tc3VibWl0dGluZy1mb3JtLmh0bWwiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAt
ODA0LDYgKzgwOCw4IEBACiAJCQkJNzVGMzEzM0YxOEMxNzFCNzAwNDFDQUVDIC8qIEVwaGVtZXJh
bFNlc3Npb25QdXNoU3RhdGVOb0hpc3RvcnlDYWxsYmFjay5jcHAgKi8sCiAJCQkJMUE1RkVGREMx
MjcwRTJBMzAwMEUyOTIxIC8qIEV2YWx1YXRlSmF2YVNjcmlwdC5jcHAgKi8sCiAJCQkJQkNDOEI5
NUExMjYxMUY0NzAwREU0NkE0IC8qIEZhaWxlZExvYWQuY3BwICovLAorCQkJCTc2NzM0OTk3MTkz
MDE2REMwMEU0NERGOSAvKiBTdG9wTG9hZGluZ0R1cmluZ0RpZEZhaWxQcm92aXNpb25hbExvYWQu
Y3BwICovLAorCQkJCTc2NzM0OTlBMTkzMDE4MkUwMEU0NERGOSAvKiBTdG9wTG9hZGluZ0R1cmlu
Z0RpZEZhaWxQcm92aXNpb25hbExvYWRfYnVuZGxlLmNwcCAqLywKIAkJCQkxQTAyQzg0RTEyNUQ0
QTg0MDBFM0Y0QkQgLyogRmluZC5jcHAgKi8sCiAJCQkJQzUxQUZCOTgxNjlGNDlGRjAwOUNDRjY2
IC8qIEZpbmRNYXRjaGVzLm1tICovLAogCQkJCTFBREJFRkFEMTMwQzY4OUMwMEQ2MUQxOSAvKiBG
b3JjZVJlcGFpbnQuY3BwICovLApAQCAtMTM0Miw2ICsxMzQ4LDcgQEAKIAkJCQlCQzNDNEM3MjE0
NTc1QjZBMDAyNUZCNjIgLyogV0tCcm93c2luZ0NvbnRleHRMb2FkRGVsZWdhdGVUZXN0Lm1tIGlu
IFNvdXJjZXMgKi8sCiAJCQkJOTNBN0VCM0QxOEZBNjNBNDAwOUU3NjcwIC8qIFVSTEV4dHJhcy5t
bSBpbiBTb3VyY2VzICovLAogCQkJCTUxRTkzMDE3MTU2QjEzRTEwMDRDOTlERiAvKiBXS1BhZ2VH
ZXRTY2FsZUZhY3Rvck5vdFplcm8uY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNzY3MzQ5OTkxOTMw
MTZEQzAwRTQ0REY5IC8qIFN0b3BMb2FkaW5nRHVyaW5nRGlkRmFpbFByb3Zpc2lvbmFsTG9hZC5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzdCNjFBQTEyOUEwMzg3MDBEMTc0QTQgLyogV0tQcmVm
ZXJlbmNlcy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzkwOTk1RTEyNTY3QkMxMDAwODM3NTYg
LyogV0tTdHJpbmcuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkM5MDk5OTQxMjU2QUNGMTAwMDgz
NzU2IC8qIFdLU3RyaW5nSlNTdHJpbmcuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0xMzY4LDYgKzEz
NzUsNyBAQAogCQkJCTFBRURFMjI2MTNFNUU3RTcwMEU2MkZFOCAvKiBJbmplY3RlZEJ1bmRsZUNv
bnRyb2xsZXJNYWMubW0gaW4gU291cmNlcyAqLywKIAkJCQkzNzhFNjQ3NzE2MzI2NTVFMDBCNkM2
NzYgLyogSW5qZWN0ZWRCdW5kbGVGcmFtZUhpdFRlc3RfQnVuZGxlLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCTI5NzIzNEI3MTczQUZBQzcwMDk4MzYwMSAvKiBDdXN0b21Qcm90b2NvbHNJbnZhbGlk
U2NoZW1lX0J1bmRsZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk3NjczNDk5RDE5MzBDNUJCMDBF
NDRERjkgLyogU3RvcExvYWRpbmdEdXJpbmdEaWRGYWlsUHJvdmlzaW9uYWxMb2FkX2J1bmRsZS5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQlGNjYwQUExNTE1QTYxQUJGMDAzQTEyNDMgLyogSW5qZWN0
ZWRCdW5kbGVJbml0aWFsaXphdGlvblVzZXJEYXRhQ2FsbGJhY2tXaW5zX0J1bmRsZS5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQlCQzU3NUE5NzEyNkU3NEYxMDA2RjBGMTIgLyogSW5qZWN0ZWRCdW5k
bGVNYWluLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTMzREM4OTE0MTQxOTU3OUYwMDc0N0VGNyAv
KiBMb2FkQ2FuY2VsZWROb1NlcnZlclJlZGlyZWN0Q2FsbGJhY2tfQnVuZGxlLmNwcCBpbiBTb3Vy
Y2VzICovLApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyL1N0
b3BMb2FkaW5nRHVyaW5nRGlkRmFpbFByb3Zpc2lvbmFsTG9hZC5jcHAgYi9Ub29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RzL1dlYktpdDIvU3RvcExvYWRpbmdEdXJpbmdEaWRGYWlsUHJvdmlzaW9uYWxM
b2FkLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4xZTdkMjgzZjNkYTMyYmJjMjliMTNlZGQ5YmMxZTc4NjczMmFh
ODRhCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQy
L1N0b3BMb2FkaW5nRHVyaW5nRGlkRmFpbFByb3Zpc2lvbmFsTG9hZC5jcHAKQEAgLTAsMCArMSw4
MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAq
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJQbGF0Zm9y
bVV0aWxpdGllcy5oIgorI2luY2x1ZGUgIlBsYXRmb3JtV2ViVmlldy5oIgorI2luY2x1ZGUgIlRl
c3QuaCIKKyNpbmNsdWRlIDxXZWJLaXQyL1dLUmV0YWluUHRyLmg+CisKK25hbWVzcGFjZSBUZXN0
V2ViS2l0QVBJIHsKKworc3RhdGljIGJvb2wgZG9uZTsKK3N0YXRpYyBib29sIHJlY2VpdmVkTWVz
c2FnZUZyb21CdW5kbGU7CisKK3N0YXRpYyB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlRnJvbUluamVj
dGVkQnVuZGxlKFdLQ29udGV4dFJlZiBjb250ZXh0LCBXS1N0cmluZ1JlZiBtZXNzYWdlTmFtZSwg
V0tUeXBlUmVmIG1lc3NhZ2VCb2R5LCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKQoreworICAgIGlm
IChXS1N0cmluZ0lzRXF1YWxUb1VURjhDU3RyaW5nKG1lc3NhZ2VOYW1lLCAiU3RvcExvYWRpbmdE
dXJpbmdEaWRGYWlsUHJvdmlzaW9uYWxMb2FkVGVzdERvbmUiKSkKKyAgICAgICAgcmVjZWl2ZWRN
ZXNzYWdlRnJvbUJ1bmRsZSA9IHRydWU7Cit9CisKK3N0YXRpYyB2b2lkIHNldEluamVjdGVkQnVu
ZGxlQ2xpZW50KFdLQ29udGV4dFJlZiBjb250ZXh0KQoreworICAgIFdLQ29udGV4dEluamVjdGVk
QnVuZGxlQ2xpZW50VjAgaW5qZWN0ZWRCdW5kbGVDbGllbnQ7CisgICAgbWVtc2V0KCZpbmplY3Rl
ZEJ1bmRsZUNsaWVudCwgMCwgc2l6ZW9mKGluamVjdGVkQnVuZGxlQ2xpZW50KSk7CisKKyAgICBp
bmplY3RlZEJ1bmRsZUNsaWVudC5iYXNlLnZlcnNpb24gPSAwOworICAgIGluamVjdGVkQnVuZGxl
Q2xpZW50LmRpZFJlY2VpdmVNZXNzYWdlRnJvbUluamVjdGVkQnVuZGxlID0gZGlkUmVjZWl2ZU1l
c3NhZ2VGcm9tSW5qZWN0ZWRCdW5kbGU7CisKKyAgICBXS0NvbnRleHRTZXRJbmplY3RlZEJ1bmRs
ZUNsaWVudChjb250ZXh0LCAmaW5qZWN0ZWRCdW5kbGVDbGllbnQuYmFzZSk7Cit9CisKK3N0YXRp
YyB2b2lkIGRpZEZhaWxQcm92aXNpb25hbExvYWRXaXRoRXJyb3JGb3JGcmFtZShXS1BhZ2VSZWYs
IFdLRnJhbWVSZWYsIFdLRXJyb3JSZWYsIFdLVHlwZVJlZiwgY29uc3Qgdm9pZCopCit7CisgICAg
Ly8gVGhlIGluamVjdGVkIGJ1bmRsZSBpcyBub3RpZmllZCBvZiB0aGUgZmFpbGVkIGxvYWQgZmly
c3QuIElmIHdlIGFsc28gcmVjZWl2ZSB0aGlzIGNhbGxiYWNrLCB0aGUgdGVzdCBkaWRuJ3QgY3Jh
c2guCisgICAgQVNTRVJUKHJlY2VpdmVkTWVzc2FnZUZyb21CdW5kbGUpOworICAgIGRvbmUgPSB0
cnVlOworfQorCitURVNUKFdlYktpdDIsIFN0b3BMb2FkaW5nRHVyaW5nRGlkRmFpbFByb3Zpc2lv
bmFsTG9hZFRlc3QpCit7CisgICAgV0tSZXRhaW5QdHI8V0tDb250ZXh0UmVmPiBjb250ZXh0KEFk
b3B0V0ssIFV0aWw6OmNyZWF0ZUNvbnRleHRGb3JJbmplY3RlZEJ1bmRsZVRlc3QoIlN0b3BMb2Fk
aW5nRHVyaW5nRGlkRmFpbFByb3Zpc2lvbmFsTG9hZFRlc3QiKSk7CisgICAgc2V0SW5qZWN0ZWRC
dW5kbGVDbGllbnQoY29udGV4dC5nZXQoKSk7CisKKyAgICBQbGF0Zm9ybVdlYlZpZXcgd2ViVmll
dyhjb250ZXh0LmdldCgpKTsKKworICAgIFdLUGFnZUxvYWRlckNsaWVudFYwIGxvYWRlckNsaWVu
dDsKKyAgICBtZW1zZXQoJmxvYWRlckNsaWVudCwgMCwgc2l6ZW9mKGxvYWRlckNsaWVudCkpOwor
ICAgIGxvYWRlckNsaWVudC5iYXNlLnZlcnNpb24gPSAwOworICAgIGxvYWRlckNsaWVudC5kaWRG
YWlsUHJvdmlzaW9uYWxMb2FkV2l0aEVycm9yRm9yRnJhbWUgPSBkaWRGYWlsUHJvdmlzaW9uYWxM
b2FkV2l0aEVycm9yRm9yRnJhbWU7CisgICAgV0tQYWdlU2V0UGFnZUxvYWRlckNsaWVudCh3ZWJW
aWV3LnBhZ2UoKSwgJmxvYWRlckNsaWVudC5iYXNlKTsKKworICAgIFdLUmV0YWluUHRyPFdLVVJM
UmVmPiB1cmwoQWRvcHRXSywgVXRpbDo6VVJMRm9yTm9uRXhpc3RlbnRSZXNvdXJjZSgpKTsKKyAg
ICBXS1BhZ2VMb2FkVVJMKHdlYlZpZXcucGFnZSgpLCB1cmwuZ2V0KCkpOworCisgICAgVXRpbDo6
cnVuKCZkb25lKTsKK30KKworfSAvLyBuYW1lc3BhY2UgVGVzdFdlYktpdEFQSQpkaWZmIC0tZ2l0
IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyL1N0b3BMb2FkaW5nRHVyaW5nRGlk
RmFpbFByb3Zpc2lvbmFsTG9hZF9idW5kbGUuY3BwIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
cy9XZWJLaXQyL1N0b3BMb2FkaW5nRHVyaW5nRGlkRmFpbFByb3Zpc2lvbmFsTG9hZF9idW5kbGUu
Y3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjA4NDAzYTY0NjBjMWIyYTE2NTM5ZjcwMGI3ODc5ZTZlNzMyNjE3MDgK
LS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIvU3Rv
cExvYWRpbmdEdXJpbmdEaWRGYWlsUHJvdmlzaW9uYWxMb2FkX2J1bmRsZS5jcHAKQEAgLTAsMCAr
MSw3NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IK
KyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisg
KiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJJbmpl
Y3RlZEJ1bmRsZVRlc3QuaCIKKyNpbmNsdWRlICJQbGF0Zm9ybVV0aWxpdGllcy5oIgorI2luY2x1
ZGUgPFdlYktpdDIvV0tCdW5kbGUuaD4KKyNpbmNsdWRlIDxXZWJLaXQyL1dLQnVuZGxlRnJhbWVQ
cml2YXRlLmg+CisjaW5jbHVkZSA8V2ViS2l0Mi9XS0J1bmRsZVBhZ2UuaD4KKyNpbmNsdWRlIDxX
ZWJLaXQyL1dLQnVuZGxlUGFnZVByaXZhdGUuaD4KKworbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkg
eworCitjbGFzcyBTdG9wTG9hZGluZ0R1cmluZ0RpZEZhaWxQcm92aXNpb25hbExvYWRUZXN0IDog
cHVibGljIEluamVjdGVkQnVuZGxlVGVzdCB7CitwdWJsaWM6CisgICAgU3RvcExvYWRpbmdEdXJp
bmdEaWRGYWlsUHJvdmlzaW9uYWxMb2FkVGVzdChjb25zdCBzdGQ6OnN0cmluZyYgaWRlbnRpZmll
cikKKyAgICAgICAgOiBJbmplY3RlZEJ1bmRsZVRlc3QoaWRlbnRpZmllcikKKyAgICB7CisgICAg
fQorCisgICAgdmlydHVhbCB2b2lkIGRpZENyZWF0ZVBhZ2UoV0tCdW5kbGVSZWYsIFdLQnVuZGxl
UGFnZVJlZikgb3ZlcnJpZGU7CisgICAgdm9pZCBkaWRGYWlsUHJvdmlzaW9uYWxMb2FkKFdLQnVu
ZGxlUGFnZVJlZiwgV0tCdW5kbGVGcmFtZVJlZik7CisKKyAgICBXS0J1bmRsZVJlZiBtX2J1bmRs
ZTsKK307CisKK3N0YXRpYyBJbmplY3RlZEJ1bmRsZVRlc3Q6OlJlZ2lzdGVyPFN0b3BMb2FkaW5n
RHVyaW5nRGlkRmFpbFByb3Zpc2lvbmFsTG9hZFRlc3Q+IHJlZ2lzdHJhcigiU3RvcExvYWRpbmdE
dXJpbmdEaWRGYWlsUHJvdmlzaW9uYWxMb2FkVGVzdCIpOworCitzdGF0aWMgdm9pZCBkaWRGYWls
UHJvdmlzaW9uYWxMb2FkV2l0aEVycm9yRm9yRnJhbWVDYWxsYmFjayhXS0J1bmRsZVBhZ2VSZWYg
cGFnZSwgV0tCdW5kbGVGcmFtZVJlZiBmcmFtZSwgV0tFcnJvclJlZiwgV0tUeXBlUmVmKiwgY29u
c3Qgdm9pZCAqY2xpZW50SW5mbykKK3sKKyAgICAoKFN0b3BMb2FkaW5nRHVyaW5nRGlkRmFpbFBy
b3Zpc2lvbmFsTG9hZFRlc3QqKWNsaWVudEluZm8pLT5kaWRGYWlsUHJvdmlzaW9uYWxMb2FkKHBh
Z2UsIGZyYW1lKTsKK30KKwordm9pZCBTdG9wTG9hZGluZ0R1cmluZ0RpZEZhaWxQcm92aXNpb25h
bExvYWRUZXN0OjpkaWRDcmVhdGVQYWdlKFdLQnVuZGxlUmVmIGJ1bmRsZSwgV0tCdW5kbGVQYWdl
UmVmIHBhZ2UpCit7CisgICAgbV9idW5kbGUgPSBidW5kbGU7CisKKyAgICBXS0J1bmRsZVBhZ2VM
b2FkZXJDbGllbnRWMiBwYWdlTG9hZGVyQ2xpZW50OworICAgIG1lbXNldCgmcGFnZUxvYWRlckNs
aWVudCwgMCwgc2l6ZW9mKHBhZ2VMb2FkZXJDbGllbnQpKTsKKworICAgIHBhZ2VMb2FkZXJDbGll
bnQuYmFzZS52ZXJzaW9uID0gMjsKKyAgICBwYWdlTG9hZGVyQ2xpZW50LmJhc2UuY2xpZW50SW5m
byA9IHRoaXM7CisgICAgcGFnZUxvYWRlckNsaWVudC5kaWRGYWlsUHJvdmlzaW9uYWxMb2FkV2l0
aEVycm9yRm9yRnJhbWUgPSBkaWRGYWlsUHJvdmlzaW9uYWxMb2FkV2l0aEVycm9yRm9yRnJhbWVD
YWxsYmFjazsKKworICAgIFdLQnVuZGxlUGFnZVNldFBhZ2VMb2FkZXJDbGllbnQocGFnZSwgJnBh
Z2VMb2FkZXJDbGllbnQuYmFzZSk7Cit9CisKK3ZvaWQgU3RvcExvYWRpbmdEdXJpbmdEaWRGYWls
UHJvdmlzaW9uYWxMb2FkVGVzdDo6ZGlkRmFpbFByb3Zpc2lvbmFsTG9hZChXS0J1bmRsZVBhZ2VS
ZWYgcGFnZSwgV0tCdW5kbGVGcmFtZVJlZikKK3sKKyAgICBXS0J1bmRsZVBhZ2VTdG9wTG9hZGlu
ZyhwYWdlKTsKKyAgICBXS0J1bmRsZVBvc3RNZXNzYWdlKG1fYnVuZGxlLCBVdGlsOjp0b1dLKCJT
dG9wTG9hZGluZ0R1cmluZ0RpZEZhaWxQcm92aXNpb25hbExvYWRUZXN0RG9uZSIpLmdldCgpLCBu
dWxscHRyKTsKK30KKworfSAvLyBuYW1lc3BhY2UgVGVzdFdlYktpdEFQSQo=
</data>
<flag name="review"
          id="256634"
          type_id="1"
          status="+"
          setter="aestes"
    />
          </attachment>
      

    </bug>

</bugzilla>