<?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>159001</bug_id>
          
          <creation_ts>2016-06-21 15:01:54 -0700</creation_ts>
          <short_desc>Add logging related to process assertions to help debug process suspension issues</short_desc>
          <delta_ts>2016-06-22 10:00:40 -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>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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>andersca</cc>
    
    <cc>kling</cc>
    
    <cc>koivisto</cc>
    
    <cc>krollin</cc>
    
    <cc>rniwa</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1204304</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-06-21 15:01:54 -0700</bug_when>
    <thetext>Add logging related to process assertions to help debug process suspension issues.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1204305</commentid>
    <comment_count>1</comment_count>
      <attachid>281781</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-06-21 15:03:19 -0700</bug_when>
    <thetext>Created attachment 281781
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1204334</commentid>
    <comment_count>2</comment_count>
    <who name="Keith Rollin">krollin</who>
    <bug_when>2016-06-21 15:45:08 -0700</bug_when>
    <thetext>Some questions:

* How much logging does this emit? When opening a page? When closing a page? When putting a page in the background? When putting a page in the foreground? In short, will someone complain that there&apos;s too much logging?

* In the lambdas that call a completion handler, I&apos;d put the logging before the call of the completion handler. If there&apos;s logging in the completion handlers, I think the result would read better.

* The common aspect of the added logging is that it involves calls to backgroundActivityToken and foregroundActivityToken. There are other places where these functions are invoked -- should they be flagged, too?

* Are any of these call sites session specific? I do see that WebPageProxy, for example, has a sessionID. If so, should the logging at those sites be suppressed for private sessions?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1204336</commentid>
    <comment_count>3</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-06-21 15:49:37 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; Some questions:
&gt; 
&gt; * How much logging does this emit? When opening a page? When closing a page?
&gt; When putting a page in the background? When putting a page in the
&gt; foreground? In short, will someone complain that there&apos;s too much logging?

No, it logs on very specific operations (view visibility state change, load started / ended). It does very little logging.

&gt; 
&gt; * In the lambdas that call a completion handler, I&apos;d put the logging before
&gt; the call of the completion handler. If there&apos;s logging in the completion
&gt; handlers, I think the result would read better.

The assertion really gets released then the lambda gets destroyed (because the token is captured in the lambda by value). Therefore, the *last* line in the lambda is really the best place to log that the assertion was released I believe.

&gt; 
&gt; * The common aspect of the added logging is that it involves calls to
&gt; backgroundActivityToken and foregroundActivityToken. There are other places
&gt; where these functions are invoked -- should they be flagged, too?

I focused on the most important ones for now. I will add more if this turns out to be insufficient.

&gt; 
&gt; * Are any of these call sites session specific? I do see that WebPageProxy,
&gt; for example, has a sessionID. If so, should the logging at those sites be
&gt; suppressed for private sessions?

I&apos;ll double check, I thought all the code paths I altered weren&apos;t specific to a particular session but I could be wrong.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1204345</commentid>
    <comment_count>4</comment_count>
      <attachid>281792</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-06-21 16:14:38 -0700</bug_when>
    <thetext>Created attachment 281792
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1204511</commentid>
    <comment_count>5</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-06-22 08:48:44 -0700</bug_when>
    <thetext>rdar://problem/17665473</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1204537</commentid>
    <comment_count>6</comment_count>
      <attachid>281792</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-06-22 10:00:35 -0700</bug_when>
    <thetext>Comment on attachment 281792
Patch

Clearing flags on attachment: 281792

Committed r202331: &lt;http://trac.webkit.org/changeset/202331&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1204538</commentid>
    <comment_count>7</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-06-22 10:00:40 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>281781</attachid>
            <date>2016-06-21 15:03:19 -0700</date>
            <delta_ts>2016-06-21 16:14:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-159001-20160621150312.patch</filename>
            <type>text/plain</type>
            <size>7878</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAyMjg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggOGNiYWJkMjgzMDAwZDMw
MGM5YmM3NDYxZGI4MmQ5ZTNjM2FkNGI5Zi4uOWY0OTg5ZTE4NmYxZmNlZTY0MWM1ZDAzMDFjZjAz
NTViZjljNjhmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDE2LTA2LTIxICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIGxvZ2dpbmcgcmVsYXRl
ZCB0byBwcm9jZXNzIGFzc2VydGlvbnMgdG8gaGVscCBkZWJ1ZyBwcm9jZXNzIHN1c3BlbnNpb24g
aXNzdWVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NTkwMDEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBB
ZGQgbG9nZ2luZyByZWxhdGVkIHRvIHByb2Nlc3MgYXNzZXJ0aW9ucyB0byBoZWxwIGRlYnVnIHBy
b2Nlc3Mgc3VzcGVuc2lvbiBpc3N1ZXMuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvTmF2
aWdhdGlvblN0YXRlLm1tOgorICAgICAgICAoV2ViS2l0OjpOYXZpZ2F0aW9uU3RhdGU6OmRpZENo
YW5nZUlzTG9hZGluZyk6CisgICAgICAgICogVUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nl
c3NQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzUHJveHk6OmZldGNo
V2Vic2l0ZURhdGEpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUHJvY2Vzc1Byb3h5OjpkZWxl
dGVXZWJzaXRlRGF0YSk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzUHJveHk6OmRl
bGV0ZVdlYnNpdGVEYXRhRm9yT3JpZ2lucyk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9j
ZXNzUHJveHk6OnNldElzSG9sZGluZ0xvY2tlZEZpbGVzKToKKyAgICAgICAgKiBVSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5Ojp1cGRhdGVB
Y3Rpdml0eVRva2VuKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcDoK
KyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Byb3h5OjpzZXRJc0hvbGRpbmdMb2NrZWRGaWxl
cyk6CisKIDIwMTYtMDYtMjEgIEFtaXIgQWxhdmkgIDxhYWxhdmlAYXBwbGUuY29tPgogCiAgICAg
ICAgIFVwc3RyZWFtIFdLSFRUUENvb2tpZXNGb3JVUkwgZnJvbSBXZWJLaXRTeXN0ZW1JbnRlcmZh
Y2UgdG8gT3BlblNvdXJjZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nv
Y29hL05hdmlnYXRpb25TdGF0ZS5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9O
YXZpZ2F0aW9uU3RhdGUubW0KaW5kZXggODdmOTUzYjhhZjg1YzMyZTc4MzZhNmVjNTJmMTA3ZTQw
Y2Y1MTcyYy4uNGI2NWVlYWUxZmRlNjRmOGY5YjRkZjcyNjVkNThhOTFiYmQ3Yzg3YSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL05hdmlnYXRpb25TdGF0ZS5tbQor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvTmF2aWdhdGlvblN0YXRlLm1tCkBA
IC04MjEsMTAgKzgyMSwxMyBAQCB2b2lkIE5hdmlnYXRpb25TdGF0ZTo6d2lsbENoYW5nZUlzTG9h
ZGluZygpCiB2b2lkIE5hdmlnYXRpb25TdGF0ZTo6ZGlkQ2hhbmdlSXNMb2FkaW5nKCkKIHsKICNp
ZiBQTEFURk9STShJT1MpCi0gICAgaWYgKG1fd2ViVmlldy0+X3BhZ2UtPnBhZ2VMb2FkU3RhdGUo
KS5pc0xvYWRpbmcoKSkKKyAgICBpZiAobV93ZWJWaWV3LT5fcGFnZS0+cGFnZUxvYWRTdGF0ZSgp
LmlzTG9hZGluZygpKSB7CisgICAgICAgIExPR19BTFdBWVModHJ1ZSwgIlVJUHJvY2VzcyBpcyB0
YWtpbmcgYSBiYWNrZ3JvdW5kIGFzc2VydGlvbiBiZWNhdXNlIGEgcGFnZSBsb2FkIHN0YXJ0ZWQi
KTsKICAgICAgICAgbV9hY3Rpdml0eVRva2VuID0gbV93ZWJWaWV3LT5fcGFnZS0+cHJvY2Vzcygp
LnRocm90dGxlcigpLmJhY2tncm91bmRBY3Rpdml0eVRva2VuKCk7Ci0gICAgZWxzZQorICAgIH0g
ZWxzZSB7CisgICAgICAgIExPR19BTFdBWVModHJ1ZSwgIlVJUHJvY2VzcyBpcyByZWxlYXNpbmcg
YSBiYWNrZ3JvdW5kIGFzc2VydGlvbiBiZWNhdXNlIGEgcGFnZSBsb2FkIGNvbXBsZXRlZCIpOwog
ICAgICAgICBtX2FjdGl2aXR5VG9rZW4gPSBudWxscHRyOworICAgIH0KICNlbmRpZgogCiAgICAg
W21fd2ViVmlldyBkaWRDaGFuZ2VWYWx1ZUZvcktleTpAImxvYWRpbmciXTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkuY3Bw
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5j
cHAKaW5kZXggZDdkMzUwOTk4N2JjNGZkNjcyOGE4NzM3M2UyYmM2MTEzYjY5ZWE5OS4uZDNkYjY2
ZTk4Njk3MDFjMzljMjc4MjJjMTk0Y2Q4MTZmNTAyNDU3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5jcHAKKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5jcHAKQEAg
LTEyNiw5ICsxMjYsMTEgQEAgdm9pZCBOZXR3b3JrUHJvY2Vzc1Byb3h5OjpmZXRjaFdlYnNpdGVE
YXRhKFNlc3Npb25JRCBzZXNzaW9uSUQsIE9wdGlvblNldDxXZWJzaXQKIAogICAgIHVpbnQ2NF90
IGNhbGxiYWNrSUQgPSBnZW5lcmF0ZUNhbGxiYWNrSUQoKTsKICAgICBhdXRvIHRva2VuID0gdGhy
b3R0bGVyKCkuYmFja2dyb3VuZEFjdGl2aXR5VG9rZW4oKTsKKyAgICBMT0dfQUxXQVlTKHRydWUs
ICJVSVByb2Nlc3MgaXMgdGFraW5nIGEgYmFja2dyb3VuZCBhc3NlcnRpb24gYmVjYXVzZSB0aGUg
TmV0d29yayBwcm9jZXNzIGlzIGZldGNoaW5nIFdlYnNpdGUgZGF0YSIpOwogCiAgICAgbV9wZW5k
aW5nRmV0Y2hXZWJzaXRlRGF0YUNhbGxiYWNrcy5hZGQoY2FsbGJhY2tJRCwgW3Rva2VuLCBjb21w
bGV0aW9uSGFuZGxlcl0oV2Vic2l0ZURhdGEgd2Vic2l0ZURhdGEpIHsKICAgICAgICAgY29tcGxl
dGlvbkhhbmRsZXIoV1RGTW92ZSh3ZWJzaXRlRGF0YSkpOworICAgICAgICBMT0dfQUxXQVlTKHRy
dWUsICJVSVByb2Nlc3MgaXMgcmVsZWFzaW5nIGEgYmFja2dyb3VuZCBhc3NlcnRpb24gYmVjYXVz
ZSB0aGUgTmV0d29yayBwcm9jZXNzIGlzIGRvbmUgZmV0Y2hpbmcgV2Vic2l0ZSBkYXRhIik7CiAg
ICAgfSk7CiAKICAgICBzZW5kKE1lc3NhZ2VzOjpOZXR3b3JrUHJvY2Vzczo6RmV0Y2hXZWJzaXRl
RGF0YShzZXNzaW9uSUQsIGRhdGFUeXBlcywgZmV0Y2hPcHRpb25zLCBjYWxsYmFja0lEKSwgMCk7
CkBAIC0xMzgsOSArMTQwLDExIEBAIHZvaWQgTmV0d29ya1Byb2Nlc3NQcm94eTo6ZGVsZXRlV2Vi
c2l0ZURhdGEoV2ViQ29yZTo6U2Vzc2lvbklEIHNlc3Npb25JRCwgT3B0aW9uCiB7CiAgICAgYXV0
byBjYWxsYmFja0lEID0gZ2VuZXJhdGVDYWxsYmFja0lEKCk7CiAgICAgYXV0byB0b2tlbiA9IHRo
cm90dGxlcigpLmJhY2tncm91bmRBY3Rpdml0eVRva2VuKCk7CisgICAgTE9HX0FMV0FZUyh0cnVl
LCAiVUlQcm9jZXNzIGlzIHRha2luZyBhIGJhY2tncm91bmQgYXNzZXJ0aW9uIGJlY2F1c2UgdGhl
IE5ldHdvcmsgcHJvY2VzcyBpcyBkZWxldGluZyBXZWJzaXRlIGRhdGEiKTsKIAogICAgIG1fcGVu
ZGluZ0RlbGV0ZVdlYnNpdGVEYXRhQ2FsbGJhY2tzLmFkZChjYWxsYmFja0lELCBbdG9rZW4sIGNv
bXBsZXRpb25IYW5kbGVyXSB7CiAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKCk7CisgICAgICAg
IExPR19BTFdBWVModHJ1ZSwgIlVJUHJvY2VzcyBpcyByZWxlYXNpbmcgYSBiYWNrZ3JvdW5kIGFz
c2VydGlvbiBiZWNhdXNlIHRoZSBOZXR3b3JrIHByb2Nlc3MgaXMgZG9uZSBkZWxldGluZyBXZWJz
aXRlIGRhdGEiKTsKICAgICB9KTsKICAgICBzZW5kKE1lc3NhZ2VzOjpOZXR3b3JrUHJvY2Vzczo6
RGVsZXRlV2Vic2l0ZURhdGEoc2Vzc2lvbklELCBkYXRhVHlwZXMsIG1vZGlmaWVkU2luY2UsIGNh
bGxiYWNrSUQpLCAwKTsKIH0KQEAgLTE1MSw5ICsxNTUsMTEgQEAgdm9pZCBOZXR3b3JrUHJvY2Vz
c1Byb3h5OjpkZWxldGVXZWJzaXRlRGF0YUZvck9yaWdpbnMoU2Vzc2lvbklEIHNlc3Npb25JRCwg
T3B0aW8KIAogICAgIHVpbnQ2NF90IGNhbGxiYWNrSUQgPSBnZW5lcmF0ZUNhbGxiYWNrSUQoKTsK
ICAgICBhdXRvIHRva2VuID0gdGhyb3R0bGVyKCkuYmFja2dyb3VuZEFjdGl2aXR5VG9rZW4oKTsK
KyAgICBMT0dfQUxXQVlTKHRydWUsICJVSVByb2Nlc3MgaXMgdGFraW5nIGEgYmFja2dyb3VuZCBh
c3NlcnRpb24gYmVjYXVzZSB0aGUgTmV0d29yayBwcm9jZXNzIGlzIGRlbGV0aW5nIFdlYnNpdGUg
ZGF0YSBmb3Igc2V2ZXJhbCBvcmlnaW5zIik7CiAKICAgICBtX3BlbmRpbmdEZWxldGVXZWJzaXRl
RGF0YUZvck9yaWdpbnNDYWxsYmFja3MuYWRkKGNhbGxiYWNrSUQsIFt0b2tlbiwgY29tcGxldGlv
bkhhbmRsZXJdIHsKICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoKTsKKyAgICAgICAgTE9HX0FM
V0FZUyh0cnVlLCAiVUlQcm9jZXNzIGlzIHJlbGVhc2luZyBhIGJhY2tncm91bmQgYXNzZXJ0aW9u
IGJlY2F1c2UgdGhlIE5ldHdvcmsgcHJvY2VzcyBpcyBkb25lIGRlbGV0aW5nIFdlYnNpdGUgZGF0
YSBmb3Igc2V2ZXJhbCBvcmlnaW5zIik7CiAgICAgfSk7CiAKICAgICBWZWN0b3I8U2VjdXJpdHlP
cmlnaW5EYXRhPiBvcmlnaW5EYXRhOwpAQCAtMzgzLDExICszODksMTQgQEAgdm9pZCBOZXR3b3Jr
UHJvY2Vzc1Byb3h5OjpkaWRTZXRBc3NlcnRpb25TdGF0ZShBc3NlcnRpb25TdGF0ZSkKIHZvaWQg
TmV0d29ya1Byb2Nlc3NQcm94eTo6c2V0SXNIb2xkaW5nTG9ja2VkRmlsZXMoYm9vbCBpc0hvbGRp
bmdMb2NrZWRGaWxlcykKIHsKICAgICBpZiAoIWlzSG9sZGluZ0xvY2tlZEZpbGVzKSB7CisgICAg
ICAgIExPR19BTFdBWVModHJ1ZSwgIlVJUHJvY2VzcyBpcyByZWxlYXNpbmcgYSBiYWNrZ3JvdW5k
IGFzc2VydGlvbiBiZWNhdXNlIHRoZSBOZXR3b3JrIHByb2Nlc3MgaXMgbm8gbG9uZ2VyIGhvbGRp
bmcgbG9ja2VkIGZpbGVzIik7CiAgICAgICAgIG1fdG9rZW5Gb3JIb2xkaW5nTG9ja2VkRmlsZXMg
PSBudWxscHRyOwogICAgICAgICByZXR1cm47CiAgICAgfQotICAgIGlmICghbV90b2tlbkZvckhv
bGRpbmdMb2NrZWRGaWxlcykKKyAgICBpZiAoIW1fdG9rZW5Gb3JIb2xkaW5nTG9ja2VkRmlsZXMp
IHsKKyAgICAgICAgTE9HX0FMV0FZUyh0cnVlLCAiVUlQcm9jZXNzIGlzIHRha2luZyBhIGJhY2tn
cm91bmQgYXNzZXJ0aW9uIGJlY2F1c2UgdGhlIE5ldHdvcmsgcHJvY2VzcyBpcyBob2xkaW5nIGxv
Y2tlZCBmaWxlcyIpOwogICAgICAgICBtX3Rva2VuRm9ySG9sZGluZ0xvY2tlZEZpbGVzID0gbV90
aHJvdHRsZXIuYmFja2dyb3VuZEFjdGl2aXR5VG9rZW4oKTsKKyAgICB9CiB9CiAKIH0gLy8gbmFt
ZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcApp
bmRleCBjNDM0MjlkN2YyNGQ3ZmQ5ZDdmZjU4MGI5NzU4NmY3M2U2OGVmM2FhLi5kMTA3MDg5OWVl
NjU2MjJiOTZiMTg3OGMzZjJhNzE1MjE2MDI2YjZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmNwcApAQCAtMTQ5MywxMCArMTQ5MywxNiBAQCB2b2lkIFdlYlBhZ2VQ
cm94eTo6dXBkYXRlQWN0aXZpdHlUb2tlbigpCiAgICAgICAgIG1fcGFnZUlzVXNlck9ic2VydmFi
bGVDb3VudCA9IG1fcHJvY2Vzcy0+cHJvY2Vzc1Bvb2woKS51c2VyT2JzZXJ2YWJsZVBhZ2VDb3Vu
dCgpOwogCiAjaWYgUExBVEZPUk0oSU9TKQotICAgIGlmICghaXNWaWV3VmlzaWJsZSgpICYmICFt
X2Fsd2F5c1J1bnNBdEZvcmVncm91bmRQcmlvcml0eSkKKyAgICBpZiAoIWlzVmlld1Zpc2libGUo
KSAmJiAhbV9hbHdheXNSdW5zQXRGb3JlZ3JvdW5kUHJpb3JpdHkpIHsKKyAgICAgICAgTE9HX0FM
V0FZUyh0cnVlLCAiVUlQcm9jZXNzIGlzIHJlbGVhc2luZyBhIGZvcmVncm91bmQgYXNzZXJ0aW9u
IGJlY2F1c2UgdGhlIHZpZXcgaXMgbm8gbG9uZ2VyIHZpc2libGUiKTsKICAgICAgICAgbV9hY3Rp
dml0eVRva2VuID0gbnVsbHB0cjsKLSAgICBlbHNlIGlmICghbV9hY3Rpdml0eVRva2VuKQorICAg
IH0gZWxzZSBpZiAoIW1fYWN0aXZpdHlUb2tlbikgeworICAgICAgICBpZiAoaXNWaWV3VmlzaWJs
ZSgpKQorICAgICAgICAgICAgTE9HX0FMV0FZUyh0cnVlLCAiVUlQcm9jZXNzIGlzIHRha2luZyBh
IGZvcmVncm91bmQgYXNzZXJ0aW9uIGJlY2F1c2UgdGhlIHZpZXcgaXMgdmlzaWJsZSIpOworICAg
ICAgICBlbHNlCisgICAgICAgICAgICBMT0dfQUxXQVlTKHRydWUsICJVSVByb2Nlc3MgaXMgdGFr
aW5nIGEgZm9yZWdyb3VuZCBhc3NlcnRpb24gZXZlbiB0aG91Z2ggdGhlIHZpZXcgaXMgbm90IHZp
c2libGUgYmVjYXVzZSBtX2Fsd2F5c1J1bnNBdEZvcmVncm91bmRQcmlvcml0eSBpcyB0cnVlIik7
CiAgICAgICAgIG1fYWN0aXZpdHlUb2tlbiA9IG1fcHJvY2Vzcy0+dGhyb3R0bGVyKCkuZm9yZWdy
b3VuZEFjdGl2aXR5VG9rZW4oKTsKKyAgICB9CiAjZW5kaWYKIH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcAppbmRleCAzMzhhODJkYjhlMjU3NDY3MzIy
YjhhYjg0OTMwNjRlMjU0ZjM1MjVhLi44ZmVjNmIyNjA5YjU5YjUxODMyN2I0ZDk1MWQ5MjlkZjQ2
OWU2YTJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1By
b3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNw
cApAQCAtOTg3LDExICs5ODcsMTQgQEAgdm9pZCBXZWJQcm9jZXNzUHJveHk6OmRpZFNldEFzc2Vy
dGlvblN0YXRlKEFzc2VydGlvblN0YXRlIHN0YXRlKQogdm9pZCBXZWJQcm9jZXNzUHJveHk6OnNl
dElzSG9sZGluZ0xvY2tlZEZpbGVzKGJvb2wgaXNIb2xkaW5nTG9ja2VkRmlsZXMpCiB7CiAgICAg
aWYgKCFpc0hvbGRpbmdMb2NrZWRGaWxlcykgeworICAgICAgICBMT0dfQUxXQVlTKHRydWUsICJV
SVByb2Nlc3MgaXMgcmVsZWFzaW5nIGEgYmFja2dyb3VuZCBhc3NlcnRpb24gYmVjYXVzZSB0aGUg
V2ViQ29udGVudCBwcm9jZXNzIGlzIG5vIGxvbmdlciBob2xkaW5nIGxvY2tlZCBmaWxlcyIpOwog
ICAgICAgICBtX3Rva2VuRm9ySG9sZGluZ0xvY2tlZEZpbGVzID0gbnVsbHB0cjsKICAgICAgICAg
cmV0dXJuOwogICAgIH0KLSAgICBpZiAoIW1fdG9rZW5Gb3JIb2xkaW5nTG9ja2VkRmlsZXMpCisg
ICAgaWYgKCFtX3Rva2VuRm9ySG9sZGluZ0xvY2tlZEZpbGVzKSB7CisgICAgICAgIExPR19BTFdB
WVModHJ1ZSwgIlVJUHJvY2VzcyBpcyB0YWtpbmcgYSBiYWNrZ3JvdW5kIGFzc2VydGlvbiBiZWNh
dXNlIHRoZSBXZWJDb250ZW50IHByb2Nlc3MgaXMgaG9sZGluZyBsb2NrZWQgZmlsZXMiKTsKICAg
ICAgICAgbV90b2tlbkZvckhvbGRpbmdMb2NrZWRGaWxlcyA9IG1fdGhyb3R0bGVyLmJhY2tncm91
bmRBY3Rpdml0eVRva2VuKCk7CisgICAgfQogfQogCiB2b2lkIFdlYlByb2Nlc3NQcm94eTo6aXNS
ZXNwb25zaXZlKHN0ZDo6ZnVuY3Rpb248dm9pZChib29sIGlzV2ViUHJvY2Vzc1Jlc3BvbnNpdmUp
PiBjYWxsYmFjaykK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>281792</attachid>
            <date>2016-06-21 16:14:38 -0700</date>
            <delta_ts>2016-06-22 10:00:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-159001-20160621161430.patch</filename>
            <type>text/plain</type>
            <size>9905</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAyMjk4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMDI0NGEzNDMwOGRmYTg1
ZmE4NDhiOGZmMTE5ZjFhNzMxNWNjOTY5Zi4uMTJkOTYwMTc3Njc4MDRjZWVkZDY0ZTdiZTRiNWJm
ZjNmYzNiZmRmNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDE2LTA2LTIxICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIGxvZ2dpbmcgcmVsYXRl
ZCB0byBwcm9jZXNzIGFzc2VydGlvbnMgdG8gaGVscCBkZWJ1ZyBwcm9jZXNzIHN1c3BlbnNpb24g
aXNzdWVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NTkwMDEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBB
ZGQgbG9nZ2luZyByZWxhdGVkIHRvIHByb2Nlc3MgYXNzZXJ0aW9ucyB0byBoZWxwIGRlYnVnIHBy
b2Nlc3Mgc3VzcGVuc2lvbiBpc3N1ZXMuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvTmF2
aWdhdGlvblN0YXRlLm1tOgorICAgICAgICAoV2ViS2l0OjpOYXZpZ2F0aW9uU3RhdGU6OmRpZENo
YW5nZUlzTG9hZGluZyk6CisgICAgICAgICogVUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nl
c3NQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzUHJveHk6OmZldGNo
V2Vic2l0ZURhdGEpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUHJvY2Vzc1Byb3h5OjpkZWxl
dGVXZWJzaXRlRGF0YSk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzUHJveHk6OmRl
bGV0ZVdlYnNpdGVEYXRhRm9yT3JpZ2lucyk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9j
ZXNzUHJveHk6OnNldElzSG9sZGluZ0xvY2tlZEZpbGVzKToKKyAgICAgICAgKiBVSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5Ojp1cGRhdGVB
Y3Rpdml0eVRva2VuKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcDoK
KyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Byb3h5OjpzZXRJc0hvbGRpbmdMb2NrZWRGaWxl
cyk6CisKIDIwMTYtMDYtMjEgIEFuZGVycyBDYXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4K
IAogICAgICAgICBCZWdpbiBtb3ZpbmcgdGhlIEFwcGxlIFBheSBjb2RlIHRvIHRoZSBvcGVuIHNv
dXJjZSByZXBvc2l0b3J5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29j
b2EvTmF2aWdhdGlvblN0YXRlLm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL05h
dmlnYXRpb25TdGF0ZS5tbQppbmRleCA4N2Y5NTNiOGFmODVjMzJlNzgzNmE2ZWM1MmYxMDdlNDBj
ZjUxNzJjLi5mMTRiMmE5ZmE3ZmZkYWUyMTQwNDUzNDJmMmJjOGJjMzMwYWFmYTAxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvTmF2aWdhdGlvblN0YXRlLm1tCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9OYXZpZ2F0aW9uU3RhdGUubW0KQEAg
LTgyMSwxMCArODIxLDEzIEBAIHZvaWQgTmF2aWdhdGlvblN0YXRlOjp3aWxsQ2hhbmdlSXNMb2Fk
aW5nKCkKIHZvaWQgTmF2aWdhdGlvblN0YXRlOjpkaWRDaGFuZ2VJc0xvYWRpbmcoKQogewogI2lm
IFBMQVRGT1JNKElPUykKLSAgICBpZiAobV93ZWJWaWV3LT5fcGFnZS0+cGFnZUxvYWRTdGF0ZSgp
LmlzTG9hZGluZygpKQorICAgIGlmIChtX3dlYlZpZXctPl9wYWdlLT5wYWdlTG9hZFN0YXRlKCku
aXNMb2FkaW5nKCkpIHsKKyAgICAgICAgTE9HX0FMV0FZUyhtX3dlYlZpZXctPl9wYWdlLT5pc0Fs
d2F5c09uTG9nZ2luZ0FsbG93ZWQoKSwgIlVJUHJvY2VzcyBpcyB0YWtpbmcgYSBiYWNrZ3JvdW5k
IGFzc2VydGlvbiBiZWNhdXNlIGEgcGFnZSBsb2FkIHN0YXJ0ZWQiKTsKICAgICAgICAgbV9hY3Rp
dml0eVRva2VuID0gbV93ZWJWaWV3LT5fcGFnZS0+cHJvY2VzcygpLnRocm90dGxlcigpLmJhY2tn
cm91bmRBY3Rpdml0eVRva2VuKCk7Ci0gICAgZWxzZQorICAgIH0gZWxzZSB7CisgICAgICAgIExP
R19BTFdBWVMobV93ZWJWaWV3LT5fcGFnZS0+aXNBbHdheXNPbkxvZ2dpbmdBbGxvd2VkKCksICJV
SVByb2Nlc3MgaXMgcmVsZWFzaW5nIGEgYmFja2dyb3VuZCBhc3NlcnRpb24gYmVjYXVzZSBhIHBh
Z2UgbG9hZCBjb21wbGV0ZWQiKTsKICAgICAgICAgbV9hY3Rpdml0eVRva2VuID0gbnVsbHB0cjsK
KyAgICB9CiAjZW5kaWYKIAogICAgIFttX3dlYlZpZXcgZGlkQ2hhbmdlVmFsdWVGb3JLZXk6QCJs
b2FkaW5nIl07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTmV0d29yay9O
ZXR3b3JrUHJvY2Vzc1Byb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9OZXR3b3Jr
L05ldHdvcmtQcm9jZXNzUHJveHkuY3BwCmluZGV4IGQ3ZDM1MDk5ODdiYzRmZDY3MjhhODczNzNl
MmJjNjExM2I2OWVhOTkuLmU0YzQ3OWEyYzg2YmY5MzRjNmZlYzdjNjc5MjY2MjYwNjU0Yzg2Mjcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9j
ZXNzUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdv
cmtQcm9jZXNzUHJveHkuY3BwCkBAIC0xMjYsOSArMTI2LDExIEBAIHZvaWQgTmV0d29ya1Byb2Nl
c3NQcm94eTo6ZmV0Y2hXZWJzaXRlRGF0YShTZXNzaW9uSUQgc2Vzc2lvbklELCBPcHRpb25TZXQ8
V2Vic2l0CiAKICAgICB1aW50NjRfdCBjYWxsYmFja0lEID0gZ2VuZXJhdGVDYWxsYmFja0lEKCk7
CiAgICAgYXV0byB0b2tlbiA9IHRocm90dGxlcigpLmJhY2tncm91bmRBY3Rpdml0eVRva2VuKCk7
CisgICAgTE9HX0FMV0FZUyhzZXNzaW9uSUQuaXNBbHdheXNPbkxvZ2dpbmdBbGxvd2VkKCksICJV
SVByb2Nlc3MgaXMgdGFraW5nIGEgYmFja2dyb3VuZCBhc3NlcnRpb24gYmVjYXVzZSB0aGUgTmV0
d29yayBwcm9jZXNzIGlzIGZldGNoaW5nIFdlYnNpdGUgZGF0YSIpOwogCi0gICAgbV9wZW5kaW5n
RmV0Y2hXZWJzaXRlRGF0YUNhbGxiYWNrcy5hZGQoY2FsbGJhY2tJRCwgW3Rva2VuLCBjb21wbGV0
aW9uSGFuZGxlcl0oV2Vic2l0ZURhdGEgd2Vic2l0ZURhdGEpIHsKKyAgICBtX3BlbmRpbmdGZXRj
aFdlYnNpdGVEYXRhQ2FsbGJhY2tzLmFkZChjYWxsYmFja0lELCBbdG9rZW4sIGNvbXBsZXRpb25I
YW5kbGVyLCBzZXNzaW9uSURdKFdlYnNpdGVEYXRhIHdlYnNpdGVEYXRhKSB7CiAgICAgICAgIGNv
bXBsZXRpb25IYW5kbGVyKFdURk1vdmUod2Vic2l0ZURhdGEpKTsKKyAgICAgICAgTE9HX0FMV0FZ
UyhzZXNzaW9uSUQuaXNBbHdheXNPbkxvZ2dpbmdBbGxvd2VkKCksICJVSVByb2Nlc3MgaXMgcmVs
ZWFzaW5nIGEgYmFja2dyb3VuZCBhc3NlcnRpb24gYmVjYXVzZSB0aGUgTmV0d29yayBwcm9jZXNz
IGlzIGRvbmUgZmV0Y2hpbmcgV2Vic2l0ZSBkYXRhIik7CiAgICAgfSk7CiAKICAgICBzZW5kKE1l
c3NhZ2VzOjpOZXR3b3JrUHJvY2Vzczo6RmV0Y2hXZWJzaXRlRGF0YShzZXNzaW9uSUQsIGRhdGFU
eXBlcywgZmV0Y2hPcHRpb25zLCBjYWxsYmFja0lEKSwgMCk7CkBAIC0xMzgsOSArMTQwLDExIEBA
IHZvaWQgTmV0d29ya1Byb2Nlc3NQcm94eTo6ZGVsZXRlV2Vic2l0ZURhdGEoV2ViQ29yZTo6U2Vz
c2lvbklEIHNlc3Npb25JRCwgT3B0aW9uCiB7CiAgICAgYXV0byBjYWxsYmFja0lEID0gZ2VuZXJh
dGVDYWxsYmFja0lEKCk7CiAgICAgYXV0byB0b2tlbiA9IHRocm90dGxlcigpLmJhY2tncm91bmRB
Y3Rpdml0eVRva2VuKCk7CisgICAgTE9HX0FMV0FZUyhzZXNzaW9uSUQuaXNBbHdheXNPbkxvZ2dp
bmdBbGxvd2VkKCksICJVSVByb2Nlc3MgaXMgdGFraW5nIGEgYmFja2dyb3VuZCBhc3NlcnRpb24g
YmVjYXVzZSB0aGUgTmV0d29yayBwcm9jZXNzIGlzIGRlbGV0aW5nIFdlYnNpdGUgZGF0YSIpOwog
Ci0gICAgbV9wZW5kaW5nRGVsZXRlV2Vic2l0ZURhdGFDYWxsYmFja3MuYWRkKGNhbGxiYWNrSUQs
IFt0b2tlbiwgY29tcGxldGlvbkhhbmRsZXJdIHsKKyAgICBtX3BlbmRpbmdEZWxldGVXZWJzaXRl
RGF0YUNhbGxiYWNrcy5hZGQoY2FsbGJhY2tJRCwgW3Rva2VuLCBjb21wbGV0aW9uSGFuZGxlciwg
c2Vzc2lvbklEXSB7CiAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKCk7CisgICAgICAgIExPR19B
TFdBWVMoc2Vzc2lvbklELmlzQWx3YXlzT25Mb2dnaW5nQWxsb3dlZCgpLCAiVUlQcm9jZXNzIGlz
IHJlbGVhc2luZyBhIGJhY2tncm91bmQgYXNzZXJ0aW9uIGJlY2F1c2UgdGhlIE5ldHdvcmsgcHJv
Y2VzcyBpcyBkb25lIGRlbGV0aW5nIFdlYnNpdGUgZGF0YSIpOwogICAgIH0pOwogICAgIHNlbmQo
TWVzc2FnZXM6Ok5ldHdvcmtQcm9jZXNzOjpEZWxldGVXZWJzaXRlRGF0YShzZXNzaW9uSUQsIGRh
dGFUeXBlcywgbW9kaWZpZWRTaW5jZSwgY2FsbGJhY2tJRCksIDApOwogfQpAQCAtMTUxLDkgKzE1
NSwxMSBAQCB2b2lkIE5ldHdvcmtQcm9jZXNzUHJveHk6OmRlbGV0ZVdlYnNpdGVEYXRhRm9yT3Jp
Z2lucyhTZXNzaW9uSUQgc2Vzc2lvbklELCBPcHRpbwogCiAgICAgdWludDY0X3QgY2FsbGJhY2tJ
RCA9IGdlbmVyYXRlQ2FsbGJhY2tJRCgpOwogICAgIGF1dG8gdG9rZW4gPSB0aHJvdHRsZXIoKS5i
YWNrZ3JvdW5kQWN0aXZpdHlUb2tlbigpOworICAgIExPR19BTFdBWVMoc2Vzc2lvbklELmlzQWx3
YXlzT25Mb2dnaW5nQWxsb3dlZCgpLCAiVUlQcm9jZXNzIGlzIHRha2luZyBhIGJhY2tncm91bmQg
YXNzZXJ0aW9uIGJlY2F1c2UgdGhlIE5ldHdvcmsgcHJvY2VzcyBpcyBkZWxldGluZyBXZWJzaXRl
IGRhdGEgZm9yIHNldmVyYWwgb3JpZ2lucyIpOwogCi0gICAgbV9wZW5kaW5nRGVsZXRlV2Vic2l0
ZURhdGFGb3JPcmlnaW5zQ2FsbGJhY2tzLmFkZChjYWxsYmFja0lELCBbdG9rZW4sIGNvbXBsZXRp
b25IYW5kbGVyXSB7CisgICAgbV9wZW5kaW5nRGVsZXRlV2Vic2l0ZURhdGFGb3JPcmlnaW5zQ2Fs
bGJhY2tzLmFkZChjYWxsYmFja0lELCBbdG9rZW4sIGNvbXBsZXRpb25IYW5kbGVyLCBzZXNzaW9u
SURdIHsKICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoKTsKKyAgICAgICAgTE9HX0FMV0FZUyhz
ZXNzaW9uSUQuaXNBbHdheXNPbkxvZ2dpbmdBbGxvd2VkKCksICJVSVByb2Nlc3MgaXMgcmVsZWFz
aW5nIGEgYmFja2dyb3VuZCBhc3NlcnRpb24gYmVjYXVzZSB0aGUgTmV0d29yayBwcm9jZXNzIGlz
IGRvbmUgZGVsZXRpbmcgV2Vic2l0ZSBkYXRhIGZvciBzZXZlcmFsIG9yaWdpbnMiKTsKICAgICB9
KTsKIAogICAgIFZlY3RvcjxTZWN1cml0eU9yaWdpbkRhdGE+IG9yaWdpbkRhdGE7CkBAIC0zODMs
MTEgKzM4OSwxNCBAQCB2b2lkIE5ldHdvcmtQcm9jZXNzUHJveHk6OmRpZFNldEFzc2VydGlvblN0
YXRlKEFzc2VydGlvblN0YXRlKQogdm9pZCBOZXR3b3JrUHJvY2Vzc1Byb3h5OjpzZXRJc0hvbGRp
bmdMb2NrZWRGaWxlcyhib29sIGlzSG9sZGluZ0xvY2tlZEZpbGVzKQogewogICAgIGlmICghaXNI
b2xkaW5nTG9ja2VkRmlsZXMpIHsKKyAgICAgICAgTE9HX0FMV0FZUyh0cnVlLCAiVUlQcm9jZXNz
IGlzIHJlbGVhc2luZyBhIGJhY2tncm91bmQgYXNzZXJ0aW9uIGJlY2F1c2UgdGhlIE5ldHdvcmsg
cHJvY2VzcyBpcyBubyBsb25nZXIgaG9sZGluZyBsb2NrZWQgZmlsZXMiKTsKICAgICAgICAgbV90
b2tlbkZvckhvbGRpbmdMb2NrZWRGaWxlcyA9IG51bGxwdHI7CiAgICAgICAgIHJldHVybjsKICAg
ICB9Ci0gICAgaWYgKCFtX3Rva2VuRm9ySG9sZGluZ0xvY2tlZEZpbGVzKQorICAgIGlmICghbV90
b2tlbkZvckhvbGRpbmdMb2NrZWRGaWxlcykgeworICAgICAgICBMT0dfQUxXQVlTKHRydWUsICJV
SVByb2Nlc3MgaXMgdGFraW5nIGEgYmFja2dyb3VuZCBhc3NlcnRpb24gYmVjYXVzZSB0aGUgTmV0
d29yayBwcm9jZXNzIGlzIGhvbGRpbmcgbG9ja2VkIGZpbGVzIik7CiAgICAgICAgIG1fdG9rZW5G
b3JIb2xkaW5nTG9ja2VkRmlsZXMgPSBtX3Rocm90dGxlci5iYWNrZ3JvdW5kQWN0aXZpdHlUb2tl
bigpOworICAgIH0KIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCmluZGV4IDllZGFiMzAwOGMzNTZiZTBmZTY4YzEwMzBl
MWUzNTY1ZDAwNDZiYjguLjFiYjc3YmQxYTAyZmNkODczMzcyM2M4ZGJlN2U5N2E5OWM3MzIwN2Mg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCkBAIC0xODAsNiAr
MTgwLDggQEAKICNkZWZpbmUgTUVTU0FHRV9DSEVDSyhhc3NlcnRpb24pIE1FU1NBR0VfQ0hFQ0tf
QkFTRShhc3NlcnRpb24sIG1fcHJvY2Vzcy0+Y29ubmVjdGlvbigpKQogI2RlZmluZSBNRVNTQUdF
X0NIRUNLX1VSTCh1cmwpIE1FU1NBR0VfQ0hFQ0tfQkFTRShtX3Byb2Nlc3MtPmNoZWNrVVJMUmVj
ZWl2ZWRGcm9tV2ViUHJvY2Vzcyh1cmwpLCBtX3Byb2Nlc3MtPmNvbm5lY3Rpb24oKSkKIAorI2Rl
ZmluZSBXRUJQQUdFUFJPWFlfTE9HX0FMV0FZUyguLi4pIExPR19BTFdBWVMoaXNBbHdheXNPbkxv
Z2dpbmdBbGxvd2VkKCksIF9fVkFfQVJHU19fKQorCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsK
IAogLy8gUmVwcmVzZW50cyB0aGUgbnVtYmVyIG9mIHdoZWVsIGV2ZW50cyB3ZSBjYW4gaG9sZCBp
biB0aGUgcXVldWUgYmVmb3JlIHdlIHN0YXJ0IHB1c2hpbmcgdGhlbSBwcmVlbXB0aXZlbHkuCkBA
IC0xNDg4LDYgKzE0OTAsMTEgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmRpc3BhdGNoVmlld1N0YXRl
Q2hhbmdlKCkKICAgICBtX3ZpZXdXYXNFdmVySW5XaW5kb3cgfD0gaXNOb3dJbldpbmRvdzsKIH0K
IAorYm9vbCBXZWJQYWdlUHJveHk6OmlzQWx3YXlzT25Mb2dnaW5nQWxsb3dlZCgpIGNvbnN0Cit7
CisgICAgcmV0dXJuIHNlc3Npb25JRCgpLmlzQWx3YXlzT25Mb2dnaW5nQWxsb3dlZCgpOworfQor
CiB2b2lkIFdlYlBhZ2VQcm94eTo6dXBkYXRlQWN0aXZpdHlUb2tlbigpCiB7CiAgICAgaWYgKG1f
dmlld1N0YXRlICYgVmlld1N0YXRlOjpJc1Zpc3VhbGx5SWRsZSkKQEAgLTE0OTYsMTAgKzE1MDMs
MTYgQEAgdm9pZCBXZWJQYWdlUHJveHk6OnVwZGF0ZUFjdGl2aXR5VG9rZW4oKQogICAgICAgICBt
X3BhZ2VJc1VzZXJPYnNlcnZhYmxlQ291bnQgPSBtX3Byb2Nlc3MtPnByb2Nlc3NQb29sKCkudXNl
ck9ic2VydmFibGVQYWdlQ291bnQoKTsKIAogI2lmIFBMQVRGT1JNKElPUykKLSAgICBpZiAoIWlz
Vmlld1Zpc2libGUoKSAmJiAhbV9hbHdheXNSdW5zQXRGb3JlZ3JvdW5kUHJpb3JpdHkpCisgICAg
aWYgKCFpc1ZpZXdWaXNpYmxlKCkgJiYgIW1fYWx3YXlzUnVuc0F0Rm9yZWdyb3VuZFByaW9yaXR5
KSB7CisgICAgICAgIFdFQlBBR0VQUk9YWV9MT0dfQUxXQVlTKCJVSVByb2Nlc3MgaXMgcmVsZWFz
aW5nIGEgZm9yZWdyb3VuZCBhc3NlcnRpb24gYmVjYXVzZSB0aGUgdmlldyBpcyBubyBsb25nZXIg
dmlzaWJsZSIpOwogICAgICAgICBtX2FjdGl2aXR5VG9rZW4gPSBudWxscHRyOwotICAgIGVsc2Ug
aWYgKCFtX2FjdGl2aXR5VG9rZW4pCisgICAgfSBlbHNlIGlmICghbV9hY3Rpdml0eVRva2VuKSB7
CisgICAgICAgIGlmIChpc1ZpZXdWaXNpYmxlKCkpCisgICAgICAgICAgICBXRUJQQUdFUFJPWFlf
TE9HX0FMV0FZUygiVUlQcm9jZXNzIGlzIHRha2luZyBhIGZvcmVncm91bmQgYXNzZXJ0aW9uIGJl
Y2F1c2UgdGhlIHZpZXcgaXMgdmlzaWJsZSIpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBX
RUJQQUdFUFJPWFlfTE9HX0FMV0FZUygiVUlQcm9jZXNzIGlzIHRha2luZyBhIGZvcmVncm91bmQg
YXNzZXJ0aW9uIGV2ZW4gdGhvdWdoIHRoZSB2aWV3IGlzIG5vdCB2aXNpYmxlIGJlY2F1c2UgbV9h
bHdheXNSdW5zQXRGb3JlZ3JvdW5kUHJpb3JpdHkgaXMgdHJ1ZSIpOwogICAgICAgICBtX2FjdGl2
aXR5VG9rZW4gPSBtX3Byb2Nlc3MtPnRocm90dGxlcigpLmZvcmVncm91bmRBY3Rpdml0eVRva2Vu
KCk7CisgICAgfQogI2VuZGlmCiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkuaAppbmRleCA2NGY0ODY0ZjQyYWY2ZDIwNjkwZDA3NjQ5YzlmNDE0YzdmZjkxNWM2Li4wNWM3
YmVlYTg5NmYwMmE2ZjgxMjM1OWNlMTk3MjY2YTM3ZTg4NjY5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5oCkBAIC0xMTE2LDYgKzExMTYsOCBAQCBwdWJsaWM6CiAKICAg
ICBib29sIGhhc0hhZFNlbGVjdGlvbkNoYW5nZXNGcm9tVXNlckludGVyYWN0aW9uKCkgY29uc3Qg
eyByZXR1cm4gbV9oYXNIYWRTZWxlY3Rpb25DaGFuZ2VzRnJvbVVzZXJJbnRlcmFjdGlvbjsgfQog
CisgICAgYm9vbCBpc0Fsd2F5c09uTG9nZ2luZ0FsbG93ZWQoKSBjb25zdDsKKwogcHJpdmF0ZToK
ICAgICBXZWJQYWdlUHJveHkoUGFnZUNsaWVudCYsIFdlYlByb2Nlc3NQcm94eSYsIHVpbnQ2NF90
IHBhZ2VJRCwgUmVmPEFQSTo6UGFnZUNvbmZpZ3VyYXRpb24+JiYpOwogICAgIHZvaWQgcGxhdGZv
cm1Jbml0aWFsaXplKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
UHJvY2Vzc1Byb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJv
eHkuY3BwCmluZGV4IDMzOGE4MmRiOGUyNTc0NjczMjJiOGFiODQ5MzA2NGUyNTRmMzUyNWEuLjhm
ZWM2YjI2MDliNTliNTE4MzI3YjRkOTUxZDkyOWRmNDY5ZTZhMmIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3BwCkBAIC05ODcsMTEgKzk4NywxNCBAQCB2
b2lkIFdlYlByb2Nlc3NQcm94eTo6ZGlkU2V0QXNzZXJ0aW9uU3RhdGUoQXNzZXJ0aW9uU3RhdGUg
c3RhdGUpCiB2b2lkIFdlYlByb2Nlc3NQcm94eTo6c2V0SXNIb2xkaW5nTG9ja2VkRmlsZXMoYm9v
bCBpc0hvbGRpbmdMb2NrZWRGaWxlcykKIHsKICAgICBpZiAoIWlzSG9sZGluZ0xvY2tlZEZpbGVz
KSB7CisgICAgICAgIExPR19BTFdBWVModHJ1ZSwgIlVJUHJvY2VzcyBpcyByZWxlYXNpbmcgYSBi
YWNrZ3JvdW5kIGFzc2VydGlvbiBiZWNhdXNlIHRoZSBXZWJDb250ZW50IHByb2Nlc3MgaXMgbm8g
bG9uZ2VyIGhvbGRpbmcgbG9ja2VkIGZpbGVzIik7CiAgICAgICAgIG1fdG9rZW5Gb3JIb2xkaW5n
TG9ja2VkRmlsZXMgPSBudWxscHRyOwogICAgICAgICByZXR1cm47CiAgICAgfQotICAgIGlmICgh
bV90b2tlbkZvckhvbGRpbmdMb2NrZWRGaWxlcykKKyAgICBpZiAoIW1fdG9rZW5Gb3JIb2xkaW5n
TG9ja2VkRmlsZXMpIHsKKyAgICAgICAgTE9HX0FMV0FZUyh0cnVlLCAiVUlQcm9jZXNzIGlzIHRh
a2luZyBhIGJhY2tncm91bmQgYXNzZXJ0aW9uIGJlY2F1c2UgdGhlIFdlYkNvbnRlbnQgcHJvY2Vz
cyBpcyBob2xkaW5nIGxvY2tlZCBmaWxlcyIpOwogICAgICAgICBtX3Rva2VuRm9ySG9sZGluZ0xv
Y2tlZEZpbGVzID0gbV90aHJvdHRsZXIuYmFja2dyb3VuZEFjdGl2aXR5VG9rZW4oKTsKKyAgICB9
CiB9CiAKIHZvaWQgV2ViUHJvY2Vzc1Byb3h5Ojppc1Jlc3BvbnNpdmUoc3RkOjpmdW5jdGlvbjx2
b2lkKGJvb2wgaXNXZWJQcm9jZXNzUmVzcG9uc2l2ZSk+IGNhbGxiYWNrKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>