<?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>175898</bug_id>
          
          <creation_ts>2017-08-23 12:23:52 -0700</creation_ts>
          <short_desc>_WKThumbnailView snapshots have to be copied by CA on first commit due to bad row alignment</short_desc>
          <delta_ts>2017-08-24 11:11:21 -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>New Bugs</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="Tim Horton">thorton</reporter>
          <assigned_to name="Tim Horton">thorton</assigned_to>
          <cc>bdakin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dino</cc>
    
    <cc>sabouhallawa</cc>
    
    <cc>sam</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1341708</commentid>
    <comment_count>0</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2017-08-23 12:23:52 -0700</bug_when>
    <thetext>_WKThumbnailView snapshots have to be copied by CA on first commit due to bad row alignment</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1341709</commentid>
    <comment_count>1</comment_count>
      <attachid>318900</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2017-08-23 12:30:02 -0700</bug_when>
    <thetext>Created attachment 318900
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1341710</commentid>
    <comment_count>2</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2017-08-23 12:30:20 -0700</bug_when>
    <thetext>I&apos;m not sure that IOSurface alignment method is the best way, I&apos;m asking around.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1341847</commentid>
    <comment_count>3</comment_count>
      <attachid>318900</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2017-08-23 16:12:04 -0700</bug_when>
    <thetext>Comment on attachment 318900
Patch

Looks good. Fix the other builds.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1341892</commentid>
    <comment_count>4</comment_count>
      <attachid>318943</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2017-08-23 17:16:00 -0700</bug_when>
    <thetext>Created attachment 318943
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1341894</commentid>
    <comment_count>5</comment_count>
      <attachid>318944</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2017-08-23 17:20:31 -0700</bug_when>
    <thetext>Created attachment 318944
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1341901</commentid>
    <comment_count>6</comment_count>
      <attachid>318948</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2017-08-23 17:27:30 -0700</bug_when>
    <thetext>Created attachment 318948
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1341909</commentid>
    <comment_count>7</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2017-08-23 17:43:49 -0700</bug_when>
    <thetext>&lt;rdar://problem/34029673&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1342044</commentid>
    <comment_count>8</comment_count>
      <attachid>318948</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2017-08-24 08:42:09 -0700</bug_when>
    <thetext>Comment on attachment 318948
Patch

I assume this means that ShareableBitmap can how have a few junk bytes at the end of each row? Are all clients prepared for this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1342055</commentid>
    <comment_count>9</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2017-08-24 09:07:20 -0700</bug_when>
    <thetext>(In reply to Simon Fraser (smfr) from comment #8)
&gt; Comment on attachment 318948 [details]
&gt; Patch
&gt; 
&gt; I assume this means that ShareableBitmap can how have a few junk bytes at
&gt; the end of each row? Are all clients prepared for this?

Hopefully! I’m not sure there are any clients that don’t just use CGImage, which just handles this under the covers</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1342088</commentid>
    <comment_count>10</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2017-08-24 10:42:02 -0700</bug_when>
    <thetext>(In reply to Tim Horton from comment #9)
&gt; (In reply to Simon Fraser (smfr) from comment #8)
&gt; &gt; Comment on attachment 318948 [details]
&gt; &gt; Patch
&gt; &gt; 
&gt; &gt; I assume this means that ShareableBitmap can how have a few junk bytes at
&gt; &gt; the end of each row? Are all clients prepared for this?
&gt; 
&gt; Hopefully! I’m not sure there are any clients that don’t just use CGImage,
&gt; which just handles this under the covers

There should be none, we don&apos;t even expose the raw data.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1342098</commentid>
    <comment_count>11</comment_count>
      <attachid>318948</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-08-24 11:11:19 -0700</bug_when>
    <thetext>Comment on attachment 318948
Patch

Clearing flags on attachment: 318948

Committed r221149: &lt;http://trac.webkit.org/changeset/221149&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1342099</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-08-24 11:11:21 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>318900</attachid>
            <date>2017-08-23 12:30:02 -0700</date>
            <delta_ts>2017-08-23 17:16:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-175898-20170823123001.patch</filename>
            <type>text/plain</type>
            <size>10284</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIxMDgyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDgzY2E2MTI5NjE1MGM2Yzgz
ZjM2M2RjYjM2YTVjOWM5ZmNmZWU5MzguLjhmY2ZlNjY1ZDU1MzAyZGE5ZjBjMzBjYTlhZWIwYzVl
NWRmNDgyZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDIgQEAKKyAyMDE3LTA4LTIzICBUaW0gSG9y
dG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgorCisgICAgICAgIF9XS1RodW1ibmFpbFZp
ZXcgc25hcHNob3RzIGhhdmUgdG8gYmUgY29waWVkIGJ5IENBIG9uIGZpcnN0IGNvbW1pdCBkdWUg
dG8gYmFkIHJvdyBhbGlnbm1lbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE3NTg5OAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzQwMjk2NzM+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW4gb3JkZXIg
dG8gYXZvaWQgY29weWluZywgQ0dJbWFnZXMgdXNlZCBhcyBsYXllciBjb250ZW50cyBuZWVkIHRv
IGhhdmUgY2VydGFpbgorICAgICAgICBhbGlnbm1lbnQgcmVxdWlyZW1lbnRzIGZ1bGZpbGxlZC4g
QWxpZ24gdGhlIHJvdyBzdHJpZGUgdG8gdGhlIGRlc2lyZWQgdmFsdWUuCisKKyAgICAgICAgKiBT
aGFyZWQvU2hhcmVhYmxlQml0bWFwLmNwcDoKKyAgICAgICAgKFdlYktpdDo6U2hhcmVhYmxlQml0
bWFwOjpjcmVhdGUpOgorICAgICAgICAoV2ViS2l0OjpTaGFyZWFibGVCaXRtYXA6OmNyZWF0ZVNo
YXJlYWJsZSk6CisgICAgICAgIChXZWJLaXQ6OlNoYXJlYWJsZUJpdG1hcDo6bnVtQnl0ZXNGb3JT
aXplKToKKyAgICAgICAgKFdlYktpdDo6U2hhcmVhYmxlQml0bWFwOjpjYWxjdWxhdGVCeXRlc1Bl
clBpeGVsKTogRGVsZXRlZC4KKyAgICAgICAgKiBTaGFyZWQvU2hhcmVhYmxlQml0bWFwLmg6Cisg
ICAgICAgIChXZWJLaXQ6OlNoYXJlYWJsZUJpdG1hcDo6c2l6ZUluQnl0ZXMgY29uc3QpOgorICAg
ICAgICAoV2ViS2l0OjpTaGFyZWFibGVCaXRtYXA6Om51bUJ5dGVzRm9yU2l6ZSk6IERlbGV0ZWQu
CisgICAgICAgIE1lcmdlIHRoZSBpbnRlcmZhY2VzIG9mIG51bUJ5dGVzUGVyU2l6ZSBhbmQgc2l6
ZUluQnl0ZXMgYmV0d2VlbiB0aGUgcGxhdGZvcm1zLgorICAgICAgICBudW1CeXRlc0ZvclNpemUg
bm93IG1ha2VzIHVzZSBvZiB0aGUgbmV3IGNhbGN1bGF0ZUJ5dGVzUGVyUm93LCB3aGljaCBpcwor
ICAgICAgICBpbXBsZW1lbnRlZCBieSBlYWNoIHBsYXRmb3JtIFNoYXJlYWJsZUJpdG1hcCBpbXBs
ZW1lbnRhdGlvbiB0byBkbyB0aGUKKyAgICAgICAgcmVxdWlzaXRlIGFsaWdubWVudCBmb3IgdGhh
dCBwbGF0Zm9ybS4KKworICAgICAgICAqIFNoYXJlZC9jYWlyby9TaGFyZWFibGVCaXRtYXBDYWly
by5jcHA6CisgICAgICAgIChXZWJLaXQ6OlNoYXJlYWJsZUJpdG1hcDo6Y2FsY3VsYXRlQnl0ZXNQ
ZXJSb3cpOgorICAgICAgICAoV2ViS2l0OjpTaGFyZWFibGVCaXRtYXA6OmNhbGN1bGF0ZUJ5dGVz
UGVyUGl4ZWwpOgorICAgICAgICAoV2ViS2l0OjpjcmVhdGVTdXJmYWNlRnJvbURhdGEpOgorICAg
ICAgICAoV2ViS2l0OjpTaGFyZWFibGVCaXRtYXA6Om51bUJ5dGVzRm9yU2l6ZSk6IERlbGV0ZWQu
CisgICAgICAgIEltcGxlbWVudCBjYWxjdWxhdGVCeXRlc1BlclJvdyAod2hpY2ggdXNlZCB0byBi
ZSBoaWRkZW4gaW5zaWRlIG9mIG51bUJ5dGVzRm9yU2l6ZSkKKyAgICAgICAgYW5kIGdldCByaWQg
b2YgdGhlIG5vdy1kdXBsaWNhdGl2ZSBudW1CeXRlc0ZvclNpemUuCisKKyAgICAgICAgKiBTaGFy
ZWQvY2cvU2hhcmVhYmxlQml0bWFwQ0cuY3BwOgorICAgICAgICAoV2ViS2l0OjpTaGFyZWFibGVC
aXRtYXA6OmNhbGN1bGF0ZUJ5dGVzUGVyUm93KToKKyAgICAgICAgKFdlYktpdDo6U2hhcmVhYmxl
Qml0bWFwOjpjcmVhdGVHcmFwaGljc0NvbnRleHQpOgorICAgICAgICAoV2ViS2l0OjpTaGFyZWFi
bGVCaXRtYXA6OmNyZWF0ZUNHSW1hZ2UgY29uc3QpOgorICAgICAgICBJbXBsZW1lbnQgY2FsY3Vs
YXRlQnl0ZXNQZXJSb3cgYW5kIG1ha2UgdXNlIG9mIGl0IHdoZW4gcHJvdmlkaW5nIGEgcm93IHN0
cmlkZQorICAgICAgICB0byBDb3JlR3JhcGhpY3MuCisKIDIwMTctMDgtMjMgIENocmlzIER1bWV6
ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBSZWdyZXNzaW9uKHIyMjEwNTkpOiBOZXR3
b3JrRGF0YVRhc2s6OmRpZFJlY2VpdmVSZXNwb25zZSgpIHNob3VsZCBub3QgdXNlIFBvbGljeVVz
ZSBmb3IgSFRUUC8wLjkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1NoYXJlYWJs
ZUJpdG1hcC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9TaGFyZWFibGVCaXRtYXAuY3BwCmlu
ZGV4IDgzYTBlNjdmMmNmZTE0MDc1MDRjYjdhZjgzMzY5Zjg5ZDMxODczODMuLjRmY2Y0ZDM0ZjY5
NmZiYzRlN2M4Y2U1YzkyMjYyM2Y1OWZmMWI1MGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
U2hhcmVkL1NoYXJlYWJsZUJpdG1hcC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvU2hh
cmVhYmxlQml0bWFwLmNwcApAQCAtODQsNyArODQsNyBAQCBib29sIFNoYXJlYWJsZUJpdG1hcDo6
Q29uZmlndXJhdGlvbjo6ZGVjb2RlKElQQzo6RGVjb2RlciYgZGVjb2RlciwgQ29uZmlndXJhdGlv
bgogCiBSZWZQdHI8U2hhcmVhYmxlQml0bWFwPiBTaGFyZWFibGVCaXRtYXA6OmNyZWF0ZShjb25z
dCBJbnRTaXplJiBzaXplLCBDb25maWd1cmF0aW9uIGNvbmZpZ3VyYXRpb24pCiB7Ci0gICAgYXV0
byBudW1CeXRlcyA9IG51bUJ5dGVzRm9yU2l6ZShzaXplLCBjYWxjdWxhdGVCeXRlc1BlclBpeGVs
KGNvbmZpZ3VyYXRpb24pKTsKKyAgICBhdXRvIG51bUJ5dGVzID0gbnVtQnl0ZXNGb3JTaXplKHNp
emUsIGNvbmZpZ3VyYXRpb24pOwogICAgIGlmIChudW1CeXRlcy5oYXNPdmVyZmxvd2VkKCkpCiAg
ICAgICAgIHJldHVybiBudWxscHRyOwogCkBAIC05Nyw3ICs5Nyw3IEBAIFJlZlB0cjxTaGFyZWFi
bGVCaXRtYXA+IFNoYXJlYWJsZUJpdG1hcDo6Y3JlYXRlKGNvbnN0IEludFNpemUmIHNpemUsIENv
bmZpZ3VyYXRpCiAKIFJlZlB0cjxTaGFyZWFibGVCaXRtYXA+IFNoYXJlYWJsZUJpdG1hcDo6Y3Jl
YXRlU2hhcmVhYmxlKGNvbnN0IEludFNpemUmIHNpemUsIENvbmZpZ3VyYXRpb24gY29uZmlndXJh
dGlvbikKIHsKLSAgICBhdXRvIG51bUJ5dGVzID0gbnVtQnl0ZXNGb3JTaXplKHNpemUsIGNhbGN1
bGF0ZUJ5dGVzUGVyUGl4ZWwoY29uZmlndXJhdGlvbikpOworICAgIGF1dG8gbnVtQnl0ZXMgPSBu
dW1CeXRlc0ZvclNpemUoc2l6ZSwgY29uZmlndXJhdGlvbik7CiAgICAgaWYgKG51bUJ5dGVzLmhh
c092ZXJmbG93ZWQoKSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKQEAgLTExMiw3ICsxMTIs
NyBAQCBSZWZQdHI8U2hhcmVhYmxlQml0bWFwPiBTaGFyZWFibGVCaXRtYXA6OmNyZWF0ZShjb25z
dCBJbnRTaXplJiBzaXplLCBDb25maWd1cmF0aQogewogICAgIEFTU0VSVChzaGFyZWRNZW1vcnkp
OwogCi0gICAgYXV0byBudW1CeXRlcyA9IG51bUJ5dGVzRm9yU2l6ZShzaXplLCBjYWxjdWxhdGVC
eXRlc1BlclBpeGVsKGNvbmZpZ3VyYXRpb24pKTsKKyAgICBhdXRvIG51bUJ5dGVzID0gbnVtQnl0
ZXNGb3JTaXplKHNpemUsIGNvbmZpZ3VyYXRpb24pOwogICAgIGlmIChudW1CeXRlcy5oYXNPdmVy
Zmxvd2VkKCkpCiAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIGlmIChzaGFyZWRNZW1vcnkt
PnNpemUoKSA8IG51bUJ5dGVzLnVuc2FmZUdldCgpKSB7CkBAIC0xNzQsMTEgKzE3NCw5IEBAIHZv
aWQqIFNoYXJlYWJsZUJpdG1hcDo6ZGF0YSgpIGNvbnN0CiAgICAgcmV0dXJuIG1fZGF0YTsKIH0K
IAotI2lmICFVU0UoQ0cpCi11bnNpZ25lZCBTaGFyZWFibGVCaXRtYXA6OmNhbGN1bGF0ZUJ5dGVz
UGVyUGl4ZWwoY29uc3QgQ29uZmlndXJhdGlvbiYpCitDaGVja2VkPHVuc2lnbmVkLCBSZWNvcmRP
dmVyZmxvdz4gU2hhcmVhYmxlQml0bWFwOjpudW1CeXRlc0ZvclNpemUoV2ViQ29yZTo6SW50U2l6
ZSBzaXplLCBjb25zdCBTaGFyZWFibGVCaXRtYXA6OkNvbmZpZ3VyYXRpb24mIGNvbmZpZ3VyYXRp
b24pCiB7Ci0gICAgcmV0dXJuIDQ7CisgICAgcmV0dXJuIGNhbGN1bGF0ZUJ5dGVzUGVyUm93KHNp
emUsIGNvbmZpZ3VyYXRpb24pICogc2l6ZS5oZWlnaHQoKTsKIH0KLSNlbmRpZgogCiB9IC8vIG5h
bWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1NoYXJlYWJs
ZUJpdG1hcC5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvU2hhcmVhYmxlQml0bWFwLmgKaW5kZXgg
ZDAyZDVjNWZiMzRjNGQxMDNhM2Q2YWI2MDI5OTExYzQ1OWE3NTk0MC4uNmZkNjMwNDUwOTg2NDE3
ZmRmOTJmYTIyYjE4MWU3NGFlOWJmZDZlNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFy
ZWQvU2hhcmVhYmxlQml0bWFwLmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvU2hhcmVhYmxl
Qml0bWFwLmgKQEAgLTEyOSwxMiArMTI5LDkgQEAgcHJpdmF0ZToKICAgICBTaGFyZWFibGVCaXRt
YXAoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYsIENvbmZpZ3VyYXRpb24sIHZvaWQqKTsKICAgICBT
aGFyZWFibGVCaXRtYXAoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYsIENvbmZpZ3VyYXRpb24sIFJl
ZlB0cjxTaGFyZWRNZW1vcnk+KTsKIAotI2lmIFVTRShDQUlSTykKLSAgICBzdGF0aWMgQ2hlY2tl
ZDx1bnNpZ25lZCwgUmVjb3JkT3ZlcmZsb3c+IG51bUJ5dGVzRm9yU2l6ZShjb25zdCBXZWJDb3Jl
OjpJbnRTaXplJik7Ci0gICAgc3RhdGljIENoZWNrZWQ8dW5zaWduZWQsIFJlY29yZE92ZXJmbG93
PiBudW1CeXRlc0ZvclNpemUoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYgc2l6ZSwgdW5zaWduZWQg
Ynl0ZXNQZXJQaXhlbCkgeyByZXR1cm4gbnVtQnl0ZXNGb3JTaXplKHNpemUpOyB9Ci0jZWxzZQot
ICAgIHN0YXRpYyBDaGVja2VkPHVuc2lnbmVkLCBSZWNvcmRPdmVyZmxvdz4gbnVtQnl0ZXNGb3JT
aXplKGNvbnN0IFdlYkNvcmU6OkludFNpemUmIHNpemUsIHVuc2lnbmVkIGJ5dGVzUGVyUGl4ZWwp
IHsgcmV0dXJuIHNpemUuYXJlYTxSZWNvcmRPdmVyZmxvdz4oKSAqIGJ5dGVzUGVyUGl4ZWw7IH0K
LSNlbmRpZgorICAgIHN0YXRpYyBDaGVja2VkPHVuc2lnbmVkLCBSZWNvcmRPdmVyZmxvdz4gbnVt
Qnl0ZXNGb3JTaXplKFdlYkNvcmU6OkludFNpemUsIGNvbnN0IFNoYXJlYWJsZUJpdG1hcDo6Q29u
ZmlndXJhdGlvbiYpOworICAgIHN0YXRpYyBDaGVja2VkPHVuc2lnbmVkLCBSZWNvcmRPdmVyZmxv
dz4gY2FsY3VsYXRlQnl0ZXNQZXJSb3coV2ViQ29yZTo6SW50U2l6ZSwgY29uc3QgQ29uZmlndXJh
dGlvbiYpOworICAgIHN0YXRpYyB1bnNpZ25lZCBjYWxjdWxhdGVCeXRlc1BlclBpeGVsKGNvbnN0
IENvbmZpZ3VyYXRpb24mKTsKIAogI2lmIFVTRShDRykKICAgICBSZXRhaW5QdHI8Q0dJbWFnZVJl
Zj4gY3JlYXRlQ0dJbWFnZShDR0RhdGFQcm92aWRlclJlZikgY29uc3Q7CkBAIC0xNDcsMTMgKzE0
NCw3IEBAIHByaXZhdGU6CiAjZW5kaWYKIAogICAgIHZvaWQqIGRhdGEoKSBjb25zdDsKLSNpZiBV
U0UoQ0FJUk8pCi0gICAgc2l6ZV90IHNpemVJbkJ5dGVzKCkgY29uc3QgeyByZXR1cm4gbnVtQnl0
ZXNGb3JTaXplKG1fc2l6ZSkudW5zYWZlR2V0KCk7IH0KLSNlbHNlCi0gICAgc2l6ZV90IHNpemVJ
bkJ5dGVzKCkgY29uc3QgeyByZXR1cm4gbnVtQnl0ZXNGb3JTaXplKG1fc2l6ZSwgY2FsY3VsYXRl
Qnl0ZXNQZXJQaXhlbChtX2NvbmZpZ3VyYXRpb24pKS51bnNhZmVHZXQoKTsgfQotI2VuZGlmCi0K
LSAgICBzdGF0aWMgdW5zaWduZWQgY2FsY3VsYXRlQnl0ZXNQZXJQaXhlbChjb25zdCBDb25maWd1
cmF0aW9uJik7CisgICAgc2l6ZV90IHNpemVJbkJ5dGVzKCkgY29uc3QgeyByZXR1cm4gbnVtQnl0
ZXNGb3JTaXplKG1fc2l6ZSwgbV9jb25maWd1cmF0aW9uKS51bnNhZmVHZXQoKTsgfQogCiAgICAg
V2ViQ29yZTo6SW50U2l6ZSBtX3NpemU7CiAgICAgQ29uZmlndXJhdGlvbiBtX2NvbmZpZ3VyYXRp
b247CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9jYWlyby9TaGFyZWFibGVCaXRt
YXBDYWlyby5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9jYWlyby9TaGFyZWFibGVCaXRtYXBD
YWlyby5jcHAKaW5kZXggMjIzOWNlZTM3Njg1ODI3M2E2NzgzZWY3Yzg4NDc4ZTI4NWQxZjU4Zi4u
MTNhYjFkZjEwOWFhNDJlNDNkMDIyM2RhNmZlZDI3MjFhNjg3YzQ1OCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9TaGFyZWQvY2Fpcm8vU2hhcmVhYmxlQml0bWFwQ2Fpcm8uY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvU2hhcmVkL2NhaXJvL1NoYXJlYWJsZUJpdG1hcENhaXJvLmNwcApAQCAtNDAs
MTQgKzQwLDE5IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogCiBzdGF0aWMgY29uc3QgY2Fpcm9fZm9y
bWF0X3QgY2Fpcm9Gb3JtYXQgPSBDQUlST19GT1JNQVRfQVJHQjMyOwogCi1DaGVja2VkPHVuc2ln
bmVkLCBSZWNvcmRPdmVyZmxvdz4gU2hhcmVhYmxlQml0bWFwOjpudW1CeXRlc0ZvclNpemUoY29u
c3QgV2ViQ29yZTo6SW50U2l6ZSYgc2l6ZSkKK0NoZWNrZWQ8dW5zaWduZWQsIFJlY29yZE92ZXJm
bG93PiBTaGFyZWFibGVCaXRtYXA6OmNhbGN1bGF0ZUJ5dGVzUGVyUm93KGNvbnN0IFdlYkNvcmU6
OkludFNpemUmIHNpemUsIGNvbnN0IENvbmZpZ3VyYXRpb24mKQogewotICAgIHJldHVybiBDaGVj
a2VkPHVuc2lnbmVkLCBSZWNvcmRPdmVyZmxvdz4oY2Fpcm9fZm9ybWF0X3N0cmlkZV9mb3Jfd2lk
dGgoY2Fpcm9Gb3JtYXQsIHNpemUud2lkdGgoKSkpICogc2l6ZS5oZWlnaHQoKTsKKyAgICByZXR1
cm4gY2Fpcm9fZm9ybWF0X3N0cmlkZV9mb3Jfd2lkdGgoY2Fpcm9Gb3JtYXQsIHNpemUud2lkdGgo
KSk7Cit9CisKK3Vuc2lnbmVkIFNoYXJlYWJsZUJpdG1hcDo6Y2FsY3VsYXRlQnl0ZXNQZXJQaXhl
bChjb25zdCBDb25maWd1cmF0aW9uJikKK3sKKyAgICByZXR1cm4gNDsKIH0KIAogc3RhdGljIGlu
bGluZSBSZWZQdHI8Y2Fpcm9fc3VyZmFjZV90PiBjcmVhdGVTdXJmYWNlRnJvbURhdGEodm9pZCog
ZGF0YSwgY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYgc2l6ZSkKIHsKLSAgICBjb25zdCBpbnQgc3Ry
aWRlID0gY2Fpcm9fZm9ybWF0X3N0cmlkZV9mb3Jfd2lkdGgoY2Fpcm9Gb3JtYXQsIHNpemUud2lk
dGgoKSk7CisgICAgY29uc3QgaW50IHN0cmlkZSA9IGNhbGN1bGF0ZUJ5dGVzUGVyUm93KHNpemUs
IHsgfSkudW5zYWZlR2V0KCk7CiAgICAgcmV0dXJuIGFkb3B0UmVmKGNhaXJvX2ltYWdlX3N1cmZh
Y2VfY3JlYXRlX2Zvcl9kYXRhKHN0YXRpY19jYXN0PHVuc2lnbmVkIGNoYXIqPihkYXRhKSwgY2Fp
cm9Gb3JtYXQsIHNpemUud2lkdGgoKSwgc2l6ZS5oZWlnaHQoKSwgc3RyaWRlKSk7CiB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL2NnL1NoYXJlYWJsZUJpdG1hcENHLmNwcCBi
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL2NnL1NoYXJlYWJsZUJpdG1hcENHLmNwcAppbmRleCA5ZTVh
MTRlZmUzNGQxYTk0NTI4ZmUzMWJmOTlhZjljODBlZDMwYWZkLi44ZGVhODliODRiMTQ4OWIyNTNj
OWZmYmVjY2Y4NGM0MmU0YjMzMDE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9j
Zy9TaGFyZWFibGVCaXRtYXBDRy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvY2cvU2hh
cmVhYmxlQml0bWFwQ0cuY3BwCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9H
cmFwaGljc0NvbnRleHRDRy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUGxhdGZvcm1TY3JlZW4uaD4K
ICNpbmNsdWRlIDxwYWwvc3BpL2NnL0NvcmVHcmFwaGljc1NQSS5oPgorI2luY2x1ZGUgPHBhbC9z
cGkvY29jb2EvSU9TdXJmYWNlU1BJLmg+CiAjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgogI2lu
Y2x1ZGUgIkNHVXRpbGl0aWVzLmgiCiAKQEAgLTc0LDYgKzc1LDE2IEBAIHN0YXRpYyBDR0JpdG1h
cEluZm8gYml0bWFwSW5mbyhjb25zdCBTaGFyZWFibGVCaXRtYXA6OkNvbmZpZ3VyYXRpb24mIGNv
bmZpZ3VyYXRpCiAgICAgcmV0dXJuIGluZm87CiB9CiAKK0NoZWNrZWQ8dW5zaWduZWQsIFJlY29y
ZE92ZXJmbG93PiBTaGFyZWFibGVCaXRtYXA6OmNhbGN1bGF0ZUJ5dGVzUGVyUm93KFdlYkNvcmU6
OkludFNpemUgc2l6ZSwgY29uc3QgQ29uZmlndXJhdGlvbiYgY29uZmlndXJhdGlvbikKK3sKKyAg
ICB1bnNpZ25lZCBieXRlc1BlclJvdyA9IGNhbGN1bGF0ZUJ5dGVzUGVyUGl4ZWwoY29uZmlndXJh
dGlvbikgKiBzaXplLndpZHRoKCk7CisjaWYgVVNFKElPU1VSRkFDRSkKKyAgICByZXR1cm4gSU9T
dXJmYWNlQWxpZ25Qcm9wZXJ0eShrSU9TdXJmYWNlQnl0ZXNQZXJSb3csIGJ5dGVzUGVyUm93KTsK
KyNlbHNlCisgICAgcmV0dXJuIGJ5dGVzUGVyUm93OworI2VuZGlmCit9CisKIHVuc2lnbmVkIFNo
YXJlYWJsZUJpdG1hcDo6Y2FsY3VsYXRlQnl0ZXNQZXJQaXhlbChjb25zdCBDb25maWd1cmF0aW9u
JiBjb25maWd1cmF0aW9uKQogewogICAgIHJldHVybiB3YW50c0V4dGVuZGVkUmFuZ2UoY29uZmln
dXJhdGlvbikgPyA4IDogNDsKQEAgLTg0LDcgKzk1LDcgQEAgc3RkOjp1bmlxdWVfcHRyPEdyYXBo
aWNzQ29udGV4dD4gU2hhcmVhYmxlQml0bWFwOjpjcmVhdGVHcmFwaGljc0NvbnRleHQoKQogICAg
IHJlZigpOyAvLyBCYWxhbmNlZCBieSBkZXJlZiBpbiByZWxlYXNlQml0bWFwQ29udGV4dERhdGEu
CiAKICAgICB1bnNpZ25lZCBieXRlc1BlclBpeGVsID0gY2FsY3VsYXRlQnl0ZXNQZXJQaXhlbCht
X2NvbmZpZ3VyYXRpb24pOwotICAgIFJldGFpblB0cjxDR0NvbnRleHRSZWY+IGJpdG1hcENvbnRl
eHQgPSBhZG9wdENGKENHQml0bWFwQ29udGV4dENyZWF0ZVdpdGhEYXRhKGRhdGEoKSwgbV9zaXpl
LndpZHRoKCksIG1fc2l6ZS5oZWlnaHQoKSwgYnl0ZXNQZXJQaXhlbCAqIDggLyA0LCBtX3NpemUu
d2lkdGgoKSAqIGJ5dGVzUGVyUGl4ZWwsIGNvbG9yU3BhY2UobV9jb25maWd1cmF0aW9uKSwgYml0
bWFwSW5mbyhtX2NvbmZpZ3VyYXRpb24pLCByZWxlYXNlQml0bWFwQ29udGV4dERhdGEsIHRoaXMp
KTsKKyAgICBSZXRhaW5QdHI8Q0dDb250ZXh0UmVmPiBiaXRtYXBDb250ZXh0ID0gYWRvcHRDRihD
R0JpdG1hcENvbnRleHRDcmVhdGVXaXRoRGF0YShkYXRhKCksIG1fc2l6ZS53aWR0aCgpLCBtX3Np
emUuaGVpZ2h0KCksIGJ5dGVzUGVyUGl4ZWwgKiA4IC8gNCwgY2FsY3VsYXRlQnl0ZXNQZXJSb3co
bV9zaXplLCBtX2NvbmZpZ3VyYXRpb24pLnVuc2FmZUdldCgpLCBjb2xvclNwYWNlKG1fY29uZmln
dXJhdGlvbiksIGJpdG1hcEluZm8obV9jb25maWd1cmF0aW9uKSwgcmVsZWFzZUJpdG1hcENvbnRl
eHREYXRhLCB0aGlzKSk7CiAgICAgCiAgICAgQVNTRVJUKGJpdG1hcENvbnRleHQuZ2V0KCkpOwog
CkBAIC0xMjMsNyArMTM0LDcgQEAgUmV0YWluUHRyPENHSW1hZ2VSZWY+IFNoYXJlYWJsZUJpdG1h
cDo6Y3JlYXRlQ0dJbWFnZShDR0RhdGFQcm92aWRlclJlZiBkYXRhUHJvdmkKIHsKICAgICBBU1NF
UlRfQVJHKGRhdGFQcm92aWRlciwgZGF0YVByb3ZpZGVyKTsKICAgICB1bnNpZ25lZCBieXRlc1Bl
clBpeGVsID0gY2FsY3VsYXRlQnl0ZXNQZXJQaXhlbChtX2NvbmZpZ3VyYXRpb24pOwotICAgIFJl
dGFpblB0cjxDR0ltYWdlUmVmPiBpbWFnZSA9IGFkb3B0Q0YoQ0dJbWFnZUNyZWF0ZShtX3NpemUu
d2lkdGgoKSwgbV9zaXplLmhlaWdodCgpLCBieXRlc1BlclBpeGVsICogOCAvIDQsIGJ5dGVzUGVy
UGl4ZWwgKiA4LCBtX3NpemUud2lkdGgoKSAqIGJ5dGVzUGVyUGl4ZWwsIGNvbG9yU3BhY2UobV9j
b25maWd1cmF0aW9uKSwgYml0bWFwSW5mbyhtX2NvbmZpZ3VyYXRpb24pLCBkYXRhUHJvdmlkZXIs
IDAsIGZhbHNlLCBrQ0dSZW5kZXJpbmdJbnRlbnREZWZhdWx0KSk7CisgICAgUmV0YWluUHRyPENH
SW1hZ2VSZWY+IGltYWdlID0gYWRvcHRDRihDR0ltYWdlQ3JlYXRlKG1fc2l6ZS53aWR0aCgpLCBt
X3NpemUuaGVpZ2h0KCksIGJ5dGVzUGVyUGl4ZWwgKiA4IC8gNCwgYnl0ZXNQZXJQaXhlbCAqIDgs
IGNhbGN1bGF0ZUJ5dGVzUGVyUm93KG1fc2l6ZSwgbV9jb25maWd1cmF0aW9uKS51bnNhZmVHZXQo
KSwgY29sb3JTcGFjZShtX2NvbmZpZ3VyYXRpb24pLCBiaXRtYXBJbmZvKG1fY29uZmlndXJhdGlv
biksIGRhdGFQcm92aWRlciwgMCwgZmFsc2UsIGtDR1JlbmRlcmluZ0ludGVudERlZmF1bHQpKTsK
ICAgICByZXR1cm4gaW1hZ2U7CiB9CiAK
</data>
<flag name="review"
          id="339267"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>318943</attachid>
            <date>2017-08-23 17:16:00 -0700</date>
            <delta_ts>2017-08-23 17:20:29 -0700</delta_ts>
            <desc>patch</desc>
            <filename>bug-175898-20170823123001.patch</filename>
            <type>text/plain</type>
            <size>9929</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKaW5kZXggNDdiNmExNzMyMGEuLmVjNWNjMDdkOGJkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsx
LDQyIEBACisgMjAxNy0wOC0yMyAgVGltIEhvcnRvbiAgPHRpbW90aHlfaG9ydG9uQGFwcGxlLmNv
bT4KKworICAgICAgICBfV0tUaHVtYm5haWxWaWV3IHNuYXBzaG90cyBoYXZlIHRvIGJlIGNvcGll
ZCBieSBDQSBvbiBmaXJzdCBjb21taXQgZHVlIHRvIGJhZCByb3cgYWxpZ25tZW50CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzU4OTgKKyAgICAgICAg
PHJkYXI6Ly9wcm9ibGVtLzM0MDI5NjczPgorCisgICAgICAgIFJldmlld2VkIGJ5IFNhbSBXZWlu
aWcuCisKKyAgICAgICAgSW4gb3JkZXIgdG8gYXZvaWQgY29weWluZywgQ0dJbWFnZXMgdXNlZCBh
cyBsYXllciBjb250ZW50cyBuZWVkIHRvIGhhdmUgY2VydGFpbgorICAgICAgICBhbGlnbm1lbnQg
cmVxdWlyZW1lbnRzIGZ1bGZpbGxlZC4gQWxpZ24gdGhlIHJvdyBzdHJpZGUgdG8gdGhlIGRlc2ly
ZWQgdmFsdWUuCisKKyAgICAgICAgKiBTaGFyZWQvU2hhcmVhYmxlQml0bWFwLmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6U2hhcmVhYmxlQml0bWFwOjpjcmVhdGUpOgorICAgICAgICAoV2ViS2l0OjpT
aGFyZWFibGVCaXRtYXA6OmNyZWF0ZVNoYXJlYWJsZSk6CisgICAgICAgIChXZWJLaXQ6OlNoYXJl
YWJsZUJpdG1hcDo6bnVtQnl0ZXNGb3JTaXplKToKKyAgICAgICAgKFdlYktpdDo6U2hhcmVhYmxl
Qml0bWFwOjpjYWxjdWxhdGVCeXRlc1BlclBpeGVsKTogRGVsZXRlZC4KKyAgICAgICAgKiBTaGFy
ZWQvU2hhcmVhYmxlQml0bWFwLmg6CisgICAgICAgIChXZWJLaXQ6OlNoYXJlYWJsZUJpdG1hcDo6
c2l6ZUluQnl0ZXMgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpTaGFyZWFibGVCaXRtYXA6Om51
bUJ5dGVzRm9yU2l6ZSk6IERlbGV0ZWQuCisgICAgICAgIE1lcmdlIHRoZSBpbnRlcmZhY2VzIG9m
IG51bUJ5dGVzUGVyU2l6ZSBhbmQgc2l6ZUluQnl0ZXMgYmV0d2VlbiB0aGUgcGxhdGZvcm1zLgor
ICAgICAgICBudW1CeXRlc0ZvclNpemUgbm93IG1ha2VzIHVzZSBvZiB0aGUgbmV3IGNhbGN1bGF0
ZUJ5dGVzUGVyUm93LCB3aGljaCBpcworICAgICAgICBpbXBsZW1lbnRlZCBieSBlYWNoIHBsYXRm
b3JtIFNoYXJlYWJsZUJpdG1hcCBpbXBsZW1lbnRhdGlvbiB0byBkbyB0aGUKKyAgICAgICAgcmVx
dWlzaXRlIGFsaWdubWVudCBmb3IgdGhhdCBwbGF0Zm9ybS4KKworICAgICAgICAqIFNoYXJlZC9j
YWlyby9TaGFyZWFibGVCaXRtYXBDYWlyby5jcHA6CisgICAgICAgIChXZWJLaXQ6OlNoYXJlYWJs
ZUJpdG1hcDo6Y2FsY3VsYXRlQnl0ZXNQZXJSb3cpOgorICAgICAgICAoV2ViS2l0OjpTaGFyZWFi
bGVCaXRtYXA6OmNhbGN1bGF0ZUJ5dGVzUGVyUGl4ZWwpOgorICAgICAgICAoV2ViS2l0OjpjcmVh
dGVTdXJmYWNlRnJvbURhdGEpOgorICAgICAgICAoV2ViS2l0OjpTaGFyZWFibGVCaXRtYXA6Om51
bUJ5dGVzRm9yU2l6ZSk6IERlbGV0ZWQuCisgICAgICAgIEltcGxlbWVudCBjYWxjdWxhdGVCeXRl
c1BlclJvdyAod2hpY2ggdXNlZCB0byBiZSBoaWRkZW4gaW5zaWRlIG9mIG51bUJ5dGVzRm9yU2l6
ZSkKKyAgICAgICAgYW5kIGdldCByaWQgb2YgdGhlIG5vdy1kdXBsaWNhdGl2ZSBudW1CeXRlc0Zv
clNpemUuCisKKyAgICAgICAgKiBTaGFyZWQvY2cvU2hhcmVhYmxlQml0bWFwQ0cuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpTaGFyZWFibGVCaXRtYXA6OmNhbGN1bGF0ZUJ5dGVzUGVyUm93KToKKyAg
ICAgICAgKFdlYktpdDo6U2hhcmVhYmxlQml0bWFwOjpjcmVhdGVHcmFwaGljc0NvbnRleHQpOgor
ICAgICAgICAoV2ViS2l0OjpTaGFyZWFibGVCaXRtYXA6OmNyZWF0ZUNHSW1hZ2UgY29uc3QpOgor
ICAgICAgICBJbXBsZW1lbnQgY2FsY3VsYXRlQnl0ZXNQZXJSb3cgYW5kIG1ha2UgdXNlIG9mIGl0
IHdoZW4gcHJvdmlkaW5nIGEgcm93IHN0cmlkZQorICAgICAgICB0byBDb3JlR3JhcGhpY3MuCisK
IDIwMTctMDgtMjMgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAg
IFtDYWNoZSBBUEldIFVuaWZ5IFdlYkNvcmUgYW5kIFdlYktpdCBlcnJvciBoYW5kbGluZwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvU2hhcmVhYmxlQml0bWFwLmNwcCBiL1NvdXJj
ZS9XZWJLaXQvU2hhcmVkL1NoYXJlYWJsZUJpdG1hcC5jcHAKaW5kZXggODNhMGU2N2YyY2YuLjRm
Y2Y0ZDM0ZjY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9TaGFyZWFibGVCaXRt
YXAuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1NoYXJlYWJsZUJpdG1hcC5jcHAKQEAg
LTg0LDcgKzg0LDcgQEAgYm9vbCBTaGFyZWFibGVCaXRtYXA6OkNvbmZpZ3VyYXRpb246OmRlY29k
ZShJUEM6OkRlY29kZXImIGRlY29kZXIsIENvbmZpZ3VyYXRpb24KIAogUmVmUHRyPFNoYXJlYWJs
ZUJpdG1hcD4gU2hhcmVhYmxlQml0bWFwOjpjcmVhdGUoY29uc3QgSW50U2l6ZSYgc2l6ZSwgQ29u
ZmlndXJhdGlvbiBjb25maWd1cmF0aW9uKQogewotICAgIGF1dG8gbnVtQnl0ZXMgPSBudW1CeXRl
c0ZvclNpemUoc2l6ZSwgY2FsY3VsYXRlQnl0ZXNQZXJQaXhlbChjb25maWd1cmF0aW9uKSk7Cisg
ICAgYXV0byBudW1CeXRlcyA9IG51bUJ5dGVzRm9yU2l6ZShzaXplLCBjb25maWd1cmF0aW9uKTsK
ICAgICBpZiAobnVtQnl0ZXMuaGFzT3ZlcmZsb3dlZCgpKQogICAgICAgICByZXR1cm4gbnVsbHB0
cjsKIApAQCAtOTcsNyArOTcsNyBAQCBSZWZQdHI8U2hhcmVhYmxlQml0bWFwPiBTaGFyZWFibGVC
aXRtYXA6OmNyZWF0ZShjb25zdCBJbnRTaXplJiBzaXplLCBDb25maWd1cmF0aQogCiBSZWZQdHI8
U2hhcmVhYmxlQml0bWFwPiBTaGFyZWFibGVCaXRtYXA6OmNyZWF0ZVNoYXJlYWJsZShjb25zdCBJ
bnRTaXplJiBzaXplLCBDb25maWd1cmF0aW9uIGNvbmZpZ3VyYXRpb24pCiB7Ci0gICAgYXV0byBu
dW1CeXRlcyA9IG51bUJ5dGVzRm9yU2l6ZShzaXplLCBjYWxjdWxhdGVCeXRlc1BlclBpeGVsKGNv
bmZpZ3VyYXRpb24pKTsKKyAgICBhdXRvIG51bUJ5dGVzID0gbnVtQnl0ZXNGb3JTaXplKHNpemUs
IGNvbmZpZ3VyYXRpb24pOwogICAgIGlmIChudW1CeXRlcy5oYXNPdmVyZmxvd2VkKCkpCiAgICAg
ICAgIHJldHVybiBudWxscHRyOwogCkBAIC0xMTIsNyArMTEyLDcgQEAgUmVmUHRyPFNoYXJlYWJs
ZUJpdG1hcD4gU2hhcmVhYmxlQml0bWFwOjpjcmVhdGUoY29uc3QgSW50U2l6ZSYgc2l6ZSwgQ29u
ZmlndXJhdGkKIHsKICAgICBBU1NFUlQoc2hhcmVkTWVtb3J5KTsKIAotICAgIGF1dG8gbnVtQnl0
ZXMgPSBudW1CeXRlc0ZvclNpemUoc2l6ZSwgY2FsY3VsYXRlQnl0ZXNQZXJQaXhlbChjb25maWd1
cmF0aW9uKSk7CisgICAgYXV0byBudW1CeXRlcyA9IG51bUJ5dGVzRm9yU2l6ZShzaXplLCBjb25m
aWd1cmF0aW9uKTsKICAgICBpZiAobnVtQnl0ZXMuaGFzT3ZlcmZsb3dlZCgpKQogICAgICAgICBy
ZXR1cm4gbnVsbHB0cjsKICAgICBpZiAoc2hhcmVkTWVtb3J5LT5zaXplKCkgPCBudW1CeXRlcy51
bnNhZmVHZXQoKSkgewpAQCAtMTc0LDExICsxNzQsOSBAQCB2b2lkKiBTaGFyZWFibGVCaXRtYXA6
OmRhdGEoKSBjb25zdAogICAgIHJldHVybiBtX2RhdGE7CiB9CiAKLSNpZiAhVVNFKENHKQotdW5z
aWduZWQgU2hhcmVhYmxlQml0bWFwOjpjYWxjdWxhdGVCeXRlc1BlclBpeGVsKGNvbnN0IENvbmZp
Z3VyYXRpb24mKQorQ2hlY2tlZDx1bnNpZ25lZCwgUmVjb3JkT3ZlcmZsb3c+IFNoYXJlYWJsZUJp
dG1hcDo6bnVtQnl0ZXNGb3JTaXplKFdlYkNvcmU6OkludFNpemUgc2l6ZSwgY29uc3QgU2hhcmVh
YmxlQml0bWFwOjpDb25maWd1cmF0aW9uJiBjb25maWd1cmF0aW9uKQogewotICAgIHJldHVybiA0
OworICAgIHJldHVybiBjYWxjdWxhdGVCeXRlc1BlclJvdyhzaXplLCBjb25maWd1cmF0aW9uKSAq
IHNpemUuaGVpZ2h0KCk7CiB9Ci0jZW5kaWYKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9TaGFyZWFibGVCaXRtYXAuaCBiL1NvdXJjZS9X
ZWJLaXQvU2hhcmVkL1NoYXJlYWJsZUJpdG1hcC5oCmluZGV4IGQwMmQ1YzVmYjM0Li42ZmQ2MzA0
NTA5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvU2hhcmVhYmxlQml0bWFwLmgK
KysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvU2hhcmVhYmxlQml0bWFwLmgKQEAgLTEyOSwxMiAr
MTI5LDkgQEAgcHJpdmF0ZToKICAgICBTaGFyZWFibGVCaXRtYXAoY29uc3QgV2ViQ29yZTo6SW50
U2l6ZSYsIENvbmZpZ3VyYXRpb24sIHZvaWQqKTsKICAgICBTaGFyZWFibGVCaXRtYXAoY29uc3Qg
V2ViQ29yZTo6SW50U2l6ZSYsIENvbmZpZ3VyYXRpb24sIFJlZlB0cjxTaGFyZWRNZW1vcnk+KTsK
IAotI2lmIFVTRShDQUlSTykKLSAgICBzdGF0aWMgQ2hlY2tlZDx1bnNpZ25lZCwgUmVjb3JkT3Zl
cmZsb3c+IG51bUJ5dGVzRm9yU2l6ZShjb25zdCBXZWJDb3JlOjpJbnRTaXplJik7Ci0gICAgc3Rh
dGljIENoZWNrZWQ8dW5zaWduZWQsIFJlY29yZE92ZXJmbG93PiBudW1CeXRlc0ZvclNpemUoY29u
c3QgV2ViQ29yZTo6SW50U2l6ZSYgc2l6ZSwgdW5zaWduZWQgYnl0ZXNQZXJQaXhlbCkgeyByZXR1
cm4gbnVtQnl0ZXNGb3JTaXplKHNpemUpOyB9Ci0jZWxzZQotICAgIHN0YXRpYyBDaGVja2VkPHVu
c2lnbmVkLCBSZWNvcmRPdmVyZmxvdz4gbnVtQnl0ZXNGb3JTaXplKGNvbnN0IFdlYkNvcmU6Oklu
dFNpemUmIHNpemUsIHVuc2lnbmVkIGJ5dGVzUGVyUGl4ZWwpIHsgcmV0dXJuIHNpemUuYXJlYTxS
ZWNvcmRPdmVyZmxvdz4oKSAqIGJ5dGVzUGVyUGl4ZWw7IH0KLSNlbmRpZgorICAgIHN0YXRpYyBD
aGVja2VkPHVuc2lnbmVkLCBSZWNvcmRPdmVyZmxvdz4gbnVtQnl0ZXNGb3JTaXplKFdlYkNvcmU6
OkludFNpemUsIGNvbnN0IFNoYXJlYWJsZUJpdG1hcDo6Q29uZmlndXJhdGlvbiYpOworICAgIHN0
YXRpYyBDaGVja2VkPHVuc2lnbmVkLCBSZWNvcmRPdmVyZmxvdz4gY2FsY3VsYXRlQnl0ZXNQZXJS
b3coV2ViQ29yZTo6SW50U2l6ZSwgY29uc3QgQ29uZmlndXJhdGlvbiYpOworICAgIHN0YXRpYyB1
bnNpZ25lZCBjYWxjdWxhdGVCeXRlc1BlclBpeGVsKGNvbnN0IENvbmZpZ3VyYXRpb24mKTsKIAog
I2lmIFVTRShDRykKICAgICBSZXRhaW5QdHI8Q0dJbWFnZVJlZj4gY3JlYXRlQ0dJbWFnZShDR0Rh
dGFQcm92aWRlclJlZikgY29uc3Q7CkBAIC0xNDcsMTMgKzE0NCw3IEBAIHByaXZhdGU6CiAjZW5k
aWYKIAogICAgIHZvaWQqIGRhdGEoKSBjb25zdDsKLSNpZiBVU0UoQ0FJUk8pCi0gICAgc2l6ZV90
IHNpemVJbkJ5dGVzKCkgY29uc3QgeyByZXR1cm4gbnVtQnl0ZXNGb3JTaXplKG1fc2l6ZSkudW5z
YWZlR2V0KCk7IH0KLSNlbHNlCi0gICAgc2l6ZV90IHNpemVJbkJ5dGVzKCkgY29uc3QgeyByZXR1
cm4gbnVtQnl0ZXNGb3JTaXplKG1fc2l6ZSwgY2FsY3VsYXRlQnl0ZXNQZXJQaXhlbChtX2NvbmZp
Z3VyYXRpb24pKS51bnNhZmVHZXQoKTsgfQotI2VuZGlmCi0KLSAgICBzdGF0aWMgdW5zaWduZWQg
Y2FsY3VsYXRlQnl0ZXNQZXJQaXhlbChjb25zdCBDb25maWd1cmF0aW9uJik7CisgICAgc2l6ZV90
IHNpemVJbkJ5dGVzKCkgY29uc3QgeyByZXR1cm4gbnVtQnl0ZXNGb3JTaXplKG1fc2l6ZSwgbV9j
b25maWd1cmF0aW9uKS51bnNhZmVHZXQoKTsgfQogCiAgICAgV2ViQ29yZTo6SW50U2l6ZSBtX3Np
emU7CiAgICAgQ29uZmlndXJhdGlvbiBtX2NvbmZpZ3VyYXRpb247CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9jYWlyby9TaGFyZWFibGVCaXRtYXBDYWlyby5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9jYWlyby9TaGFyZWFibGVCaXRtYXBDYWlyby5jcHAKaW5kZXggMjIzOWNl
ZTM3NjguLmExYjcyY2E2N2Q2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9jYWly
by9TaGFyZWFibGVCaXRtYXBDYWlyby5jcHAKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvY2Fp
cm8vU2hhcmVhYmxlQml0bWFwQ2Fpcm8uY3BwCkBAIC00MCwxNCArNDAsMTkgQEAgbmFtZXNwYWNl
IFdlYktpdCB7CiAKIHN0YXRpYyBjb25zdCBjYWlyb19mb3JtYXRfdCBjYWlyb0Zvcm1hdCA9IENB
SVJPX0ZPUk1BVF9BUkdCMzI7CiAKLUNoZWNrZWQ8dW5zaWduZWQsIFJlY29yZE92ZXJmbG93PiBT
aGFyZWFibGVCaXRtYXA6Om51bUJ5dGVzRm9yU2l6ZShjb25zdCBXZWJDb3JlOjpJbnRTaXplJiBz
aXplKQorQ2hlY2tlZDx1bnNpZ25lZCwgUmVjb3JkT3ZlcmZsb3c+IFNoYXJlYWJsZUJpdG1hcDo6
Y2FsY3VsYXRlQnl0ZXNQZXJSb3coV2ViQ29yZTo6SW50U2l6ZSBzaXplLCBjb25zdCBDb25maWd1
cmF0aW9uJikKIHsKLSAgICByZXR1cm4gQ2hlY2tlZDx1bnNpZ25lZCwgUmVjb3JkT3ZlcmZsb3c+
KGNhaXJvX2Zvcm1hdF9zdHJpZGVfZm9yX3dpZHRoKGNhaXJvRm9ybWF0LCBzaXplLndpZHRoKCkp
KSAqIHNpemUuaGVpZ2h0KCk7CisgICAgcmV0dXJuIGNhaXJvX2Zvcm1hdF9zdHJpZGVfZm9yX3dp
ZHRoKGNhaXJvRm9ybWF0LCBzaXplLndpZHRoKCkpOworfQorCit1bnNpZ25lZCBTaGFyZWFibGVC
aXRtYXA6OmNhbGN1bGF0ZUJ5dGVzUGVyUGl4ZWwoY29uc3QgQ29uZmlndXJhdGlvbiYpCit7Cisg
ICAgcmV0dXJuIDQ7CiB9CiAKIHN0YXRpYyBpbmxpbmUgUmVmUHRyPGNhaXJvX3N1cmZhY2VfdD4g
Y3JlYXRlU3VyZmFjZUZyb21EYXRhKHZvaWQqIGRhdGEsIGNvbnN0IFdlYkNvcmU6OkludFNpemUm
IHNpemUpCiB7Ci0gICAgY29uc3QgaW50IHN0cmlkZSA9IGNhaXJvX2Zvcm1hdF9zdHJpZGVfZm9y
X3dpZHRoKGNhaXJvRm9ybWF0LCBzaXplLndpZHRoKCkpOworICAgIGNvbnN0IGludCBzdHJpZGUg
PSBTaGFyZWFibGVCaXRtYXA6OmNhbGN1bGF0ZUJ5dGVzUGVyUm93KHNpemUsIHsgfSkudW5zYWZl
R2V0KCk7CiAgICAgcmV0dXJuIGFkb3B0UmVmKGNhaXJvX2ltYWdlX3N1cmZhY2VfY3JlYXRlX2Zv
cl9kYXRhKHN0YXRpY19jYXN0PHVuc2lnbmVkIGNoYXIqPihkYXRhKSwgY2Fpcm9Gb3JtYXQsIHNp
emUud2lkdGgoKSwgc2l6ZS5oZWlnaHQoKSwgc3RyaWRlKSk7CiB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvU2hhcmVkL2NnL1NoYXJlYWJsZUJpdG1hcENHLmNwcCBiL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL2NnL1NoYXJlYWJsZUJpdG1hcENHLmNwcAppbmRleCA5ZTVhMTRlZmUzNC4uOGRl
YTg5Yjg0YjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL2NnL1NoYXJlYWJsZUJp
dG1hcENHLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9jZy9TaGFyZWFibGVCaXRtYXBD
Ry5jcHAKQEAgLTMwLDYgKzMwLDcgQEAKICNpbmNsdWRlIDxXZWJDb3JlL0dyYXBoaWNzQ29udGV4
dENHLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9QbGF0Zm9ybVNjcmVlbi5oPgogI2luY2x1ZGUgPHBh
bC9zcGkvY2cvQ29yZUdyYXBoaWNzU1BJLmg+CisjaW5jbHVkZSA8cGFsL3NwaS9jb2NvYS9JT1N1
cmZhY2VTUEkuaD4KICNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+CiAjaW5jbHVkZSAiQ0dVdGls
aXRpZXMuaCIKIApAQCAtNzQsNiArNzUsMTYgQEAgc3RhdGljIENHQml0bWFwSW5mbyBiaXRtYXBJ
bmZvKGNvbnN0IFNoYXJlYWJsZUJpdG1hcDo6Q29uZmlndXJhdGlvbiYgY29uZmlndXJhdGkKICAg
ICByZXR1cm4gaW5mbzsKIH0KIAorQ2hlY2tlZDx1bnNpZ25lZCwgUmVjb3JkT3ZlcmZsb3c+IFNo
YXJlYWJsZUJpdG1hcDo6Y2FsY3VsYXRlQnl0ZXNQZXJSb3coV2ViQ29yZTo6SW50U2l6ZSBzaXpl
LCBjb25zdCBDb25maWd1cmF0aW9uJiBjb25maWd1cmF0aW9uKQoreworICAgIHVuc2lnbmVkIGJ5
dGVzUGVyUm93ID0gY2FsY3VsYXRlQnl0ZXNQZXJQaXhlbChjb25maWd1cmF0aW9uKSAqIHNpemUu
d2lkdGgoKTsKKyNpZiBVU0UoSU9TVVJGQUNFKQorICAgIHJldHVybiBJT1N1cmZhY2VBbGlnblBy
b3BlcnR5KGtJT1N1cmZhY2VCeXRlc1BlclJvdywgYnl0ZXNQZXJSb3cpOworI2Vsc2UKKyAgICBy
ZXR1cm4gYnl0ZXNQZXJSb3c7CisjZW5kaWYKK30KKwogdW5zaWduZWQgU2hhcmVhYmxlQml0bWFw
OjpjYWxjdWxhdGVCeXRlc1BlclBpeGVsKGNvbnN0IENvbmZpZ3VyYXRpb24mIGNvbmZpZ3VyYXRp
b24pCiB7CiAgICAgcmV0dXJuIHdhbnRzRXh0ZW5kZWRSYW5nZShjb25maWd1cmF0aW9uKSA/IDgg
OiA0OwpAQCAtODQsNyArOTUsNyBAQCBzdGQ6OnVuaXF1ZV9wdHI8R3JhcGhpY3NDb250ZXh0PiBT
aGFyZWFibGVCaXRtYXA6OmNyZWF0ZUdyYXBoaWNzQ29udGV4dCgpCiAgICAgcmVmKCk7IC8vIEJh
bGFuY2VkIGJ5IGRlcmVmIGluIHJlbGVhc2VCaXRtYXBDb250ZXh0RGF0YS4KIAogICAgIHVuc2ln
bmVkIGJ5dGVzUGVyUGl4ZWwgPSBjYWxjdWxhdGVCeXRlc1BlclBpeGVsKG1fY29uZmlndXJhdGlv
bik7Ci0gICAgUmV0YWluUHRyPENHQ29udGV4dFJlZj4gYml0bWFwQ29udGV4dCA9IGFkb3B0Q0Yo
Q0dCaXRtYXBDb250ZXh0Q3JlYXRlV2l0aERhdGEoZGF0YSgpLCBtX3NpemUud2lkdGgoKSwgbV9z
aXplLmhlaWdodCgpLCBieXRlc1BlclBpeGVsICogOCAvIDQsIG1fc2l6ZS53aWR0aCgpICogYnl0
ZXNQZXJQaXhlbCwgY29sb3JTcGFjZShtX2NvbmZpZ3VyYXRpb24pLCBiaXRtYXBJbmZvKG1fY29u
ZmlndXJhdGlvbiksIHJlbGVhc2VCaXRtYXBDb250ZXh0RGF0YSwgdGhpcykpOworICAgIFJldGFp
blB0cjxDR0NvbnRleHRSZWY+IGJpdG1hcENvbnRleHQgPSBhZG9wdENGKENHQml0bWFwQ29udGV4
dENyZWF0ZVdpdGhEYXRhKGRhdGEoKSwgbV9zaXplLndpZHRoKCksIG1fc2l6ZS5oZWlnaHQoKSwg
Ynl0ZXNQZXJQaXhlbCAqIDggLyA0LCBjYWxjdWxhdGVCeXRlc1BlclJvdyhtX3NpemUsIG1fY29u
ZmlndXJhdGlvbikudW5zYWZlR2V0KCksIGNvbG9yU3BhY2UobV9jb25maWd1cmF0aW9uKSwgYml0
bWFwSW5mbyhtX2NvbmZpZ3VyYXRpb24pLCByZWxlYXNlQml0bWFwQ29udGV4dERhdGEsIHRoaXMp
KTsKICAgICAKICAgICBBU1NFUlQoYml0bWFwQ29udGV4dC5nZXQoKSk7CiAKQEAgLTEyMyw3ICsx
MzQsNyBAQCBSZXRhaW5QdHI8Q0dJbWFnZVJlZj4gU2hhcmVhYmxlQml0bWFwOjpjcmVhdGVDR0lt
YWdlKENHRGF0YVByb3ZpZGVyUmVmIGRhdGFQcm92aQogewogICAgIEFTU0VSVF9BUkcoZGF0YVBy
b3ZpZGVyLCBkYXRhUHJvdmlkZXIpOwogICAgIHVuc2lnbmVkIGJ5dGVzUGVyUGl4ZWwgPSBjYWxj
dWxhdGVCeXRlc1BlclBpeGVsKG1fY29uZmlndXJhdGlvbik7Ci0gICAgUmV0YWluUHRyPENHSW1h
Z2VSZWY+IGltYWdlID0gYWRvcHRDRihDR0ltYWdlQ3JlYXRlKG1fc2l6ZS53aWR0aCgpLCBtX3Np
emUuaGVpZ2h0KCksIGJ5dGVzUGVyUGl4ZWwgKiA4IC8gNCwgYnl0ZXNQZXJQaXhlbCAqIDgsIG1f
c2l6ZS53aWR0aCgpICogYnl0ZXNQZXJQaXhlbCwgY29sb3JTcGFjZShtX2NvbmZpZ3VyYXRpb24p
LCBiaXRtYXBJbmZvKG1fY29uZmlndXJhdGlvbiksIGRhdGFQcm92aWRlciwgMCwgZmFsc2UsIGtD
R1JlbmRlcmluZ0ludGVudERlZmF1bHQpKTsKKyAgICBSZXRhaW5QdHI8Q0dJbWFnZVJlZj4gaW1h
Z2UgPSBhZG9wdENGKENHSW1hZ2VDcmVhdGUobV9zaXplLndpZHRoKCksIG1fc2l6ZS5oZWlnaHQo
KSwgYnl0ZXNQZXJQaXhlbCAqIDggLyA0LCBieXRlc1BlclBpeGVsICogOCwgY2FsY3VsYXRlQnl0
ZXNQZXJSb3cobV9zaXplLCBtX2NvbmZpZ3VyYXRpb24pLnVuc2FmZUdldCgpLCBjb2xvclNwYWNl
KG1fY29uZmlndXJhdGlvbiksIGJpdG1hcEluZm8obV9jb25maWd1cmF0aW9uKSwgZGF0YVByb3Zp
ZGVyLCAwLCBmYWxzZSwga0NHUmVuZGVyaW5nSW50ZW50RGVmYXVsdCkpOwogICAgIHJldHVybiBp
bWFnZTsKIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>318944</attachid>
            <date>2017-08-23 17:20:31 -0700</date>
            <delta_ts>2017-08-23 17:27:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-175898-20170823172030.patch</filename>
            <type>text/plain</type>
            <size>10246</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIxMTIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDQ3YjZhMTczMjBhZDdhY2Zj
ZmEwMWFmMWZjMTg2ZDQ3NGE3ZjY4ZTQuLjM0ODk2MjBlYmFlNjYyYWNiNzE1N2MxNGVkNmY5Mzk3
YmZlMTBjMGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDIgQEAKKzIwMTctMDgtMjMgIFRpbSBIb3J0
b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisKKyAgICAgICAgX1dLVGh1bWJuYWlsVmll
dyBzbmFwc2hvdHMgaGF2ZSB0byBiZSBjb3BpZWQgYnkgQ0Egb24gZmlyc3QgY29tbWl0IGR1ZSB0
byBiYWQgcm93IGFsaWdubWVudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTc1ODk4CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zNDAyOTY3Mz4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBTYW0gV2VpbmlnLgorCisgICAgICAgIEluIG9yZGVyIHRvIGF2
b2lkIGNvcHlpbmcsIENHSW1hZ2VzIHVzZWQgYXMgbGF5ZXIgY29udGVudHMgbmVlZCB0byBoYXZl
IGNlcnRhaW4KKyAgICAgICAgYWxpZ25tZW50IHJlcXVpcmVtZW50cyBmdWxmaWxsZWQuIEFsaWdu
IHRoZSByb3cgc3RyaWRlIHRvIHRoZSBkZXNpcmVkIHZhbHVlLgorCisgICAgICAgICogU2hhcmVk
L1NoYXJlYWJsZUJpdG1hcC5jcHA6CisgICAgICAgIChXZWJLaXQ6OlNoYXJlYWJsZUJpdG1hcDo6
Y3JlYXRlKToKKyAgICAgICAgKFdlYktpdDo6U2hhcmVhYmxlQml0bWFwOjpjcmVhdGVTaGFyZWFi
bGUpOgorICAgICAgICAoV2ViS2l0OjpTaGFyZWFibGVCaXRtYXA6Om51bUJ5dGVzRm9yU2l6ZSk6
CisgICAgICAgIChXZWJLaXQ6OlNoYXJlYWJsZUJpdG1hcDo6Y2FsY3VsYXRlQnl0ZXNQZXJQaXhl
bCk6IERlbGV0ZWQuCisgICAgICAgICogU2hhcmVkL1NoYXJlYWJsZUJpdG1hcC5oOgorICAgICAg
ICAoV2ViS2l0OjpTaGFyZWFibGVCaXRtYXA6OnNpemVJbkJ5dGVzIGNvbnN0KToKKyAgICAgICAg
KFdlYktpdDo6U2hhcmVhYmxlQml0bWFwOjpudW1CeXRlc0ZvclNpemUpOiBEZWxldGVkLgorICAg
ICAgICBNZXJnZSB0aGUgaW50ZXJmYWNlcyBvZiBudW1CeXRlc1BlclNpemUgYW5kIHNpemVJbkJ5
dGVzIGJldHdlZW4gdGhlIHBsYXRmb3Jtcy4KKyAgICAgICAgbnVtQnl0ZXNGb3JTaXplIG5vdyBt
YWtlcyB1c2Ugb2YgdGhlIG5ldyBjYWxjdWxhdGVCeXRlc1BlclJvdywgd2hpY2ggaXMKKyAgICAg
ICAgaW1wbGVtZW50ZWQgYnkgZWFjaCBwbGF0Zm9ybSBTaGFyZWFibGVCaXRtYXAgaW1wbGVtZW50
YXRpb24gdG8gZG8gdGhlCisgICAgICAgIHJlcXVpc2l0ZSBhbGlnbm1lbnQgZm9yIHRoYXQgcGxh
dGZvcm0uCisKKyAgICAgICAgKiBTaGFyZWQvY2Fpcm8vU2hhcmVhYmxlQml0bWFwQ2Fpcm8uY3Bw
OgorICAgICAgICAoV2ViS2l0OjpTaGFyZWFibGVCaXRtYXA6OmNhbGN1bGF0ZUJ5dGVzUGVyUm93
KToKKyAgICAgICAgKFdlYktpdDo6U2hhcmVhYmxlQml0bWFwOjpjYWxjdWxhdGVCeXRlc1BlclBp
eGVsKToKKyAgICAgICAgKFdlYktpdDo6Y3JlYXRlU3VyZmFjZUZyb21EYXRhKToKKyAgICAgICAg
KFdlYktpdDo6U2hhcmVhYmxlQml0bWFwOjpudW1CeXRlc0ZvclNpemUpOiBEZWxldGVkLgorICAg
ICAgICBJbXBsZW1lbnQgY2FsY3VsYXRlQnl0ZXNQZXJSb3cgKHdoaWNoIHVzZWQgdG8gYmUgaGlk
ZGVuIGluc2lkZSBvZiBudW1CeXRlc0ZvclNpemUpCisgICAgICAgIGFuZCBnZXQgcmlkIG9mIHRo
ZSBub3ctZHVwbGljYXRpdmUgbnVtQnl0ZXNGb3JTaXplLgorCisgICAgICAgICogU2hhcmVkL2Nn
L1NoYXJlYWJsZUJpdG1hcENHLmNwcDoKKyAgICAgICAgKFdlYktpdDo6U2hhcmVhYmxlQml0bWFw
OjpjYWxjdWxhdGVCeXRlc1BlclJvdyk6CisgICAgICAgIChXZWJLaXQ6OlNoYXJlYWJsZUJpdG1h
cDo6Y3JlYXRlR3JhcGhpY3NDb250ZXh0KToKKyAgICAgICAgKFdlYktpdDo6U2hhcmVhYmxlQml0
bWFwOjpjcmVhdGVDR0ltYWdlIGNvbnN0KToKKyAgICAgICAgSW1wbGVtZW50IGNhbGN1bGF0ZUJ5
dGVzUGVyUm93IGFuZCBtYWtlIHVzZSBvZiBpdCB3aGVuIHByb3ZpZGluZyBhIHJvdyBzdHJpZGUK
KyAgICAgICAgdG8gQ29yZUdyYXBoaWNzLgorCiAyMDE3LTA4LTIzICBZb3Vlbm4gRmFibGV0ICA8
eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBbQ2FjaGUgQVBJXSBVbmlmeSBXZWJDb3JlIGFu
ZCBXZWJLaXQgZXJyb3IgaGFuZGxpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L1NoYXJlYWJsZUJpdG1hcC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9TaGFyZWFibGVCaXRt
YXAuY3BwCmluZGV4IDgzYTBlNjdmMmNmZTE0MDc1MDRjYjdhZjgzMzY5Zjg5ZDMxODczODMuLjRm
Y2Y0ZDM0ZjY5NmZiYzRlN2M4Y2U1YzkyMjYyM2Y1OWZmMWI1MGIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvU2hhcmVkL1NoYXJlYWJsZUJpdG1hcC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9T
aGFyZWQvU2hhcmVhYmxlQml0bWFwLmNwcApAQCAtODQsNyArODQsNyBAQCBib29sIFNoYXJlYWJs
ZUJpdG1hcDo6Q29uZmlndXJhdGlvbjo6ZGVjb2RlKElQQzo6RGVjb2RlciYgZGVjb2RlciwgQ29u
ZmlndXJhdGlvbgogCiBSZWZQdHI8U2hhcmVhYmxlQml0bWFwPiBTaGFyZWFibGVCaXRtYXA6OmNy
ZWF0ZShjb25zdCBJbnRTaXplJiBzaXplLCBDb25maWd1cmF0aW9uIGNvbmZpZ3VyYXRpb24pCiB7
Ci0gICAgYXV0byBudW1CeXRlcyA9IG51bUJ5dGVzRm9yU2l6ZShzaXplLCBjYWxjdWxhdGVCeXRl
c1BlclBpeGVsKGNvbmZpZ3VyYXRpb24pKTsKKyAgICBhdXRvIG51bUJ5dGVzID0gbnVtQnl0ZXNG
b3JTaXplKHNpemUsIGNvbmZpZ3VyYXRpb24pOwogICAgIGlmIChudW1CeXRlcy5oYXNPdmVyZmxv
d2VkKCkpCiAgICAgICAgIHJldHVybiBudWxscHRyOwogCkBAIC05Nyw3ICs5Nyw3IEBAIFJlZlB0
cjxTaGFyZWFibGVCaXRtYXA+IFNoYXJlYWJsZUJpdG1hcDo6Y3JlYXRlKGNvbnN0IEludFNpemUm
IHNpemUsIENvbmZpZ3VyYXRpCiAKIFJlZlB0cjxTaGFyZWFibGVCaXRtYXA+IFNoYXJlYWJsZUJp
dG1hcDo6Y3JlYXRlU2hhcmVhYmxlKGNvbnN0IEludFNpemUmIHNpemUsIENvbmZpZ3VyYXRpb24g
Y29uZmlndXJhdGlvbikKIHsKLSAgICBhdXRvIG51bUJ5dGVzID0gbnVtQnl0ZXNGb3JTaXplKHNp
emUsIGNhbGN1bGF0ZUJ5dGVzUGVyUGl4ZWwoY29uZmlndXJhdGlvbikpOworICAgIGF1dG8gbnVt
Qnl0ZXMgPSBudW1CeXRlc0ZvclNpemUoc2l6ZSwgY29uZmlndXJhdGlvbik7CiAgICAgaWYgKG51
bUJ5dGVzLmhhc092ZXJmbG93ZWQoKSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKQEAgLTEx
Miw3ICsxMTIsNyBAQCBSZWZQdHI8U2hhcmVhYmxlQml0bWFwPiBTaGFyZWFibGVCaXRtYXA6OmNy
ZWF0ZShjb25zdCBJbnRTaXplJiBzaXplLCBDb25maWd1cmF0aQogewogICAgIEFTU0VSVChzaGFy
ZWRNZW1vcnkpOwogCi0gICAgYXV0byBudW1CeXRlcyA9IG51bUJ5dGVzRm9yU2l6ZShzaXplLCBj
YWxjdWxhdGVCeXRlc1BlclBpeGVsKGNvbmZpZ3VyYXRpb24pKTsKKyAgICBhdXRvIG51bUJ5dGVz
ID0gbnVtQnl0ZXNGb3JTaXplKHNpemUsIGNvbmZpZ3VyYXRpb24pOwogICAgIGlmIChudW1CeXRl
cy5oYXNPdmVyZmxvd2VkKCkpCiAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIGlmIChzaGFy
ZWRNZW1vcnktPnNpemUoKSA8IG51bUJ5dGVzLnVuc2FmZUdldCgpKSB7CkBAIC0xNzQsMTEgKzE3
NCw5IEBAIHZvaWQqIFNoYXJlYWJsZUJpdG1hcDo6ZGF0YSgpIGNvbnN0CiAgICAgcmV0dXJuIG1f
ZGF0YTsKIH0KIAotI2lmICFVU0UoQ0cpCi11bnNpZ25lZCBTaGFyZWFibGVCaXRtYXA6OmNhbGN1
bGF0ZUJ5dGVzUGVyUGl4ZWwoY29uc3QgQ29uZmlndXJhdGlvbiYpCitDaGVja2VkPHVuc2lnbmVk
LCBSZWNvcmRPdmVyZmxvdz4gU2hhcmVhYmxlQml0bWFwOjpudW1CeXRlc0ZvclNpemUoV2ViQ29y
ZTo6SW50U2l6ZSBzaXplLCBjb25zdCBTaGFyZWFibGVCaXRtYXA6OkNvbmZpZ3VyYXRpb24mIGNv
bmZpZ3VyYXRpb24pCiB7Ci0gICAgcmV0dXJuIDQ7CisgICAgcmV0dXJuIGNhbGN1bGF0ZUJ5dGVz
UGVyUm93KHNpemUsIGNvbmZpZ3VyYXRpb24pICogc2l6ZS5oZWlnaHQoKTsKIH0KLSNlbmRpZgog
CiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L1NoYXJlYWJsZUJpdG1hcC5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvU2hhcmVhYmxlQml0bWFw
LmgKaW5kZXggZDAyZDVjNWZiMzRjNGQxMDNhM2Q2YWI2MDI5OTExYzQ1OWE3NTk0MC4uNmZkNjMw
NDUwOTg2NDE3ZmRmOTJmYTIyYjE4MWU3NGFlOWJmZDZlNyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9TaGFyZWQvU2hhcmVhYmxlQml0bWFwLmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQv
U2hhcmVhYmxlQml0bWFwLmgKQEAgLTEyOSwxMiArMTI5LDkgQEAgcHJpdmF0ZToKICAgICBTaGFy
ZWFibGVCaXRtYXAoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYsIENvbmZpZ3VyYXRpb24sIHZvaWQq
KTsKICAgICBTaGFyZWFibGVCaXRtYXAoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYsIENvbmZpZ3Vy
YXRpb24sIFJlZlB0cjxTaGFyZWRNZW1vcnk+KTsKIAotI2lmIFVTRShDQUlSTykKLSAgICBzdGF0
aWMgQ2hlY2tlZDx1bnNpZ25lZCwgUmVjb3JkT3ZlcmZsb3c+IG51bUJ5dGVzRm9yU2l6ZShjb25z
dCBXZWJDb3JlOjpJbnRTaXplJik7Ci0gICAgc3RhdGljIENoZWNrZWQ8dW5zaWduZWQsIFJlY29y
ZE92ZXJmbG93PiBudW1CeXRlc0ZvclNpemUoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYgc2l6ZSwg
dW5zaWduZWQgYnl0ZXNQZXJQaXhlbCkgeyByZXR1cm4gbnVtQnl0ZXNGb3JTaXplKHNpemUpOyB9
Ci0jZWxzZQotICAgIHN0YXRpYyBDaGVja2VkPHVuc2lnbmVkLCBSZWNvcmRPdmVyZmxvdz4gbnVt
Qnl0ZXNGb3JTaXplKGNvbnN0IFdlYkNvcmU6OkludFNpemUmIHNpemUsIHVuc2lnbmVkIGJ5dGVz
UGVyUGl4ZWwpIHsgcmV0dXJuIHNpemUuYXJlYTxSZWNvcmRPdmVyZmxvdz4oKSAqIGJ5dGVzUGVy
UGl4ZWw7IH0KLSNlbmRpZgorICAgIHN0YXRpYyBDaGVja2VkPHVuc2lnbmVkLCBSZWNvcmRPdmVy
Zmxvdz4gbnVtQnl0ZXNGb3JTaXplKFdlYkNvcmU6OkludFNpemUsIGNvbnN0IFNoYXJlYWJsZUJp
dG1hcDo6Q29uZmlndXJhdGlvbiYpOworICAgIHN0YXRpYyBDaGVja2VkPHVuc2lnbmVkLCBSZWNv
cmRPdmVyZmxvdz4gY2FsY3VsYXRlQnl0ZXNQZXJSb3coV2ViQ29yZTo6SW50U2l6ZSwgY29uc3Qg
Q29uZmlndXJhdGlvbiYpOworICAgIHN0YXRpYyB1bnNpZ25lZCBjYWxjdWxhdGVCeXRlc1BlclBp
eGVsKGNvbnN0IENvbmZpZ3VyYXRpb24mKTsKIAogI2lmIFVTRShDRykKICAgICBSZXRhaW5QdHI8
Q0dJbWFnZVJlZj4gY3JlYXRlQ0dJbWFnZShDR0RhdGFQcm92aWRlclJlZikgY29uc3Q7CkBAIC0x
NDcsMTMgKzE0NCw3IEBAIHByaXZhdGU6CiAjZW5kaWYKIAogICAgIHZvaWQqIGRhdGEoKSBjb25z
dDsKLSNpZiBVU0UoQ0FJUk8pCi0gICAgc2l6ZV90IHNpemVJbkJ5dGVzKCkgY29uc3QgeyByZXR1
cm4gbnVtQnl0ZXNGb3JTaXplKG1fc2l6ZSkudW5zYWZlR2V0KCk7IH0KLSNlbHNlCi0gICAgc2l6
ZV90IHNpemVJbkJ5dGVzKCkgY29uc3QgeyByZXR1cm4gbnVtQnl0ZXNGb3JTaXplKG1fc2l6ZSwg
Y2FsY3VsYXRlQnl0ZXNQZXJQaXhlbChtX2NvbmZpZ3VyYXRpb24pKS51bnNhZmVHZXQoKTsgfQot
I2VuZGlmCi0KLSAgICBzdGF0aWMgdW5zaWduZWQgY2FsY3VsYXRlQnl0ZXNQZXJQaXhlbChjb25z
dCBDb25maWd1cmF0aW9uJik7CisgICAgc2l6ZV90IHNpemVJbkJ5dGVzKCkgY29uc3QgeyByZXR1
cm4gbnVtQnl0ZXNGb3JTaXplKG1fc2l6ZSwgbV9jb25maWd1cmF0aW9uKS51bnNhZmVHZXQoKTsg
fQogCiAgICAgV2ViQ29yZTo6SW50U2l6ZSBtX3NpemU7CiAgICAgQ29uZmlndXJhdGlvbiBtX2Nv
bmZpZ3VyYXRpb247CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9jYWlyby9TaGFy
ZWFibGVCaXRtYXBDYWlyby5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9jYWlyby9TaGFyZWFi
bGVCaXRtYXBDYWlyby5jcHAKaW5kZXggMjIzOWNlZTM3Njg1ODI3M2E2NzgzZWY3Yzg4NDc4ZTI4
NWQxZjU4Zi4uYTFiNzJjYTY3ZDYwMWNiNmY0OWZjZmM5YThjZDlkYjU2NWNmNDIzYiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvY2Fpcm8vU2hhcmVhYmxlQml0bWFwQ2Fpcm8uY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL2NhaXJvL1NoYXJlYWJsZUJpdG1hcENhaXJvLmNw
cApAQCAtNDAsMTQgKzQwLDE5IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogCiBzdGF0aWMgY29uc3Qg
Y2Fpcm9fZm9ybWF0X3QgY2Fpcm9Gb3JtYXQgPSBDQUlST19GT1JNQVRfQVJHQjMyOwogCi1DaGVj
a2VkPHVuc2lnbmVkLCBSZWNvcmRPdmVyZmxvdz4gU2hhcmVhYmxlQml0bWFwOjpudW1CeXRlc0Zv
clNpemUoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYgc2l6ZSkKK0NoZWNrZWQ8dW5zaWduZWQsIFJl
Y29yZE92ZXJmbG93PiBTaGFyZWFibGVCaXRtYXA6OmNhbGN1bGF0ZUJ5dGVzUGVyUm93KFdlYkNv
cmU6OkludFNpemUgc2l6ZSwgY29uc3QgQ29uZmlndXJhdGlvbiYpCiB7Ci0gICAgcmV0dXJuIENo
ZWNrZWQ8dW5zaWduZWQsIFJlY29yZE92ZXJmbG93PihjYWlyb19mb3JtYXRfc3RyaWRlX2Zvcl93
aWR0aChjYWlyb0Zvcm1hdCwgc2l6ZS53aWR0aCgpKSkgKiBzaXplLmhlaWdodCgpOworICAgIHJl
dHVybiBjYWlyb19mb3JtYXRfc3RyaWRlX2Zvcl93aWR0aChjYWlyb0Zvcm1hdCwgc2l6ZS53aWR0
aCgpKTsKK30KKwordW5zaWduZWQgU2hhcmVhYmxlQml0bWFwOjpjYWxjdWxhdGVCeXRlc1BlclBp
eGVsKGNvbnN0IENvbmZpZ3VyYXRpb24mKQoreworICAgIHJldHVybiA0OwogfQogCiBzdGF0aWMg
aW5saW5lIFJlZlB0cjxjYWlyb19zdXJmYWNlX3Q+IGNyZWF0ZVN1cmZhY2VGcm9tRGF0YSh2b2lk
KiBkYXRhLCBjb25zdCBXZWJDb3JlOjpJbnRTaXplJiBzaXplKQogewotICAgIGNvbnN0IGludCBz
dHJpZGUgPSBjYWlyb19mb3JtYXRfc3RyaWRlX2Zvcl93aWR0aChjYWlyb0Zvcm1hdCwgc2l6ZS53
aWR0aCgpKTsKKyAgICBjb25zdCBpbnQgc3RyaWRlID0gU2hhcmVhYmxlQml0bWFwOjpjYWxjdWxh
dGVCeXRlc1BlclJvdyhzaXplLCB7IH0pLnVuc2FmZUdldCgpOwogICAgIHJldHVybiBhZG9wdFJl
ZihjYWlyb19pbWFnZV9zdXJmYWNlX2NyZWF0ZV9mb3JfZGF0YShzdGF0aWNfY2FzdDx1bnNpZ25l
ZCBjaGFyKj4oZGF0YSksIGNhaXJvRm9ybWF0LCBzaXplLndpZHRoKCksIHNpemUuaGVpZ2h0KCks
IHN0cmlkZSkpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9jZy9TaGFy
ZWFibGVCaXRtYXBDRy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9jZy9TaGFyZWFibGVCaXRt
YXBDRy5jcHAKaW5kZXggOWU1YTE0ZWZlMzRkMWE5NDUyOGZlMzFiZjk5YWY5YzgwZWQzMGFmZC4u
OGRlYTg5Yjg0YjE0ODliMjUzYzlmZmJlY2NmODRjNDJlNGIzMzAxNCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9TaGFyZWQvY2cvU2hhcmVhYmxlQml0bWFwQ0cuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvU2hhcmVkL2NnL1NoYXJlYWJsZUJpdG1hcENHLmNwcApAQCAtMzAsNiArMzAsNyBAQAog
I2luY2x1ZGUgPFdlYkNvcmUvR3JhcGhpY3NDb250ZXh0Q0cuaD4KICNpbmNsdWRlIDxXZWJDb3Jl
L1BsYXRmb3JtU2NyZWVuLmg+CiAjaW5jbHVkZSA8cGFsL3NwaS9jZy9Db3JlR3JhcGhpY3NTUEku
aD4KKyNpbmNsdWRlIDxwYWwvc3BpL2NvY29hL0lPU3VyZmFjZVNQSS5oPgogI2luY2x1ZGUgPHd0
Zi9SZXRhaW5QdHIuaD4KICNpbmNsdWRlICJDR1V0aWxpdGllcy5oIgogCkBAIC03NCw2ICs3NSwx
NiBAQCBzdGF0aWMgQ0dCaXRtYXBJbmZvIGJpdG1hcEluZm8oY29uc3QgU2hhcmVhYmxlQml0bWFw
OjpDb25maWd1cmF0aW9uJiBjb25maWd1cmF0aQogICAgIHJldHVybiBpbmZvOwogfQogCitDaGVj
a2VkPHVuc2lnbmVkLCBSZWNvcmRPdmVyZmxvdz4gU2hhcmVhYmxlQml0bWFwOjpjYWxjdWxhdGVC
eXRlc1BlclJvdyhXZWJDb3JlOjpJbnRTaXplIHNpemUsIGNvbnN0IENvbmZpZ3VyYXRpb24mIGNv
bmZpZ3VyYXRpb24pCit7CisgICAgdW5zaWduZWQgYnl0ZXNQZXJSb3cgPSBjYWxjdWxhdGVCeXRl
c1BlclBpeGVsKGNvbmZpZ3VyYXRpb24pICogc2l6ZS53aWR0aCgpOworI2lmIFVTRShJT1NVUkZB
Q0UpCisgICAgcmV0dXJuIElPU3VyZmFjZUFsaWduUHJvcGVydHkoa0lPU3VyZmFjZUJ5dGVzUGVy
Um93LCBieXRlc1BlclJvdyk7CisjZWxzZQorICAgIHJldHVybiBieXRlc1BlclJvdzsKKyNlbmRp
ZgorfQorCiB1bnNpZ25lZCBTaGFyZWFibGVCaXRtYXA6OmNhbGN1bGF0ZUJ5dGVzUGVyUGl4ZWwo
Y29uc3QgQ29uZmlndXJhdGlvbiYgY29uZmlndXJhdGlvbikKIHsKICAgICByZXR1cm4gd2FudHNF
eHRlbmRlZFJhbmdlKGNvbmZpZ3VyYXRpb24pID8gOCA6IDQ7CkBAIC04NCw3ICs5NSw3IEBAIHN0
ZDo6dW5pcXVlX3B0cjxHcmFwaGljc0NvbnRleHQ+IFNoYXJlYWJsZUJpdG1hcDo6Y3JlYXRlR3Jh
cGhpY3NDb250ZXh0KCkKICAgICByZWYoKTsgLy8gQmFsYW5jZWQgYnkgZGVyZWYgaW4gcmVsZWFz
ZUJpdG1hcENvbnRleHREYXRhLgogCiAgICAgdW5zaWduZWQgYnl0ZXNQZXJQaXhlbCA9IGNhbGN1
bGF0ZUJ5dGVzUGVyUGl4ZWwobV9jb25maWd1cmF0aW9uKTsKLSAgICBSZXRhaW5QdHI8Q0dDb250
ZXh0UmVmPiBiaXRtYXBDb250ZXh0ID0gYWRvcHRDRihDR0JpdG1hcENvbnRleHRDcmVhdGVXaXRo
RGF0YShkYXRhKCksIG1fc2l6ZS53aWR0aCgpLCBtX3NpemUuaGVpZ2h0KCksIGJ5dGVzUGVyUGl4
ZWwgKiA4IC8gNCwgbV9zaXplLndpZHRoKCkgKiBieXRlc1BlclBpeGVsLCBjb2xvclNwYWNlKG1f
Y29uZmlndXJhdGlvbiksIGJpdG1hcEluZm8obV9jb25maWd1cmF0aW9uKSwgcmVsZWFzZUJpdG1h
cENvbnRleHREYXRhLCB0aGlzKSk7CisgICAgUmV0YWluUHRyPENHQ29udGV4dFJlZj4gYml0bWFw
Q29udGV4dCA9IGFkb3B0Q0YoQ0dCaXRtYXBDb250ZXh0Q3JlYXRlV2l0aERhdGEoZGF0YSgpLCBt
X3NpemUud2lkdGgoKSwgbV9zaXplLmhlaWdodCgpLCBieXRlc1BlclBpeGVsICogOCAvIDQsIGNh
bGN1bGF0ZUJ5dGVzUGVyUm93KG1fc2l6ZSwgbV9jb25maWd1cmF0aW9uKS51bnNhZmVHZXQoKSwg
Y29sb3JTcGFjZShtX2NvbmZpZ3VyYXRpb24pLCBiaXRtYXBJbmZvKG1fY29uZmlndXJhdGlvbiks
IHJlbGVhc2VCaXRtYXBDb250ZXh0RGF0YSwgdGhpcykpOwogICAgIAogICAgIEFTU0VSVChiaXRt
YXBDb250ZXh0LmdldCgpKTsKIApAQCAtMTIzLDcgKzEzNCw3IEBAIFJldGFpblB0cjxDR0ltYWdl
UmVmPiBTaGFyZWFibGVCaXRtYXA6OmNyZWF0ZUNHSW1hZ2UoQ0dEYXRhUHJvdmlkZXJSZWYgZGF0
YVByb3ZpCiB7CiAgICAgQVNTRVJUX0FSRyhkYXRhUHJvdmlkZXIsIGRhdGFQcm92aWRlcik7CiAg
ICAgdW5zaWduZWQgYnl0ZXNQZXJQaXhlbCA9IGNhbGN1bGF0ZUJ5dGVzUGVyUGl4ZWwobV9jb25m
aWd1cmF0aW9uKTsKLSAgICBSZXRhaW5QdHI8Q0dJbWFnZVJlZj4gaW1hZ2UgPSBhZG9wdENGKENH
SW1hZ2VDcmVhdGUobV9zaXplLndpZHRoKCksIG1fc2l6ZS5oZWlnaHQoKSwgYnl0ZXNQZXJQaXhl
bCAqIDggLyA0LCBieXRlc1BlclBpeGVsICogOCwgbV9zaXplLndpZHRoKCkgKiBieXRlc1BlclBp
eGVsLCBjb2xvclNwYWNlKG1fY29uZmlndXJhdGlvbiksIGJpdG1hcEluZm8obV9jb25maWd1cmF0
aW9uKSwgZGF0YVByb3ZpZGVyLCAwLCBmYWxzZSwga0NHUmVuZGVyaW5nSW50ZW50RGVmYXVsdCkp
OworICAgIFJldGFpblB0cjxDR0ltYWdlUmVmPiBpbWFnZSA9IGFkb3B0Q0YoQ0dJbWFnZUNyZWF0
ZShtX3NpemUud2lkdGgoKSwgbV9zaXplLmhlaWdodCgpLCBieXRlc1BlclBpeGVsICogOCAvIDQs
IGJ5dGVzUGVyUGl4ZWwgKiA4LCBjYWxjdWxhdGVCeXRlc1BlclJvdyhtX3NpemUsIG1fY29uZmln
dXJhdGlvbikudW5zYWZlR2V0KCksIGNvbG9yU3BhY2UobV9jb25maWd1cmF0aW9uKSwgYml0bWFw
SW5mbyhtX2NvbmZpZ3VyYXRpb24pLCBkYXRhUHJvdmlkZXIsIDAsIGZhbHNlLCBrQ0dSZW5kZXJp
bmdJbnRlbnREZWZhdWx0KSk7CiAgICAgcmV0dXJuIGltYWdlOwogfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>318948</attachid>
            <date>2017-08-23 17:27:30 -0700</date>
            <delta_ts>2017-08-24 11:11:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-175898-20170823172729.patch</filename>
            <type>text/plain</type>
            <size>9925</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIxMTIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDQ3YjZhMTczMjBhZDdhY2Zj
ZmEwMWFmMWZjMTg2ZDQ3NGE3ZjY4ZTQuLjM0ODk2MjBlYmFlNjYyYWNiNzE1N2MxNGVkNmY5Mzk3
YmZlMTBjMGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDIgQEAKKzIwMTctMDgtMjMgIFRpbSBIb3J0
b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisKKyAgICAgICAgX1dLVGh1bWJuYWlsVmll
dyBzbmFwc2hvdHMgaGF2ZSB0byBiZSBjb3BpZWQgYnkgQ0Egb24gZmlyc3QgY29tbWl0IGR1ZSB0
byBiYWQgcm93IGFsaWdubWVudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTc1ODk4CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zNDAyOTY3Mz4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBTYW0gV2VpbmlnLgorCisgICAgICAgIEluIG9yZGVyIHRvIGF2
b2lkIGNvcHlpbmcsIENHSW1hZ2VzIHVzZWQgYXMgbGF5ZXIgY29udGVudHMgbmVlZCB0byBoYXZl
IGNlcnRhaW4KKyAgICAgICAgYWxpZ25tZW50IHJlcXVpcmVtZW50cyBmdWxmaWxsZWQuIEFsaWdu
IHRoZSByb3cgc3RyaWRlIHRvIHRoZSBkZXNpcmVkIHZhbHVlLgorCisgICAgICAgICogU2hhcmVk
L1NoYXJlYWJsZUJpdG1hcC5jcHA6CisgICAgICAgIChXZWJLaXQ6OlNoYXJlYWJsZUJpdG1hcDo6
Y3JlYXRlKToKKyAgICAgICAgKFdlYktpdDo6U2hhcmVhYmxlQml0bWFwOjpjcmVhdGVTaGFyZWFi
bGUpOgorICAgICAgICAoV2ViS2l0OjpTaGFyZWFibGVCaXRtYXA6Om51bUJ5dGVzRm9yU2l6ZSk6
CisgICAgICAgIChXZWJLaXQ6OlNoYXJlYWJsZUJpdG1hcDo6Y2FsY3VsYXRlQnl0ZXNQZXJQaXhl
bCk6IERlbGV0ZWQuCisgICAgICAgICogU2hhcmVkL1NoYXJlYWJsZUJpdG1hcC5oOgorICAgICAg
ICAoV2ViS2l0OjpTaGFyZWFibGVCaXRtYXA6OnNpemVJbkJ5dGVzIGNvbnN0KToKKyAgICAgICAg
KFdlYktpdDo6U2hhcmVhYmxlQml0bWFwOjpudW1CeXRlc0ZvclNpemUpOiBEZWxldGVkLgorICAg
ICAgICBNZXJnZSB0aGUgaW50ZXJmYWNlcyBvZiBudW1CeXRlc1BlclNpemUgYW5kIHNpemVJbkJ5
dGVzIGJldHdlZW4gdGhlIHBsYXRmb3Jtcy4KKyAgICAgICAgbnVtQnl0ZXNGb3JTaXplIG5vdyBt
YWtlcyB1c2Ugb2YgdGhlIG5ldyBjYWxjdWxhdGVCeXRlc1BlclJvdywgd2hpY2ggaXMKKyAgICAg
ICAgaW1wbGVtZW50ZWQgYnkgZWFjaCBwbGF0Zm9ybSBTaGFyZWFibGVCaXRtYXAgaW1wbGVtZW50
YXRpb24gdG8gZG8gdGhlCisgICAgICAgIHJlcXVpc2l0ZSBhbGlnbm1lbnQgZm9yIHRoYXQgcGxh
dGZvcm0uCisKKyAgICAgICAgKiBTaGFyZWQvY2Fpcm8vU2hhcmVhYmxlQml0bWFwQ2Fpcm8uY3Bw
OgorICAgICAgICAoV2ViS2l0OjpTaGFyZWFibGVCaXRtYXA6OmNhbGN1bGF0ZUJ5dGVzUGVyUm93
KToKKyAgICAgICAgKFdlYktpdDo6U2hhcmVhYmxlQml0bWFwOjpjYWxjdWxhdGVCeXRlc1BlclBp
eGVsKToKKyAgICAgICAgKFdlYktpdDo6Y3JlYXRlU3VyZmFjZUZyb21EYXRhKToKKyAgICAgICAg
KFdlYktpdDo6U2hhcmVhYmxlQml0bWFwOjpudW1CeXRlc0ZvclNpemUpOiBEZWxldGVkLgorICAg
ICAgICBJbXBsZW1lbnQgY2FsY3VsYXRlQnl0ZXNQZXJSb3cgKHdoaWNoIHVzZWQgdG8gYmUgaGlk
ZGVuIGluc2lkZSBvZiBudW1CeXRlc0ZvclNpemUpCisgICAgICAgIGFuZCBnZXQgcmlkIG9mIHRo
ZSBub3ctZHVwbGljYXRpdmUgbnVtQnl0ZXNGb3JTaXplLgorCisgICAgICAgICogU2hhcmVkL2Nn
L1NoYXJlYWJsZUJpdG1hcENHLmNwcDoKKyAgICAgICAgKFdlYktpdDo6U2hhcmVhYmxlQml0bWFw
OjpjYWxjdWxhdGVCeXRlc1BlclJvdyk6CisgICAgICAgIChXZWJLaXQ6OlNoYXJlYWJsZUJpdG1h
cDo6Y3JlYXRlR3JhcGhpY3NDb250ZXh0KToKKyAgICAgICAgKFdlYktpdDo6U2hhcmVhYmxlQml0
bWFwOjpjcmVhdGVDR0ltYWdlIGNvbnN0KToKKyAgICAgICAgSW1wbGVtZW50IGNhbGN1bGF0ZUJ5
dGVzUGVyUm93IGFuZCBtYWtlIHVzZSBvZiBpdCB3aGVuIHByb3ZpZGluZyBhIHJvdyBzdHJpZGUK
KyAgICAgICAgdG8gQ29yZUdyYXBoaWNzLgorCiAyMDE3LTA4LTIzICBZb3Vlbm4gRmFibGV0ICA8
eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBbQ2FjaGUgQVBJXSBVbmlmeSBXZWJDb3JlIGFu
ZCBXZWJLaXQgZXJyb3IgaGFuZGxpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L1NoYXJlYWJsZUJpdG1hcC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9TaGFyZWFibGVCaXRt
YXAuY3BwCmluZGV4IDgzYTBlNjdmMmNmZTE0MDc1MDRjYjdhZjgzMzY5Zjg5ZDMxODczODMuLjRm
Y2Y0ZDM0ZjY5NmZiYzRlN2M4Y2U1YzkyMjYyM2Y1OWZmMWI1MGIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvU2hhcmVkL1NoYXJlYWJsZUJpdG1hcC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9T
aGFyZWQvU2hhcmVhYmxlQml0bWFwLmNwcApAQCAtODQsNyArODQsNyBAQCBib29sIFNoYXJlYWJs
ZUJpdG1hcDo6Q29uZmlndXJhdGlvbjo6ZGVjb2RlKElQQzo6RGVjb2RlciYgZGVjb2RlciwgQ29u
ZmlndXJhdGlvbgogCiBSZWZQdHI8U2hhcmVhYmxlQml0bWFwPiBTaGFyZWFibGVCaXRtYXA6OmNy
ZWF0ZShjb25zdCBJbnRTaXplJiBzaXplLCBDb25maWd1cmF0aW9uIGNvbmZpZ3VyYXRpb24pCiB7
Ci0gICAgYXV0byBudW1CeXRlcyA9IG51bUJ5dGVzRm9yU2l6ZShzaXplLCBjYWxjdWxhdGVCeXRl
c1BlclBpeGVsKGNvbmZpZ3VyYXRpb24pKTsKKyAgICBhdXRvIG51bUJ5dGVzID0gbnVtQnl0ZXNG
b3JTaXplKHNpemUsIGNvbmZpZ3VyYXRpb24pOwogICAgIGlmIChudW1CeXRlcy5oYXNPdmVyZmxv
d2VkKCkpCiAgICAgICAgIHJldHVybiBudWxscHRyOwogCkBAIC05Nyw3ICs5Nyw3IEBAIFJlZlB0
cjxTaGFyZWFibGVCaXRtYXA+IFNoYXJlYWJsZUJpdG1hcDo6Y3JlYXRlKGNvbnN0IEludFNpemUm
IHNpemUsIENvbmZpZ3VyYXRpCiAKIFJlZlB0cjxTaGFyZWFibGVCaXRtYXA+IFNoYXJlYWJsZUJp
dG1hcDo6Y3JlYXRlU2hhcmVhYmxlKGNvbnN0IEludFNpemUmIHNpemUsIENvbmZpZ3VyYXRpb24g
Y29uZmlndXJhdGlvbikKIHsKLSAgICBhdXRvIG51bUJ5dGVzID0gbnVtQnl0ZXNGb3JTaXplKHNp
emUsIGNhbGN1bGF0ZUJ5dGVzUGVyUGl4ZWwoY29uZmlndXJhdGlvbikpOworICAgIGF1dG8gbnVt
Qnl0ZXMgPSBudW1CeXRlc0ZvclNpemUoc2l6ZSwgY29uZmlndXJhdGlvbik7CiAgICAgaWYgKG51
bUJ5dGVzLmhhc092ZXJmbG93ZWQoKSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKQEAgLTEx
Miw3ICsxMTIsNyBAQCBSZWZQdHI8U2hhcmVhYmxlQml0bWFwPiBTaGFyZWFibGVCaXRtYXA6OmNy
ZWF0ZShjb25zdCBJbnRTaXplJiBzaXplLCBDb25maWd1cmF0aQogewogICAgIEFTU0VSVChzaGFy
ZWRNZW1vcnkpOwogCi0gICAgYXV0byBudW1CeXRlcyA9IG51bUJ5dGVzRm9yU2l6ZShzaXplLCBj
YWxjdWxhdGVCeXRlc1BlclBpeGVsKGNvbmZpZ3VyYXRpb24pKTsKKyAgICBhdXRvIG51bUJ5dGVz
ID0gbnVtQnl0ZXNGb3JTaXplKHNpemUsIGNvbmZpZ3VyYXRpb24pOwogICAgIGlmIChudW1CeXRl
cy5oYXNPdmVyZmxvd2VkKCkpCiAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIGlmIChzaGFy
ZWRNZW1vcnktPnNpemUoKSA8IG51bUJ5dGVzLnVuc2FmZUdldCgpKSB7CkBAIC0xNzQsMTEgKzE3
NCw5IEBAIHZvaWQqIFNoYXJlYWJsZUJpdG1hcDo6ZGF0YSgpIGNvbnN0CiAgICAgcmV0dXJuIG1f
ZGF0YTsKIH0KIAotI2lmICFVU0UoQ0cpCi11bnNpZ25lZCBTaGFyZWFibGVCaXRtYXA6OmNhbGN1
bGF0ZUJ5dGVzUGVyUGl4ZWwoY29uc3QgQ29uZmlndXJhdGlvbiYpCitDaGVja2VkPHVuc2lnbmVk
LCBSZWNvcmRPdmVyZmxvdz4gU2hhcmVhYmxlQml0bWFwOjpudW1CeXRlc0ZvclNpemUoV2ViQ29y
ZTo6SW50U2l6ZSBzaXplLCBjb25zdCBTaGFyZWFibGVCaXRtYXA6OkNvbmZpZ3VyYXRpb24mIGNv
bmZpZ3VyYXRpb24pCiB7Ci0gICAgcmV0dXJuIDQ7CisgICAgcmV0dXJuIGNhbGN1bGF0ZUJ5dGVz
UGVyUm93KHNpemUsIGNvbmZpZ3VyYXRpb24pICogc2l6ZS5oZWlnaHQoKTsKIH0KLSNlbmRpZgog
CiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L1NoYXJlYWJsZUJpdG1hcC5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvU2hhcmVhYmxlQml0bWFw
LmgKaW5kZXggZDAyZDVjNWZiMzRjNGQxMDNhM2Q2YWI2MDI5OTExYzQ1OWE3NTk0MC4uNmZkNjMw
NDUwOTg2NDE3ZmRmOTJmYTIyYjE4MWU3NGFlOWJmZDZlNyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9TaGFyZWQvU2hhcmVhYmxlQml0bWFwLmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQv
U2hhcmVhYmxlQml0bWFwLmgKQEAgLTEyOSwxMiArMTI5LDkgQEAgcHJpdmF0ZToKICAgICBTaGFy
ZWFibGVCaXRtYXAoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYsIENvbmZpZ3VyYXRpb24sIHZvaWQq
KTsKICAgICBTaGFyZWFibGVCaXRtYXAoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYsIENvbmZpZ3Vy
YXRpb24sIFJlZlB0cjxTaGFyZWRNZW1vcnk+KTsKIAotI2lmIFVTRShDQUlSTykKLSAgICBzdGF0
aWMgQ2hlY2tlZDx1bnNpZ25lZCwgUmVjb3JkT3ZlcmZsb3c+IG51bUJ5dGVzRm9yU2l6ZShjb25z
dCBXZWJDb3JlOjpJbnRTaXplJik7Ci0gICAgc3RhdGljIENoZWNrZWQ8dW5zaWduZWQsIFJlY29y
ZE92ZXJmbG93PiBudW1CeXRlc0ZvclNpemUoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYgc2l6ZSwg
dW5zaWduZWQgYnl0ZXNQZXJQaXhlbCkgeyByZXR1cm4gbnVtQnl0ZXNGb3JTaXplKHNpemUpOyB9
Ci0jZWxzZQotICAgIHN0YXRpYyBDaGVja2VkPHVuc2lnbmVkLCBSZWNvcmRPdmVyZmxvdz4gbnVt
Qnl0ZXNGb3JTaXplKGNvbnN0IFdlYkNvcmU6OkludFNpemUmIHNpemUsIHVuc2lnbmVkIGJ5dGVz
UGVyUGl4ZWwpIHsgcmV0dXJuIHNpemUuYXJlYTxSZWNvcmRPdmVyZmxvdz4oKSAqIGJ5dGVzUGVy
UGl4ZWw7IH0KLSNlbmRpZgorICAgIHN0YXRpYyBDaGVja2VkPHVuc2lnbmVkLCBSZWNvcmRPdmVy
Zmxvdz4gbnVtQnl0ZXNGb3JTaXplKFdlYkNvcmU6OkludFNpemUsIGNvbnN0IFNoYXJlYWJsZUJp
dG1hcDo6Q29uZmlndXJhdGlvbiYpOworICAgIHN0YXRpYyBDaGVja2VkPHVuc2lnbmVkLCBSZWNv
cmRPdmVyZmxvdz4gY2FsY3VsYXRlQnl0ZXNQZXJSb3coV2ViQ29yZTo6SW50U2l6ZSwgY29uc3Qg
Q29uZmlndXJhdGlvbiYpOworICAgIHN0YXRpYyB1bnNpZ25lZCBjYWxjdWxhdGVCeXRlc1BlclBp
eGVsKGNvbnN0IENvbmZpZ3VyYXRpb24mKTsKIAogI2lmIFVTRShDRykKICAgICBSZXRhaW5QdHI8
Q0dJbWFnZVJlZj4gY3JlYXRlQ0dJbWFnZShDR0RhdGFQcm92aWRlclJlZikgY29uc3Q7CkBAIC0x
NDcsMTMgKzE0NCw3IEBAIHByaXZhdGU6CiAjZW5kaWYKIAogICAgIHZvaWQqIGRhdGEoKSBjb25z
dDsKLSNpZiBVU0UoQ0FJUk8pCi0gICAgc2l6ZV90IHNpemVJbkJ5dGVzKCkgY29uc3QgeyByZXR1
cm4gbnVtQnl0ZXNGb3JTaXplKG1fc2l6ZSkudW5zYWZlR2V0KCk7IH0KLSNlbHNlCi0gICAgc2l6
ZV90IHNpemVJbkJ5dGVzKCkgY29uc3QgeyByZXR1cm4gbnVtQnl0ZXNGb3JTaXplKG1fc2l6ZSwg
Y2FsY3VsYXRlQnl0ZXNQZXJQaXhlbChtX2NvbmZpZ3VyYXRpb24pKS51bnNhZmVHZXQoKTsgfQot
I2VuZGlmCi0KLSAgICBzdGF0aWMgdW5zaWduZWQgY2FsY3VsYXRlQnl0ZXNQZXJQaXhlbChjb25z
dCBDb25maWd1cmF0aW9uJik7CisgICAgc2l6ZV90IHNpemVJbkJ5dGVzKCkgY29uc3QgeyByZXR1
cm4gbnVtQnl0ZXNGb3JTaXplKG1fc2l6ZSwgbV9jb25maWd1cmF0aW9uKS51bnNhZmVHZXQoKTsg
fQogCiAgICAgV2ViQ29yZTo6SW50U2l6ZSBtX3NpemU7CiAgICAgQ29uZmlndXJhdGlvbiBtX2Nv
bmZpZ3VyYXRpb247CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9jYWlyby9TaGFy
ZWFibGVCaXRtYXBDYWlyby5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9jYWlyby9TaGFyZWFi
bGVCaXRtYXBDYWlyby5jcHAKaW5kZXggMjIzOWNlZTM3Njg1ODI3M2E2NzgzZWY3Yzg4NDc4ZTI4
NWQxZjU4Zi4uYjIzNzM5ZTU1MDk1M2MwYzllYjIxZTFkMmQ5MTg3OTM3ZWRiY2M5ZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvY2Fpcm8vU2hhcmVhYmxlQml0bWFwQ2Fpcm8uY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL2NhaXJvL1NoYXJlYWJsZUJpdG1hcENhaXJvLmNw
cApAQCAtNDAsOSArNDAsMTQgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiAKIHN0YXRpYyBjb25zdCBj
YWlyb19mb3JtYXRfdCBjYWlyb0Zvcm1hdCA9IENBSVJPX0ZPUk1BVF9BUkdCMzI7CiAKLUNoZWNr
ZWQ8dW5zaWduZWQsIFJlY29yZE92ZXJmbG93PiBTaGFyZWFibGVCaXRtYXA6Om51bUJ5dGVzRm9y
U2l6ZShjb25zdCBXZWJDb3JlOjpJbnRTaXplJiBzaXplKQorQ2hlY2tlZDx1bnNpZ25lZCwgUmVj
b3JkT3ZlcmZsb3c+IFNoYXJlYWJsZUJpdG1hcDo6Y2FsY3VsYXRlQnl0ZXNQZXJSb3coV2ViQ29y
ZTo6SW50U2l6ZSBzaXplLCBjb25zdCBDb25maWd1cmF0aW9uJikKIHsKLSAgICByZXR1cm4gQ2hl
Y2tlZDx1bnNpZ25lZCwgUmVjb3JkT3ZlcmZsb3c+KGNhaXJvX2Zvcm1hdF9zdHJpZGVfZm9yX3dp
ZHRoKGNhaXJvRm9ybWF0LCBzaXplLndpZHRoKCkpKSAqIHNpemUuaGVpZ2h0KCk7CisgICAgcmV0
dXJuIGNhaXJvX2Zvcm1hdF9zdHJpZGVfZm9yX3dpZHRoKGNhaXJvRm9ybWF0LCBzaXplLndpZHRo
KCkpOworfQorCit1bnNpZ25lZCBTaGFyZWFibGVCaXRtYXA6OmNhbGN1bGF0ZUJ5dGVzUGVyUGl4
ZWwoY29uc3QgQ29uZmlndXJhdGlvbiYpCit7CisgICAgcmV0dXJuIDQ7CiB9CiAKIHN0YXRpYyBp
bmxpbmUgUmVmUHRyPGNhaXJvX3N1cmZhY2VfdD4gY3JlYXRlU3VyZmFjZUZyb21EYXRhKHZvaWQq
IGRhdGEsIGNvbnN0IFdlYkNvcmU6OkludFNpemUmIHNpemUpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9jZy9TaGFyZWFibGVCaXRtYXBDRy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9jZy9TaGFyZWFibGVCaXRtYXBDRy5jcHAKaW5kZXggOWU1YTE0ZWZlMzRkMWE5NDUyOGZl
MzFiZjk5YWY5YzgwZWQzMGFmZC4uOGRlYTg5Yjg0YjE0ODliMjUzYzlmZmJlY2NmODRjNDJlNGIz
MzAxNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvY2cvU2hhcmVhYmxlQml0bWFw
Q0cuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL2NnL1NoYXJlYWJsZUJpdG1hcENHLmNw
cApAQCAtMzAsNiArMzAsNyBAQAogI2luY2x1ZGUgPFdlYkNvcmUvR3JhcGhpY3NDb250ZXh0Q0cu
aD4KICNpbmNsdWRlIDxXZWJDb3JlL1BsYXRmb3JtU2NyZWVuLmg+CiAjaW5jbHVkZSA8cGFsL3Nw
aS9jZy9Db3JlR3JhcGhpY3NTUEkuaD4KKyNpbmNsdWRlIDxwYWwvc3BpL2NvY29hL0lPU3VyZmFj
ZVNQSS5oPgogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KICNpbmNsdWRlICJDR1V0aWxpdGll
cy5oIgogCkBAIC03NCw2ICs3NSwxNiBAQCBzdGF0aWMgQ0dCaXRtYXBJbmZvIGJpdG1hcEluZm8o
Y29uc3QgU2hhcmVhYmxlQml0bWFwOjpDb25maWd1cmF0aW9uJiBjb25maWd1cmF0aQogICAgIHJl
dHVybiBpbmZvOwogfQogCitDaGVja2VkPHVuc2lnbmVkLCBSZWNvcmRPdmVyZmxvdz4gU2hhcmVh
YmxlQml0bWFwOjpjYWxjdWxhdGVCeXRlc1BlclJvdyhXZWJDb3JlOjpJbnRTaXplIHNpemUsIGNv
bnN0IENvbmZpZ3VyYXRpb24mIGNvbmZpZ3VyYXRpb24pCit7CisgICAgdW5zaWduZWQgYnl0ZXNQ
ZXJSb3cgPSBjYWxjdWxhdGVCeXRlc1BlclBpeGVsKGNvbmZpZ3VyYXRpb24pICogc2l6ZS53aWR0
aCgpOworI2lmIFVTRShJT1NVUkZBQ0UpCisgICAgcmV0dXJuIElPU3VyZmFjZUFsaWduUHJvcGVy
dHkoa0lPU3VyZmFjZUJ5dGVzUGVyUm93LCBieXRlc1BlclJvdyk7CisjZWxzZQorICAgIHJldHVy
biBieXRlc1BlclJvdzsKKyNlbmRpZgorfQorCiB1bnNpZ25lZCBTaGFyZWFibGVCaXRtYXA6OmNh
bGN1bGF0ZUJ5dGVzUGVyUGl4ZWwoY29uc3QgQ29uZmlndXJhdGlvbiYgY29uZmlndXJhdGlvbikK
IHsKICAgICByZXR1cm4gd2FudHNFeHRlbmRlZFJhbmdlKGNvbmZpZ3VyYXRpb24pID8gOCA6IDQ7
CkBAIC04NCw3ICs5NSw3IEBAIHN0ZDo6dW5pcXVlX3B0cjxHcmFwaGljc0NvbnRleHQ+IFNoYXJl
YWJsZUJpdG1hcDo6Y3JlYXRlR3JhcGhpY3NDb250ZXh0KCkKICAgICByZWYoKTsgLy8gQmFsYW5j
ZWQgYnkgZGVyZWYgaW4gcmVsZWFzZUJpdG1hcENvbnRleHREYXRhLgogCiAgICAgdW5zaWduZWQg
Ynl0ZXNQZXJQaXhlbCA9IGNhbGN1bGF0ZUJ5dGVzUGVyUGl4ZWwobV9jb25maWd1cmF0aW9uKTsK
LSAgICBSZXRhaW5QdHI8Q0dDb250ZXh0UmVmPiBiaXRtYXBDb250ZXh0ID0gYWRvcHRDRihDR0Jp
dG1hcENvbnRleHRDcmVhdGVXaXRoRGF0YShkYXRhKCksIG1fc2l6ZS53aWR0aCgpLCBtX3NpemUu
aGVpZ2h0KCksIGJ5dGVzUGVyUGl4ZWwgKiA4IC8gNCwgbV9zaXplLndpZHRoKCkgKiBieXRlc1Bl
clBpeGVsLCBjb2xvclNwYWNlKG1fY29uZmlndXJhdGlvbiksIGJpdG1hcEluZm8obV9jb25maWd1
cmF0aW9uKSwgcmVsZWFzZUJpdG1hcENvbnRleHREYXRhLCB0aGlzKSk7CisgICAgUmV0YWluUHRy
PENHQ29udGV4dFJlZj4gYml0bWFwQ29udGV4dCA9IGFkb3B0Q0YoQ0dCaXRtYXBDb250ZXh0Q3Jl
YXRlV2l0aERhdGEoZGF0YSgpLCBtX3NpemUud2lkdGgoKSwgbV9zaXplLmhlaWdodCgpLCBieXRl
c1BlclBpeGVsICogOCAvIDQsIGNhbGN1bGF0ZUJ5dGVzUGVyUm93KG1fc2l6ZSwgbV9jb25maWd1
cmF0aW9uKS51bnNhZmVHZXQoKSwgY29sb3JTcGFjZShtX2NvbmZpZ3VyYXRpb24pLCBiaXRtYXBJ
bmZvKG1fY29uZmlndXJhdGlvbiksIHJlbGVhc2VCaXRtYXBDb250ZXh0RGF0YSwgdGhpcykpOwog
ICAgIAogICAgIEFTU0VSVChiaXRtYXBDb250ZXh0LmdldCgpKTsKIApAQCAtMTIzLDcgKzEzNCw3
IEBAIFJldGFpblB0cjxDR0ltYWdlUmVmPiBTaGFyZWFibGVCaXRtYXA6OmNyZWF0ZUNHSW1hZ2Uo
Q0dEYXRhUHJvdmlkZXJSZWYgZGF0YVByb3ZpCiB7CiAgICAgQVNTRVJUX0FSRyhkYXRhUHJvdmlk
ZXIsIGRhdGFQcm92aWRlcik7CiAgICAgdW5zaWduZWQgYnl0ZXNQZXJQaXhlbCA9IGNhbGN1bGF0
ZUJ5dGVzUGVyUGl4ZWwobV9jb25maWd1cmF0aW9uKTsKLSAgICBSZXRhaW5QdHI8Q0dJbWFnZVJl
Zj4gaW1hZ2UgPSBhZG9wdENGKENHSW1hZ2VDcmVhdGUobV9zaXplLndpZHRoKCksIG1fc2l6ZS5o
ZWlnaHQoKSwgYnl0ZXNQZXJQaXhlbCAqIDggLyA0LCBieXRlc1BlclBpeGVsICogOCwgbV9zaXpl
LndpZHRoKCkgKiBieXRlc1BlclBpeGVsLCBjb2xvclNwYWNlKG1fY29uZmlndXJhdGlvbiksIGJp
dG1hcEluZm8obV9jb25maWd1cmF0aW9uKSwgZGF0YVByb3ZpZGVyLCAwLCBmYWxzZSwga0NHUmVu
ZGVyaW5nSW50ZW50RGVmYXVsdCkpOworICAgIFJldGFpblB0cjxDR0ltYWdlUmVmPiBpbWFnZSA9
IGFkb3B0Q0YoQ0dJbWFnZUNyZWF0ZShtX3NpemUud2lkdGgoKSwgbV9zaXplLmhlaWdodCgpLCBi
eXRlc1BlclBpeGVsICogOCAvIDQsIGJ5dGVzUGVyUGl4ZWwgKiA4LCBjYWxjdWxhdGVCeXRlc1Bl
clJvdyhtX3NpemUsIG1fY29uZmlndXJhdGlvbikudW5zYWZlR2V0KCksIGNvbG9yU3BhY2UobV9j
b25maWd1cmF0aW9uKSwgYml0bWFwSW5mbyhtX2NvbmZpZ3VyYXRpb24pLCBkYXRhUHJvdmlkZXIs
IDAsIGZhbHNlLCBrQ0dSZW5kZXJpbmdJbnRlbnREZWZhdWx0KSk7CiAgICAgcmV0dXJuIGltYWdl
OwogfQogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>