<?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>168147</bug_id>
          
          <creation_ts>2017-02-10 14:45:27 -0800</creation_ts>
          <short_desc>Add new WKWebKit Cocoa API for getContentsAsString</short_desc>
          <delta_ts>2017-02-14 16:13:20 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit API</component>
          <version>WebKit 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jason Rinn">jrinn</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>andersca</cc>
    
    <cc>bdakin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ggaren</cc>
    
    <cc>mitz</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1275552</commentid>
    <comment_count>0</comment_count>
    <who name="Jason Rinn">jrinn</who>
    <bug_when>2017-02-10 14:45:27 -0800</bug_when>
    <thetext>Add new WKWebKit Cocoa API for getContentsAsString</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1276420</commentid>
    <comment_count>1</comment_count>
      <attachid>301407</attachid>
    <who name="Jason Rinn">jrinn</who>
    <bug_when>2017-02-13 16:05:10 -0800</bug_when>
    <thetext>Created attachment 301407
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1276423</commentid>
    <comment_count>2</comment_count>
      <attachid>301407</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2017-02-13 16:14:02 -0800</bug_when>
    <thetext>Comment on attachment 301407
Patch

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

&gt; Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm:3807
&gt; +    auto handler = adoptNS([completionHandler copy]);

This should probably use BlockPtr these days.

&gt; Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm:3813
&gt; +            RetainPtr&lt;NSError&gt; error = adoptNS([[NSError alloc] init]);

This actually logs an error, and the other uses (of [[NSError alloc] init]) are wrong. Should we fix it? Or just propagate the wrongness.

&gt; Tools/TestWebKitAPI/Tests/WebKit2Cocoa/WKWebViewGetContents.mm:42
&gt; +    NSURLRequest *request = [NSURLRequest requestWithURL:[[NSBundle mainBundle] URLForResource:@&quot;simple&quot; withExtension:@&quot;html&quot; subdirectory:@&quot;TestWebKitAPI.resources&quot;]];
&gt; +    [webView loadRequest:request];
&gt; +    [webView _test_waitForDidFinishNavigation];

If you want, if you use the TestWKWebView subclass instead of WKWebView directly, it has synchronouslyLoadTestPageNamed, which will replace all of these lines.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1276448</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-02-13 16:41:16 -0800</bug_when>
    <thetext>&lt;rdar://problem/30502539&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1276464</commentid>
    <comment_count>4</comment_count>
      <attachid>301407</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2017-02-13 17:15:00 -0800</bug_when>
    <thetext>Comment on attachment 301407
Patch

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

&gt; Source/WebKit2/UIProcess/API/Cocoa/WKWebViewPrivate.h:229
&gt; +- (void)_getContentsAsStringWithCompletionHandler:(void (^)(NSString *, NSError *))completionHandler;

Also, Dan points out that you&apos;ve forgotten your API availability macros.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1276471</commentid>
    <comment_count>5</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2017-02-13 17:26:23 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; Comment on attachment 301407 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=301407&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/UIProcess/API/Cocoa/WKWebViewPrivate.h:229
&gt; &gt; +- (void)_getContentsAsStringWithCompletionHandler:(void (^)(NSString *, NSError *))completionHandler;
&gt; 
&gt; Also, Dan points out that you&apos;ve forgotten your API availability macros.

Like this: WK_API_AVAILABLE(macosx(WK_MAC_TBA), ios(WK_IOS_TBA))</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1276518</commentid>
    <comment_count>6</comment_count>
      <attachid>301434</attachid>
    <who name="Jason Rinn">jrinn</who>
    <bug_when>2017-02-13 18:39:07 -0800</bug_when>
    <thetext>Created attachment 301434
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1276985</commentid>
    <comment_count>7</comment_count>
      <attachid>301434</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-02-14 16:13:15 -0800</bug_when>
    <thetext>Comment on attachment 301434
Patch

Clearing flags on attachment: 301434

Committed r212334: &lt;http://trac.webkit.org/changeset/212334&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1276986</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-02-14 16:13:20 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>301407</attachid>
            <date>2017-02-13 16:05:10 -0800</date>
            <delta_ts>2017-02-13 18:39:03 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-168147-20170213160238.patch</filename>
            <type>text/plain</type>
            <size>10321</size>
            <attacher name="Jason Rinn">jrinn</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjEyMjQ3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYjNlMGI3YWIxODBlMDQx
MmVkYWEzOTY0ZjIzNjg2OGRmOWJlNGYwNy4uNTRlNzUxOTM5MThlMTA2NTQ5MmRjOTE4NzExODBh
ZTI0MzQwYjRiMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE3LTAyLTEzICBKYXNv
biBSaW5uICA8anJpbm5AYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBuZXcgV0tXZWJLaXQgQ29j
b2EgQVBJIGZvciBnZXRDb250ZW50c0FzU3RyaW5nLgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY4MTQ3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5t
bToKKyAgICAgICAgKC1bV0tXZWJWaWV3IF9nZXRDb250ZW50c0FzU3RyaW5nV2l0aENvbXBsZXRp
b25IYW5kbGVyOl0pOiBOZXcgQVBJIGZvciBnZXRDb250ZW50c0FzU3RyaW5nLgorICAgICAgICAq
IFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5oOgorCiAyMDE3LTAyLTEzICBF
cmljIENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgogCiAgICAgICAgIFtNZWRpYVN0
cmVhbSBNYWNdIFZpZGVvIGNhcHR1cmUgbmVlZHMgYWNjZXNzIHRvIC9MaWJyYXJ5L0NvcmVNZWRp
YUlPL1BsdWctSW5zL0RBTC8KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvQ29jb2EvV0tXZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2Nv
YS9XS1dlYlZpZXcubW0KaW5kZXggZDE2ZjNjYjhlYzgyNGJhNDljZDQ2M2VjYmNkNTU1MzhiNjdh
ZjlkOS4uYjc4N2UyNjA1ZjM4ZDllNzA1MDY4MGIxYTkxZDIxMjM5NmYyYjZjMiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KKysrIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KQEAgLTM4MDIs
NiArMzgwMiwyMSBAQCBzdGF0aWMgaW5saW5lIFdlYkNvcmU6OkxheW91dE1pbGVzdG9uZXMgbGF5
b3V0TWlsZXN0b25lcyhfV0tSZW5kZXJpbmdQcm9ncmVzc0V2ZQogICAgIH0pOwogfQogCistICh2
b2lkKV9nZXRDb250ZW50c0FzU3RyaW5nV2l0aENvbXBsZXRpb25IYW5kbGVyOih2b2lkICheKShO
U1N0cmluZyAqLCBOU0Vycm9yICopKWNvbXBsZXRpb25IYW5kbGVyCit7CisgICAgYXV0byBoYW5k
bGVyID0gYWRvcHROUyhbY29tcGxldGlvbkhhbmRsZXIgY29weV0pOworCisgICAgX3BhZ2UtPmdl
dENvbnRlbnRzQXNTdHJpbmcoW2hhbmRsZXJdKFN0cmluZyBzdHJpbmcsIFdlYktpdDo6Q2FsbGJh
Y2tCYXNlOjpFcnJvciBlcnJvcikgeworICAgICAgICB2b2lkICheY29tcGxldGlvbkhhbmRsZXJC
bG9jaykoTlNTdHJpbmcgKiwgTlNFcnJvciAqKSA9ICh2b2lkICheKShOU1N0cmluZyAqLCBOU0Vy
cm9yICopKWhhbmRsZXIuZ2V0KCk7CisgICAgICAgIGlmIChlcnJvciAhPSBXZWJLaXQ6OkNhbGxi
YWNrQmFzZTo6RXJyb3I6Ok5vbmUpIHsKKyAgICAgICAgICAgIC8vIEZJWE1FOiBQaXBlIGEgcHJv
cGVyIGVycm9yIGluIGZyb20gdGhlIFdlYlBhZ2VQcm94eS4KKyAgICAgICAgICAgIFJldGFpblB0
cjxOU0Vycm9yPiBlcnJvciA9IGFkb3B0TlMoW1tOU0Vycm9yIGFsbG9jXSBpbml0XSk7CisgICAg
ICAgICAgICBjb21wbGV0aW9uSGFuZGxlckJsb2NrKG5pbCwgZXJyb3IuZ2V0KCkpOworICAgICAg
ICB9IGVsc2UKKyAgICAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyQmxvY2soc3RyaW5nLCBuaWwp
OworICAgIH0pOworfQorCiAtIChfV0tQYWdpbmF0aW9uTW9kZSlfcGFnaW5hdGlvbk1vZGUKIHsK
ICAgICBzd2l0Y2ggKF9wYWdlLT5wYWdpbmF0aW9uTW9kZSgpKSB7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1ByaXZhdGUuaCBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5oCmluZGV4IGIw
ZWZjMzY5NjQ4YjM0OWQzMzE1NTNiYjI0NzYyMDY4YjNmMmJkYzguLmMzYmQ4MTAxYzQ3NGNjNDgz
NTAxZmMxNWY5YzNkY2NmNmQ4ZGMzODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5oCkBAIC0yMjYsNiArMjI2LDcgQEAg
dHlwZWRlZiBOU19FTlVNKE5TSW50ZWdlciwgX1dLSW1tZWRpYXRlQWN0aW9uVHlwZSkgewogCiAt
ICh2b2lkKV9nZXRNYWluUmVzb3VyY2VEYXRhV2l0aENvbXBsZXRpb25IYW5kbGVyOih2b2lkIChe
KShOU0RhdGEgKiwgTlNFcnJvciAqKSljb21wbGV0aW9uSGFuZGxlcjsKIC0gKHZvaWQpX2dldFdl
YkFyY2hpdmVEYXRhV2l0aENvbXBsZXRpb25IYW5kbGVyOih2b2lkICheKShOU0RhdGEgKiwgTlNF
cnJvciAqKSljb21wbGV0aW9uSGFuZGxlcjsKKy0gKHZvaWQpX2dldENvbnRlbnRzQXNTdHJpbmdX
aXRoQ29tcGxldGlvbkhhbmRsZXI6KHZvaWQgKF4pKE5TU3RyaW5nICosIE5TRXJyb3IgKikpY29t
cGxldGlvbkhhbmRsZXI7CiAKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldFBhZ2lu
YXRpb25Nb2RlOikgX1dLUGFnaW5hdGlvbk1vZGUgX3BhZ2luYXRpb25Nb2RlOwogLy8gV2hldGhl
ciB0aGUgY29sdW1uLWJyZWFrLXtiZWZvcmUsYWZ0ZXJ9IHByb3BlcnRpZXMgYXJlIHJlc3BlY3Rl
ZCBpbnN0ZWFkIG9mIHRoZQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hh
bmdlTG9nCmluZGV4IDg4NDhmYjdiMjFlZTM0YjM4M2RmNTdhNzkwNTUzNTJjNGYzMzhlOWQuLmRi
ZTk0YWVjYjJjNWRlODMzOGE3NzgxNmMxOTY0NmE5ODg0NDJkM2IgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxNy0w
Mi0xMyAgSmFzb24gUmlubiAgPGpyaW5uQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgYSB0ZXN0
IGZvciBuZXcgV2ViS2l0IENvY29hIEFQSSwgX2dldENvbnRlbnRzQXNTdHJpbmcuCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjgxNDcKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkv
VGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFRlc3RX
ZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNvY29hL1dLV2ViVmlld0dldENvbnRlbnRzLm1tOiBBZGRl
ZC4KKyAgICAgICAgKFRFU1QpOgorCiAyMDE3LTAyLTEzICBGdWppaSBIaXJvbm9yaSAgPEhpcm9u
b3JpLkZ1amlpQHNvbnkuY29tPgogCiAgICAgICAgIE53dHIgdW5leHBlY3RlZGx5IHBhc3NlcyBt
aXNtYXRjaCByZWYgdGVzdCBpZiB0aGUgaGFzaGVzIGRvZXNuJ3QgbWF0Y2ggYnV0IG5vIGRpZmYK
ZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggNjBjM2JjNGFjMTQzNTkxMjQ2MjEzNjM5N2RlYmZi
ZGU4YmM0ZDZhZi4uYmM4M2VlZTczNTQ5NGNlOGU2M2M0NjcwY2VkNWEwNGUwN2QyZmQyNSAxMDA2
NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTU0OSw2ICs1NDksNyBAQAogCQlDRUJDQTEzOTFFM0E4
MDdBMDBDNzMyOTMgLyogcGFnZS13aXRoLWNzcC1pZnJhbWUuaHRtbCBpbiBDb3B5IFJlc291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRUJDQTEzNDFFM0E4MDM0MDBD
NzMyOTMgLyogcGFnZS13aXRoLWNzcC1pZnJhbWUuaHRtbCAqLzsgfTsKIAkJQ0VCQ0ExM0ExRTNB
ODA3QTAwQzczMjkzIC8qIHBhZ2Utd2l0aG91dC1jc3AuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRUJDQTEzNzFFM0E4MDM0MDBDNzMy
OTMgLyogcGFnZS13aXRob3V0LWNzcC5odG1sICovOyB9OwogCQlDRUJDQTEzQjFFM0E4MDdBMDBD
NzMyOTMgLyogcGFnZS13aXRob3V0LWNzcC1pZnJhbWUuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRUJDQTEzNjFFM0E4MDM0MDBDNzMy
OTMgLyogcGFnZS13aXRob3V0LWNzcC1pZnJhbWUuaHRtbCAqLzsgfTsKKwkJRDM0RTA4NzYxRTRF
NDJFMTAwNUZGMTRBIC8qIFdLV2ViVmlld0dldENvbnRlbnRzLm1tIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRDNCRTVFMzQxRTRDRTg1RTAwRkQ1NjNBIC8q
IFdLV2ViVmlld0dldENvbnRlbnRzLm1tICovOyB9OwogCQlFMTIyMERDQTE1NUIyOEFBMDAxM0Uy
RkMgLyogTWVtb3J5Q2FjaGVEaXNhYmxlV2l0aGluUmVzb3VyY2VMb2FkRGVsZWdhdGUuaHRtbCBp
biBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMTIy
MERDOTE1NUIyODdEMDAxM0UyRkMgLyogTWVtb3J5Q2FjaGVEaXNhYmxlV2l0aGluUmVzb3VyY2VM
b2FkRGVsZWdhdGUuaHRtbCAqLzsgfTsKIAkJRTE5NEUxQkQxNzdFNTNDNzAwOUM0RDRFIC8qIFN0
b3BMb2FkaW5nRnJvbURpZFJlY2VpdmVSZXNwb25zZS5odG1sIGluIENvcHkgUmVzb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUxOTRFMUJDMTc3RTUzNEEwMDlDNEQ0
RSAvKiBTdG9wTG9hZGluZ0Zyb21EaWRSZWNlaXZlUmVzcG9uc2UuaHRtbCAqLzsgfTsKIAkJRjQx
NTA4NkQxREEwNDBDNTAwNDRCRTlCIC8qIHBsYXktYXVkaW8tb24tY2xpY2suaHRtbCBpbiBDb3B5
IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNDE1MDg2QzFE
QTA0MEMxMDA0NEJFOUIgLyogcGxheS1hdWRpby1vbi1jbGljay5odG1sICovOyB9OwpAQCAtMTM2
MCw2ICsxMzYxLDcgQEAKIAkJQ0VCQ0ExMzUxRTNBODAzNDAwQzczMjkzIC8qIHBhZ2Utd2l0aC1j
c3AuaHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHRleHQuaHRtbDsgcGF0aCA9ICJwYWdlLXdpdGgtY3NwLmh0bWwi
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDRUJDQTEzNjFFM0E4MDM0MDBDNzMyOTMg
LyogcGFnZS13aXRob3V0LWNzcC1pZnJhbWUuaHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuaHRtbDsgcGF0
aCA9ICJwYWdlLXdpdGhvdXQtY3NwLWlmcmFtZS5odG1sIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJQ0VCQ0ExMzcxRTNBODAzNDAwQzczMjkzIC8qIHBhZ2Utd2l0aG91dC1jc3AuaHRt
bCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHRleHQuaHRtbDsgcGF0aCA9ICJwYWdlLXdpdGhvdXQtY3NwLmh0bWwiOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlEM0JFNUUzNDFFNENFODVFMDBGRDU2M0EgLyog
V0tXZWJWaWV3R2V0Q29udGVudHMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7
IHBhdGggPSBXS1dlYlZpZXdHZXRDb250ZW50cy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJREM2OUFBNjIxQ0Y3N0M2NTAwQzYyNzJGIC8qIFNjb3BlZExhbWJkYS5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTY29wZWRMYW1iZGEuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQlFMTIyMEQ5RjE1NUIyNTQ4MDAxM0UyRkMgLyogTWVtb3J5
Q2FjaGVEaXNhYmxlV2l0aGluUmVzb3VyY2VMb2FkRGVsZWdhdGUubW0gKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBNZW1vcnlDYWNoZURpc2FibGVXaXRoaW5SZXNvdXJj
ZUxvYWREZWxlZ2F0ZS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTEyMjBEQzkx
NTVCMjg3RDAwMTNFMkZDIC8qIE1lbW9yeUNhY2hlRGlzYWJsZVdpdGhpblJlc291cmNlTG9hZERl
bGVnYXRlLmh0bWwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0Lmh0bWw7IHBhdGggPSBNZW1vcnlDYWNoZURpc2Fi
bGVXaXRoaW5SZXNvdXJjZUxvYWREZWxlZ2F0ZS5odG1sOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwpAQCAtMTYwNyw2ICsxNjA5LDcgQEAKIAkJCQkyRUZGMDZENjFEOEFGMzRBMDAwNEJCMzAg
LyogV0tXZWJWaWV3Q2FuZGlkYXRlVGVzdHMubW0gKi8sCiAJCQkJN0M0MTdGMzExRDE5RTE0ODAw
QjhFRjUzIC8qIFdLV2ViVmlld0RlZmF1bHROYXZpZ2F0aW9uRGVsZWdhdGUubW0gKi8sCiAJCQkJ
MEYzQjk0QTUxQTc3MjY2QzAwREUzMjcyIC8qIFdLV2ViVmlld0V2YWx1YXRlSmF2YVNjcmlwdC5t
bSAqLywKKwkJCQlEM0JFNUUzNDFFNENFODVFMDBGRDU2M0EgLyogV0tXZWJWaWV3R2V0Q29udGVu
dHMubW0gKi8sCiAJCQkJOTk4NEZBQ0ExQ0ZGQUVFRTAwOEQxOThDIC8qIFdLV2ViVmlld1RleHRJ
bnB1dC5tbSAqLywKIAkJCSk7CiAJCQluYW1lID0gIldlYktpdDIgQ29jb2EiOwpAQCAtMjc2Niw2
ICsyNzY5LDcgQEAKIAkJCQkwNzQ5MkIzQjFERjhCMTRDMDA2MzNERTEgLyogRW51bWVyYXRlTWVk
aWFEZXZpY2VzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUMyNUNDQTA2MUU1MTM4MEIwMDI2Q0I4
QSAvKiBMaW5lQnJlYWtpbmcubW0gaW4gU291cmNlcyAqLywKIAkJCQk3QTZBMkM3MDFEQ0NGQThD
MDBDMEQwODUgLyogTG9jYWxTdG9yYWdlUXVpcmtUZXN0Lm1tIGluIFNvdXJjZXMgKi8sCisJCQkJ
RDM0RTA4NzYxRTRFNDJFMTAwNUZGMTRBIC8qIFdLV2ViVmlld0dldENvbnRlbnRzLm1tIGluIFNv
dXJjZXMgKi8sCiAJCQkJMkRGRjdCNkQxREE0ODdBRjAwODE0NjE0IC8qIFNuYXBzaG90U3RvcmUu
bW0gaW4gU291cmNlcyAqLywKIAkJCQk1QzZFNjU0NDFENUNFRkQ0MDBGNzg2MkUgLyogVVJMUGFy
c2VyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdDQ0U3RjI3MUE0MTFBRjYwMDQ0N0M0QyAvKiBV
c2VyQ29udGVudENvbnRyb2xsZXIubW0gaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNvY29hL1dLV2ViVmlld0dldENvbnRlbnRzLm1t
IGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyQ29jb2EvV0tXZWJWaWV3R2V0Q29u
dGVudHMubW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uYmU1ZWI4NjIyOTAxN2Y5ZTE2MTkzZGM4MGQzM2QzYThkYTIz
ZWMzMwotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0
MkNvY29hL1dLV2ViVmlld0dldENvbnRlbnRzLm1tCkBAIC0wLDAgKzEsNTUgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRT
IENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgor
ICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkK
KyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjaW1wb3J0ICJjb25maWcuaCIKKworI2lmIFdLX0FQSV9FTkFCTEVECisKKyNpbXBvcnQg
IlBsYXRmb3JtVXRpbGl0aWVzLmgiCisjaW1wb3J0ICJUZXN0LmgiCisjaW1wb3J0ICJUZXN0TmF2
aWdhdGlvbkRlbGVnYXRlLmgiCisjaW1wb3J0IDxXZWJLaXQvV2ViS2l0Lmg+CisjaW1wb3J0IDx3
dGYvUmV0YWluUHRyLmg+CisKK1RFU1QoV0tXZWJWaWV3LCBHZXRDb250ZW50c1Nob3VsZFJldHVy
blN0cmluZykKK3sKKyAgICBSZXRhaW5QdHI8V0tXZWJWaWV3PiB3ZWJWaWV3ID0gYWRvcHROUyhb
W1dLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU01ha2VSZWN0KDAsIDAsIDgwMCwgNjAw
KV0pOworCisgICAgTlNVUkxSZXF1ZXN0ICpyZXF1ZXN0ID0gW05TVVJMUmVxdWVzdCByZXF1ZXN0
V2l0aFVSTDpbW05TQnVuZGxlIG1haW5CdW5kbGVdIFVSTEZvclJlc291cmNlOkAic2ltcGxlIiB3
aXRoRXh0ZW5zaW9uOkAiaHRtbCIgc3ViZGlyZWN0b3J5OkAiVGVzdFdlYktpdEFQSS5yZXNvdXJj
ZXMiXV07CisgICAgW3dlYlZpZXcgbG9hZFJlcXVlc3Q6cmVxdWVzdF07CisgICAgW3dlYlZpZXcg
X3Rlc3Rfd2FpdEZvckRpZEZpbmlzaE5hdmlnYXRpb25dOworCisgICAgX19ibG9jayBib29sIGZp
bmlzaGVkID0gZmFsc2U7CisKKyAgICBbd2ViVmlldyBfZ2V0Q29udGVudHNBc1N0cmluZ1dpdGhD
b21wbGV0aW9uSGFuZGxlcjpeKE5TU3RyaW5nICpzdHJpbmcsIE5TRXJyb3IgKmVycm9yKSB7Cisg
ICAgICAgIEVYUEVDVF9OVUxMKGVycm9yKTsKKyAgICAgICAgRVhQRUNUX1dLX1NUUkVRKEAiU2lt
cGxlIEhUTUwgZmlsZS4iLCBzdHJpbmcpOworICAgICAgICBmaW5pc2hlZCA9IHRydWU7CisgICAg
fV07CisKKyAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmZpbmlzaGVkKTsKK30KKworI2Vu
ZGlmCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>301434</attachid>
            <date>2017-02-13 18:39:07 -0800</date>
            <delta_ts>2017-02-14 16:13:15 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-168147-20170213183634.patch</filename>
            <type>text/plain</type>
            <size>10064</size>
            <attacher name="Jason Rinn">jrinn</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjEyMjY1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZTdlN2NiMGUwZTk4MzUy
MTA5YzYwYzFjNGY3YTcxY2U3ZjYwYWY2MS4uMTRhN2M4NDExODg4MjM3YzRjMzRmYWI5OGI4MGNj
ZWZjMjA5NTRmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE3LTAyLTEzICBKYXNv
biBSaW5uICA8anJpbm5AYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBuZXcgV0tXZWJLaXQgQ29j
b2EgQVBJIGZvciBnZXRDb250ZW50c0FzU3RyaW5nLgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY4MTQ3CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8z
MDUwMjUzOT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tOgorICAgICAgICAoLVtXS1dlYlZp
ZXcgX2dldENvbnRlbnRzQXNTdHJpbmdXaXRoQ29tcGxldGlvbkhhbmRsZXI6XSk6IE5ldyBBUEkg
Zm9yIGdldENvbnRlbnRzQXNTdHJpbmcuCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9X
S1dlYlZpZXdQcml2YXRlLmg6CisKIDIwMTctMDItMTMgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZy
YXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgQ2FsbCBXS0Rlc3Ryb3lSZW5kZXJpbmdSZXNvdXJj
ZXMoKSBvbiBpT1Mgd2hlbiB0YWJzIGFyZSBiYWNrZ3JvdW5kZWQKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KaW5kZXggNDhhZTljYjg5YWU4Y2I0
ODc4MTE0YjgwMGE5Y2JiMWU3YzQ5OTA0Yi4uNzBiYTYzZWM3NjJmOWM4ODBhNWY1YTUwYTRmZGZj
NWY2OTA1NzliYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2Nv
YS9XS1dlYlZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9X
S1dlYlZpZXcubW0KQEAgLTM4MDUsNiArMzgwNSwyMCBAQCAtICh2b2lkKV9nZXRXZWJBcmNoaXZl
RGF0YVdpdGhDb21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXikoTlNEYXRhICosIE5TRXJyb3IgKikp
YwogICAgIH0pOwogfQogCistICh2b2lkKV9nZXRDb250ZW50c0FzU3RyaW5nV2l0aENvbXBsZXRp
b25IYW5kbGVyOih2b2lkICheKShOU1N0cmluZyAqLCBOU0Vycm9yICopKWNvbXBsZXRpb25IYW5k
bGVyCit7CisgICAgYXV0byBoYW5kbGVyID0gbWFrZUJsb2NrUHRyKGNvbXBsZXRpb25IYW5kbGVy
KTsKKworICAgIF9wYWdlLT5nZXRDb250ZW50c0FzU3RyaW5nKFtoYW5kbGVyXShTdHJpbmcgc3Ry
aW5nLCBXZWJLaXQ6OkNhbGxiYWNrQmFzZTo6RXJyb3IgZXJyb3IpIHsKKyAgICAgICAgaWYgKGVy
cm9yICE9IFdlYktpdDo6Q2FsbGJhY2tCYXNlOjpFcnJvcjo6Tm9uZSkgeworICAgICAgICAgICAg
Ly8gRklYTUU6IFBpcGUgYSBwcm9wZXIgZXJyb3IgaW4gZnJvbSB0aGUgV2ViUGFnZVByb3h5Lgor
ICAgICAgICAgICAgUmV0YWluUHRyPE5TRXJyb3I+IGVycm9yID0gYWRvcHROUyhbW05TRXJyb3Ig
YWxsb2NdIGluaXRdKTsKKyAgICAgICAgICAgIGhhbmRsZXIobmlsLCBlcnJvci5nZXQoKSk7Cisg
ICAgICAgIH0gZWxzZQorICAgICAgICAgICAgaGFuZGxlcihzdHJpbmcsIG5pbCk7CisgICAgfSk7
Cit9CisKIC0gKF9XS1BhZ2luYXRpb25Nb2RlKV9wYWdpbmF0aW9uTW9kZQogewogICAgIHN3aXRj
aCAoX3BhZ2UtPnBhZ2luYXRpb25Nb2RlKCkpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2YXRlLmgKaW5kZXggZGM1NTdlODMwZjc5
M2QxY2M2OWUyMWZiZjNkNjRjNDNmODJhNmMwMS4uZjVjMzA5ODA4YmM0MjM1ZmQ3ZWJmMmU2ZmVi
YzVjZmMzOTY5NzUxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9D
b2NvYS9XS1dlYlZpZXdQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9Db2NvYS9XS1dlYlZpZXdQcml2YXRlLmgKQEAgLTIyNyw2ICsyMjcsNyBAQCB0eXBlZGVmIE5T
X0VOVU0oTlNJbnRlZ2VyLCBfV0tJbW1lZGlhdGVBY3Rpb25UeXBlKSB7CiAKIC0gKHZvaWQpX2dl
dE1haW5SZXNvdXJjZURhdGFXaXRoQ29tcGxldGlvbkhhbmRsZXI6KHZvaWQgKF4pKE5TRGF0YSAq
LCBOU0Vycm9yICopKWNvbXBsZXRpb25IYW5kbGVyOwogLSAodm9pZClfZ2V0V2ViQXJjaGl2ZURh
dGFXaXRoQ29tcGxldGlvbkhhbmRsZXI6KHZvaWQgKF4pKE5TRGF0YSAqLCBOU0Vycm9yICopKWNv
bXBsZXRpb25IYW5kbGVyOworLSAodm9pZClfZ2V0Q29udGVudHNBc1N0cmluZ1dpdGhDb21wbGV0
aW9uSGFuZGxlcjoodm9pZCAoXikoTlNTdHJpbmcgKiwgTlNFcnJvciAqKSljb21wbGV0aW9uSGFu
ZGxlciBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEp
KTsKIAogQHByb3BlcnR5IChub25hdG9taWMsIHNldHRlcj1fc2V0UGFnaW5hdGlvbk1vZGU6KSBf
V0tQYWdpbmF0aW9uTW9kZSBfcGFnaW5hdGlvbk1vZGU7CiAvLyBXaGV0aGVyIHRoZSBjb2x1bW4t
YnJlYWste2JlZm9yZSxhZnRlcn0gcHJvcGVydGllcyBhcmUgcmVzcGVjdGVkIGluc3RlYWQgb2Yg
dGhlCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXgg
YmVhNjQ3Zjc2ZWQ4OWNkY2ViMDY2YzVmYjA1YjdlYTg0MDg5YTJlYy4uYWM3MjhjNTNmMGQ1MGFm
Zjc1ZTE3OGFhODdhODYzZWJhNTc5NzBiMCAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisr
KyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE3LTAyLTEzICBKYXNvbiBS
aW5uICA8anJpbm5AYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBhIHRlc3QgZm9yIG5ldyBXZWJL
aXQgQ29jb2EgQVBJLCBfZ2V0Q29udGVudHNBc1N0cmluZy4KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2ODE0NworICAgICAgICA8cmRhcjovL3Byb2Js
ZW0vMzA1MDI1Mzk+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvajoKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJDb2NvYS9XS1dlYlZp
ZXdHZXRDb250ZW50cy5tbTogQWRkZWQuCisgICAgICAgIChURVNUKToKKwogMjAxNy0wMi0xMyAg
V2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAgICBGaXggdGhl
IGJ1aWxkIGFmdGVyIHIyMTIyNTQKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggMWUzMDBjMzlm
NzY3YzdlNzE4OGRlYmEyNjEwNjZjZGFkMjU3YTQyYS4uYWUyYzg2YTA0YmJmMDg0NjU5YTgwMmI3
NTQ4NTQyMDhhOGExMjA4MSAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2Vi
S2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTU0OSw2ICs1NDks
NyBAQAogCQlDRUJDQTEzOTFFM0E4MDdBMDBDNzMyOTMgLyogcGFnZS13aXRoLWNzcC1pZnJhbWUu
aHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBDRUJDQTEzNDFFM0E4MDM0MDBDNzMyOTMgLyogcGFnZS13aXRoLWNzcC1pZnJhbWUuaHRtbCAq
LzsgfTsKIAkJQ0VCQ0ExM0ExRTNBODA3QTAwQzczMjkzIC8qIHBhZ2Utd2l0aG91dC1jc3AuaHRt
bCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBD
RUJDQTEzNzFFM0E4MDM0MDBDNzMyOTMgLyogcGFnZS13aXRob3V0LWNzcC5odG1sICovOyB9Owog
CQlDRUJDQTEzQjFFM0E4MDdBMDBDNzMyOTMgLyogcGFnZS13aXRob3V0LWNzcC1pZnJhbWUuaHRt
bCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBD
RUJDQTEzNjFFM0E4MDM0MDBDNzMyOTMgLyogcGFnZS13aXRob3V0LWNzcC1pZnJhbWUuaHRtbCAq
LzsgfTsKKwkJRDM0RTA4NzYxRTRFNDJFMTAwNUZGMTRBIC8qIFdLV2ViVmlld0dldENvbnRlbnRz
Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRDNCRTVF
MzQxRTRDRTg1RTAwRkQ1NjNBIC8qIFdLV2ViVmlld0dldENvbnRlbnRzLm1tICovOyB9OwogCQlF
MTIyMERDQTE1NUIyOEFBMDAxM0UyRkMgLyogTWVtb3J5Q2FjaGVEaXNhYmxlV2l0aGluUmVzb3Vy
Y2VMb2FkRGVsZWdhdGUuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBFMTIyMERDOTE1NUIyODdEMDAxM0UyRkMgLyogTWVtb3J5Q2FjaGVE
aXNhYmxlV2l0aGluUmVzb3VyY2VMb2FkRGVsZWdhdGUuaHRtbCAqLzsgfTsKIAkJRTE5NEUxQkQx
NzdFNTNDNzAwOUM0RDRFIC8qIFN0b3BMb2FkaW5nRnJvbURpZFJlY2VpdmVSZXNwb25zZS5odG1s
IGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUx
OTRFMUJDMTc3RTUzNEEwMDlDNEQ0RSAvKiBTdG9wTG9hZGluZ0Zyb21EaWRSZWNlaXZlUmVzcG9u
c2UuaHRtbCAqLzsgfTsKIAkJRjQxNTA4NkQxREEwNDBDNTAwNDRCRTlCIC8qIHBsYXktYXVkaW8t
b24tY2xpY2suaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBGNDE1MDg2QzFEQTA0MEMxMDA0NEJFOUIgLyogcGxheS1hdWRpby1vbi1jbGlj
ay5odG1sICovOyB9OwpAQCAtMTM2OCw2ICsxMzY5LDcgQEAKIAkJQ0VCQ0ExMzUxRTNBODAzNDAw
QzczMjkzIC8qIHBhZ2Utd2l0aC1jc3AuaHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuaHRtbDsgcGF0aCA9
ICJwYWdlLXdpdGgtY3NwLmh0bWwiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDRUJD
QTEzNjFFM0E4MDM0MDBDNzMyOTMgLyogcGFnZS13aXRob3V0LWNzcC1pZnJhbWUuaHRtbCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHRleHQuaHRtbDsgcGF0aCA9ICJwYWdlLXdpdGhvdXQtY3NwLWlmcmFtZS5odG1sIjsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0VCQ0ExMzcxRTNBODAzNDAwQzczMjkzIC8q
IHBhZ2Utd2l0aG91dC1jc3AuaHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuaHRtbDsgcGF0aCA9ICJwYWdl
LXdpdGhvdXQtY3NwLmh0bWwiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlEM0JFNUUz
NDFFNENFODVFMDBGRDU2M0EgLyogV0tXZWJWaWV3R2V0Q29udGVudHMubW0gKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBXS1dlYlZpZXdHZXRDb250ZW50cy5tbTsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJREM2OUFBNjIxQ0Y3N0M2NTAwQzYyNzJGIC8qIFNj
b3BlZExhbWJkYS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTY29w
ZWRMYW1iZGEuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMTIyMEQ5RjE1NUIy
NTQ4MDAxM0UyRkMgLyogTWVtb3J5Q2FjaGVEaXNhYmxlV2l0aGluUmVzb3VyY2VMb2FkRGVsZWdh
dGUubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBNZW1vcnlDYWNo
ZURpc2FibGVXaXRoaW5SZXNvdXJjZUxvYWREZWxlZ2F0ZS5tbTsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJRTEyMjBEQzkxNTVCMjg3RDAwMTNFMkZDIC8qIE1lbW9yeUNhY2hlRGlzYWJs
ZVdpdGhpblJlc291cmNlTG9hZERlbGVnYXRlLmh0bWwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0Lmh0bWw7IHBh
dGggPSBNZW1vcnlDYWNoZURpc2FibGVXaXRoaW5SZXNvdXJjZUxvYWREZWxlZ2F0ZS5odG1sOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTYyMSw2ICsxNjIzLDcgQEAKIAkJCQkyRUZG
MDZENjFEOEFGMzRBMDAwNEJCMzAgLyogV0tXZWJWaWV3Q2FuZGlkYXRlVGVzdHMubW0gKi8sCiAJ
CQkJN0M0MTdGMzExRDE5RTE0ODAwQjhFRjUzIC8qIFdLV2ViVmlld0RlZmF1bHROYXZpZ2F0aW9u
RGVsZWdhdGUubW0gKi8sCiAJCQkJMEYzQjk0QTUxQTc3MjY2QzAwREUzMjcyIC8qIFdLV2ViVmll
d0V2YWx1YXRlSmF2YVNjcmlwdC5tbSAqLywKKwkJCQlEM0JFNUUzNDFFNENFODVFMDBGRDU2M0Eg
LyogV0tXZWJWaWV3R2V0Q29udGVudHMubW0gKi8sCiAJCQkJOTk4NEZBQ0ExQ0ZGQUVFRTAwOEQx
OThDIC8qIFdLV2ViVmlld1RleHRJbnB1dC5tbSAqLywKIAkJCSk7CiAJCQluYW1lID0gIldlYktp
dDIgQ29jb2EiOwpAQCAtMjc4OCw2ICsyNzkxLDcgQEAKIAkJCQkwNzQ5MkIzQjFERjhCMTRDMDA2
MzNERTEgLyogRW51bWVyYXRlTWVkaWFEZXZpY2VzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUMy
NUNDQTA2MUU1MTM4MEIwMDI2Q0I4QSAvKiBMaW5lQnJlYWtpbmcubW0gaW4gU291cmNlcyAqLywK
IAkJCQk3QTZBMkM3MDFEQ0NGQThDMDBDMEQwODUgLyogTG9jYWxTdG9yYWdlUXVpcmtUZXN0Lm1t
IGluIFNvdXJjZXMgKi8sCisJCQkJRDM0RTA4NzYxRTRFNDJFMTAwNUZGMTRBIC8qIFdLV2ViVmll
d0dldENvbnRlbnRzLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMkRGRjdCNkQxREE0ODdBRjAwODE0
NjE0IC8qIFNuYXBzaG90U3RvcmUubW0gaW4gU291cmNlcyAqLywKIAkJCQk1QzZFNjU0NDFENUNF
RkQ0MDBGNzg2MkUgLyogVVJMUGFyc2VyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdDQ0U3RjI3
MUE0MTFBRjYwMDQ0N0M0QyAvKiBVc2VyQ29udGVudENvbnRyb2xsZXIubW0gaW4gU291cmNlcyAq
LywKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNvY29hL1dL
V2ViVmlld0dldENvbnRlbnRzLm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQy
Q29jb2EvV0tXZWJWaWV3R2V0Q29udGVudHMubW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDhjYWM2ZmI4ZjhiMmRi
MjEyZGJkYmUxN2NlN2I5ZmNlM2IxZTVkNQotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNvY29hL1dLV2ViVmlld0dldENvbnRlbnRzLm1tCkBAIC0w
LDAgKzEsNTQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW1wb3J0ICJjb25maWcuaCIKKworI2lmIFdLX0FQ
SV9FTkFCTEVECisKKyNpbXBvcnQgIlBsYXRmb3JtVXRpbGl0aWVzLmgiCisjaW1wb3J0ICJUZXN0
LmgiCisjaW1wb3J0ICJUZXN0TmF2aWdhdGlvbkRlbGVnYXRlLmgiCisjaW1wb3J0ICJUZXN0V0tX
ZWJWaWV3LmgiCisjaW1wb3J0IDxXZWJLaXQvV2ViS2l0Lmg+CisjaW1wb3J0IDx3dGYvUmV0YWlu
UHRyLmg+CisKK1RFU1QoV0tXZWJWaWV3LCBHZXRDb250ZW50c1Nob3VsZFJldHVyblN0cmluZykK
K3sKKyAgICBSZXRhaW5QdHI8VGVzdFdLV2ViVmlldz4gd2ViVmlldyA9IGFkb3B0TlMoW1tUZXN0
V0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOk5TTWFrZVJlY3QoMCwgMCwgODAwLCA2MDAp
XSk7CisKKyAgICBbd2ViVmlldyBzeW5jaHJvbm91c2x5TG9hZFRlc3RQYWdlTmFtZWQ6QCJzaW1w
bGUiXTsKKworICAgIF9fYmxvY2sgYm9vbCBmaW5pc2hlZCA9IGZhbHNlOworCisgICAgW3dlYlZp
ZXcgX2dldENvbnRlbnRzQXNTdHJpbmdXaXRoQ29tcGxldGlvbkhhbmRsZXI6XihOU1N0cmluZyAq
c3RyaW5nLCBOU0Vycm9yICplcnJvcikgeworICAgICAgICBFWFBFQ1RfTlVMTChlcnJvcik7Cisg
ICAgICAgIEVYUEVDVF9XS19TVFJFUShAIlNpbXBsZSBIVE1MIGZpbGUuIiwgc3RyaW5nKTsKKyAg
ICAgICAgZmluaXNoZWQgPSB0cnVlOworICAgIH1dOworCisgICAgVGVzdFdlYktpdEFQSTo6VXRp
bDo6cnVuKCZmaW5pc2hlZCk7Cit9CisKKyNlbmRpZgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>