<?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>101100</bug_id>
          
          <creation_ts>2012-11-02 14:12:31 -0700</creation_ts>
          <short_desc>[BlackBerry] Automatically go fullscreen on video play</short_desc>
          <delta_ts>2012-11-06 07:28:26 -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 BlackBerry</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="Max Feil">mfeil</reporter>
          <assigned_to name="Max Feil">mfeil</assigned_to>
          <cc>eric.carlson</cc>
    
    <cc>feature-media-reviews</cc>
    
    <cc>jgriggs</cc>
    
    <cc>jonathan.dong.webkit</cc>
    
    <cc>mifenton</cc>
    
    <cc>rwlbuis</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>757565</commentid>
    <comment_count>0</comment_count>
    <who name="Max Feil">mfeil</who>
    <bug_when>2012-11-02 14:12:31 -0700</bug_when>
    <thetext>There is a requirement to have HTML5 video automatically enter fullscreen when the video starts playing. This patch implements this feature, with restrictions. The main restriction is adherence to WebKit&apos;s philosophy of only entering fullscreen due to a user gesture. This is important in order to avoid pop-up advertisements and other unwanted fullscreen content. One consequence of this is that video elements with the autoplay attribute will not automatically enter fullscreen.

Other caveats:
- This feature applies only to &quot;small screen&quot; devices where automatically going fullscreen makes more sense.
- Fullscreen will only be entered automatically when the video is played from the beginning (current time is zero). It is assumed that if the user is resuming play from a paused state and is not in fullscreen mode, then they exited fullscreen mode intentionally.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>757632</commentid>
    <comment_count>1</comment_count>
      <attachid>172148</attachid>
    <who name="Max Feil">mfeil</who>
    <bug_when>2012-11-02 14:56:54 -0700</bug_when>
    <thetext>Created attachment 172148
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>757749</commentid>
    <comment_count>2</comment_count>
      <attachid>172148</attachid>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2012-11-02 16:45:05 -0700</bug_when>
    <thetext>Comment on attachment 172148
Patch

It looks good to me. I will let Eric to have a change to look at the cross platform additions</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>757788</commentid>
    <comment_count>3</comment_count>
      <attachid>172148</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2012-11-02 17:26:31 -0700</bug_when>
    <thetext>Comment on attachment 172148
Patch

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

Marking r+, but I would prefer the name change.

&gt; Source/WebCore/html/HTMLMediaElement.cpp:4544
&gt; +bool HTMLMediaElement::mediaPlayerIsFullscreenRestricted() const
&gt; +{
&gt; +    return userGestureRequiredForFullscreen() &amp;&amp; !ScriptController::processingUserGesture();
&gt; +}

I think it would be better to flip the meaning of the name so you ask if fullscreen is allowed instead of restricted. Maybe &quot;mediaPlayerIsFullscreenAllowed&quot;, or &quot;mediaPlayerIsFullscreenPermitted&quot;?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>758815</commentid>
    <comment_count>4</comment_count>
      <attachid>172385</attachid>
    <who name="Max Feil">mfeil</who>
    <bug_when>2012-11-05 13:13:47 -0800</bug_when>
    <thetext>Created attachment 172385
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>758817</commentid>
    <comment_count>5</comment_count>
      <attachid>172385</attachid>
    <who name="Max Feil">mfeil</who>
    <bug_when>2012-11-05 13:17:41 -0800</bug_when>
    <thetext>Comment on attachment 172385
Patch

Marking reviewed based on r+ given to previous patch. The only change in this patch is a simple one to rename boolean function mediaPlayerIsFullscreenRestricted() to mediaPlayerIsFullscreenPermitted() and change its sense.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>758924</commentid>
    <comment_count>6</comment_count>
      <attachid>172385</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2012-11-05 14:52:19 -0800</bug_when>
    <thetext>Comment on attachment 172385
Patch

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

&gt; Source/WebCore/ChangeLog:38
&gt; +        (WebCore::MediaPlayerClient::mediaPlayerIsFullscreenRestricted):

Hate to be pedantic, but this does not match the renaming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>759046</commentid>
    <comment_count>7</comment_count>
      <attachid>172442</attachid>
    <who name="Max Feil">mfeil</who>
    <bug_when>2012-11-05 16:55:27 -0800</bug_when>
    <thetext>Created attachment 172442
Patch

Good eye, Rob. I forgot about the change log.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>759658</commentid>
    <comment_count>8</comment_count>
      <attachid>172442</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-06 07:28:22 -0800</bug_when>
    <thetext>Comment on attachment 172442
Patch

Clearing flags on attachment: 172442

Committed r133606: &lt;http://trac.webkit.org/changeset/133606&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>759659</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-06 07:28:26 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>172148</attachid>
            <date>2012-11-02 14:56:54 -0700</date>
            <delta_ts>2012-11-05 13:13:44 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-101100-20121102175513.patch</filename>
            <type>text/plain</type>
            <size>12199</size>
            <attacher name="Max Feil">mfeil</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMzMzUwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWUyMzU5MjZmMDk4YWE5
OWVmZTY4MWY4Yzc1MDFiNDM0MjA3ZmZkYS4uMzgwYjc0ZTQyMTlhOTI3OTc5YmRhMTJlMDFjNjQ1
OWJlZjJhNjZhZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ5IEBACisyMDEyLTExLTAyICBNYXgg
RmVpbCAgPG1mZWlsQHJpbS5jb20+CisKKyAgICAgICAgW0JsYWNrQmVycnldIEF1dG9tYXRpY2Fs
bHkgZ28gZnVsbHNjcmVlbiBvbiB2aWRlbyBwbGF5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDExMDAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBUaGVyZSBpcyBhIHJlcXVpcmVtZW50IHRvIGhhdmUgSFRN
TDUgdmlkZW8gYXV0b21hdGljYWxseSBlbnRlcgorICAgICAgICBmdWxsc2NyZWVuIHdoZW4gYSB2
aWRlbyBzdGFydHMgcGxheWluZyAoUFIxMzE3NzQpLiBUaGlzIGNoYW5nZQorICAgICAgICBpbXBs
ZW1lbnRzIHRoaXMgZmVhdHVyZSwgd2l0aCByZXN0cmljdGlvbnMuIFRoZSBtYWluIHJlc3RyaWN0
aW9uCisgICAgICAgIGlzIGFkaGVyZW5jZSB0byBXZWJLaXQncyBwaGlsb3NvcGh5IG9mIG9ubHkg
ZW50ZXJpbmcgZnVsbHNjcmVlbgorICAgICAgICBkdWUgdG8gYSB1c2VyIGdlc3R1cmUuIFRoaXMg
aXMgaW1wb3J0YW50IGluIG9yZGVyIHRvIGF2b2lkCisgICAgICAgIHBvcC11cCBhZHZlcnRpc2Vt
ZW50cyBhbmQgb3RoZXIgdW53YW50ZWQgZnVsbHNjcmVlbiBjb250ZW50LgorICAgICAgICBPbmUg
Y29uc2VxdWVuY2Ugb2YgdGhpcyBpcyB0aGF0IHZpZGVvIGVsZW1lbnRzIHdpdGggdGhlIGF1dG9w
bGF5CisgICAgICAgIGF0dHJpYnV0ZSB3aWxsIG5vdCBhdXRvbWF0aWNhbGx5IGVudGVyIGZ1bGxz
Y3JlZW4uCisKKyAgICAgICAgT3RoZXIgY2F2ZWF0czoKKyAgICAgICAgLSBUaGlzIGZlYXR1cmUg
YXBwbGllcyBvbmx5IHRvICJzbWFsbCBzY3JlZW4iIGRldmljZXMgd2hlcmUKKyAgICAgICAgYXV0
b21hdGljYWxseSBnb2luZyBmdWxsc2NyZWVuIG1ha2VzIG1vcmUgc2Vuc2UuCisgICAgICAgIC0g
RnVsbHNjcmVlbiB3aWxsIG9ubHkgYmUgZW50ZXJlZCBhdXRvbWF0aWNhbGx5IHdoZW4gdGhlCisg
ICAgICAgIHZpZGVvIGlzIHBsYXllZCBmcm9tIHRoZSBiZWdpbm5pbmcgKGN1cnJlbnQgdGltZSBp
cyB6ZXJvKS4KKyAgICAgICAgSXQgaXMgYXNzdW1lZCB0aGF0IGlmIHRoZSB1c2VyIGlzIHJlc3Vt
aW5nIHBsYXkgZnJvbSBhIHBhdXNlZAorICAgICAgICBzdGF0ZSBhbmQgaXMgbm90IGluIGZ1bGxz
Y3JlZW4gbW9kZSwgdGhlbiB0aGV5IGV4aXRlZCBmdWxsc2NyZWVuCisgICAgICAgIG1vZGUgaW50
ZW50aW9uYWxseS4KKworICAgICAgICBUZXN0OiBwbGF0Zm9ybS9ibGFja2JlcnJ5L21lZGlhL3Zp
ZGVvLWF1dG9tYXRpYy1mdWxsc2NyZWVuLmh0bWwKKworICAgICAgICAqIGh0bWwvSFRNTE1lZGlh
RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjptZWRpYVBs
YXllckVudGVyRnVsbHNjcmVlbik6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNv
cmU6OkhUTUxNZWRpYUVsZW1lbnQ6Om1lZGlhUGxheWVySXNGdWxsc2NyZWVuKToKKyAgICAgICAg
KFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6Om1lZGlhUGxheWVySXNGdWxsc2NyZWVuUmVzdHJp
Y3RlZCk6CisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50Lmg6CisgICAgICAgIChIVE1M
TWVkaWFFbGVtZW50KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5o
OgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJDbGllbnQ6Om1lZGlhUGxheWVyRW50ZXJG
dWxsc2NyZWVuKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyQ2xpZW50OjptZWRpYVBs
YXllcklzRnVsbHNjcmVlbik6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllckNsaWVudDo6
bWVkaWFQbGF5ZXJJc0Z1bGxzY3JlZW5SZXN0cmljdGVkKToKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9ibGFja2JlcnJ5L01lZGlhUGxheWVyUHJpdmF0ZUJsYWNrQmVycnkuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlOjpwbGF5KToKKyAgICAgICAgKFdlYkNv
cmU6Ok1lZGlhUGxheWVyUHJpdmF0ZTo6d2FpdE1ldGFkYXRhVGltZXJGaXJlZCk6CisgICAgICAg
IChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGU6OmNvbmRpdGlvbmFsbHlHb0Z1bGxzY3JlZW5B
ZnRlclBsYXkpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvYmxhY2tiZXJyeS9NZWRpYVBsYXllclByaXZhdGVCbGFja0JlcnJ5Lmg6CisgICAgICAgIChN
ZWRpYVBsYXllclByaXZhdGUpOgorCiAyMDEyLTExLTAyICBMaWFuZ2h1aSBDaGVuICA8bGlhY2hl
bkByaW0uY29tPgogCiAgICAgICAgIFtCbGFja0JlcnJ5XSBSZXNvdXJjZUhhbmRsZTo6Y2FuY2Vs
KCkgaW4gUmVzb3VyY2VIYW5kbGVCbGFja0JlcnJ5IHNob3VsZCBzZXRDbGllbnQgdG8gbnVsbC4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCmluZGV4IDM3MmYxZjVjMmUw
ODk2ZGVhZThmNDYwMDk4MjJlMGI2NGQ1YzM0M2UuLjQ5YjVjM2QyMDE0YjVlMjA0NzJkMmZmODUy
NmIzOGZhNGEyMmNhNmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlh
RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNw
cApAQCAtNDUyMywxMSArNDUyMywyNiBAQCBTdHJpbmcgSFRNTE1lZGlhRWxlbWVudDo6bWVkaWFQ
bGF5ZXJEb2N1bWVudEhvc3QoKSBjb25zdAogICAgIHJldHVybiBkb2N1bWVudCgpLT51cmwoKS5o
b3N0KCk7CiB9CiAKK3ZvaWQgSFRNTE1lZGlhRWxlbWVudDo6bWVkaWFQbGF5ZXJFbnRlckZ1bGxz
Y3JlZW4oKQoreworICAgIGVudGVyRnVsbHNjcmVlbigpOworfQorCiB2b2lkIEhUTUxNZWRpYUVs
ZW1lbnQ6Om1lZGlhUGxheWVyRXhpdEZ1bGxzY3JlZW4oKQogewogICAgIGV4aXRGdWxsc2NyZWVu
KCk7CiB9CiAKK2Jvb2wgSFRNTE1lZGlhRWxlbWVudDo6bWVkaWFQbGF5ZXJJc0Z1bGxzY3JlZW4o
KSBjb25zdAoreworICAgIHJldHVybiBpc0Z1bGxzY3JlZW4oKTsKK30KKworYm9vbCBIVE1MTWVk
aWFFbGVtZW50OjptZWRpYVBsYXllcklzRnVsbHNjcmVlblJlc3RyaWN0ZWQoKSBjb25zdAorewor
ICAgIHJldHVybiB1c2VyR2VzdHVyZVJlcXVpcmVkRm9yRnVsbHNjcmVlbigpICYmICFTY3JpcHRD
b250cm9sbGVyOjpwcm9jZXNzaW5nVXNlckdlc3R1cmUoKTsKK30KKwogYm9vbCBIVE1MTWVkaWFF
bGVtZW50OjptZWRpYVBsYXllcklzVmlkZW8oKSBjb25zdAogewogICAgIHJldHVybiBpc1ZpZGVv
KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCmluZGV4IGQ1ODliNmQ0ODcw
MzdkNzE0NDIxYTExNWVkMmZiODYwZGE0Yzk0ZGMuLjc0M2ZmYzA4OWRiZTYyNmY4YTYzZjM5ZWM2
NmYzOTgzNDRmMGI5NTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlh
RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCkBA
IC00MjgsNyArNDI4LDEwIEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCBib29sIG1lZGlhUGxheWVy
TmVlZHNTaXRlU3BlY2lmaWNIYWNrcygpIGNvbnN0IE9WRVJSSURFOwogICAgIHZpcnR1YWwgU3Ry
aW5nIG1lZGlhUGxheWVyRG9jdW1lbnRIb3N0KCkgY29uc3QgT1ZFUlJJREU7CiAKKyAgICB2aXJ0
dWFsIHZvaWQgbWVkaWFQbGF5ZXJFbnRlckZ1bGxzY3JlZW4oKSBPVkVSUklERTsKICAgICB2aXJ0
dWFsIHZvaWQgbWVkaWFQbGF5ZXJFeGl0RnVsbHNjcmVlbigpIE9WRVJSSURFOworICAgIHZpcnR1
YWwgYm9vbCBtZWRpYVBsYXllcklzRnVsbHNjcmVlbigpIGNvbnN0IE9WRVJSSURFOworICAgIHZp
cnR1YWwgYm9vbCBtZWRpYVBsYXllcklzRnVsbHNjcmVlblJlc3RyaWN0ZWQoKSBjb25zdCBPVkVS
UklERTsKICAgICB2aXJ0dWFsIGJvb2wgbWVkaWFQbGF5ZXJJc1ZpZGVvKCkgY29uc3QgT1ZFUlJJ
REU7CiAgICAgdmlydHVhbCBMYXlvdXRSZWN0IG1lZGlhUGxheWVyQ29udGVudEJveFJlY3QoKSBj
b25zdCBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgbWVkaWFQbGF5ZXJTZXRTaXplKGNvbnN0
IEludFNpemUmKSBPVkVSUklERTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL01lZGlhUGxheWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9NZWRpYVBsYXllci5oCmluZGV4IGJlOTNlODcwMWE4YTk3MzRhNzEzNjE4OTZkMDVmODQxNzA4
ODYwMDMuLjFhNDE3ZDRlMmVjOGVmNGFlMjE1N2E4NmI4MjBkNTM3OTE2YTY1YmMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaApAQCAtMTkzLDcg
KzE5MywxMCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBTdHJpbmcgbWVkaWFQbGF5ZXJSZWZlcnJl
cigpIGNvbnN0IHsgcmV0dXJuIFN0cmluZygpOyB9CiAgICAgdmlydHVhbCBTdHJpbmcgbWVkaWFQ
bGF5ZXJVc2VyQWdlbnQoKSBjb25zdCB7IHJldHVybiBTdHJpbmcoKTsgfQogICAgIHZpcnR1YWwg
Q09SU01vZGUgbWVkaWFQbGF5ZXJDT1JTTW9kZSgpIGNvbnN0IHsgcmV0dXJuIFVuc3BlY2lmaWVk
OyB9CisgICAgdmlydHVhbCB2b2lkIG1lZGlhUGxheWVyRW50ZXJGdWxsc2NyZWVuKCkgeyB9CiAg
ICAgdmlydHVhbCB2b2lkIG1lZGlhUGxheWVyRXhpdEZ1bGxzY3JlZW4oKSB7IH0KKyAgICB2aXJ0
dWFsIGJvb2wgbWVkaWFQbGF5ZXJJc0Z1bGxzY3JlZW4oKSBjb25zdCB7IHJldHVybiBmYWxzZTsg
fQorICAgIHZpcnR1YWwgYm9vbCBtZWRpYVBsYXllcklzRnVsbHNjcmVlblJlc3RyaWN0ZWQoKSBj
b25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwgYm9vbCBtZWRpYVBsYXllcklzVmlk
ZW8oKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwgTGF5b3V0UmVjdCBtZWRp
YVBsYXllckNvbnRlbnRCb3hSZWN0KCkgY29uc3QgeyByZXR1cm4gTGF5b3V0UmVjdCgpOyB9CiAg
ICAgdmlydHVhbCB2b2lkIG1lZGlhUGxheWVyU2V0U2l6ZShjb25zdCBJbnRTaXplJikgeyB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ibGFja2JlcnJ5L01l
ZGlhUGxheWVyUHJpdmF0ZUJsYWNrQmVycnkuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvYmxhY2tiZXJyeS9NZWRpYVBsYXllclByaXZhdGVCbGFja0JlcnJ5LmNwcAppbmRl
eCBlYTNjODk1NTA2ZmRmNGZkZTU2NjZhNDFjMzk1ZTAxYTY0OTJiOWY2Li45OGIxNWRlNDIzODQ0
NGUzM2IwMWE4YzE1YWYwMGUwNzNlNjUzZmZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9ibGFja2JlcnJ5L01lZGlhUGxheWVyUHJpdmF0ZUJsYWNrQmVycnku
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2JsYWNrYmVycnkvTWVk
aWFQbGF5ZXJQcml2YXRlQmxhY2tCZXJyeS5jcHAKQEAgLTM5LDYgKzM5LDcgQEAKICNpbmNsdWRl
ICJUaW1lUmFuZ2VzLmgiCiAjaW5jbHVkZSAiV2ViUGFnZUNsaWVudC5oIgogCisjaW5jbHVkZSA8
QmxhY2tCZXJyeVBsYXRmb3JtRGV2aWNlSW5mby5oPgogI2luY2x1ZGUgPEJsYWNrQmVycnlQbGF0
Zm9ybVNldHRpbmdzLmg+CiAjaW5jbHVkZSA8RnJhbWVMb2FkZXJDbGllbnRCbGFja0JlcnJ5Lmg+
CiAjaW5jbHVkZSA8c2V0PgpAQCAtMTg3LDggKzE4OCwxMSBAQCB2b2lkIE1lZGlhUGxheWVyUHJp
dmF0ZTo6cHJlcGFyZVRvUGxheSgpCiAKIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlOjpwbGF5KCkK
IHsKLSAgICBpZiAobV9wbGF0Zm9ybVBsYXllcikKKyAgICBpZiAobV9wbGF0Zm9ybVBsYXllcikg
ewogICAgICAgICBtX3BsYXRmb3JtUGxheWVyLT5wbGF5KCk7CisgICAgICAgIGlmIChtX3BsYXRm
b3JtUGxheWVyLT5pc01ldGFkYXRhUmVhZHkoKSkKKyAgICAgICAgICAgIGNvbmRpdGlvbmFsbHlH
b0Z1bGxzY3JlZW5BZnRlclBsYXkoKTsKKyAgICB9CiB9CiAKIHZvaWQgTWVkaWFQbGF5ZXJQcml2
YXRlOjpwYXVzZSgpCkBAIC02NjMsNiArNjY3LDcgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGU6
OndhaXRNZXRhZGF0YVRpbWVyRmlyZWQoVGltZXI8TWVkaWFQbGF5ZXJQcml2YXRlPiopCiB7CiAg
ICAgaWYgKG1fcGxhdGZvcm1QbGF5ZXItPmlzTWV0YWRhdGFSZWFkeSgpKSB7CiAgICAgICAgIG1f
cGxhdGZvcm1QbGF5ZXItPnBsYXlXaXRoTWV0YWRhdGFSZWFkeSgpOworICAgICAgICBjb25kaXRp
b25hbGx5R29GdWxsc2NyZWVuQWZ0ZXJQbGF5KCk7CiAgICAgICAgIG1fd2FpdE1ldGFkYXRhUG9w
RGlhbG9nQ291bnRlciA9IDA7CiAgICAgICAgIHJldHVybjsKICAgICB9CkBAIC02NzksOSArNjg0
LDEwIEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlOjp3YWl0TWV0YWRhdGFUaW1lckZpcmVkKFRp
bWVyPE1lZGlhUGxheWVyUHJpdmF0ZT4qKQogICAgIGlmICghd2FpdCkKICAgICAgICAgb25QYXVz
ZU5vdGlmaWVkKCk7CiAgICAgZWxzZSB7Ci0gICAgICAgIGlmIChtX3BsYXRmb3JtUGxheWVyLT5p
c01ldGFkYXRhUmVhZHkoKSkKKyAgICAgICAgaWYgKG1fcGxhdGZvcm1QbGF5ZXItPmlzTWV0YWRh
dGFSZWFkeSgpKSB7CiAgICAgICAgICAgICBtX3BsYXRmb3JtUGxheWVyLT5wbGF5V2l0aE1ldGFk
YXRhUmVhZHkoKTsKLSAgICAgICAgZWxzZQorICAgICAgICAgICAgY29uZGl0aW9uYWxseUdvRnVs
bHNjcmVlbkFmdGVyUGxheSgpOworICAgICAgICB9IGVsc2UKICAgICAgICAgICAgIG1fd2FpdE1l
dGFkYXRhVGltZXIuc3RhcnRPbmVTaG90KGNoZWNrTWV0YWRhdGFSZWFkeUludGVydmFsKTsKICAg
ICB9CiB9CkBAIC05NjMsNiArOTY5LDI5IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlOjpkcmF3
QnVmZmVyaW5nQW5pbWF0aW9uKGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiBtYXRyCiB9CiAj
ZW5kaWYKIAordm9pZCBNZWRpYVBsYXllclByaXZhdGU6OmNvbmRpdGlvbmFsbHlHb0Z1bGxzY3Jl
ZW5BZnRlclBsYXkoKQoreworICAgIEJsYWNrQmVycnk6OlBsYXRmb3JtOjpEZXZpY2VJbmZvKiBp
bmZvID0gQmxhY2tCZXJyeTo6UGxhdGZvcm06OkRldmljZUluZm86Omluc3RhbmNlKCk7CisgICAg
aWYgKGhhc1ZpZGVvKCkgJiYgIW1fd2ViQ29yZVBsYXllci0+bWVkaWFQbGF5ZXJDbGllbnQoKS0+
bWVkaWFQbGF5ZXJJc0Z1bGxzY3JlZW5SZXN0cmljdGVkKCkgJiYgaW5mby0+aXNNb2JpbGUoKSkg
eworICAgICAgICAvLyBUaGlzIGlzIGEgbW9iaWxlIGRldmljZSAoc21hbGwgc2NyZWVuKSwgbm90
IGEgdGFibGV0LCBzbyB3ZQorICAgICAgICAvLyBlbnRlciBmdWxsc2NyZWVuIHZpZGVvIG9uIHVz
ZXItaW5pdGlhdGVkIHBsYXlzLgorICAgICAgICBib29sIG5vdGhpbmdJc0Z1bGxzY3JlZW4gPSAh
bV93ZWJDb3JlUGxheWVyLT5tZWRpYVBsYXllckNsaWVudCgpLT5tZWRpYVBsYXllcklzRnVsbHNj
cmVlbigpOworI2lmIEVOQUJMRShGVUxMU0NSRUVOX0FQSSkKKyAgICAgICAgaWYgKG1fd2ViQ29y
ZVBsYXllci0+bWVkaWFQbGF5ZXJDbGllbnQoKS0+bWVkaWFQbGF5ZXJPd25pbmdEb2N1bWVudCgp
LT53ZWJraXRJc0Z1bGxTY3JlZW4oKSkKKyAgICAgICAgICAgIG5vdGhpbmdJc0Z1bGxzY3JlZW4g
PSBmYWxzZTsKKyNlbmRpZgorICAgICAgICBpZiAobm90aGluZ0lzRnVsbHNjcmVlbiAmJiBjdXJy
ZW50VGltZSgpID09IDAuMGYpIHsKKyAgICAgICAgICAgIC8vIE9ubHkgZW50ZXIgZnVsbHNjcmVl
biB3aGVuIHBsYXlpbmcgZnJvbSB0aGUgYmVnaW5uaW5nLiBEb2luZworICAgICAgICAgICAgLy8g
c28gb24gZXZlcnkgcGxheSBpcyBzdXJlIHRvIGFubm95IHRoZSB1c2VyIHdobyBkb2VzIG5vdCB3
YW50CisgICAgICAgICAgICAvLyB0byB3YXRjaCB0aGUgdmlkZW8gZnVsbHNjcmVlbi4gTm90ZSB0
aGF0IHRoZSBmb2xsb3dpbmcgY2FsbAorICAgICAgICAgICAgLy8gd2lsbCBmYWlsIGlmIHdlIGFy
ZSBub3QgaGVyZSBkdWUgdG8gYSB1c2VyIGdlc3R1cmUsIGFzIHBlciB0aGUKKyAgICAgICAgICAg
IC8vIGNoZWNrIGluIERvY3VtZW50OjpyZXF1ZXN0RnVsbFNjcmVlbkZvckVsZW1lbnQoKSB0byBw
cmV2ZW50CisgICAgICAgICAgICAvLyBwb3B1cHMuCisgICAgICAgICAgICBtX3dlYkNvcmVQbGF5
ZXItPm1lZGlhUGxheWVyQ2xpZW50KCktPm1lZGlhUGxheWVyRW50ZXJGdWxsc2NyZWVuKCk7Cisg
ICAgICAgIH0KKyAgICB9Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8v
IEVOQUJMRShWSURFTykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2JsYWNrYmVycnkvTWVkaWFQbGF5ZXJQcml2YXRlQmxhY2tCZXJyeS5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYmxhY2tiZXJyeS9NZWRpYVBsYXllclByaXZhdGVCbGFj
a0JlcnJ5LmgKaW5kZXggN2I2NjU0ZGNlNDg4NTBkOWNhMzI2OTMyZjUyNTY2NDZkYTg0NDg5NS4u
NTg4ZTcxZmYxMzFjMzc4ZDVjZjgwNmYyY2U1N2Q0YzA1NjBjMWFjZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYmxhY2tiZXJyeS9NZWRpYVBsYXllclByaXZh
dGVCbGFja0JlcnJ5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYmxh
Y2tiZXJyeS9NZWRpYVBsYXllclByaXZhdGVCbGFja0JlcnJ5LmgKQEAgLTE3MCw2ICsxNzAsNyBA
QCBwcml2YXRlOgogICAgIGJvb2wgbV9tZWRpYUlzQnVmZmVyaW5nOwogI2VuZGlmCiAKKyAgICB2
b2lkIGNvbmRpdGlvbmFsbHlHb0Z1bGxzY3JlZW5BZnRlclBsYXkoKTsKICAgICB2b2lkIHVzZXJE
cml2ZW5TZWVrVGltZXJGaXJlZChUaW1lcjxNZWRpYVBsYXllclByaXZhdGU+Kik7CiAgICAgVGlt
ZXI8TWVkaWFQbGF5ZXJQcml2YXRlPiBtX3VzZXJEcml2ZW5TZWVrVGltZXI7CiAgICAgZmxvYXQg
bV9sYXN0U2Vla1RpbWU7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggY2VmOWY5MDg3N2IzZDM0ZjViZGFlNWU5MGQyYzc5ODJk
ZDAzYjU5ZC4uYThhYjE1NmFmYTk1N2U1OWFlYjg2M2Q1NTkxZGQwYTQyOTk0YjUwZSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE4IEBACisyMDEyLTExLTAyICBNYXggRmVpbCAgPG1mZWlsQHJpbS5jb20+CisK
KyAgICAgICAgW0JsYWNrQmVycnldIEF1dG9tYXRpY2FsbHkgZ28gZnVsbHNjcmVlbiBvbiB2aWRl
byBwbGF5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
MDExMDAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBU
ZXN0IHRoYXQgZnVsbHNjcmVlbiBpcyBlbnRlcmVkIGF1dG9tYXRpY2FsbHkgd2hlbiBwbGF5IGlz
CisgICAgICAgIHByZXNzZWQgKFBSMTMxNzc0KS4gVGhpcyB0ZXN0IGFwcGxpZXMgdG8gaGFuZGhl
bGQgKHNtYWxsIHNjcmVlbikKKyAgICAgICAgZGV2aWNlcyBvbmx5LCBub3QgdGFibGV0cy4gVGhl
IGh0bWwgY29kZSBmb3IgdGhpcyB0ZXN0IHdhcyBiYXNlZAorICAgICAgICBvbiB2aWRlby1jb250
cm9scy1mdWxsc2NyZWVuLXZvbHVtZS5odG1sIGFuZCBtb2RpZmllZC4KKworICAgICAgICAqIHBs
YXRmb3JtL2JsYWNrYmVycnkvbWVkaWEvdmlkZW8tYXV0b21hdGljLWZ1bGxzY3JlZW4tZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ibGFja2JlcnJ5L21lZGlhL3ZpZGVv
LWF1dG9tYXRpYy1mdWxsc2NyZWVuLmh0bWw6IEFkZGVkLgorCiAyMDEyLTExLTAyICBTdGVwaGVu
IFdoaXRlICA8c2Vub3JibGFuY29AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtDaHJvbWl1bV0g
VW5yZXZpZXdlZCBnYXJkZW5pbmcuICBTb21lIG5ldyBNYWMgYmFzZWxpbmVzLCBhbmQgCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ibGFja2JlcnJ5L21lZGlhL3ZpZGVvLWF1dG9t
YXRpYy1mdWxsc2NyZWVuLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2JsYWNr
YmVycnkvbWVkaWEvdmlkZW8tYXV0b21hdGljLWZ1bGxzY3JlZW4tZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmVkNmQwZmUxZWY4N2Q1NDEzMmQzNmNmMTE2YTBhY2JmODA3N2E0MWIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ibGFja2JlcnJ5L21lZGlhL3ZpZGVvLWF1
dG9tYXRpYy1mdWxsc2NyZWVuLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQgQEAKK0VWRU5UKGNh
bnBsYXkpCitFVkVOVCh3ZWJraXRmdWxsc2NyZWVuY2hhbmdlKQorRU5EIE9GIFRFU1QKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vYmxhY2tiZXJyeS9tZWRpYS92aWRlby1hdXRv
bWF0aWMtZnVsbHNjcmVlbi5odG1sIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vYmxhY2tiZXJyeS9t
ZWRpYS92aWRlby1hdXRvbWF0aWMtZnVsbHNjcmVlbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRiMjU1ZTQw
NmJhMmIzMjU4YWY2YmE3NzI3MzRhYTBkMmZjZTUzYTgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9ibGFja2JlcnJ5L21lZGlhL3ZpZGVvLWF1dG9tYXRpYy1mdWxsc2Ny
ZWVuLmh0bWwKQEAgLTAsMCArMSwzMyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFk
PgorICAgIDx0aXRsZT5WaWRlbyBFbGVtZW50IC0gVGVzdCBhdXRvbWF0aWMgRW50ZXIgRnVsbHNj
cmVlbiBvbiBwbGF5PC90aXRsZT4KKyAgICA8c2NyaXB0IHNyYz0uLi8uLi8uLi9tZWRpYS92aWRl
by10ZXN0LmpzPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPS4uLy4uLy4uL21lZGlhL21lZGlh
LWZpbGUuanM+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9Li4vLi4vLi4vbWVkaWEvbWVkaWEt
Y29udHJvbHMuanM+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9Li4vLi4vLi4vZnVsbHNjcmVl
bi9mdWxsLXNjcmVlbi10ZXN0LmpzPjwvc2NyaXB0PgorICAgIDxzY3JpcHQ+CisgICAgICAgIHZh
ciB2b2x1bWVTbGlkZXI7CisKKyAgICAgICAgdmFyIHN0YXJ0VGVzdCA9IGZ1bmN0aW9uKCkgewor
ICAgICAgICAgICAgZmluZE1lZGlhRWxlbWVudCgpOworICAgICAgICAgICAgd2FpdEZvckV2ZW50
KHZpZGVvLCAnY2FucGxheScsIG9uY2FucGxheSk7CisgICAgICAgICAgICB2aWRlby5zcmMgPSBm
aW5kTWVkaWFGaWxlKCd2aWRlbycsICcuLi8uLi8uLi9tZWRpYS9jb250ZW50L3Rlc3QnKTsKKyAg
ICAgICAgfTsKKworICAgICAgICB2YXIgb25jYW5wbGF5ID0gZnVuY3Rpb24oKSB7CisgICAgICAg
ICAgICB3YWl0Rm9yRXZlbnQodmlkZW8sICd3ZWJraXRmdWxsc2NyZWVuY2hhbmdlJywgb25mdWxs
c2NyZWVuY2hhbmdlKTsKKyAgICAgICAgICAgIHJ1bldpdGhLZXlEb3duKGZ1bmN0aW9uKCl7IHZp
ZGVvLnBsYXkoKTsgfSkKKyAgICAgICAgfTsKKworICAgICAgICB2YXIgb25mdWxsc2NyZWVuY2hh
bmdlID0gZnVuY3Rpb24oKSB7CisgICAgICAgICAgICBlbmRUZXN0KCk7CisgICAgICAgIH07Cisg
ICAgPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InN0YXJ0VGVzdCgpIj4KKyAgICAK
KyAgICA8dmlkZW8gY29udHJvbHM+PC92aWRlbz4gICAgCisgICAgCis8L2JvZHk+Cis8L2h0bWw+
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>172385</attachid>
            <date>2012-11-05 13:13:47 -0800</date>
            <delta_ts>2012-11-05 16:55:27 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-101100-20121105161201.patch</filename>
            <type>text/plain</type>
            <size>12194</size>
            <attacher name="Max Feil">mfeil</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMzMzUwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWUyMzU5MjZmMDk4YWE5
OWVmZTY4MWY4Yzc1MDFiNDM0MjA3ZmZkYS4uMzgwYjc0ZTQyMTlhOTI3OTc5YmRhMTJlMDFjNjQ1
OWJlZjJhNjZhZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ5IEBACisyMDEyLTExLTAyICBNYXgg
RmVpbCAgPG1mZWlsQHJpbS5jb20+CisKKyAgICAgICAgW0JsYWNrQmVycnldIEF1dG9tYXRpY2Fs
bHkgZ28gZnVsbHNjcmVlbiBvbiB2aWRlbyBwbGF5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDExMDAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBUaGVyZSBpcyBhIHJlcXVpcmVtZW50IHRvIGhhdmUgSFRN
TDUgdmlkZW8gYXV0b21hdGljYWxseSBlbnRlcgorICAgICAgICBmdWxsc2NyZWVuIHdoZW4gYSB2
aWRlbyBzdGFydHMgcGxheWluZyAoUFIxMzE3NzQpLiBUaGlzIGNoYW5nZQorICAgICAgICBpbXBs
ZW1lbnRzIHRoaXMgZmVhdHVyZSwgd2l0aCByZXN0cmljdGlvbnMuIFRoZSBtYWluIHJlc3RyaWN0
aW9uCisgICAgICAgIGlzIGFkaGVyZW5jZSB0byBXZWJLaXQncyBwaGlsb3NvcGh5IG9mIG9ubHkg
ZW50ZXJpbmcgZnVsbHNjcmVlbgorICAgICAgICBkdWUgdG8gYSB1c2VyIGdlc3R1cmUuIFRoaXMg
aXMgaW1wb3J0YW50IGluIG9yZGVyIHRvIGF2b2lkCisgICAgICAgIHBvcC11cCBhZHZlcnRpc2Vt
ZW50cyBhbmQgb3RoZXIgdW53YW50ZWQgZnVsbHNjcmVlbiBjb250ZW50LgorICAgICAgICBPbmUg
Y29uc2VxdWVuY2Ugb2YgdGhpcyBpcyB0aGF0IHZpZGVvIGVsZW1lbnRzIHdpdGggdGhlIGF1dG9w
bGF5CisgICAgICAgIGF0dHJpYnV0ZSB3aWxsIG5vdCBhdXRvbWF0aWNhbGx5IGVudGVyIGZ1bGxz
Y3JlZW4uCisKKyAgICAgICAgT3RoZXIgY2F2ZWF0czoKKyAgICAgICAgLSBUaGlzIGZlYXR1cmUg
YXBwbGllcyBvbmx5IHRvICJzbWFsbCBzY3JlZW4iIGRldmljZXMgd2hlcmUKKyAgICAgICAgYXV0
b21hdGljYWxseSBnb2luZyBmdWxsc2NyZWVuIG1ha2VzIG1vcmUgc2Vuc2UuCisgICAgICAgIC0g
RnVsbHNjcmVlbiB3aWxsIG9ubHkgYmUgZW50ZXJlZCBhdXRvbWF0aWNhbGx5IHdoZW4gdGhlCisg
ICAgICAgIHZpZGVvIGlzIHBsYXllZCBmcm9tIHRoZSBiZWdpbm5pbmcgKGN1cnJlbnQgdGltZSBp
cyB6ZXJvKS4KKyAgICAgICAgSXQgaXMgYXNzdW1lZCB0aGF0IGlmIHRoZSB1c2VyIGlzIHJlc3Vt
aW5nIHBsYXkgZnJvbSBhIHBhdXNlZAorICAgICAgICBzdGF0ZSBhbmQgaXMgbm90IGluIGZ1bGxz
Y3JlZW4gbW9kZSwgdGhlbiB0aGV5IGV4aXRlZCBmdWxsc2NyZWVuCisgICAgICAgIG1vZGUgaW50
ZW50aW9uYWxseS4KKworICAgICAgICBUZXN0OiBwbGF0Zm9ybS9ibGFja2JlcnJ5L21lZGlhL3Zp
ZGVvLWF1dG9tYXRpYy1mdWxsc2NyZWVuLmh0bWwKKworICAgICAgICAqIGh0bWwvSFRNTE1lZGlh
RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjptZWRpYVBs
YXllckVudGVyRnVsbHNjcmVlbik6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNv
cmU6OkhUTUxNZWRpYUVsZW1lbnQ6Om1lZGlhUGxheWVySXNGdWxsc2NyZWVuKToKKyAgICAgICAg
KFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6Om1lZGlhUGxheWVySXNGdWxsc2NyZWVuUmVzdHJp
Y3RlZCk6CisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50Lmg6CisgICAgICAgIChIVE1M
TWVkaWFFbGVtZW50KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5o
OgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJDbGllbnQ6Om1lZGlhUGxheWVyRW50ZXJG
dWxsc2NyZWVuKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyQ2xpZW50OjptZWRpYVBs
YXllcklzRnVsbHNjcmVlbik6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllckNsaWVudDo6
bWVkaWFQbGF5ZXJJc0Z1bGxzY3JlZW5SZXN0cmljdGVkKToKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9ibGFja2JlcnJ5L01lZGlhUGxheWVyUHJpdmF0ZUJsYWNrQmVycnkuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlOjpwbGF5KToKKyAgICAgICAgKFdlYkNv
cmU6Ok1lZGlhUGxheWVyUHJpdmF0ZTo6d2FpdE1ldGFkYXRhVGltZXJGaXJlZCk6CisgICAgICAg
IChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGU6OmNvbmRpdGlvbmFsbHlHb0Z1bGxzY3JlZW5B
ZnRlclBsYXkpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvYmxhY2tiZXJyeS9NZWRpYVBsYXllclByaXZhdGVCbGFja0JlcnJ5Lmg6CisgICAgICAgIChN
ZWRpYVBsYXllclByaXZhdGUpOgorCiAyMDEyLTExLTAyICBMaWFuZ2h1aSBDaGVuICA8bGlhY2hl
bkByaW0uY29tPgogCiAgICAgICAgIFtCbGFja0JlcnJ5XSBSZXNvdXJjZUhhbmRsZTo6Y2FuY2Vs
KCkgaW4gUmVzb3VyY2VIYW5kbGVCbGFja0JlcnJ5IHNob3VsZCBzZXRDbGllbnQgdG8gbnVsbC4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCmluZGV4IDM3MmYxZjVjMmUw
ODk2ZGVhZThmNDYwMDk4MjJlMGI2NGQ1YzM0M2UuLjQ3NmRhMmU1N2Q5NGJkOTNiNGI1ZTAyZjMz
NjZjODAwMjkyZDI3NGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlh
RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNw
cApAQCAtNDUyMywxMSArNDUyMywyNiBAQCBTdHJpbmcgSFRNTE1lZGlhRWxlbWVudDo6bWVkaWFQ
bGF5ZXJEb2N1bWVudEhvc3QoKSBjb25zdAogICAgIHJldHVybiBkb2N1bWVudCgpLT51cmwoKS5o
b3N0KCk7CiB9CiAKK3ZvaWQgSFRNTE1lZGlhRWxlbWVudDo6bWVkaWFQbGF5ZXJFbnRlckZ1bGxz
Y3JlZW4oKQoreworICAgIGVudGVyRnVsbHNjcmVlbigpOworfQorCiB2b2lkIEhUTUxNZWRpYUVs
ZW1lbnQ6Om1lZGlhUGxheWVyRXhpdEZ1bGxzY3JlZW4oKQogewogICAgIGV4aXRGdWxsc2NyZWVu
KCk7CiB9CiAKK2Jvb2wgSFRNTE1lZGlhRWxlbWVudDo6bWVkaWFQbGF5ZXJJc0Z1bGxzY3JlZW4o
KSBjb25zdAoreworICAgIHJldHVybiBpc0Z1bGxzY3JlZW4oKTsKK30KKworYm9vbCBIVE1MTWVk
aWFFbGVtZW50OjptZWRpYVBsYXllcklzRnVsbHNjcmVlblBlcm1pdHRlZCgpIGNvbnN0Cit7Cisg
ICAgcmV0dXJuICF1c2VyR2VzdHVyZVJlcXVpcmVkRm9yRnVsbHNjcmVlbigpIHx8IFNjcmlwdENv
bnRyb2xsZXI6OnByb2Nlc3NpbmdVc2VyR2VzdHVyZSgpOworfQorCiBib29sIEhUTUxNZWRpYUVs
ZW1lbnQ6Om1lZGlhUGxheWVySXNWaWRlbygpIGNvbnN0CiB7CiAgICAgcmV0dXJuIGlzVmlkZW8o
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgKaW5kZXggZDU4OWI2ZDQ4NzAz
N2Q3MTQ0MjFhMTE1ZWQyZmI4NjBkYTRjOTRkYy4uODcyZDMwODNhZTc4ZDM2MDQxMmRkYTgzNGM2
OGFkMTYxZGZlYjYwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFF
bGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgKQEAg
LTQyOCw3ICs0MjgsMTAgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIGJvb2wgbWVkaWFQbGF5ZXJO
ZWVkc1NpdGVTcGVjaWZpY0hhY2tzKCkgY29uc3QgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBTdHJp
bmcgbWVkaWFQbGF5ZXJEb2N1bWVudEhvc3QoKSBjb25zdCBPVkVSUklERTsKIAorICAgIHZpcnR1
YWwgdm9pZCBtZWRpYVBsYXllckVudGVyRnVsbHNjcmVlbigpIE9WRVJSSURFOwogICAgIHZpcnR1
YWwgdm9pZCBtZWRpYVBsYXllckV4aXRGdWxsc2NyZWVuKCkgT1ZFUlJJREU7CisgICAgdmlydHVh
bCBib29sIG1lZGlhUGxheWVySXNGdWxsc2NyZWVuKCkgY29uc3QgT1ZFUlJJREU7CisgICAgdmly
dHVhbCBib29sIG1lZGlhUGxheWVySXNGdWxsc2NyZWVuUGVybWl0dGVkKCkgY29uc3QgT1ZFUlJJ
REU7CiAgICAgdmlydHVhbCBib29sIG1lZGlhUGxheWVySXNWaWRlbygpIGNvbnN0IE9WRVJSSURF
OwogICAgIHZpcnR1YWwgTGF5b3V0UmVjdCBtZWRpYVBsYXllckNvbnRlbnRCb3hSZWN0KCkgY29u
c3QgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIG1lZGlhUGxheWVyU2V0U2l6ZShjb25zdCBJ
bnRTaXplJikgT1ZFUlJJREU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9NZWRpYVBsYXllci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
TWVkaWFQbGF5ZXIuaAppbmRleCBiZTkzZTg3MDFhOGE5NzM0YTcxMzYxODk2ZDA1Zjg0MTcwODg2
MDAzLi5iZGVhYWEwYWIxYzUzYWJiMmY5ZmVjYzU3NzdkNGNlM2YzNjdjNzJkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmgKQEAgLTE5Myw3ICsx
OTMsMTAgQEAgcHVibGljOgogICAgIHZpcnR1YWwgU3RyaW5nIG1lZGlhUGxheWVyUmVmZXJyZXIo
KSBjb25zdCB7IHJldHVybiBTdHJpbmcoKTsgfQogICAgIHZpcnR1YWwgU3RyaW5nIG1lZGlhUGxh
eWVyVXNlckFnZW50KCkgY29uc3QgeyByZXR1cm4gU3RyaW5nKCk7IH0KICAgICB2aXJ0dWFsIENP
UlNNb2RlIG1lZGlhUGxheWVyQ09SU01vZGUoKSBjb25zdCB7IHJldHVybiBVbnNwZWNpZmllZDsg
fQorICAgIHZpcnR1YWwgdm9pZCBtZWRpYVBsYXllckVudGVyRnVsbHNjcmVlbigpIHsgfQogICAg
IHZpcnR1YWwgdm9pZCBtZWRpYVBsYXllckV4aXRGdWxsc2NyZWVuKCkgeyB9CisgICAgdmlydHVh
bCBib29sIG1lZGlhUGxheWVySXNGdWxsc2NyZWVuKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0K
KyAgICB2aXJ0dWFsIGJvb2wgbWVkaWFQbGF5ZXJJc0Z1bGxzY3JlZW5QZXJtaXR0ZWQoKSBjb25z
dCB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwgYm9vbCBtZWRpYVBsYXllcklzVmlkZW8o
KSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwgTGF5b3V0UmVjdCBtZWRpYVBs
YXllckNvbnRlbnRCb3hSZWN0KCkgY29uc3QgeyByZXR1cm4gTGF5b3V0UmVjdCgpOyB9CiAgICAg
dmlydHVhbCB2b2lkIG1lZGlhUGxheWVyU2V0U2l6ZShjb25zdCBJbnRTaXplJikgeyB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ibGFja2JlcnJ5L01lZGlh
UGxheWVyUHJpdmF0ZUJsYWNrQmVycnkuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvYmxhY2tiZXJyeS9NZWRpYVBsYXllclByaXZhdGVCbGFja0JlcnJ5LmNwcAppbmRleCBl
YTNjODk1NTA2ZmRmNGZkZTU2NjZhNDFjMzk1ZTAxYTY0OTJiOWY2Li41M2FkZjRiMjk2MDYyYzRh
ZjRkMjYwNDQ2ODg2NzM2YzNjODdmYWY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9ibGFja2JlcnJ5L01lZGlhUGxheWVyUHJpdmF0ZUJsYWNrQmVycnkuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2JsYWNrYmVycnkvTWVkaWFQ
bGF5ZXJQcml2YXRlQmxhY2tCZXJyeS5jcHAKQEAgLTM5LDYgKzM5LDcgQEAKICNpbmNsdWRlICJU
aW1lUmFuZ2VzLmgiCiAjaW5jbHVkZSAiV2ViUGFnZUNsaWVudC5oIgogCisjaW5jbHVkZSA8Qmxh
Y2tCZXJyeVBsYXRmb3JtRGV2aWNlSW5mby5oPgogI2luY2x1ZGUgPEJsYWNrQmVycnlQbGF0Zm9y
bVNldHRpbmdzLmg+CiAjaW5jbHVkZSA8RnJhbWVMb2FkZXJDbGllbnRCbGFja0JlcnJ5Lmg+CiAj
aW5jbHVkZSA8c2V0PgpAQCAtMTg3LDggKzE4OCwxMSBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0
ZTo6cHJlcGFyZVRvUGxheSgpCiAKIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlOjpwbGF5KCkKIHsK
LSAgICBpZiAobV9wbGF0Zm9ybVBsYXllcikKKyAgICBpZiAobV9wbGF0Zm9ybVBsYXllcikgewog
ICAgICAgICBtX3BsYXRmb3JtUGxheWVyLT5wbGF5KCk7CisgICAgICAgIGlmIChtX3BsYXRmb3Jt
UGxheWVyLT5pc01ldGFkYXRhUmVhZHkoKSkKKyAgICAgICAgICAgIGNvbmRpdGlvbmFsbHlHb0Z1
bGxzY3JlZW5BZnRlclBsYXkoKTsKKyAgICB9CiB9CiAKIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRl
OjpwYXVzZSgpCkBAIC02NjMsNiArNjY3LDcgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGU6Ondh
aXRNZXRhZGF0YVRpbWVyRmlyZWQoVGltZXI8TWVkaWFQbGF5ZXJQcml2YXRlPiopCiB7CiAgICAg
aWYgKG1fcGxhdGZvcm1QbGF5ZXItPmlzTWV0YWRhdGFSZWFkeSgpKSB7CiAgICAgICAgIG1fcGxh
dGZvcm1QbGF5ZXItPnBsYXlXaXRoTWV0YWRhdGFSZWFkeSgpOworICAgICAgICBjb25kaXRpb25h
bGx5R29GdWxsc2NyZWVuQWZ0ZXJQbGF5KCk7CiAgICAgICAgIG1fd2FpdE1ldGFkYXRhUG9wRGlh
bG9nQ291bnRlciA9IDA7CiAgICAgICAgIHJldHVybjsKICAgICB9CkBAIC02NzksOSArNjg0LDEw
IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlOjp3YWl0TWV0YWRhdGFUaW1lckZpcmVkKFRpbWVy
PE1lZGlhUGxheWVyUHJpdmF0ZT4qKQogICAgIGlmICghd2FpdCkKICAgICAgICAgb25QYXVzZU5v
dGlmaWVkKCk7CiAgICAgZWxzZSB7Ci0gICAgICAgIGlmIChtX3BsYXRmb3JtUGxheWVyLT5pc01l
dGFkYXRhUmVhZHkoKSkKKyAgICAgICAgaWYgKG1fcGxhdGZvcm1QbGF5ZXItPmlzTWV0YWRhdGFS
ZWFkeSgpKSB7CiAgICAgICAgICAgICBtX3BsYXRmb3JtUGxheWVyLT5wbGF5V2l0aE1ldGFkYXRh
UmVhZHkoKTsKLSAgICAgICAgZWxzZQorICAgICAgICAgICAgY29uZGl0aW9uYWxseUdvRnVsbHNj
cmVlbkFmdGVyUGxheSgpOworICAgICAgICB9IGVsc2UKICAgICAgICAgICAgIG1fd2FpdE1ldGFk
YXRhVGltZXIuc3RhcnRPbmVTaG90KGNoZWNrTWV0YWRhdGFSZWFkeUludGVydmFsKTsKICAgICB9
CiB9CkBAIC05NjMsNiArOTY5LDI5IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlOjpkcmF3QnVm
ZmVyaW5nQW5pbWF0aW9uKGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiBtYXRyCiB9CiAjZW5k
aWYKIAordm9pZCBNZWRpYVBsYXllclByaXZhdGU6OmNvbmRpdGlvbmFsbHlHb0Z1bGxzY3JlZW5B
ZnRlclBsYXkoKQoreworICAgIEJsYWNrQmVycnk6OlBsYXRmb3JtOjpEZXZpY2VJbmZvKiBpbmZv
ID0gQmxhY2tCZXJyeTo6UGxhdGZvcm06OkRldmljZUluZm86Omluc3RhbmNlKCk7CisgICAgaWYg
KGhhc1ZpZGVvKCkgJiYgbV93ZWJDb3JlUGxheWVyLT5tZWRpYVBsYXllckNsaWVudCgpLT5tZWRp
YVBsYXllcklzRnVsbHNjcmVlblBlcm1pdHRlZCgpICYmIGluZm8tPmlzTW9iaWxlKCkpIHsKKyAg
ICAgICAgLy8gVGhpcyBpcyBhIG1vYmlsZSBkZXZpY2UgKHNtYWxsIHNjcmVlbiksIG5vdCBhIHRh
YmxldCwgc28gd2UKKyAgICAgICAgLy8gZW50ZXIgZnVsbHNjcmVlbiB2aWRlbyBvbiB1c2VyLWlu
aXRpYXRlZCBwbGF5cy4KKyAgICAgICAgYm9vbCBub3RoaW5nSXNGdWxsc2NyZWVuID0gIW1fd2Vi
Q29yZVBsYXllci0+bWVkaWFQbGF5ZXJDbGllbnQoKS0+bWVkaWFQbGF5ZXJJc0Z1bGxzY3JlZW4o
KTsKKyNpZiBFTkFCTEUoRlVMTFNDUkVFTl9BUEkpCisgICAgICAgIGlmIChtX3dlYkNvcmVQbGF5
ZXItPm1lZGlhUGxheWVyQ2xpZW50KCktPm1lZGlhUGxheWVyT3duaW5nRG9jdW1lbnQoKS0+d2Vi
a2l0SXNGdWxsU2NyZWVuKCkpCisgICAgICAgICAgICBub3RoaW5nSXNGdWxsc2NyZWVuID0gZmFs
c2U7CisjZW5kaWYKKyAgICAgICAgaWYgKG5vdGhpbmdJc0Z1bGxzY3JlZW4gJiYgY3VycmVudFRp
bWUoKSA9PSAwLjBmKSB7CisgICAgICAgICAgICAvLyBPbmx5IGVudGVyIGZ1bGxzY3JlZW4gd2hl
biBwbGF5aW5nIGZyb20gdGhlIGJlZ2lubmluZy4gRG9pbmcKKyAgICAgICAgICAgIC8vIHNvIG9u
IGV2ZXJ5IHBsYXkgaXMgc3VyZSB0byBhbm5veSB0aGUgdXNlciB3aG8gZG9lcyBub3Qgd2FudAor
ICAgICAgICAgICAgLy8gdG8gd2F0Y2ggdGhlIHZpZGVvIGZ1bGxzY3JlZW4uIE5vdGUgdGhhdCB0
aGUgZm9sbG93aW5nIGNhbGwKKyAgICAgICAgICAgIC8vIHdpbGwgZmFpbCBpZiB3ZSBhcmUgbm90
IGhlcmUgZHVlIHRvIGEgdXNlciBnZXN0dXJlLCBhcyBwZXIgdGhlCisgICAgICAgICAgICAvLyBj
aGVjayBpbiBEb2N1bWVudDo6cmVxdWVzdEZ1bGxTY3JlZW5Gb3JFbGVtZW50KCkgdG8gcHJldmVu
dAorICAgICAgICAgICAgLy8gcG9wdXBzLgorICAgICAgICAgICAgbV93ZWJDb3JlUGxheWVyLT5t
ZWRpYVBsYXllckNsaWVudCgpLT5tZWRpYVBsYXllckVudGVyRnVsbHNjcmVlbigpOworICAgICAg
ICB9CisgICAgfQorfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBFTkFC
TEUoVklERU8pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9i
bGFja2JlcnJ5L01lZGlhUGxheWVyUHJpdmF0ZUJsYWNrQmVycnkuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2JsYWNrYmVycnkvTWVkaWFQbGF5ZXJQcml2YXRlQmxhY2tCZXJy
eS5oCmluZGV4IDdiNjY1NGRjZTQ4ODUwZDljYTMyNjkzMmY1MjU2NjQ2ZGE4NDQ4OTUuLjU4OGU3
MWZmMTMxYzM3OGQ1Y2Y4MDZmMmNlNTdkNGMwNTYwYzFhY2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2JsYWNrYmVycnkvTWVkaWFQbGF5ZXJQcml2YXRlQmxh
Y2tCZXJyeS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2JsYWNrYmVy
cnkvTWVkaWFQbGF5ZXJQcml2YXRlQmxhY2tCZXJyeS5oCkBAIC0xNzAsNiArMTcwLDcgQEAgcHJp
dmF0ZToKICAgICBib29sIG1fbWVkaWFJc0J1ZmZlcmluZzsKICNlbmRpZgogCisgICAgdm9pZCBj
b25kaXRpb25hbGx5R29GdWxsc2NyZWVuQWZ0ZXJQbGF5KCk7CiAgICAgdm9pZCB1c2VyRHJpdmVu
U2Vla1RpbWVyRmlyZWQoVGltZXI8TWVkaWFQbGF5ZXJQcml2YXRlPiopOwogICAgIFRpbWVyPE1l
ZGlhUGxheWVyUHJpdmF0ZT4gbV91c2VyRHJpdmVuU2Vla1RpbWVyOwogICAgIGZsb2F0IG1fbGFz
dFNlZWtUaW1lOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCmluZGV4IGNlZjlmOTA4NzdiM2QzNGY1YmRhZTVlOTBkMmM3OTgyZGQwM2I1
OWQuLmE4YWIxNTZhZmE5NTdlNTlhZWI4NjNkNTU5MWRkMGE0Mjk5NGI1MGUgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxOCBAQAorMjAxMi0xMS0wMiAgTWF4IEZlaWwgIDxtZmVpbEByaW0uY29tPgorCisgICAg
ICAgIFtCbGFja0JlcnJ5XSBBdXRvbWF0aWNhbGx5IGdvIGZ1bGxzY3JlZW4gb24gdmlkZW8gcGxh
eQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAxMTAw
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdCB0
aGF0IGZ1bGxzY3JlZW4gaXMgZW50ZXJlZCBhdXRvbWF0aWNhbGx5IHdoZW4gcGxheSBpcworICAg
ICAgICBwcmVzc2VkIChQUjEzMTc3NCkuIFRoaXMgdGVzdCBhcHBsaWVzIHRvIGhhbmRoZWxkIChz
bWFsbCBzY3JlZW4pCisgICAgICAgIGRldmljZXMgb25seSwgbm90IHRhYmxldHMuIFRoZSBodG1s
IGNvZGUgZm9yIHRoaXMgdGVzdCB3YXMgYmFzZWQKKyAgICAgICAgb24gdmlkZW8tY29udHJvbHMt
ZnVsbHNjcmVlbi12b2x1bWUuaHRtbCBhbmQgbW9kaWZpZWQuCisKKyAgICAgICAgKiBwbGF0Zm9y
bS9ibGFja2JlcnJ5L21lZGlhL3ZpZGVvLWF1dG9tYXRpYy1mdWxsc2NyZWVuLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vYmxhY2tiZXJyeS9tZWRpYS92aWRlby1hdXRv
bWF0aWMtZnVsbHNjcmVlbi5odG1sOiBBZGRlZC4KKwogMjAxMi0xMS0wMiAgU3RlcGhlbiBXaGl0
ZSAgPHNlbm9yYmxhbmNvQGNocm9taXVtLm9yZz4KIAogICAgICAgICBbQ2hyb21pdW1dIFVucmV2
aWV3ZWQgZ2FyZGVuaW5nLiAgU29tZSBuZXcgTWFjIGJhc2VsaW5lcywgYW5kIApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vYmxhY2tiZXJyeS9tZWRpYS92aWRlby1hdXRvbWF0aWMt
ZnVsbHNjcmVlbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ibGFja2JlcnJ5
L21lZGlhL3ZpZGVvLWF1dG9tYXRpYy1mdWxsc2NyZWVuLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5lZDZkMGZlMWVmODdkNTQxMzJkMzZjZjExNmEwYWNiZjgwNzdhNDFiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vYmxhY2tiZXJyeS9tZWRpYS92aWRlby1hdXRvbWF0
aWMtZnVsbHNjcmVlbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0IEBACitFVkVOVChjYW5wbGF5
KQorRVZFTlQod2Via2l0ZnVsbHNjcmVlbmNoYW5nZSkKK0VORCBPRiBURVNUCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2JsYWNrYmVycnkvbWVkaWEvdmlkZW8tYXV0b21hdGlj
LWZ1bGxzY3JlZW4uaHRtbCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2JsYWNrYmVycnkvbWVkaWEv
dmlkZW8tYXV0b21hdGljLWZ1bGxzY3JlZW4uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40YjI1NWU0MDZiYTJi
MzI1OGFmNmJhNzcyNzM0YWEwZDJmY2U1M2E4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vYmxhY2tiZXJyeS9tZWRpYS92aWRlby1hdXRvbWF0aWMtZnVsbHNjcmVlbi5o
dG1sCkBAIC0wLDAgKzEsMzMgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKyAg
ICA8dGl0bGU+VmlkZW8gRWxlbWVudCAtIFRlc3QgYXV0b21hdGljIEVudGVyIEZ1bGxzY3JlZW4g
b24gcGxheTwvdGl0bGU+CisgICAgPHNjcmlwdCBzcmM9Li4vLi4vLi4vbWVkaWEvdmlkZW8tdGVz
dC5qcz48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0uLi8uLi8uLi9tZWRpYS9tZWRpYS1maWxl
LmpzPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPS4uLy4uLy4uL21lZGlhL21lZGlhLWNvbnRy
b2xzLmpzPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPS4uLy4uLy4uL2Z1bGxzY3JlZW4vZnVs
bC1zY3JlZW4tdGVzdC5qcz48L3NjcmlwdD4KKyAgICA8c2NyaXB0PgorICAgICAgICB2YXIgdm9s
dW1lU2xpZGVyOworCisgICAgICAgIHZhciBzdGFydFRlc3QgPSBmdW5jdGlvbigpIHsKKyAgICAg
ICAgICAgIGZpbmRNZWRpYUVsZW1lbnQoKTsKKyAgICAgICAgICAgIHdhaXRGb3JFdmVudCh2aWRl
bywgJ2NhbnBsYXknLCBvbmNhbnBsYXkpOworICAgICAgICAgICAgdmlkZW8uc3JjID0gZmluZE1l
ZGlhRmlsZSgndmlkZW8nLCAnLi4vLi4vLi4vbWVkaWEvY29udGVudC90ZXN0Jyk7CisgICAgICAg
IH07CisKKyAgICAgICAgdmFyIG9uY2FucGxheSA9IGZ1bmN0aW9uKCkgeworICAgICAgICAgICAg
d2FpdEZvckV2ZW50KHZpZGVvLCAnd2Via2l0ZnVsbHNjcmVlbmNoYW5nZScsIG9uZnVsbHNjcmVl
bmNoYW5nZSk7CisgICAgICAgICAgICBydW5XaXRoS2V5RG93bihmdW5jdGlvbigpeyB2aWRlby5w
bGF5KCk7IH0pCisgICAgICAgIH07CisKKyAgICAgICAgdmFyIG9uZnVsbHNjcmVlbmNoYW5nZSA9
IGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgZW5kVGVzdCgpOworICAgICAgICB9OworICAgIDwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJzdGFydFRlc3QoKSI+CisgICAgCisgICAg
PHZpZGVvIGNvbnRyb2xzPjwvdmlkZW8+ICAgIAorICAgIAorPC9ib2R5PgorPC9odG1sPgo=
</data>
<flag name="review"
          id="186677"
          type_id="1"
          status="-"
          setter="rwlbuis"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>172442</attachid>
            <date>2012-11-05 16:55:27 -0800</date>
            <delta_ts>2012-11-06 07:28:22 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>diff.txt</filename>
            <type>text/plain</type>
            <size>12192</size>
            <attacher name="Max Feil">mfeil</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMzMzUwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWUyMzU5MjZmMDk4YWE5
OWVmZTY4MWY4Yzc1MDFiNDM0MjA3ZmZkYS4uMzgwYjc0ZTQyMTlhOTI3OTc5YmRhMTJlMDFjNjQ1
OWJlZjJhNjZhZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ5IEBACisyMDEyLTExLTAyICBNYXgg
RmVpbCAgPG1mZWlsQHJpbS5jb20+CisKKyAgICAgICAgW0JsYWNrQmVycnldIEF1dG9tYXRpY2Fs
bHkgZ28gZnVsbHNjcmVlbiBvbiB2aWRlbyBwbGF5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDExMDAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBUaGVyZSBpcyBhIHJlcXVpcmVtZW50IHRvIGhhdmUgSFRN
TDUgdmlkZW8gYXV0b21hdGljYWxseSBlbnRlcgorICAgICAgICBmdWxsc2NyZWVuIHdoZW4gYSB2
aWRlbyBzdGFydHMgcGxheWluZyAoUFIxMzE3NzQpLiBUaGlzIGNoYW5nZQorICAgICAgICBpbXBs
ZW1lbnRzIHRoaXMgZmVhdHVyZSwgd2l0aCByZXN0cmljdGlvbnMuIFRoZSBtYWluIHJlc3RyaWN0
aW9uCisgICAgICAgIGlzIGFkaGVyZW5jZSB0byBXZWJLaXQncyBwaGlsb3NvcGh5IG9mIG9ubHkg
ZW50ZXJpbmcgZnVsbHNjcmVlbgorICAgICAgICBkdWUgdG8gYSB1c2VyIGdlc3R1cmUuIFRoaXMg
aXMgaW1wb3J0YW50IGluIG9yZGVyIHRvIGF2b2lkCisgICAgICAgIHBvcC11cCBhZHZlcnRpc2Vt
ZW50cyBhbmQgb3RoZXIgdW53YW50ZWQgZnVsbHNjcmVlbiBjb250ZW50LgorICAgICAgICBPbmUg
Y29uc2VxdWVuY2Ugb2YgdGhpcyBpcyB0aGF0IHZpZGVvIGVsZW1lbnRzIHdpdGggdGhlIGF1dG9w
bGF5CisgICAgICAgIGF0dHJpYnV0ZSB3aWxsIG5vdCBhdXRvbWF0aWNhbGx5IGVudGVyIGZ1bGxz
Y3JlZW4uCisKKyAgICAgICAgT3RoZXIgY2F2ZWF0czoKKyAgICAgICAgLSBUaGlzIGZlYXR1cmUg
YXBwbGllcyBvbmx5IHRvICJzbWFsbCBzY3JlZW4iIGRldmljZXMgd2hlcmUKKyAgICAgICAgYXV0
b21hdGljYWxseSBnb2luZyBmdWxsc2NyZWVuIG1ha2VzIG1vcmUgc2Vuc2UuCisgICAgICAgIC0g
RnVsbHNjcmVlbiB3aWxsIG9ubHkgYmUgZW50ZXJlZCBhdXRvbWF0aWNhbGx5IHdoZW4gdGhlCisg
ICAgICAgIHZpZGVvIGlzIHBsYXllZCBmcm9tIHRoZSBiZWdpbm5pbmcgKGN1cnJlbnQgdGltZSBp
cyB6ZXJvKS4KKyAgICAgICAgSXQgaXMgYXNzdW1lZCB0aGF0IGlmIHRoZSB1c2VyIGlzIHJlc3Vt
aW5nIHBsYXkgZnJvbSBhIHBhdXNlZAorICAgICAgICBzdGF0ZSBhbmQgaXMgbm90IGluIGZ1bGxz
Y3JlZW4gbW9kZSwgdGhlbiB0aGV5IGV4aXRlZCBmdWxsc2NyZWVuCisgICAgICAgIG1vZGUgaW50
ZW50aW9uYWxseS4KKworICAgICAgICBUZXN0OiBwbGF0Zm9ybS9ibGFja2JlcnJ5L21lZGlhL3Zp
ZGVvLWF1dG9tYXRpYy1mdWxsc2NyZWVuLmh0bWwKKworICAgICAgICAqIGh0bWwvSFRNTE1lZGlh
RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjptZWRpYVBs
YXllckVudGVyRnVsbHNjcmVlbik6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNv
cmU6OkhUTUxNZWRpYUVsZW1lbnQ6Om1lZGlhUGxheWVySXNGdWxsc2NyZWVuKToKKyAgICAgICAg
KFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6Om1lZGlhUGxheWVySXNGdWxsc2NyZWVuUGVybWl0
dGVkKToKKyAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuaDoKKyAgICAgICAgKEhUTUxN
ZWRpYUVsZW1lbnQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmg6
CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllckNsaWVudDo6bWVkaWFQbGF5ZXJFbnRlckZ1
bGxzY3JlZW4pOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJDbGllbnQ6Om1lZGlhUGxh
eWVySXNGdWxsc2NyZWVuKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyQ2xpZW50Ojpt
ZWRpYVBsYXllcklzRnVsbHNjcmVlblBlcm1pdHRlZCk6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvYmxhY2tiZXJyeS9NZWRpYVBsYXllclByaXZhdGVCbGFja0JlcnJ5LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZTo6cGxheSk6CisgICAgICAgIChXZWJDb3Jl
OjpNZWRpYVBsYXllclByaXZhdGU6OndhaXRNZXRhZGF0YVRpbWVyRmlyZWQpOgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlOjpjb25kaXRpb25hbGx5R29GdWxsc2NyZWVuQWZ0
ZXJQbGF5KToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L2JsYWNrYmVycnkvTWVkaWFQbGF5ZXJQcml2YXRlQmxhY2tCZXJyeS5oOgorICAgICAgICAoTWVk
aWFQbGF5ZXJQcml2YXRlKToKKwogMjAxMi0xMS0wMiAgTGlhbmdodWkgQ2hlbiAgPGxpYWNoZW5A
cmltLmNvbT4KIAogICAgICAgICBbQmxhY2tCZXJyeV0gUmVzb3VyY2VIYW5kbGU6OmNhbmNlbCgp
IGluIFJlc291cmNlSGFuZGxlQmxhY2tCZXJyeSBzaG91bGQgc2V0Q2xpZW50IHRvIG51bGwuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAppbmRleCAzNzJmMWY1YzJlMDg5
NmRlYWU4ZjQ2MDA5ODIyZTBiNjRkNWMzNDNlLi40NzZkYTJlNTdkOTRiZDkzYjRiNWUwMmYzMzY2
YzgwMDI5MmQyNzRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVs
ZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAK
QEAgLTQ1MjMsMTEgKzQ1MjMsMjYgQEAgU3RyaW5nIEhUTUxNZWRpYUVsZW1lbnQ6Om1lZGlhUGxh
eWVyRG9jdW1lbnRIb3N0KCkgY29uc3QKICAgICByZXR1cm4gZG9jdW1lbnQoKS0+dXJsKCkuaG9z
dCgpOwogfQogCit2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6Om1lZGlhUGxheWVyRW50ZXJGdWxsc2Ny
ZWVuKCkKK3sKKyAgICBlbnRlckZ1bGxzY3JlZW4oKTsKK30KKwogdm9pZCBIVE1MTWVkaWFFbGVt
ZW50OjptZWRpYVBsYXllckV4aXRGdWxsc2NyZWVuKCkKIHsKICAgICBleGl0RnVsbHNjcmVlbigp
OwogfQogCitib29sIEhUTUxNZWRpYUVsZW1lbnQ6Om1lZGlhUGxheWVySXNGdWxsc2NyZWVuKCkg
Y29uc3QKK3sKKyAgICByZXR1cm4gaXNGdWxsc2NyZWVuKCk7Cit9CisKK2Jvb2wgSFRNTE1lZGlh
RWxlbWVudDo6bWVkaWFQbGF5ZXJJc0Z1bGxzY3JlZW5QZXJtaXR0ZWQoKSBjb25zdAoreworICAg
IHJldHVybiAhdXNlckdlc3R1cmVSZXF1aXJlZEZvckZ1bGxzY3JlZW4oKSB8fCBTY3JpcHRDb250
cm9sbGVyOjpwcm9jZXNzaW5nVXNlckdlc3R1cmUoKTsKK30KKwogYm9vbCBIVE1MTWVkaWFFbGVt
ZW50OjptZWRpYVBsYXllcklzVmlkZW8oKSBjb25zdAogewogICAgIHJldHVybiBpc1ZpZGVvKCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaCBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCmluZGV4IGQ1ODliNmQ0ODcwMzdk
NzE0NDIxYTExNWVkMmZiODYwZGE0Yzk0ZGMuLjg3MmQzMDgzYWU3OGQzNjA0MTJkZGE4MzRjNjhh
ZDE2MWRmZWI2MDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxl
bWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCkBAIC00
MjgsNyArNDI4LDEwIEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCBib29sIG1lZGlhUGxheWVyTmVl
ZHNTaXRlU3BlY2lmaWNIYWNrcygpIGNvbnN0IE9WRVJSSURFOwogICAgIHZpcnR1YWwgU3RyaW5n
IG1lZGlhUGxheWVyRG9jdW1lbnRIb3N0KCkgY29uc3QgT1ZFUlJJREU7CiAKKyAgICB2aXJ0dWFs
IHZvaWQgbWVkaWFQbGF5ZXJFbnRlckZ1bGxzY3JlZW4oKSBPVkVSUklERTsKICAgICB2aXJ0dWFs
IHZvaWQgbWVkaWFQbGF5ZXJFeGl0RnVsbHNjcmVlbigpIE9WRVJSSURFOworICAgIHZpcnR1YWwg
Ym9vbCBtZWRpYVBsYXllcklzRnVsbHNjcmVlbigpIGNvbnN0IE9WRVJSSURFOworICAgIHZpcnR1
YWwgYm9vbCBtZWRpYVBsYXllcklzRnVsbHNjcmVlblBlcm1pdHRlZCgpIGNvbnN0IE9WRVJSSURF
OwogICAgIHZpcnR1YWwgYm9vbCBtZWRpYVBsYXllcklzVmlkZW8oKSBjb25zdCBPVkVSUklERTsK
ICAgICB2aXJ0dWFsIExheW91dFJlY3QgbWVkaWFQbGF5ZXJDb250ZW50Qm94UmVjdCgpIGNvbnN0
IE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBtZWRpYVBsYXllclNldFNpemUoY29uc3QgSW50
U2l6ZSYpIE9WRVJSSURFOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvTWVkaWFQbGF5ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01l
ZGlhUGxheWVyLmgKaW5kZXggYmU5M2U4NzAxYThhOTczNGE3MTM2MTg5NmQwNWY4NDE3MDg4NjAw
My4uYmRlYWFhMGFiMWM1M2FiYjJmOWZlY2M1Nzc3ZDRjZTNmMzY3YzcyZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oCkBAIC0xOTMsNyArMTkz
LDEwIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIFN0cmluZyBtZWRpYVBsYXllclJlZmVycmVyKCkg
Y29uc3QgeyByZXR1cm4gU3RyaW5nKCk7IH0KICAgICB2aXJ0dWFsIFN0cmluZyBtZWRpYVBsYXll
clVzZXJBZ2VudCgpIGNvbnN0IHsgcmV0dXJuIFN0cmluZygpOyB9CiAgICAgdmlydHVhbCBDT1JT
TW9kZSBtZWRpYVBsYXllckNPUlNNb2RlKCkgY29uc3QgeyByZXR1cm4gVW5zcGVjaWZpZWQ7IH0K
KyAgICB2aXJ0dWFsIHZvaWQgbWVkaWFQbGF5ZXJFbnRlckZ1bGxzY3JlZW4oKSB7IH0KICAgICB2
aXJ0dWFsIHZvaWQgbWVkaWFQbGF5ZXJFeGl0RnVsbHNjcmVlbigpIHsgfQorICAgIHZpcnR1YWwg
Ym9vbCBtZWRpYVBsYXllcklzRnVsbHNjcmVlbigpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9Cisg
ICAgdmlydHVhbCBib29sIG1lZGlhUGxheWVySXNGdWxsc2NyZWVuUGVybWl0dGVkKCkgY29uc3Qg
eyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIGJvb2wgbWVkaWFQbGF5ZXJJc1ZpZGVvKCkg
Y29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIExheW91dFJlY3QgbWVkaWFQbGF5
ZXJDb250ZW50Qm94UmVjdCgpIGNvbnN0IHsgcmV0dXJuIExheW91dFJlY3QoKTsgfQogICAgIHZp
cnR1YWwgdm9pZCBtZWRpYVBsYXllclNldFNpemUoY29uc3QgSW50U2l6ZSYpIHsgfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYmxhY2tiZXJyeS9NZWRpYVBs
YXllclByaXZhdGVCbGFja0JlcnJ5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2JsYWNrYmVycnkvTWVkaWFQbGF5ZXJQcml2YXRlQmxhY2tCZXJyeS5jcHAKaW5kZXggZWEz
Yzg5NTUwNmZkZjRmZGU1NjY2YTQxYzM5NWUwMWE2NDkyYjlmNi4uNTNhZGY0YjI5NjA2MmM0YWY0
ZDI2MDQ0Njg4NjczNmMzYzg3ZmFmNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvYmxhY2tiZXJyeS9NZWRpYVBsYXllclByaXZhdGVCbGFja0JlcnJ5LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ibGFja2JlcnJ5L01lZGlhUGxh
eWVyUHJpdmF0ZUJsYWNrQmVycnkuY3BwCkBAIC0zOSw2ICszOSw3IEBACiAjaW5jbHVkZSAiVGlt
ZVJhbmdlcy5oIgogI2luY2x1ZGUgIldlYlBhZ2VDbGllbnQuaCIKIAorI2luY2x1ZGUgPEJsYWNr
QmVycnlQbGF0Zm9ybURldmljZUluZm8uaD4KICNpbmNsdWRlIDxCbGFja0JlcnJ5UGxhdGZvcm1T
ZXR0aW5ncy5oPgogI2luY2x1ZGUgPEZyYW1lTG9hZGVyQ2xpZW50QmxhY2tCZXJyeS5oPgogI2lu
Y2x1ZGUgPHNldD4KQEAgLTE4Nyw4ICsxODgsMTEgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGU6
OnByZXBhcmVUb1BsYXkoKQogCiB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZTo6cGxheSgpCiB7Ci0g
ICAgaWYgKG1fcGxhdGZvcm1QbGF5ZXIpCisgICAgaWYgKG1fcGxhdGZvcm1QbGF5ZXIpIHsKICAg
ICAgICAgbV9wbGF0Zm9ybVBsYXllci0+cGxheSgpOworICAgICAgICBpZiAobV9wbGF0Zm9ybVBs
YXllci0+aXNNZXRhZGF0YVJlYWR5KCkpCisgICAgICAgICAgICBjb25kaXRpb25hbGx5R29GdWxs
c2NyZWVuQWZ0ZXJQbGF5KCk7CisgICAgfQogfQogCiB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZTo6
cGF1c2UoKQpAQCAtNjYzLDYgKzY2Nyw3IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlOjp3YWl0
TWV0YWRhdGFUaW1lckZpcmVkKFRpbWVyPE1lZGlhUGxheWVyUHJpdmF0ZT4qKQogewogICAgIGlm
IChtX3BsYXRmb3JtUGxheWVyLT5pc01ldGFkYXRhUmVhZHkoKSkgewogICAgICAgICBtX3BsYXRm
b3JtUGxheWVyLT5wbGF5V2l0aE1ldGFkYXRhUmVhZHkoKTsKKyAgICAgICAgY29uZGl0aW9uYWxs
eUdvRnVsbHNjcmVlbkFmdGVyUGxheSgpOwogICAgICAgICBtX3dhaXRNZXRhZGF0YVBvcERpYWxv
Z0NvdW50ZXIgPSAwOwogICAgICAgICByZXR1cm47CiAgICAgfQpAQCAtNjc5LDkgKzY4NCwxMCBA
QCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZTo6d2FpdE1ldGFkYXRhVGltZXJGaXJlZChUaW1lcjxN
ZWRpYVBsYXllclByaXZhdGU+KikKICAgICBpZiAoIXdhaXQpCiAgICAgICAgIG9uUGF1c2VOb3Rp
ZmllZCgpOwogICAgIGVsc2UgewotICAgICAgICBpZiAobV9wbGF0Zm9ybVBsYXllci0+aXNNZXRh
ZGF0YVJlYWR5KCkpCisgICAgICAgIGlmIChtX3BsYXRmb3JtUGxheWVyLT5pc01ldGFkYXRhUmVh
ZHkoKSkgewogICAgICAgICAgICAgbV9wbGF0Zm9ybVBsYXllci0+cGxheVdpdGhNZXRhZGF0YVJl
YWR5KCk7Ci0gICAgICAgIGVsc2UKKyAgICAgICAgICAgIGNvbmRpdGlvbmFsbHlHb0Z1bGxzY3Jl
ZW5BZnRlclBsYXkoKTsKKyAgICAgICAgfSBlbHNlCiAgICAgICAgICAgICBtX3dhaXRNZXRhZGF0
YVRpbWVyLnN0YXJ0T25lU2hvdChjaGVja01ldGFkYXRhUmVhZHlJbnRlcnZhbCk7CiAgICAgfQog
fQpAQCAtOTYzLDYgKzk2OSwyOSBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZTo6ZHJhd0J1ZmZl
cmluZ0FuaW1hdGlvbihjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYgbWF0cgogfQogI2VuZGlm
CiAKK3ZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlOjpjb25kaXRpb25hbGx5R29GdWxsc2NyZWVuQWZ0
ZXJQbGF5KCkKK3sKKyAgICBCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6RGV2aWNlSW5mbyogaW5mbyA9
IEJsYWNrQmVycnk6OlBsYXRmb3JtOjpEZXZpY2VJbmZvOjppbnN0YW5jZSgpOworICAgIGlmICho
YXNWaWRlbygpICYmIG1fd2ViQ29yZVBsYXllci0+bWVkaWFQbGF5ZXJDbGllbnQoKS0+bWVkaWFQ
bGF5ZXJJc0Z1bGxzY3JlZW5QZXJtaXR0ZWQoKSAmJiBpbmZvLT5pc01vYmlsZSgpKSB7CisgICAg
ICAgIC8vIFRoaXMgaXMgYSBtb2JpbGUgZGV2aWNlIChzbWFsbCBzY3JlZW4pLCBub3QgYSB0YWJs
ZXQsIHNvIHdlCisgICAgICAgIC8vIGVudGVyIGZ1bGxzY3JlZW4gdmlkZW8gb24gdXNlci1pbml0
aWF0ZWQgcGxheXMuCisgICAgICAgIGJvb2wgbm90aGluZ0lzRnVsbHNjcmVlbiA9ICFtX3dlYkNv
cmVQbGF5ZXItPm1lZGlhUGxheWVyQ2xpZW50KCktPm1lZGlhUGxheWVySXNGdWxsc2NyZWVuKCk7
CisjaWYgRU5BQkxFKEZVTExTQ1JFRU5fQVBJKQorICAgICAgICBpZiAobV93ZWJDb3JlUGxheWVy
LT5tZWRpYVBsYXllckNsaWVudCgpLT5tZWRpYVBsYXllck93bmluZ0RvY3VtZW50KCktPndlYmtp
dElzRnVsbFNjcmVlbigpKQorICAgICAgICAgICAgbm90aGluZ0lzRnVsbHNjcmVlbiA9IGZhbHNl
OworI2VuZGlmCisgICAgICAgIGlmIChub3RoaW5nSXNGdWxsc2NyZWVuICYmIGN1cnJlbnRUaW1l
KCkgPT0gMC4wZikgeworICAgICAgICAgICAgLy8gT25seSBlbnRlciBmdWxsc2NyZWVuIHdoZW4g
cGxheWluZyBmcm9tIHRoZSBiZWdpbm5pbmcuIERvaW5nCisgICAgICAgICAgICAvLyBzbyBvbiBl
dmVyeSBwbGF5IGlzIHN1cmUgdG8gYW5ub3kgdGhlIHVzZXIgd2hvIGRvZXMgbm90IHdhbnQKKyAg
ICAgICAgICAgIC8vIHRvIHdhdGNoIHRoZSB2aWRlbyBmdWxsc2NyZWVuLiBOb3RlIHRoYXQgdGhl
IGZvbGxvd2luZyBjYWxsCisgICAgICAgICAgICAvLyB3aWxsIGZhaWwgaWYgd2UgYXJlIG5vdCBo
ZXJlIGR1ZSB0byBhIHVzZXIgZ2VzdHVyZSwgYXMgcGVyIHRoZQorICAgICAgICAgICAgLy8gY2hl
Y2sgaW4gRG9jdW1lbnQ6OnJlcXVlc3RGdWxsU2NyZWVuRm9yRWxlbWVudCgpIHRvIHByZXZlbnQK
KyAgICAgICAgICAgIC8vIHBvcHVwcy4KKyAgICAgICAgICAgIG1fd2ViQ29yZVBsYXllci0+bWVk
aWFQbGF5ZXJDbGllbnQoKS0+bWVkaWFQbGF5ZXJFbnRlckZ1bGxzY3JlZW4oKTsKKyAgICAgICAg
fQorICAgIH0KK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gRU5BQkxF
KFZJREVPKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYmxh
Y2tiZXJyeS9NZWRpYVBsYXllclByaXZhdGVCbGFja0JlcnJ5LmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9ibGFja2JlcnJ5L01lZGlhUGxheWVyUHJpdmF0ZUJsYWNrQmVycnku
aAppbmRleCA3YjY2NTRkY2U0ODg1MGQ5Y2EzMjY5MzJmNTI1NjY0NmRhODQ0ODk1Li41ODhlNzFm
ZjEzMWMzNzhkNWNmODA2ZjJjZTU3ZDRjMDU2MGMxYWNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ibGFja2JlcnJ5L01lZGlhUGxheWVyUHJpdmF0ZUJsYWNr
QmVycnkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ibGFja2JlcnJ5
L01lZGlhUGxheWVyUHJpdmF0ZUJsYWNrQmVycnkuaApAQCAtMTcwLDYgKzE3MCw3IEBAIHByaXZh
dGU6CiAgICAgYm9vbCBtX21lZGlhSXNCdWZmZXJpbmc7CiAjZW5kaWYKIAorICAgIHZvaWQgY29u
ZGl0aW9uYWxseUdvRnVsbHNjcmVlbkFmdGVyUGxheSgpOwogICAgIHZvaWQgdXNlckRyaXZlblNl
ZWtUaW1lckZpcmVkKFRpbWVyPE1lZGlhUGxheWVyUHJpdmF0ZT4qKTsKICAgICBUaW1lcjxNZWRp
YVBsYXllclByaXZhdGU+IG1fdXNlckRyaXZlblNlZWtUaW1lcjsKICAgICBmbG9hdCBtX2xhc3RT
ZWVrVGltZTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwppbmRleCBjZWY5ZjkwODc3YjNkMzRmNWJkYWU1ZTkwZDJjNzk4MmRkMDNiNTlk
Li5hOGFiMTU2YWZhOTU3ZTU5YWViODYzZDU1OTFkZDBhNDI5OTRiNTBlIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTggQEAKKzIwMTItMTEtMDIgIE1heCBGZWlsICA8bWZlaWxAcmltLmNvbT4KKworICAgICAg
ICBbQmxhY2tCZXJyeV0gQXV0b21hdGljYWxseSBnbyBmdWxsc2NyZWVuIG9uIHZpZGVvIHBsYXkK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMTEwMAor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3QgdGhh
dCBmdWxsc2NyZWVuIGlzIGVudGVyZWQgYXV0b21hdGljYWxseSB3aGVuIHBsYXkgaXMKKyAgICAg
ICAgcHJlc3NlZCAoUFIxMzE3NzQpLiBUaGlzIHRlc3QgYXBwbGllcyB0byBoYW5kaGVsZCAoc21h
bGwgc2NyZWVuKQorICAgICAgICBkZXZpY2VzIG9ubHksIG5vdCB0YWJsZXRzLiBUaGUgaHRtbCBj
b2RlIGZvciB0aGlzIHRlc3Qgd2FzIGJhc2VkCisgICAgICAgIG9uIHZpZGVvLWNvbnRyb2xzLWZ1
bGxzY3JlZW4tdm9sdW1lLmh0bWwgYW5kIG1vZGlmaWVkLgorCisgICAgICAgICogcGxhdGZvcm0v
YmxhY2tiZXJyeS9tZWRpYS92aWRlby1hdXRvbWF0aWMtZnVsbHNjcmVlbi1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2JsYWNrYmVycnkvbWVkaWEvdmlkZW8tYXV0b21h
dGljLWZ1bGxzY3JlZW4uaHRtbDogQWRkZWQuCisKIDIwMTItMTEtMDIgIFN0ZXBoZW4gV2hpdGUg
IDxzZW5vcmJsYW5jb0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW0Nocm9taXVtXSBVbnJldmll
d2VkIGdhcmRlbmluZy4gIFNvbWUgbmV3IE1hYyBiYXNlbGluZXMsIGFuZCAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL2JsYWNrYmVycnkvbWVkaWEvdmlkZW8tYXV0b21hdGljLWZ1
bGxzY3JlZW4tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vYmxhY2tiZXJyeS9t
ZWRpYS92aWRlby1hdXRvbWF0aWMtZnVsbHNjcmVlbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZWQ2ZDBmZTFlZjg3ZDU0MTMyZDM2Y2YxMTZhMGFjYmY4MDc3YTQxYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2JsYWNrYmVycnkvbWVkaWEvdmlkZW8tYXV0b21hdGlj
LWZ1bGxzY3JlZW4tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNCBAQAorRVZFTlQoY2FucGxheSkK
K0VWRU5UKHdlYmtpdGZ1bGxzY3JlZW5jaGFuZ2UpCitFTkQgT0YgVEVTVAorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ibGFja2JlcnJ5L21lZGlhL3ZpZGVvLWF1dG9tYXRpYy1m
dWxsc2NyZWVuLmh0bWwgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ibGFja2JlcnJ5L21lZGlhL3Zp
ZGVvLWF1dG9tYXRpYy1mdWxsc2NyZWVuLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGIyNTVlNDA2YmEyYjMy
NThhZjZiYTc3MjczNGFhMGQyZmNlNTNhOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2JsYWNrYmVycnkvbWVkaWEvdmlkZW8tYXV0b21hdGljLWZ1bGxzY3JlZW4uaHRt
bApAQCAtMCwwICsxLDMzIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+CisgICAg
PHRpdGxlPlZpZGVvIEVsZW1lbnQgLSBUZXN0IGF1dG9tYXRpYyBFbnRlciBGdWxsc2NyZWVuIG9u
IHBsYXk8L3RpdGxlPgorICAgIDxzY3JpcHQgc3JjPS4uLy4uLy4uL21lZGlhL3ZpZGVvLXRlc3Qu
anM+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9Li4vLi4vLi4vbWVkaWEvbWVkaWEtZmlsZS5q
cz48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0uLi8uLi8uLi9tZWRpYS9tZWRpYS1jb250cm9s
cy5qcz48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0uLi8uLi8uLi9mdWxsc2NyZWVuL2Z1bGwt
c2NyZWVuLXRlc3QuanM+PC9zY3JpcHQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAgdmFyIHZvbHVt
ZVNsaWRlcjsKKworICAgICAgICB2YXIgc3RhcnRUZXN0ID0gZnVuY3Rpb24oKSB7CisgICAgICAg
ICAgICBmaW5kTWVkaWFFbGVtZW50KCk7CisgICAgICAgICAgICB3YWl0Rm9yRXZlbnQodmlkZW8s
ICdjYW5wbGF5Jywgb25jYW5wbGF5KTsKKyAgICAgICAgICAgIHZpZGVvLnNyYyA9IGZpbmRNZWRp
YUZpbGUoJ3ZpZGVvJywgJy4uLy4uLy4uL21lZGlhL2NvbnRlbnQvdGVzdCcpOworICAgICAgICB9
OworCisgICAgICAgIHZhciBvbmNhbnBsYXkgPSBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgIHdh
aXRGb3JFdmVudCh2aWRlbywgJ3dlYmtpdGZ1bGxzY3JlZW5jaGFuZ2UnLCBvbmZ1bGxzY3JlZW5j
aGFuZ2UpOworICAgICAgICAgICAgcnVuV2l0aEtleURvd24oZnVuY3Rpb24oKXsgdmlkZW8ucGxh
eSgpOyB9KQorICAgICAgICB9OworCisgICAgICAgIHZhciBvbmZ1bGxzY3JlZW5jaGFuZ2UgPSBm
dW5jdGlvbigpIHsKKyAgICAgICAgICAgIGVuZFRlc3QoKTsKKyAgICAgICAgfTsKKyAgICA8L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0ic3RhcnRUZXN0KCkiPgorICAgIAorICAgIDx2
aWRlbyBjb250cm9scz48L3ZpZGVvPiAgICAKKyAgICAKKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>