<?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>188866</bug_id>
          
          <creation_ts>2018-08-22 14:51:54 -0700</creation_ts>
          <short_desc>[MediaStream] Store video preset sizes in a map</short_desc>
          <delta_ts>2021-01-06 10:01:11 -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>WebRTC</component>
          <version>Other</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="Eric Carlson">eric.carlson</reporter>
          <assigned_to name="Eric Carlson">eric.carlson</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1452818</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2018-08-22 14:51:54 -0700</bug_when>
    <thetext>Make a map of the available video presets once instead of looking each one up again and again.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1452828</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-08-22 15:13:25 -0700</bug_when>
    <thetext>&lt;rdar://problem/43622643&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1452839</commentid>
    <comment_count>2</comment_count>
      <attachid>347855</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2018-08-22 15:35:49 -0700</bug_when>
    <thetext>Created attachment 347855
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1452869</commentid>
    <comment_count>3</comment_count>
      <attachid>347855</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-08-22 16:00:38 -0700</bug_when>
    <thetext>Comment on attachment 347855
Patch

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

&gt; Source/WebCore/platform/mediastream/RealtimeMediaSource.h:279
&gt; +    VideoPresetMap m_supportedPresets;

I would keep m_supportedPresets in AVVideoCaptureSource for now since this is the sole user.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1452884</commentid>
    <comment_count>4</comment_count>
      <attachid>347872</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2018-08-22 16:31:58 -0700</bug_when>
    <thetext>Created attachment 347872
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1453077</commentid>
    <comment_count>5</comment_count>
      <attachid>347927</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2018-08-23 09:19:51 -0700</bug_when>
    <thetext>Created attachment 347927
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1453160</commentid>
    <comment_count>6</comment_count>
      <attachid>347927</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-08-23 12:31:36 -0700</bug_when>
    <thetext>Comment on attachment 347927
Patch for landing

Clearing flags on attachment: 347927

Committed r235233: &lt;https://trac.webkit.org/changeset/235233&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>347855</attachid>
            <date>2018-08-22 15:35:49 -0700</date>
            <delta_ts>2021-01-06 09:53:05 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-188866-20180822153548.patch</filename>
            <type>text/plain</type>
            <size>13510</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM1MTEwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjdjZTY0MGQ0YWVmNzMz
OWZkZGNjZjU5MjA1YjcxYTk4MzAwZmNkZC4uNmUwNjMxYzk2ODM4Y2YzOTA2M2Q5NzE0NTkwYzNj
NzM5NzIxMDdkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDE4LTA4LTIyICBFcmlj
IENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisgICAgICAgIFtNZWRpYVN0cmVh
bV0gU3RvcmUgdmlkZW8gcHJlc2V0IHNpemVzIGluIGEgbWFwCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODg4NjYKKyAgICAgICAgPHJkYXI6Ly9wcm9i
bGVtLzQzNjIyNjQzPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIE5vIG5ldyB0ZXN0cywgdGVzdGVkIG1hbnVhbGx5LgorCisgICAgICAgICogcGxhdGZv
cm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVNZWRpYVNvdXJjZS5oOgorICAgICAgICAqIHBsYXRmb3Jt
L21lZGlhc3RyZWFtL21hYy9BVlZpZGVvQ2FwdHVyZVNvdXJjZS5oOgorICAgICAgICAqIHBsYXRm
b3JtL21lZGlhc3RyZWFtL21hYy9BVlZpZGVvQ2FwdHVyZVNvdXJjZS5tbToKKyAgICAgICAgKFdl
YkNvcmU6OkFWVmlkZW9DYXB0dXJlU291cmNlOjpBVlZpZGVvQ2FwdHVyZVNvdXJjZSk6CisgICAg
ICAgIChXZWJDb3JlOjpBVlZpZGVvQ2FwdHVyZVNvdXJjZTo6aW5pdGlhbGl6ZUNhcGFiaWxpdGll
cyk6CisgICAgICAgIChXZWJDb3JlOjpBVlZpZGVvQ2FwdHVyZVNvdXJjZTo6c2l6ZUZvclByZXNl
dCk6CisgICAgICAgIChXZWJDb3JlOjpBVlZpZGVvQ2FwdHVyZVNvdXJjZTo6c2V0UHJlc2V0KToK
KyAgICAgICAgKFdlYkNvcmU6OkFWVmlkZW9DYXB0dXJlU291cmNlOjpiZXN0U2Vzc2lvblByZXNl
dEZvclZpZGVvRGltZW5zaW9ucyk6CisgICAgICAgIChXZWJDb3JlOjpzaXplRm9yUHJlc2V0KTog
RGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkFWVmlkZW9DYXB0dXJlU291cmNlOjpiZXN0U2Vz
c2lvblByZXNldEZvclZpZGVvRGltZW5zaW9ucyBjb25zdCk6IERlbGV0ZWQuCisKIDIwMTgtMDgt
MjEgIFBoaWxpcHBlIE5vcm1hbmQgIDxwaGlsbkBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHU3Ry
ZWFtZXJdW01TRV0gR2VuZXJpYyBtYWluIHRocmVhZCBub3RpZmljYXRpb24gc3VwcG9ydApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVNZWRp
YVNvdXJjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGlt
ZU1lZGlhU291cmNlLmNwcAppbmRleCA4YTQ2MDlhMmQyNjQ3NDEwNjg5YmY0MDJhMmMxZDYzNDYx
MmM3ZmQxLi41OWNhOTNmOWI2NWViMjg0ZjU0OWMyOTNlNzJkYmFkNDY0NWY4OGI5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZU1lZGlhU291
cmNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGlt
ZU1lZGlhU291cmNlLmNwcApAQCAtOTQ5LDYgKzk0OSwxMSBAQCB2b2lkIFJlYWx0aW1lTWVkaWFT
b3VyY2U6OnNjaGVkdWxlRGVmZXJyZWRUYXNrKFdURjo6RnVuY3Rpb248dm9pZCgpPiYmIGZ1bmN0
aW9uKQogICAgIH0pOwogfQogCitSZWFsdGltZU1lZGlhU291cmNlOjpWaWRlb1ByZXNldE1hcCYg
UmVhbHRpbWVNZWRpYVNvdXJjZTo6dmlkZW9QcmVzZXRzKCkKK3sKKyAgICByZXR1cm4gbV9zdXBw
b3J0ZWRQcmVzZXRzOworfQorCiBSZWFsdGltZU1lZGlhU291cmNlOjpPYnNlcnZlcjo6fk9ic2Vy
dmVyKCkKIHsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3Ry
ZWFtL1JlYWx0aW1lTWVkaWFTb3VyY2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlh
c3RyZWFtL1JlYWx0aW1lTWVkaWFTb3VyY2UuaAppbmRleCBjMjlhYjE5YzE2ZGYzYjFmZDAxYTAw
NDBiOTJmYTVhNzIzYjQ4YjBhLi44ODFkNmUzZmMwY2Y1NjljN2U3M2NlMzU5NzNhMTYzZjAxNDE1
YjE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFs
dGltZU1lZGlhU291cmNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJl
YW0vUmVhbHRpbWVNZWRpYVNvdXJjZS5oCkBAIC0zNyw2ICszNyw3IEBACiAKICNpbmNsdWRlICJD
YXB0dXJlRGV2aWNlLmgiCiAjaW5jbHVkZSAiSW1hZ2UuaCIKKyNpbmNsdWRlICJJbnRTaXplSGFz
aC5oIgogI2luY2x1ZGUgIk1lZGlhQ29uc3RyYWludHMuaCIKICNpbmNsdWRlICJNZWRpYVNhbXBs
ZS5oIgogI2luY2x1ZGUgIlBsYXRmb3JtTGF5ZXIuaCIKQEAgLTI1MCw2ICsyNTEsOSBAQCBwcm90
ZWN0ZWQ6CiAgICAgdm9pZCB2aWRlb1NhbXBsZUF2YWlsYWJsZShNZWRpYVNhbXBsZSYpOwogICAg
IHZvaWQgYXVkaW9TYW1wbGVzQXZhaWxhYmxlKGNvbnN0IE1lZGlhVGltZSYsIGNvbnN0IFBsYXRm
b3JtQXVkaW9EYXRhJiwgY29uc3QgQXVkaW9TdHJlYW1EZXNjcmlwdGlvbiYsIHNpemVfdCk7CiAK
KyAgICB1c2luZyBWaWRlb1ByZXNldE1hcCA9IEhhc2hNYXA8U3RyaW5nLCBJbnRTaXplPjsKKyAg
ICBWaWRlb1ByZXNldE1hcCYgdmlkZW9QcmVzZXRzKCk7CisKIHByaXZhdGU6CiAgICAgdmlydHVh
bCB2b2lkIHN0YXJ0UHJvZHVjaW5nRGF0YSgpIHsgfQogICAgIHZpcnR1YWwgdm9pZCBzdG9wUHJv
ZHVjaW5nRGF0YSgpIHsgfQpAQCAtMjcyLDYgKzI3Niw3IEBAIHByaXZhdGU6CiAgICAgZG91Ymxl
IG1fc2FtcGxlU2l6ZSB7IDAgfTsKICAgICBkb3VibGUgbV9maXRuZXNzU2NvcmUgeyBzdGQ6Om51
bWVyaWNfbGltaXRzPGRvdWJsZT46OmluZmluaXR5KCkgfTsKICAgICBSZWFsdGltZU1lZGlhU291
cmNlU2V0dGluZ3M6OlZpZGVvRmFjaW5nTW9kZSBtX2ZhY2luZ01vZGUgeyBSZWFsdGltZU1lZGlh
U291cmNlU2V0dGluZ3M6OlVzZXJ9OworICAgIFZpZGVvUHJlc2V0TWFwIG1fc3VwcG9ydGVkUHJl
c2V0czsKIAogICAgIGJvb2wgbV9lY2hvQ2FuY2VsbGF0aW9uIHsgZmFsc2UgfTsKICAgICBib29s
IG1fcGVuZGluZ1NldHRpbmdzRGlkQ2hhbmdlTm90aWZpY2F0aW9uIHsgZmFsc2UgfTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9BVlZpZGVvQ2Fw
dHVyZVNvdXJjZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0FW
VmlkZW9DYXB0dXJlU291cmNlLmgKaW5kZXggY2Y2MjQyN2VkZDk3YmI3MzY0YWI0ZTM1ZjUzYjVj
ZTg5NjhkYWUzMC4uOGFlNzExNTIzMDc5NmIzZDAxYzAyY2I2OWNjYjkzYjcwMzcwMTg3YSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0FWVmlkZW9D
YXB0dXJlU291cmNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0v
bWFjL0FWVmlkZW9DYXB0dXJlU291cmNlLmgKQEAgLTcxLDcgKzcxLDcgQEAgcHJpdmF0ZToKIAog
ICAgIGJvb2wgaXNGcmFtZVJhdGVTdXBwb3J0ZWQoZG91YmxlIGZyYW1lUmF0ZSk7CiAKLSAgICBO
U1N0cmluZyAqYmVzdFNlc3Npb25QcmVzZXRGb3JWaWRlb0RpbWVuc2lvbnMoc3RkOjpvcHRpb25h
bDxpbnQ+IHdpZHRoLCBzdGQ6Om9wdGlvbmFsPGludD4gaGVpZ2h0KSBjb25zdDsKKyAgICBOU1N0
cmluZyAqYmVzdFNlc3Npb25QcmVzZXRGb3JWaWRlb0RpbWVuc2lvbnMoc3RkOjpvcHRpb25hbDxp
bnQ+IHdpZHRoLCBzdGQ6Om9wdGlvbmFsPGludD4gaGVpZ2h0KTsKICAgICBib29sIHN1cHBvcnRz
U2l6ZUFuZEZyYW1lUmF0ZShzdGQ6Om9wdGlvbmFsPGludD4gd2lkdGgsIHN0ZDo6b3B0aW9uYWw8
aW50PiBoZWlnaHQsIHN0ZDo6b3B0aW9uYWw8ZG91YmxlPikgZmluYWw7CiAKICAgICB2b2lkIGlu
aXRpYWxpemVDYXBhYmlsaXRpZXMoUmVhbHRpbWVNZWRpYVNvdXJjZUNhcGFiaWxpdGllcyYpIGZp
bmFsOwpAQCAtODQsMTEgKzg0LDEzIEBAIHByaXZhdGU6CiAKICAgICB2b2lkIGNhcHR1cmVPdXRw
dXREaWRPdXRwdXRTYW1wbGVCdWZmZXJGcm9tQ29ubmVjdGlvbihBVkNhcHR1cmVPdXRwdXQqLCBD
TVNhbXBsZUJ1ZmZlclJlZiwgQVZDYXB0dXJlQ29ubmVjdGlvbiopIGZpbmFsOwogICAgIHZvaWQg
cHJvY2Vzc05ld0ZyYW1lKFJldGFpblB0cjxDTVNhbXBsZUJ1ZmZlclJlZj4sIFJldGFpblB0cjxB
VkNhcHR1cmVDb25uZWN0aW9uPik7CisgICAgSW50U2l6ZSBzaXplRm9yUHJlc2V0KE5TU3RyaW5n
Kik7CiAKICAgICBSZXRhaW5QdHI8TlNTdHJpbmc+IG1fcGVuZGluZ1ByZXNldDsKICAgICBSZXRh
aW5QdHI8Q01TYW1wbGVCdWZmZXJSZWY+IG1fYnVmZmVyOwogICAgIFJldGFpblB0cjxBVkNhcHR1
cmVWaWRlb0RhdGFPdXRwdXQ+IG1fdmlkZW9PdXRwdXQ7CiAKKyAgICBJbnRTaXplIG1fcHJlc2V0
U2l6ZTsKICAgICBpbnQzMl90IG1fd2lkdGggeyAwIH07CiAgICAgaW50MzJfdCBtX2hlaWdodCB7
IDAgfTsKICAgICBpbnQgbV9zZW5zb3JPcmllbnRhdGlvbiB7IDAgfTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9BVlZpZGVvQ2FwdHVyZVNvdXJj
ZS5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9BVlZpZGVvQ2Fw
dHVyZVNvdXJjZS5tbQppbmRleCBhYjA0ZjAzZTkwOGI1ZTk0NGU0N2M0MTFkMDlmNjQ5YzdhYzcx
OGM0Li5iYzVkMDEwZjZlZTczYWE3NDQxYWQyZGU1OTJkOWM5ODE1YWUwNzU4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQVZWaWRlb0NhcHR1cmVT
b3VyY2UubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0FW
VmlkZW9DYXB0dXJlU291cmNlLm1tCkBAIC05NCw2ICs5NCwxNCBAQCBTT0ZUX0xJTktfQ09OU1RB
TlRfTUFZX0ZBSUwoQVZGb3VuZGF0aW9uLCBBVkNhcHR1cmVTZXNzaW9uUHJlc2V0MzIweDI0MCwg
TlNTdHJpbgogI2RlZmluZSBBVkNhcHR1cmVTZXNzaW9uUHJlc2V0MzUyeDI4OCBnZXRBVkNhcHR1
cmVTZXNzaW9uUHJlc2V0MzUyeDI4OCgpCiAjZGVmaW5lIEFWQ2FwdHVyZVNlc3Npb25QcmVzZXQz
MjB4MjQwIGdldEFWQ2FwdHVyZVNlc3Npb25QcmVzZXQzMjB4MjQwKCkKIAorI2lmIFBMQVRGT1JN
KElPUykKK1NPRlRfTElOS19QT0lOVEVSX09QVElPTkFMKEFWRm91bmRhdGlvbiwgQVZDYXB0dXJl
U2Vzc2lvblByZXNldDM4NDB4MjE2MCwgTlNTdHJpbmcgKikKK1NPRlRfTElOS19QT0lOVEVSX09Q
VElPTkFMKEFWRm91bmRhdGlvbiwgQVZDYXB0dXJlU2Vzc2lvblByZXNldDE5MjB4MTA4MCwgTlNT
dHJpbmcgKikKKworI2RlZmluZSBBVkNhcHR1cmVTZXNzaW9uUHJlc2V0Mzg0MHgyMTYwIGdldEFW
Q2FwdHVyZVNlc3Npb25QcmVzZXQzODQweDIxNjAoKQorI2RlZmluZSBBVkNhcHR1cmVTZXNzaW9u
UHJlc2V0MTkyMHgxMDgwIGdldEFWQ2FwdHVyZVNlc3Npb25QcmVzZXQxOTIweDEwODAoKQorI2Vu
ZGlmCisKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBA
IC0xMjMsNiArMTMxLDMyIEBAIENhcHR1cmVTb3VyY2VPckVycm9yIEFWVmlkZW9DYXB0dXJlU291
cmNlOjpjcmVhdGUoY29uc3QgQXRvbWljU3RyaW5nJiBpZCwgY29uc3QKIEFWVmlkZW9DYXB0dXJl
U291cmNlOjpBVlZpZGVvQ2FwdHVyZVNvdXJjZShBVkNhcHR1cmVEZXZpY2VUeXBlZGVmKiBkZXZp
Y2UsIGNvbnN0IEF0b21pY1N0cmluZyYgaWQpCiAgICAgOiBBVk1lZGlhQ2FwdHVyZVNvdXJjZShk
ZXZpY2UsIGlkLCBUeXBlOjpWaWRlbykKIHsKKyAgICBzdHJ1Y3QgVmlkZW9QcmVzZXQgeworICAg
ICAgICBib29sIHN5bWJvbEF2YWlsYWJsZTsKKyAgICAgICAgTlNTdHJpbmcqIG5hbWU7CisgICAg
ICAgIGludCB3aWR0aDsKKyAgICAgICAgaW50IGhlaWdodDsKKyAgICB9OworCisgICAgc3RhdGlj
IGNvbnN0IFZpZGVvUHJlc2V0IHByZXNldHNbXSA9IHsKKyNpZiBQTEFURk9STShJT1MpCisgICAg
ICAgIHsgY2FuTG9hZEFWQ2FwdHVyZVNlc3Npb25QcmVzZXQzODQweDIxNjAoKSwgQVZDYXB0dXJl
U2Vzc2lvblByZXNldDM4NDB4MjE2MCwgMzg0MCwgMjE2MCAgfSwKKyAgICAgICAgeyBjYW5Mb2Fk
QVZDYXB0dXJlU2Vzc2lvblByZXNldDE5MjB4MTA4MCgpLCBBVkNhcHR1cmVTZXNzaW9uUHJlc2V0
MTkyMHgxMDgwLCAxOTIwLCAxMDgwIH0sCisjZW5kaWYKKyAgICAgICAgeyBjYW5Mb2FkQVZDYXB0
dXJlU2Vzc2lvblByZXNldDEyODB4NzIwKCksIEFWQ2FwdHVyZVNlc3Npb25QcmVzZXQxMjgweDcy
MCwgMTI4MCwgNzIwIH0sCisgICAgICAgIHsgY2FuTG9hZEFWQ2FwdHVyZVNlc3Npb25QcmVzZXQ5
NjB4NTQwKCksIEFWQ2FwdHVyZVNlc3Npb25QcmVzZXQ5NjB4NTQwLCA5NjAsIDU0MCB9LAorICAg
ICAgICB7IGNhbkxvYWRBVkNhcHR1cmVTZXNzaW9uUHJlc2V0NjQweDQ4MCgpLCBBVkNhcHR1cmVT
ZXNzaW9uUHJlc2V0NjQweDQ4MCwgNjQwLCA0ODAgfSwKKyAgICAgICAgeyBjYW5Mb2FkQVZDYXB0
dXJlU2Vzc2lvblByZXNldDM1MngyODgoKSwgQVZDYXB0dXJlU2Vzc2lvblByZXNldDM1MngyODgs
IDM1MiwgMjg4IH0sCisgICAgICAgIHsgY2FuTG9hZEFWQ2FwdHVyZVNlc3Npb25QcmVzZXQzMjB4
MjQwKCksIEFWQ2FwdHVyZVNlc3Npb25QcmVzZXQzMjB4MjQwLCAzMjAsIDI0MCB9LAorICAgIH07
CisKKyAgICBhdXRvKiBwcmVzZXRzTWFwID0gJnZpZGVvUHJlc2V0cygpOworICAgIGZvciAoYXV0
byYgcHJlc2V0IDogcHJlc2V0cykgeworICAgICAgICBpZiAoIXByZXNldC5zeW1ib2xBdmFpbGFi
bGUgfHwgIXByZXNldC5uYW1lIHx8ICFbZGV2aWNlIHN1cHBvcnRzQVZDYXB0dXJlU2Vzc2lvblBy
ZXNldDpwcmVzZXQubmFtZV0pCisgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICBwcmVz
ZXRzTWFwLT5hZGQoU3RyaW5nKHByZXNldC5uYW1lKSwgSW50U2l6ZShwcmVzZXQud2lkdGgsIHBy
ZXNldC5oZWlnaHQpKTsKKyAgICB9CiB9CiAKIEFWVmlkZW9DYXB0dXJlU291cmNlOjp+QVZWaWRl
b0NhcHR1cmVTb3VyY2UoKQpAQCAtMTY4LDMyICsyMDIsMTMgQEAgdm9pZCBBVlZpZGVvQ2FwdHVy
ZVNvdXJjZTo6aW5pdGlhbGl6ZUNhcGFiaWxpdGllcyhSZWFsdGltZU1lZGlhU291cmNlQ2FwYWJp
bGl0aWUKICAgICAgICAgICAgIGxvd2VzdEZyYW1lUmF0ZVJhbmdlID0gc3RkOjptaW48RmxvYXQ2
ND4obG93ZXN0RnJhbWVSYXRlUmFuZ2UsIHJhbmdlLm1pbkZyYW1lUmF0ZSk7CiAgICAgICAgICAg
ICBoaWdoZXN0RnJhbWVSYXRlUmFuZ2UgPSBzdGQ6Om1heDxGbG9hdDY0PihoaWdoZXN0RnJhbWVS
YXRlUmFuZ2UsIHJhbmdlLm1heEZyYW1lUmF0ZSk7CiAgICAgICAgIH0KKyAgICB9CiAKLSAgICAg
ICAgaWYgKGNhbkxvYWRBVkNhcHR1cmVTZXNzaW9uUHJlc2V0MTI4MHg3MjAoKSAmJiBbdmlkZW9E
ZXZpY2Ugc3VwcG9ydHNBVkNhcHR1cmVTZXNzaW9uUHJlc2V0OkFWQ2FwdHVyZVNlc3Npb25QcmVz
ZXQxMjgweDcyMF0pIHsKLSAgICAgICAgICAgIHVwZGF0ZVNpemVNaW5NYXgobWluaW11bVdpZHRo
LCBtYXhpbXVtV2lkdGgsIDEyODApOwotICAgICAgICAgICAgdXBkYXRlU2l6ZU1pbk1heChtaW5p
bXVtSGVpZ2h0LCBtYXhpbXVtSGVpZ2h0LCA3MjApOwotICAgICAgICAgICAgdXBkYXRlQXNwZWN0
UmF0aW9NaW5NYXgobWluaW11bUFzcGVjdFJhdGlvLCBtYXhpbXVtQXNwZWN0UmF0aW8sIDEyODAu
MCAvIDcyMCk7Ci0gICAgICAgIH0KLSAgICAgICAgaWYgKGNhbkxvYWRBVkNhcHR1cmVTZXNzaW9u
UHJlc2V0OTYweDU0MCgpICYmIFt2aWRlb0RldmljZSBzdXBwb3J0c0FWQ2FwdHVyZVNlc3Npb25Q
cmVzZXQ6QVZDYXB0dXJlU2Vzc2lvblByZXNldDk2MHg1NDBdKSB7Ci0gICAgICAgICAgICB1cGRh
dGVTaXplTWluTWF4KG1pbmltdW1XaWR0aCwgbWF4aW11bVdpZHRoLCA5NjApOwotICAgICAgICAg
ICAgdXBkYXRlU2l6ZU1pbk1heChtaW5pbXVtSGVpZ2h0LCBtYXhpbXVtSGVpZ2h0LCA1NDApOwot
ICAgICAgICAgICAgdXBkYXRlQXNwZWN0UmF0aW9NaW5NYXgobWluaW11bUFzcGVjdFJhdGlvLCBt
YXhpbXVtQXNwZWN0UmF0aW8sIDk2MCAvIDU0MCk7Ci0gICAgICAgIH0KLSAgICAgICAgaWYgKGNh
bkxvYWRBVkNhcHR1cmVTZXNzaW9uUHJlc2V0NjQweDQ4MCgpICYmIFt2aWRlb0RldmljZSBzdXBw
b3J0c0FWQ2FwdHVyZVNlc3Npb25QcmVzZXQ6QVZDYXB0dXJlU2Vzc2lvblByZXNldDY0MHg0ODBd
KSB7Ci0gICAgICAgICAgICB1cGRhdGVTaXplTWluTWF4KG1pbmltdW1XaWR0aCwgbWF4aW11bVdp
ZHRoLCA2NDApOwotICAgICAgICAgICAgdXBkYXRlU2l6ZU1pbk1heChtaW5pbXVtSGVpZ2h0LCBt
YXhpbXVtSGVpZ2h0LCA0ODApOwotICAgICAgICAgICAgdXBkYXRlQXNwZWN0UmF0aW9NaW5NYXgo
bWluaW11bUFzcGVjdFJhdGlvLCBtYXhpbXVtQXNwZWN0UmF0aW8sIDY0MCAvIDQ4MCk7Ci0gICAg
ICAgIH0KLSAgICAgICAgaWYgKGNhbkxvYWRBVkNhcHR1cmVTZXNzaW9uUHJlc2V0MzUyeDI4OCgp
ICYmIFt2aWRlb0RldmljZSBzdXBwb3J0c0FWQ2FwdHVyZVNlc3Npb25QcmVzZXQ6QVZDYXB0dXJl
U2Vzc2lvblByZXNldDM1MngyODhdKSB7Ci0gICAgICAgICAgICB1cGRhdGVTaXplTWluTWF4KG1p
bmltdW1XaWR0aCwgbWF4aW11bVdpZHRoLCAzNTIpOwotICAgICAgICAgICAgdXBkYXRlU2l6ZU1p
bk1heChtaW5pbXVtSGVpZ2h0LCBtYXhpbXVtSGVpZ2h0LCAyODgpOwotICAgICAgICAgICAgdXBk
YXRlQXNwZWN0UmF0aW9NaW5NYXgobWluaW11bUFzcGVjdFJhdGlvLCBtYXhpbXVtQXNwZWN0UmF0
aW8sIDM1MiAvIDI4OCk7Ci0gICAgICAgIH0KLSAgICAgICAgaWYgKGNhbkxvYWRBVkNhcHR1cmVT
ZXNzaW9uUHJlc2V0MzIweDI0MCgpICYmIFt2aWRlb0RldmljZSBzdXBwb3J0c0FWQ2FwdHVyZVNl
c3Npb25QcmVzZXQ6QVZDYXB0dXJlU2Vzc2lvblByZXNldDMyMHgyNDBdKSB7Ci0gICAgICAgICAg
ICB1cGRhdGVTaXplTWluTWF4KG1pbmltdW1XaWR0aCwgbWF4aW11bVdpZHRoLCAzMjApOwotICAg
ICAgICAgICAgdXBkYXRlU2l6ZU1pbk1heChtaW5pbXVtSGVpZ2h0LCBtYXhpbXVtSGVpZ2h0LCAy
NDApOwotICAgICAgICAgICAgdXBkYXRlQXNwZWN0UmF0aW9NaW5NYXgobWluaW11bUFzcGVjdFJh
dGlvLCBtYXhpbXVtQXNwZWN0UmF0aW8sIDMyMCAvIDI0MCk7Ci0gICAgICAgIH0KKyAgICBmb3Ig
KGF1dG8mIHByZXNldCA6IHZpZGVvUHJlc2V0cygpKSB7CisgICAgICAgIGF1dG8gdmFsdWVzID0g
cHJlc2V0LnZhbHVlOworICAgICAgICB1cGRhdGVTaXplTWluTWF4KG1pbmltdW1XaWR0aCwgbWF4
aW11bVdpZHRoLCB2YWx1ZXMud2lkdGgoKSk7CisgICAgICAgIHVwZGF0ZVNpemVNaW5NYXgobWlu
aW11bUhlaWdodCwgbWF4aW11bUhlaWdodCwgdmFsdWVzLmhlaWdodCgpKTsKKyAgICAgICAgdXBk
YXRlQXNwZWN0UmF0aW9NaW5NYXgobWluaW11bUFzcGVjdFJhdGlvLCBtYXhpbXVtQXNwZWN0UmF0
aW8sIHN0YXRpY19jYXN0PGRvdWJsZT4odmFsdWVzLndpZHRoKCkpIC8gdmFsdWVzLmhlaWdodCgp
KTsKICAgICB9CiAKICAgICBjYXBhYmlsaXRpZXMuc2V0RnJhbWVSYXRlKENhcGFiaWxpdHlWYWx1
ZU9yUmFuZ2UobG93ZXN0RnJhbWVSYXRlUmFuZ2UsIGhpZ2hlc3RGcmFtZVJhdGVSYW5nZSkpOwpA
QCAtMjQxLDI4ICsyNTYsMTcgQEAgYm9vbCBBVlZpZGVvQ2FwdHVyZVNvdXJjZTo6YXBwbHlTaXpl
KGNvbnN0IEludFNpemUmIHNpemUpCiAgICAgcmV0dXJuIHNldFByZXNldChwcmVzZXQpOwogfQog
Ci1zdGF0aWMgSW50U2l6ZSBzaXplRm9yUHJlc2V0KE5TU3RyaW5nKiBwcmVzZXQpCitJbnRTaXpl
IEFWVmlkZW9DYXB0dXJlU291cmNlOjpzaXplRm9yUHJlc2V0KE5TU3RyaW5nKiBwcmVzZXQpCiB7
CiAgICAgaWYgKCFwcmVzZXQpCiAgICAgICAgIHJldHVybiB7IH07CiAKLSAgICBpZiAoY2FuTG9h
ZEFWQ2FwdHVyZVNlc3Npb25QcmVzZXQxMjgweDcyMCgpICYmIFtwcmVzZXQgaXNFcXVhbFRvU3Ry
aW5nOkFWQ2FwdHVyZVNlc3Npb25QcmVzZXQxMjgweDcyMF0pCi0gICAgICAgIHJldHVybiB7IDEy
ODAsIDcyMCB9OwotCi0gICAgaWYgKGNhbkxvYWRBVkNhcHR1cmVTZXNzaW9uUHJlc2V0OTYweDU0
MCgpICYmIFtwcmVzZXQgaXNFcXVhbFRvU3RyaW5nOkFWQ2FwdHVyZVNlc3Npb25QcmVzZXQ5NjB4
NTQwXSkKLSAgICAgICAgcmV0dXJuIHsgOTYwLCA1NDAgfTsKLQotICAgIGlmIChjYW5Mb2FkQVZD
YXB0dXJlU2Vzc2lvblByZXNldDY0MHg0ODAoKSAmJiBbcHJlc2V0IGlzRXF1YWxUb1N0cmluZzpB
VkNhcHR1cmVTZXNzaW9uUHJlc2V0NjQweDQ4MF0pCi0gICAgICAgIHJldHVybiB7IDY0MCwgNDgw
IH07Ci0KLSAgICBpZiAoY2FuTG9hZEFWQ2FwdHVyZVNlc3Npb25QcmVzZXQzNTJ4Mjg4KCkgJiYg
W3ByZXNldCBpc0VxdWFsVG9TdHJpbmc6QVZDYXB0dXJlU2Vzc2lvblByZXNldDM1MngyODhdKQot
ICAgICAgICByZXR1cm4geyAzNTIsIDI4OCB9OworICAgIGF1dG8mIHByZXNldHMgPSB2aWRlb1By
ZXNldHMoKTsKKyAgICBhdXRvIGl0ID0gcHJlc2V0cy5maW5kKFN0cmluZyhwcmVzZXQpKTsKKyAg
ICBpZiAoaXQgIT0gcHJlc2V0cy5lbmQoKSkKKyAgICAgICAgcmV0dXJuIHsgaXQtPnZhbHVlLndp
ZHRoKCksIGl0LT52YWx1ZS5oZWlnaHQoKSB9OwogCi0gICAgaWYgKGNhbkxvYWRBVkNhcHR1cmVT
ZXNzaW9uUHJlc2V0MzIweDI0MCgpICYmIFtwcmVzZXQgaXNFcXVhbFRvU3RyaW5nOkFWQ2FwdHVy
ZVNlc3Npb25QcmVzZXQzMjB4MjQwXSkKLSAgICAgICAgcmV0dXJuIHsgMzIwLCAyNDAgfTsKLSAg
ICAKICAgICByZXR1cm4geyB9OwotICAgIAogfQogCiBib29sIEFWVmlkZW9DYXB0dXJlU291cmNl
OjpzZXRQcmVzZXQoTlNTdHJpbmcgKnByZXNldCkKQEAgLTI3Myw5ICsyNzcsMTEgQEAgYm9vbCBB
VlZpZGVvQ2FwdHVyZVNvdXJjZTo6c2V0UHJlc2V0KE5TU3RyaW5nICpwcmVzZXQpCiAgICAgfQog
CiAgICAgYXV0byBzaXplID0gc2l6ZUZvclByZXNldChwcmVzZXQpOwotICAgIGlmIChzaXplLndp
ZHRoKCkgPT0gbV93aWR0aCAmJiBzaXplLmhlaWdodCgpID09IG1faGVpZ2h0KQorICAgIGlmICht
X3ByZXNldFNpemUgPT0gc2l6ZSkKICAgICAgICAgcmV0dXJuIHRydWU7CiAKKyAgICBtX3ByZXNl
dFNpemUgPSBzaXplOworCiAgICAgQHRyeSB7CiAgICAgICAgIHNlc3Npb24oKS5zZXNzaW9uUHJl
c2V0ID0gcHJlc2V0OwogI2lmIFBMQVRGT1JNKE1BQykKQEAgLTUwNiwyNiArNTEyLDIxIEBAIHZv
aWQgQVZWaWRlb0NhcHR1cmVTb3VyY2U6OmNhcHR1cmVPdXRwdXREaWRPdXRwdXRTYW1wbGVCdWZm
ZXJGcm9tQ29ubmVjdGlvbihBVkNhCiAgICAgfSk7CiB9CiAKLU5TU3RyaW5nKiBBVlZpZGVvQ2Fw
dHVyZVNvdXJjZTo6YmVzdFNlc3Npb25QcmVzZXRGb3JWaWRlb0RpbWVuc2lvbnMoc3RkOjpvcHRp
b25hbDxpbnQ+IHdpZHRoLCBzdGQ6Om9wdGlvbmFsPGludD4gaGVpZ2h0KSBjb25zdAorTlNTdHJp
bmcqIEFWVmlkZW9DYXB0dXJlU291cmNlOjpiZXN0U2Vzc2lvblByZXNldEZvclZpZGVvRGltZW5z
aW9ucyhzdGQ6Om9wdGlvbmFsPGludD4gd2lkdGgsIHN0ZDo6b3B0aW9uYWw8aW50PiBoZWlnaHQp
CiB7CiAgICAgaWYgKCF3aWR0aCAmJiAhaGVpZ2h0KQogICAgICAgICByZXR1cm4gbmlsOwogCi0g
ICAgQVZDYXB0dXJlRGV2aWNlVHlwZWRlZiAqdmlkZW9EZXZpY2UgPSBkZXZpY2UoKTsKLSAgICBp
ZiAoKCF3aWR0aCB8fCB3aWR0aC52YWx1ZSgpID09IDEyODApICYmICghaGVpZ2h0IHx8IGhlaWdo
dC52YWx1ZSgpID09IDcyMCkgJiYgY2FuTG9hZEFWQ2FwdHVyZVNlc3Npb25QcmVzZXQxMjgweDcy
MCgpKQotICAgICAgICByZXR1cm4gW3ZpZGVvRGV2aWNlIHN1cHBvcnRzQVZDYXB0dXJlU2Vzc2lv
blByZXNldDpBVkNhcHR1cmVTZXNzaW9uUHJlc2V0MTI4MHg3MjBdID8gQVZDYXB0dXJlU2Vzc2lv
blByZXNldDEyODB4NzIwIDogbmlsOwotCi0gICAgaWYgKCghd2lkdGggfHwgd2lkdGgudmFsdWUo
KSA9PSA5NjApICYmICghaGVpZ2h0IHx8IGhlaWdodC52YWx1ZSgpID09IDU0MCkgJiYgY2FuTG9h
ZEFWQ2FwdHVyZVNlc3Npb25QcmVzZXQ5NjB4NTQwKCkpCi0gICAgICAgIHJldHVybiBbdmlkZW9E
ZXZpY2Ugc3VwcG9ydHNBVkNhcHR1cmVTZXNzaW9uUHJlc2V0OkFWQ2FwdHVyZVNlc3Npb25QcmVz
ZXQ5NjB4NTQwXSA/IEFWQ2FwdHVyZVNlc3Npb25QcmVzZXQ5NjB4NTQwIDogbmlsOworICAgIGlu
dCB3aWR0aFZhbHVlID0gd2lkdGggPyB3aWR0aC52YWx1ZSgpIDogMDsKKyAgICBpbnQgaGVpZ2h0
VmFsdWUgPSBoZWlnaHQgPyBoZWlnaHQudmFsdWUoKSA6IDA7CiAKLSAgICBpZiAoKCF3aWR0aCB8
fCB3aWR0aC52YWx1ZSgpID09IDY0MCkgJiYgKCFoZWlnaHQgfHwgaGVpZ2h0LnZhbHVlKCkgPT0g
NDgwICkgJiYgY2FuTG9hZEFWQ2FwdHVyZVNlc3Npb25QcmVzZXQ2NDB4NDgwKCkpCi0gICAgICAg
IHJldHVybiBbdmlkZW9EZXZpY2Ugc3VwcG9ydHNBVkNhcHR1cmVTZXNzaW9uUHJlc2V0OkFWQ2Fw
dHVyZVNlc3Npb25QcmVzZXQ2NDB4NDgwXSA/IEFWQ2FwdHVyZVNlc3Npb25QcmVzZXQ2NDB4NDgw
IDogbmlsOworICAgIGZvciAoYXV0byYgcHJlc2V0IDogdmlkZW9QcmVzZXRzKCkpIHsKKyAgICAg
ICAgYXV0byBzaXplID0gcHJlc2V0LnZhbHVlOworICAgICAgICBOU1N0cmluZyogbmFtZSA9IHBy
ZXNldC5rZXk7CiAKLSAgICBpZiAoKCF3aWR0aCB8fCB3aWR0aC52YWx1ZSgpID09IDM1MikgJiYg
KCFoZWlnaHQgfHwgaGVpZ2h0LnZhbHVlKCkgPT0gMjg4ICkgJiYgY2FuTG9hZEFWQ2FwdHVyZVNl
c3Npb25QcmVzZXQzNTJ4Mjg4KCkpCi0gICAgICAgIHJldHVybiBbdmlkZW9EZXZpY2Ugc3VwcG9y
dHNBVkNhcHR1cmVTZXNzaW9uUHJlc2V0OkFWQ2FwdHVyZVNlc3Npb25QcmVzZXQzNTJ4Mjg4XSA/
IEFWQ2FwdHVyZVNlc3Npb25QcmVzZXQzNTJ4Mjg4IDogbmlsOwotCi0gICAgaWYgKCghd2lkdGgg
fHwgd2lkdGgudmFsdWUoKSA9PSAzMjApICYmICghaGVpZ2h0IHx8IGhlaWdodC52YWx1ZSgpID09
IDI0MCApICYmIGNhbkxvYWRBVkNhcHR1cmVTZXNzaW9uUHJlc2V0MzIweDI0MCgpKQotICAgICAg
ICByZXR1cm4gW3ZpZGVvRGV2aWNlIHN1cHBvcnRzQVZDYXB0dXJlU2Vzc2lvblByZXNldDpBVkNh
cHR1cmVTZXNzaW9uUHJlc2V0MzIweDI0MF0gPyBBVkNhcHR1cmVTZXNzaW9uUHJlc2V0MzIweDI0
MCA6IG5pbDsKKyAgICAgICAgaWYgKCghd2lkdGhWYWx1ZSB8fCB3aWR0aFZhbHVlID09IHNpemUu
d2lkdGgoKSkgJiYgKCFoZWlnaHRWYWx1ZSB8fCBoZWlnaHRWYWx1ZSA9PSBzaXplLmhlaWdodCgp
KSkKKyAgICAgICAgICAgIHJldHVybiBuYW1lOworICAgIH0KIAogICAgIHJldHVybiBuaWw7CiB9
Cg==
</data>
<flag name="review"
          id="365562"
          type_id="1"
          status="+"
          setter="youennf"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>347872</attachid>
            <date>2018-08-22 16:31:58 -0700</date>
            <delta_ts>2018-08-23 09:20:00 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-188866-20180822163155.patch</filename>
            <type>text/plain</type>
            <size>11836</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM1MTEwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjdjZTY0MGQ0YWVmNzMz
OWZkZGNjZjU5MjA1YjcxYTk4MzAwZmNkZC4uOTU1NzM3MDgyMGZjNTc3NzY1MjE4OTI2NTU0NWQ4
N2YyNmJhNzZlZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDE4LTA4LTIyICBFcmlj
IENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisgICAgICAgIFtNZWRpYVN0cmVh
bV0gU3RvcmUgdmlkZW8gcHJlc2V0IHNpemVzIGluIGEgbWFwCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODg4NjYKKyAgICAgICAgPHJkYXI6Ly9wcm9i
bGVtLzQzNjIyNjQzPgorCisgICAgICAgIFJldmlld2VkIGJ5IFlvdWVubiBGYWJsZXQuCisKKyAg
ICAgICAgTm8gbmV3IHRlc3RzLCB0ZXN0ZWQgbWFudWFsbHkuCisKKyAgICAgICAgKiBwbGF0Zm9y
bS9tZWRpYXN0cmVhbS9tYWMvQVZWaWRlb0NhcHR1cmVTb3VyY2UuaDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQVZWaWRlb0NhcHR1cmVTb3VyY2UubW06CisgICAgICAgIChX
ZWJDb3JlOjpBVlZpZGVvQ2FwdHVyZVNvdXJjZTo6QVZWaWRlb0NhcHR1cmVTb3VyY2UpOgorICAg
ICAgICAoV2ViQ29yZTo6QVZWaWRlb0NhcHR1cmVTb3VyY2U6OmluaXRpYWxpemVDYXBhYmlsaXRp
ZXMpOgorICAgICAgICAoV2ViQ29yZTo6QVZWaWRlb0NhcHR1cmVTb3VyY2U6OnNpemVGb3JQcmVz
ZXQpOgorICAgICAgICAoV2ViQ29yZTo6QVZWaWRlb0NhcHR1cmVTb3VyY2U6OnNldFByZXNldCk6
CisgICAgICAgIChXZWJDb3JlOjpBVlZpZGVvQ2FwdHVyZVNvdXJjZTo6YmVzdFNlc3Npb25QcmVz
ZXRGb3JWaWRlb0RpbWVuc2lvbnMpOgorICAgICAgICAoV2ViQ29yZTo6c2l6ZUZvclByZXNldCk6
IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpBVlZpZGVvQ2FwdHVyZVNvdXJjZTo6YmVzdFNl
c3Npb25QcmVzZXRGb3JWaWRlb0RpbWVuc2lvbnMgY29uc3QpOiBEZWxldGVkLgorCiAyMDE4LTA4
LTIxICBQaGlsaXBwZSBOb3JtYW5kICA8cGhpbG5AaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1N0
cmVhbWVyXVtNU0VdIEdlbmVyaWMgbWFpbiB0aHJlYWQgbm90aWZpY2F0aW9uIHN1cHBvcnQKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9BVlZpZGVv
Q2FwdHVyZVNvdXJjZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFj
L0FWVmlkZW9DYXB0dXJlU291cmNlLmgKaW5kZXggY2Y2MjQyN2VkZDk3YmI3MzY0YWI0ZTM1ZjUz
YjVjZTg5NjhkYWUzMC4uZjhkY2QwMGFmZTIzMGEyZjUyMGZkZGY4M2EwNWRiOTU2ZDBjZjMxYSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0FWVmlk
ZW9DYXB0dXJlU291cmNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJl
YW0vbWFjL0FWVmlkZW9DYXB0dXJlU291cmNlLmgKQEAgLTcxLDcgKzcxLDcgQEAgcHJpdmF0ZToK
IAogICAgIGJvb2wgaXNGcmFtZVJhdGVTdXBwb3J0ZWQoZG91YmxlIGZyYW1lUmF0ZSk7CiAKLSAg
ICBOU1N0cmluZyAqYmVzdFNlc3Npb25QcmVzZXRGb3JWaWRlb0RpbWVuc2lvbnMoc3RkOjpvcHRp
b25hbDxpbnQ+IHdpZHRoLCBzdGQ6Om9wdGlvbmFsPGludD4gaGVpZ2h0KSBjb25zdDsKKyAgICBO
U1N0cmluZyAqYmVzdFNlc3Npb25QcmVzZXRGb3JWaWRlb0RpbWVuc2lvbnMoc3RkOjpvcHRpb25h
bDxpbnQ+IHdpZHRoLCBzdGQ6Om9wdGlvbmFsPGludD4gaGVpZ2h0KTsKICAgICBib29sIHN1cHBv
cnRzU2l6ZUFuZEZyYW1lUmF0ZShzdGQ6Om9wdGlvbmFsPGludD4gd2lkdGgsIHN0ZDo6b3B0aW9u
YWw8aW50PiBoZWlnaHQsIHN0ZDo6b3B0aW9uYWw8ZG91YmxlPikgZmluYWw7CiAKICAgICB2b2lk
IGluaXRpYWxpemVDYXBhYmlsaXRpZXMoUmVhbHRpbWVNZWRpYVNvdXJjZUNhcGFiaWxpdGllcyYp
IGZpbmFsOwpAQCAtODQsMTYgKzg0LDIzIEBAIHByaXZhdGU6CiAKICAgICB2b2lkIGNhcHR1cmVP
dXRwdXREaWRPdXRwdXRTYW1wbGVCdWZmZXJGcm9tQ29ubmVjdGlvbihBVkNhcHR1cmVPdXRwdXQq
LCBDTVNhbXBsZUJ1ZmZlclJlZiwgQVZDYXB0dXJlQ29ubmVjdGlvbiopIGZpbmFsOwogICAgIHZv
aWQgcHJvY2Vzc05ld0ZyYW1lKFJldGFpblB0cjxDTVNhbXBsZUJ1ZmZlclJlZj4sIFJldGFpblB0
cjxBVkNhcHR1cmVDb25uZWN0aW9uPik7CisgICAgSW50U2l6ZSBzaXplRm9yUHJlc2V0KE5TU3Ry
aW5nKik7CisKKyAgICB1c2luZyBWaWRlb1ByZXNldE1hcCA9IEhhc2hNYXA8U3RyaW5nLCBJbnRT
aXplPjsKKyAgICBWaWRlb1ByZXNldE1hcCYgdmlkZW9QcmVzZXRzKCkgeyByZXR1cm4gbV9zdXBw
b3J0ZWRQcmVzZXRzOyB9CiAKICAgICBSZXRhaW5QdHI8TlNTdHJpbmc+IG1fcGVuZGluZ1ByZXNl
dDsKICAgICBSZXRhaW5QdHI8Q01TYW1wbGVCdWZmZXJSZWY+IG1fYnVmZmVyOwogICAgIFJldGFp
blB0cjxBVkNhcHR1cmVWaWRlb0RhdGFPdXRwdXQ+IG1fdmlkZW9PdXRwdXQ7CiAKKyAgICBJbnRT
aXplIG1fcHJlc2V0U2l6ZTsKICAgICBpbnQzMl90IG1fd2lkdGggeyAwIH07CiAgICAgaW50MzJf
dCBtX2hlaWdodCB7IDAgfTsKICAgICBpbnQgbV9zZW5zb3JPcmllbnRhdGlvbiB7IDAgfTsKICAg
ICBpbnQgbV9kZXZpY2VPcmllbnRhdGlvbiB7IDAgfTsKICAgICBNZWRpYVNhbXBsZTo6VmlkZW9S
b3RhdGlvbiBtX3NhbXBsZVJvdGF0aW9uIHsgTWVkaWFTYW1wbGU6OlZpZGVvUm90YXRpb246Ok5v
bmUgfTsKKworICAgIFZpZGVvUHJlc2V0TWFwIG1fc3VwcG9ydGVkUHJlc2V0czsKIH07CiAKIH0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21lZGlhc3RyZWFtL21hYy9BVlZpZGVvQ2FwdHVyZVNvdXJjZS5tbSBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9BVlZpZGVvQ2FwdHVyZVNvdXJjZS5tbQppbmRleCBh
YjA0ZjAzZTkwOGI1ZTk0NGU0N2M0MTFkMDlmNjQ5YzdhYzcxOGM0Li5iYzVkMDEwZjZlZTczYWE3
NDQxYWQyZGU1OTJkOWM5ODE1YWUwNzU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQVZWaWRlb0NhcHR1cmVTb3VyY2UubW0KKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0FWVmlkZW9DYXB0dXJlU291cmNlLm1t
CkBAIC05NCw2ICs5NCwxNCBAQCBTT0ZUX0xJTktfQ09OU1RBTlRfTUFZX0ZBSUwoQVZGb3VuZGF0
aW9uLCBBVkNhcHR1cmVTZXNzaW9uUHJlc2V0MzIweDI0MCwgTlNTdHJpbgogI2RlZmluZSBBVkNh
cHR1cmVTZXNzaW9uUHJlc2V0MzUyeDI4OCBnZXRBVkNhcHR1cmVTZXNzaW9uUHJlc2V0MzUyeDI4
OCgpCiAjZGVmaW5lIEFWQ2FwdHVyZVNlc3Npb25QcmVzZXQzMjB4MjQwIGdldEFWQ2FwdHVyZVNl
c3Npb25QcmVzZXQzMjB4MjQwKCkKIAorI2lmIFBMQVRGT1JNKElPUykKK1NPRlRfTElOS19QT0lO
VEVSX09QVElPTkFMKEFWRm91bmRhdGlvbiwgQVZDYXB0dXJlU2Vzc2lvblByZXNldDM4NDB4MjE2
MCwgTlNTdHJpbmcgKikKK1NPRlRfTElOS19QT0lOVEVSX09QVElPTkFMKEFWRm91bmRhdGlvbiwg
QVZDYXB0dXJlU2Vzc2lvblByZXNldDE5MjB4MTA4MCwgTlNTdHJpbmcgKikKKworI2RlZmluZSBB
VkNhcHR1cmVTZXNzaW9uUHJlc2V0Mzg0MHgyMTYwIGdldEFWQ2FwdHVyZVNlc3Npb25QcmVzZXQz
ODQweDIxNjAoKQorI2RlZmluZSBBVkNhcHR1cmVTZXNzaW9uUHJlc2V0MTkyMHgxMDgwIGdldEFW
Q2FwdHVyZVNlc3Npb25QcmVzZXQxOTIweDEwODAoKQorI2VuZGlmCisKIHVzaW5nIG5hbWVzcGFj
ZSBXZWJDb3JlOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0xMjMsNiArMTMxLDMyIEBAIENh
cHR1cmVTb3VyY2VPckVycm9yIEFWVmlkZW9DYXB0dXJlU291cmNlOjpjcmVhdGUoY29uc3QgQXRv
bWljU3RyaW5nJiBpZCwgY29uc3QKIEFWVmlkZW9DYXB0dXJlU291cmNlOjpBVlZpZGVvQ2FwdHVy
ZVNvdXJjZShBVkNhcHR1cmVEZXZpY2VUeXBlZGVmKiBkZXZpY2UsIGNvbnN0IEF0b21pY1N0cmlu
ZyYgaWQpCiAgICAgOiBBVk1lZGlhQ2FwdHVyZVNvdXJjZShkZXZpY2UsIGlkLCBUeXBlOjpWaWRl
bykKIHsKKyAgICBzdHJ1Y3QgVmlkZW9QcmVzZXQgeworICAgICAgICBib29sIHN5bWJvbEF2YWls
YWJsZTsKKyAgICAgICAgTlNTdHJpbmcqIG5hbWU7CisgICAgICAgIGludCB3aWR0aDsKKyAgICAg
ICAgaW50IGhlaWdodDsKKyAgICB9OworCisgICAgc3RhdGljIGNvbnN0IFZpZGVvUHJlc2V0IHBy
ZXNldHNbXSA9IHsKKyNpZiBQTEFURk9STShJT1MpCisgICAgICAgIHsgY2FuTG9hZEFWQ2FwdHVy
ZVNlc3Npb25QcmVzZXQzODQweDIxNjAoKSwgQVZDYXB0dXJlU2Vzc2lvblByZXNldDM4NDB4MjE2
MCwgMzg0MCwgMjE2MCAgfSwKKyAgICAgICAgeyBjYW5Mb2FkQVZDYXB0dXJlU2Vzc2lvblByZXNl
dDE5MjB4MTA4MCgpLCBBVkNhcHR1cmVTZXNzaW9uUHJlc2V0MTkyMHgxMDgwLCAxOTIwLCAxMDgw
IH0sCisjZW5kaWYKKyAgICAgICAgeyBjYW5Mb2FkQVZDYXB0dXJlU2Vzc2lvblByZXNldDEyODB4
NzIwKCksIEFWQ2FwdHVyZVNlc3Npb25QcmVzZXQxMjgweDcyMCwgMTI4MCwgNzIwIH0sCisgICAg
ICAgIHsgY2FuTG9hZEFWQ2FwdHVyZVNlc3Npb25QcmVzZXQ5NjB4NTQwKCksIEFWQ2FwdHVyZVNl
c3Npb25QcmVzZXQ5NjB4NTQwLCA5NjAsIDU0MCB9LAorICAgICAgICB7IGNhbkxvYWRBVkNhcHR1
cmVTZXNzaW9uUHJlc2V0NjQweDQ4MCgpLCBBVkNhcHR1cmVTZXNzaW9uUHJlc2V0NjQweDQ4MCwg
NjQwLCA0ODAgfSwKKyAgICAgICAgeyBjYW5Mb2FkQVZDYXB0dXJlU2Vzc2lvblByZXNldDM1Mngy
ODgoKSwgQVZDYXB0dXJlU2Vzc2lvblByZXNldDM1MngyODgsIDM1MiwgMjg4IH0sCisgICAgICAg
IHsgY2FuTG9hZEFWQ2FwdHVyZVNlc3Npb25QcmVzZXQzMjB4MjQwKCksIEFWQ2FwdHVyZVNlc3Np
b25QcmVzZXQzMjB4MjQwLCAzMjAsIDI0MCB9LAorICAgIH07CisKKyAgICBhdXRvKiBwcmVzZXRz
TWFwID0gJnZpZGVvUHJlc2V0cygpOworICAgIGZvciAoYXV0byYgcHJlc2V0IDogcHJlc2V0cykg
eworICAgICAgICBpZiAoIXByZXNldC5zeW1ib2xBdmFpbGFibGUgfHwgIXByZXNldC5uYW1lIHx8
ICFbZGV2aWNlIHN1cHBvcnRzQVZDYXB0dXJlU2Vzc2lvblByZXNldDpwcmVzZXQubmFtZV0pCisg
ICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICBwcmVzZXRzTWFwLT5hZGQoU3RyaW5nKHBy
ZXNldC5uYW1lKSwgSW50U2l6ZShwcmVzZXQud2lkdGgsIHByZXNldC5oZWlnaHQpKTsKKyAgICB9
CiB9CiAKIEFWVmlkZW9DYXB0dXJlU291cmNlOjp+QVZWaWRlb0NhcHR1cmVTb3VyY2UoKQpAQCAt
MTY4LDMyICsyMDIsMTMgQEAgdm9pZCBBVlZpZGVvQ2FwdHVyZVNvdXJjZTo6aW5pdGlhbGl6ZUNh
cGFiaWxpdGllcyhSZWFsdGltZU1lZGlhU291cmNlQ2FwYWJpbGl0aWUKICAgICAgICAgICAgIGxv
d2VzdEZyYW1lUmF0ZVJhbmdlID0gc3RkOjptaW48RmxvYXQ2ND4obG93ZXN0RnJhbWVSYXRlUmFu
Z2UsIHJhbmdlLm1pbkZyYW1lUmF0ZSk7CiAgICAgICAgICAgICBoaWdoZXN0RnJhbWVSYXRlUmFu
Z2UgPSBzdGQ6Om1heDxGbG9hdDY0PihoaWdoZXN0RnJhbWVSYXRlUmFuZ2UsIHJhbmdlLm1heEZy
YW1lUmF0ZSk7CiAgICAgICAgIH0KKyAgICB9CiAKLSAgICAgICAgaWYgKGNhbkxvYWRBVkNhcHR1
cmVTZXNzaW9uUHJlc2V0MTI4MHg3MjAoKSAmJiBbdmlkZW9EZXZpY2Ugc3VwcG9ydHNBVkNhcHR1
cmVTZXNzaW9uUHJlc2V0OkFWQ2FwdHVyZVNlc3Npb25QcmVzZXQxMjgweDcyMF0pIHsKLSAgICAg
ICAgICAgIHVwZGF0ZVNpemVNaW5NYXgobWluaW11bVdpZHRoLCBtYXhpbXVtV2lkdGgsIDEyODAp
OwotICAgICAgICAgICAgdXBkYXRlU2l6ZU1pbk1heChtaW5pbXVtSGVpZ2h0LCBtYXhpbXVtSGVp
Z2h0LCA3MjApOwotICAgICAgICAgICAgdXBkYXRlQXNwZWN0UmF0aW9NaW5NYXgobWluaW11bUFz
cGVjdFJhdGlvLCBtYXhpbXVtQXNwZWN0UmF0aW8sIDEyODAuMCAvIDcyMCk7Ci0gICAgICAgIH0K
LSAgICAgICAgaWYgKGNhbkxvYWRBVkNhcHR1cmVTZXNzaW9uUHJlc2V0OTYweDU0MCgpICYmIFt2
aWRlb0RldmljZSBzdXBwb3J0c0FWQ2FwdHVyZVNlc3Npb25QcmVzZXQ6QVZDYXB0dXJlU2Vzc2lv
blByZXNldDk2MHg1NDBdKSB7Ci0gICAgICAgICAgICB1cGRhdGVTaXplTWluTWF4KG1pbmltdW1X
aWR0aCwgbWF4aW11bVdpZHRoLCA5NjApOwotICAgICAgICAgICAgdXBkYXRlU2l6ZU1pbk1heCht
aW5pbXVtSGVpZ2h0LCBtYXhpbXVtSGVpZ2h0LCA1NDApOwotICAgICAgICAgICAgdXBkYXRlQXNw
ZWN0UmF0aW9NaW5NYXgobWluaW11bUFzcGVjdFJhdGlvLCBtYXhpbXVtQXNwZWN0UmF0aW8sIDk2
MCAvIDU0MCk7Ci0gICAgICAgIH0KLSAgICAgICAgaWYgKGNhbkxvYWRBVkNhcHR1cmVTZXNzaW9u
UHJlc2V0NjQweDQ4MCgpICYmIFt2aWRlb0RldmljZSBzdXBwb3J0c0FWQ2FwdHVyZVNlc3Npb25Q
cmVzZXQ6QVZDYXB0dXJlU2Vzc2lvblByZXNldDY0MHg0ODBdKSB7Ci0gICAgICAgICAgICB1cGRh
dGVTaXplTWluTWF4KG1pbmltdW1XaWR0aCwgbWF4aW11bVdpZHRoLCA2NDApOwotICAgICAgICAg
ICAgdXBkYXRlU2l6ZU1pbk1heChtaW5pbXVtSGVpZ2h0LCBtYXhpbXVtSGVpZ2h0LCA0ODApOwot
ICAgICAgICAgICAgdXBkYXRlQXNwZWN0UmF0aW9NaW5NYXgobWluaW11bUFzcGVjdFJhdGlvLCBt
YXhpbXVtQXNwZWN0UmF0aW8sIDY0MCAvIDQ4MCk7Ci0gICAgICAgIH0KLSAgICAgICAgaWYgKGNh
bkxvYWRBVkNhcHR1cmVTZXNzaW9uUHJlc2V0MzUyeDI4OCgpICYmIFt2aWRlb0RldmljZSBzdXBw
b3J0c0FWQ2FwdHVyZVNlc3Npb25QcmVzZXQ6QVZDYXB0dXJlU2Vzc2lvblByZXNldDM1MngyODhd
KSB7Ci0gICAgICAgICAgICB1cGRhdGVTaXplTWluTWF4KG1pbmltdW1XaWR0aCwgbWF4aW11bVdp
ZHRoLCAzNTIpOwotICAgICAgICAgICAgdXBkYXRlU2l6ZU1pbk1heChtaW5pbXVtSGVpZ2h0LCBt
YXhpbXVtSGVpZ2h0LCAyODgpOwotICAgICAgICAgICAgdXBkYXRlQXNwZWN0UmF0aW9NaW5NYXgo
bWluaW11bUFzcGVjdFJhdGlvLCBtYXhpbXVtQXNwZWN0UmF0aW8sIDM1MiAvIDI4OCk7Ci0gICAg
ICAgIH0KLSAgICAgICAgaWYgKGNhbkxvYWRBVkNhcHR1cmVTZXNzaW9uUHJlc2V0MzIweDI0MCgp
ICYmIFt2aWRlb0RldmljZSBzdXBwb3J0c0FWQ2FwdHVyZVNlc3Npb25QcmVzZXQ6QVZDYXB0dXJl
U2Vzc2lvblByZXNldDMyMHgyNDBdKSB7Ci0gICAgICAgICAgICB1cGRhdGVTaXplTWluTWF4KG1p
bmltdW1XaWR0aCwgbWF4aW11bVdpZHRoLCAzMjApOwotICAgICAgICAgICAgdXBkYXRlU2l6ZU1p
bk1heChtaW5pbXVtSGVpZ2h0LCBtYXhpbXVtSGVpZ2h0LCAyNDApOwotICAgICAgICAgICAgdXBk
YXRlQXNwZWN0UmF0aW9NaW5NYXgobWluaW11bUFzcGVjdFJhdGlvLCBtYXhpbXVtQXNwZWN0UmF0
aW8sIDMyMCAvIDI0MCk7Ci0gICAgICAgIH0KKyAgICBmb3IgKGF1dG8mIHByZXNldCA6IHZpZGVv
UHJlc2V0cygpKSB7CisgICAgICAgIGF1dG8gdmFsdWVzID0gcHJlc2V0LnZhbHVlOworICAgICAg
ICB1cGRhdGVTaXplTWluTWF4KG1pbmltdW1XaWR0aCwgbWF4aW11bVdpZHRoLCB2YWx1ZXMud2lk
dGgoKSk7CisgICAgICAgIHVwZGF0ZVNpemVNaW5NYXgobWluaW11bUhlaWdodCwgbWF4aW11bUhl
aWdodCwgdmFsdWVzLmhlaWdodCgpKTsKKyAgICAgICAgdXBkYXRlQXNwZWN0UmF0aW9NaW5NYXgo
bWluaW11bUFzcGVjdFJhdGlvLCBtYXhpbXVtQXNwZWN0UmF0aW8sIHN0YXRpY19jYXN0PGRvdWJs
ZT4odmFsdWVzLndpZHRoKCkpIC8gdmFsdWVzLmhlaWdodCgpKTsKICAgICB9CiAKICAgICBjYXBh
YmlsaXRpZXMuc2V0RnJhbWVSYXRlKENhcGFiaWxpdHlWYWx1ZU9yUmFuZ2UobG93ZXN0RnJhbWVS
YXRlUmFuZ2UsIGhpZ2hlc3RGcmFtZVJhdGVSYW5nZSkpOwpAQCAtMjQxLDI4ICsyNTYsMTcgQEAg
Ym9vbCBBVlZpZGVvQ2FwdHVyZVNvdXJjZTo6YXBwbHlTaXplKGNvbnN0IEludFNpemUmIHNpemUp
CiAgICAgcmV0dXJuIHNldFByZXNldChwcmVzZXQpOwogfQogCi1zdGF0aWMgSW50U2l6ZSBzaXpl
Rm9yUHJlc2V0KE5TU3RyaW5nKiBwcmVzZXQpCitJbnRTaXplIEFWVmlkZW9DYXB0dXJlU291cmNl
OjpzaXplRm9yUHJlc2V0KE5TU3RyaW5nKiBwcmVzZXQpCiB7CiAgICAgaWYgKCFwcmVzZXQpCiAg
ICAgICAgIHJldHVybiB7IH07CiAKLSAgICBpZiAoY2FuTG9hZEFWQ2FwdHVyZVNlc3Npb25QcmVz
ZXQxMjgweDcyMCgpICYmIFtwcmVzZXQgaXNFcXVhbFRvU3RyaW5nOkFWQ2FwdHVyZVNlc3Npb25Q
cmVzZXQxMjgweDcyMF0pCi0gICAgICAgIHJldHVybiB7IDEyODAsIDcyMCB9OwotCi0gICAgaWYg
KGNhbkxvYWRBVkNhcHR1cmVTZXNzaW9uUHJlc2V0OTYweDU0MCgpICYmIFtwcmVzZXQgaXNFcXVh
bFRvU3RyaW5nOkFWQ2FwdHVyZVNlc3Npb25QcmVzZXQ5NjB4NTQwXSkKLSAgICAgICAgcmV0dXJu
IHsgOTYwLCA1NDAgfTsKLQotICAgIGlmIChjYW5Mb2FkQVZDYXB0dXJlU2Vzc2lvblByZXNldDY0
MHg0ODAoKSAmJiBbcHJlc2V0IGlzRXF1YWxUb1N0cmluZzpBVkNhcHR1cmVTZXNzaW9uUHJlc2V0
NjQweDQ4MF0pCi0gICAgICAgIHJldHVybiB7IDY0MCwgNDgwIH07Ci0KLSAgICBpZiAoY2FuTG9h
ZEFWQ2FwdHVyZVNlc3Npb25QcmVzZXQzNTJ4Mjg4KCkgJiYgW3ByZXNldCBpc0VxdWFsVG9TdHJp
bmc6QVZDYXB0dXJlU2Vzc2lvblByZXNldDM1MngyODhdKQotICAgICAgICByZXR1cm4geyAzNTIs
IDI4OCB9OworICAgIGF1dG8mIHByZXNldHMgPSB2aWRlb1ByZXNldHMoKTsKKyAgICBhdXRvIGl0
ID0gcHJlc2V0cy5maW5kKFN0cmluZyhwcmVzZXQpKTsKKyAgICBpZiAoaXQgIT0gcHJlc2V0cy5l
bmQoKSkKKyAgICAgICAgcmV0dXJuIHsgaXQtPnZhbHVlLndpZHRoKCksIGl0LT52YWx1ZS5oZWln
aHQoKSB9OwogCi0gICAgaWYgKGNhbkxvYWRBVkNhcHR1cmVTZXNzaW9uUHJlc2V0MzIweDI0MCgp
ICYmIFtwcmVzZXQgaXNFcXVhbFRvU3RyaW5nOkFWQ2FwdHVyZVNlc3Npb25QcmVzZXQzMjB4MjQw
XSkKLSAgICAgICAgcmV0dXJuIHsgMzIwLCAyNDAgfTsKLSAgICAKICAgICByZXR1cm4geyB9Owot
ICAgIAogfQogCiBib29sIEFWVmlkZW9DYXB0dXJlU291cmNlOjpzZXRQcmVzZXQoTlNTdHJpbmcg
KnByZXNldCkKQEAgLTI3Myw5ICsyNzcsMTEgQEAgYm9vbCBBVlZpZGVvQ2FwdHVyZVNvdXJjZTo6
c2V0UHJlc2V0KE5TU3RyaW5nICpwcmVzZXQpCiAgICAgfQogCiAgICAgYXV0byBzaXplID0gc2l6
ZUZvclByZXNldChwcmVzZXQpOwotICAgIGlmIChzaXplLndpZHRoKCkgPT0gbV93aWR0aCAmJiBz
aXplLmhlaWdodCgpID09IG1faGVpZ2h0KQorICAgIGlmIChtX3ByZXNldFNpemUgPT0gc2l6ZSkK
ICAgICAgICAgcmV0dXJuIHRydWU7CiAKKyAgICBtX3ByZXNldFNpemUgPSBzaXplOworCiAgICAg
QHRyeSB7CiAgICAgICAgIHNlc3Npb24oKS5zZXNzaW9uUHJlc2V0ID0gcHJlc2V0OwogI2lmIFBM
QVRGT1JNKE1BQykKQEAgLTUwNiwyNiArNTEyLDIxIEBAIHZvaWQgQVZWaWRlb0NhcHR1cmVTb3Vy
Y2U6OmNhcHR1cmVPdXRwdXREaWRPdXRwdXRTYW1wbGVCdWZmZXJGcm9tQ29ubmVjdGlvbihBVkNh
CiAgICAgfSk7CiB9CiAKLU5TU3RyaW5nKiBBVlZpZGVvQ2FwdHVyZVNvdXJjZTo6YmVzdFNlc3Np
b25QcmVzZXRGb3JWaWRlb0RpbWVuc2lvbnMoc3RkOjpvcHRpb25hbDxpbnQ+IHdpZHRoLCBzdGQ6
Om9wdGlvbmFsPGludD4gaGVpZ2h0KSBjb25zdAorTlNTdHJpbmcqIEFWVmlkZW9DYXB0dXJlU291
cmNlOjpiZXN0U2Vzc2lvblByZXNldEZvclZpZGVvRGltZW5zaW9ucyhzdGQ6Om9wdGlvbmFsPGlu
dD4gd2lkdGgsIHN0ZDo6b3B0aW9uYWw8aW50PiBoZWlnaHQpCiB7CiAgICAgaWYgKCF3aWR0aCAm
JiAhaGVpZ2h0KQogICAgICAgICByZXR1cm4gbmlsOwogCi0gICAgQVZDYXB0dXJlRGV2aWNlVHlw
ZWRlZiAqdmlkZW9EZXZpY2UgPSBkZXZpY2UoKTsKLSAgICBpZiAoKCF3aWR0aCB8fCB3aWR0aC52
YWx1ZSgpID09IDEyODApICYmICghaGVpZ2h0IHx8IGhlaWdodC52YWx1ZSgpID09IDcyMCkgJiYg
Y2FuTG9hZEFWQ2FwdHVyZVNlc3Npb25QcmVzZXQxMjgweDcyMCgpKQotICAgICAgICByZXR1cm4g
W3ZpZGVvRGV2aWNlIHN1cHBvcnRzQVZDYXB0dXJlU2Vzc2lvblByZXNldDpBVkNhcHR1cmVTZXNz
aW9uUHJlc2V0MTI4MHg3MjBdID8gQVZDYXB0dXJlU2Vzc2lvblByZXNldDEyODB4NzIwIDogbmls
OwotCi0gICAgaWYgKCghd2lkdGggfHwgd2lkdGgudmFsdWUoKSA9PSA5NjApICYmICghaGVpZ2h0
IHx8IGhlaWdodC52YWx1ZSgpID09IDU0MCkgJiYgY2FuTG9hZEFWQ2FwdHVyZVNlc3Npb25QcmVz
ZXQ5NjB4NTQwKCkpCi0gICAgICAgIHJldHVybiBbdmlkZW9EZXZpY2Ugc3VwcG9ydHNBVkNhcHR1
cmVTZXNzaW9uUHJlc2V0OkFWQ2FwdHVyZVNlc3Npb25QcmVzZXQ5NjB4NTQwXSA/IEFWQ2FwdHVy
ZVNlc3Npb25QcmVzZXQ5NjB4NTQwIDogbmlsOworICAgIGludCB3aWR0aFZhbHVlID0gd2lkdGgg
PyB3aWR0aC52YWx1ZSgpIDogMDsKKyAgICBpbnQgaGVpZ2h0VmFsdWUgPSBoZWlnaHQgPyBoZWln
aHQudmFsdWUoKSA6IDA7CiAKLSAgICBpZiAoKCF3aWR0aCB8fCB3aWR0aC52YWx1ZSgpID09IDY0
MCkgJiYgKCFoZWlnaHQgfHwgaGVpZ2h0LnZhbHVlKCkgPT0gNDgwICkgJiYgY2FuTG9hZEFWQ2Fw
dHVyZVNlc3Npb25QcmVzZXQ2NDB4NDgwKCkpCi0gICAgICAgIHJldHVybiBbdmlkZW9EZXZpY2Ug
c3VwcG9ydHNBVkNhcHR1cmVTZXNzaW9uUHJlc2V0OkFWQ2FwdHVyZVNlc3Npb25QcmVzZXQ2NDB4
NDgwXSA/IEFWQ2FwdHVyZVNlc3Npb25QcmVzZXQ2NDB4NDgwIDogbmlsOworICAgIGZvciAoYXV0
byYgcHJlc2V0IDogdmlkZW9QcmVzZXRzKCkpIHsKKyAgICAgICAgYXV0byBzaXplID0gcHJlc2V0
LnZhbHVlOworICAgICAgICBOU1N0cmluZyogbmFtZSA9IHByZXNldC5rZXk7CiAKLSAgICBpZiAo
KCF3aWR0aCB8fCB3aWR0aC52YWx1ZSgpID09IDM1MikgJiYgKCFoZWlnaHQgfHwgaGVpZ2h0LnZh
bHVlKCkgPT0gMjg4ICkgJiYgY2FuTG9hZEFWQ2FwdHVyZVNlc3Npb25QcmVzZXQzNTJ4Mjg4KCkp
Ci0gICAgICAgIHJldHVybiBbdmlkZW9EZXZpY2Ugc3VwcG9ydHNBVkNhcHR1cmVTZXNzaW9uUHJl
c2V0OkFWQ2FwdHVyZVNlc3Npb25QcmVzZXQzNTJ4Mjg4XSA/IEFWQ2FwdHVyZVNlc3Npb25QcmVz
ZXQzNTJ4Mjg4IDogbmlsOwotCi0gICAgaWYgKCghd2lkdGggfHwgd2lkdGgudmFsdWUoKSA9PSAz
MjApICYmICghaGVpZ2h0IHx8IGhlaWdodC52YWx1ZSgpID09IDI0MCApICYmIGNhbkxvYWRBVkNh
cHR1cmVTZXNzaW9uUHJlc2V0MzIweDI0MCgpKQotICAgICAgICByZXR1cm4gW3ZpZGVvRGV2aWNl
IHN1cHBvcnRzQVZDYXB0dXJlU2Vzc2lvblByZXNldDpBVkNhcHR1cmVTZXNzaW9uUHJlc2V0MzIw
eDI0MF0gPyBBVkNhcHR1cmVTZXNzaW9uUHJlc2V0MzIweDI0MCA6IG5pbDsKKyAgICAgICAgaWYg
KCghd2lkdGhWYWx1ZSB8fCB3aWR0aFZhbHVlID09IHNpemUud2lkdGgoKSkgJiYgKCFoZWlnaHRW
YWx1ZSB8fCBoZWlnaHRWYWx1ZSA9PSBzaXplLmhlaWdodCgpKSkKKyAgICAgICAgICAgIHJldHVy
biBuYW1lOworICAgIH0KIAogICAgIHJldHVybiBuaWw7CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>347927</attachid>
            <date>2018-08-23 09:19:51 -0700</date>
            <delta_ts>2018-08-23 12:31:36 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-188866-20180823091950.patch</filename>
            <type>text/plain</type>
            <size>11853</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM1MjIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTViMDEyODFmNWYxM2Vl
MzNmMjcwZDYxZWY1MzYxM2UwZGJjNGYyYi4uMDdiN2JkYzQ3NThmMDk0MTc2YzU2M2YxYzY1NmUy
OGEzNzQ1OTI0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDE4LTA4LTIzICBFcmlj
IENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisgICAgICAgIFtNZWRpYVN0cmVh
bV0gU3RvcmUgdmlkZW8gcHJlc2V0IHNpemVzIGluIGEgbWFwCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODg4NjYKKyAgICAgICAgPHJkYXI6Ly9wcm9i
bGVtLzQzNjIyNjQzPgorCisgICAgICAgIFJldmlld2VkIGJ5IFlvdWVubiBGYWJsZXQuCisKKyAg
ICAgICAgTm8gbmV3IHRlc3RzLCB0ZXN0ZWQgbWFudWFsbHkuCisKKyAgICAgICAgKiBwbGF0Zm9y
bS9tZWRpYXN0cmVhbS9tYWMvQVZWaWRlb0NhcHR1cmVTb3VyY2UuaDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQVZWaWRlb0NhcHR1cmVTb3VyY2UubW06CisgICAgICAgIChX
ZWJDb3JlOjpBVlZpZGVvQ2FwdHVyZVNvdXJjZTo6QVZWaWRlb0NhcHR1cmVTb3VyY2UpOgorICAg
ICAgICAoV2ViQ29yZTo6QVZWaWRlb0NhcHR1cmVTb3VyY2U6OmluaXRpYWxpemVDYXBhYmlsaXRp
ZXMpOgorICAgICAgICAoV2ViQ29yZTo6QVZWaWRlb0NhcHR1cmVTb3VyY2U6OnNpemVGb3JQcmVz
ZXQpOgorICAgICAgICAoV2ViQ29yZTo6QVZWaWRlb0NhcHR1cmVTb3VyY2U6OnNldFByZXNldCk6
CisgICAgICAgIChXZWJDb3JlOjpBVlZpZGVvQ2FwdHVyZVNvdXJjZTo6YmVzdFNlc3Npb25QcmVz
ZXRGb3JWaWRlb0RpbWVuc2lvbnMpOgorICAgICAgICAoV2ViQ29yZTo6c2l6ZUZvclByZXNldCk6
IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpBVlZpZGVvQ2FwdHVyZVNvdXJjZTo6YmVzdFNl
c3Npb25QcmVzZXRGb3JWaWRlb0RpbWVuc2lvbnMgY29uc3QpOiBEZWxldGVkLgorCiAyMDE4LTA4
LTIzICBaYW4gRG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KIAogICAgICAgICBbQ29v
cmRHcmFwaGljc10gUmVtb3ZlIHRoZSByZW1haW5pbmcgQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVy
U3RhdGUgY3J1ZnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3Ry
ZWFtL21hYy9BVlZpZGVvQ2FwdHVyZVNvdXJjZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWVkaWFzdHJlYW0vbWFjL0FWVmlkZW9DYXB0dXJlU291cmNlLmgKaW5kZXggY2Y2MjQyN2VkZDk3
YmI3MzY0YWI0ZTM1ZjUzYjVjZTg5NjhkYWUzMC4uZjhkY2QwMGFmZTIzMGEyZjUyMGZkZGY4M2Ew
NWRiOTU2ZDBjZjMxYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFz
dHJlYW0vbWFjL0FWVmlkZW9DYXB0dXJlU291cmNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWVkaWFzdHJlYW0vbWFjL0FWVmlkZW9DYXB0dXJlU291cmNlLmgKQEAgLTcxLDcgKzcx
LDcgQEAgcHJpdmF0ZToKIAogICAgIGJvb2wgaXNGcmFtZVJhdGVTdXBwb3J0ZWQoZG91YmxlIGZy
YW1lUmF0ZSk7CiAKLSAgICBOU1N0cmluZyAqYmVzdFNlc3Npb25QcmVzZXRGb3JWaWRlb0RpbWVu
c2lvbnMoc3RkOjpvcHRpb25hbDxpbnQ+IHdpZHRoLCBzdGQ6Om9wdGlvbmFsPGludD4gaGVpZ2h0
KSBjb25zdDsKKyAgICBOU1N0cmluZyAqYmVzdFNlc3Npb25QcmVzZXRGb3JWaWRlb0RpbWVuc2lv
bnMoc3RkOjpvcHRpb25hbDxpbnQ+IHdpZHRoLCBzdGQ6Om9wdGlvbmFsPGludD4gaGVpZ2h0KTsK
ICAgICBib29sIHN1cHBvcnRzU2l6ZUFuZEZyYW1lUmF0ZShzdGQ6Om9wdGlvbmFsPGludD4gd2lk
dGgsIHN0ZDo6b3B0aW9uYWw8aW50PiBoZWlnaHQsIHN0ZDo6b3B0aW9uYWw8ZG91YmxlPikgZmlu
YWw7CiAKICAgICB2b2lkIGluaXRpYWxpemVDYXBhYmlsaXRpZXMoUmVhbHRpbWVNZWRpYVNvdXJj
ZUNhcGFiaWxpdGllcyYpIGZpbmFsOwpAQCAtODQsMTYgKzg0LDIzIEBAIHByaXZhdGU6CiAKICAg
ICB2b2lkIGNhcHR1cmVPdXRwdXREaWRPdXRwdXRTYW1wbGVCdWZmZXJGcm9tQ29ubmVjdGlvbihB
VkNhcHR1cmVPdXRwdXQqLCBDTVNhbXBsZUJ1ZmZlclJlZiwgQVZDYXB0dXJlQ29ubmVjdGlvbiop
IGZpbmFsOwogICAgIHZvaWQgcHJvY2Vzc05ld0ZyYW1lKFJldGFpblB0cjxDTVNhbXBsZUJ1ZmZl
clJlZj4sIFJldGFpblB0cjxBVkNhcHR1cmVDb25uZWN0aW9uPik7CisgICAgSW50U2l6ZSBzaXpl
Rm9yUHJlc2V0KE5TU3RyaW5nKik7CisKKyAgICB1c2luZyBWaWRlb1ByZXNldE1hcCA9IEhhc2hN
YXA8U3RyaW5nLCBJbnRTaXplPjsKKyAgICBWaWRlb1ByZXNldE1hcCYgdmlkZW9QcmVzZXRzKCkg
eyByZXR1cm4gbV9zdXBwb3J0ZWRQcmVzZXRzOyB9CiAKICAgICBSZXRhaW5QdHI8TlNTdHJpbmc+
IG1fcGVuZGluZ1ByZXNldDsKICAgICBSZXRhaW5QdHI8Q01TYW1wbGVCdWZmZXJSZWY+IG1fYnVm
ZmVyOwogICAgIFJldGFpblB0cjxBVkNhcHR1cmVWaWRlb0RhdGFPdXRwdXQ+IG1fdmlkZW9PdXRw
dXQ7CiAKKyAgICBJbnRTaXplIG1fcHJlc2V0U2l6ZTsKICAgICBpbnQzMl90IG1fd2lkdGggeyAw
IH07CiAgICAgaW50MzJfdCBtX2hlaWdodCB7IDAgfTsKICAgICBpbnQgbV9zZW5zb3JPcmllbnRh
dGlvbiB7IDAgfTsKICAgICBpbnQgbV9kZXZpY2VPcmllbnRhdGlvbiB7IDAgfTsKICAgICBNZWRp
YVNhbXBsZTo6VmlkZW9Sb3RhdGlvbiBtX3NhbXBsZVJvdGF0aW9uIHsgTWVkaWFTYW1wbGU6OlZp
ZGVvUm90YXRpb246Ok5vbmUgfTsKKworICAgIFZpZGVvUHJlc2V0TWFwIG1fc3VwcG9ydGVkUHJl
c2V0czsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9BVlZpZGVvQ2FwdHVyZVNvdXJjZS5tbSBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9BVlZpZGVvQ2FwdHVyZVNv
dXJjZS5tbQppbmRleCBhYjA0ZjAzZTkwOGI1ZTk0NGU0N2M0MTFkMDlmNjQ5YzdhYzcxOGM0Li5m
YWNjMzhmMDhhODgwOWQyYjNiODMzOWYyOWZlNzk0OWUyN2I3NmU5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQVZWaWRlb0NhcHR1cmVTb3VyY2Uu
bW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0FWVmlkZW9D
YXB0dXJlU291cmNlLm1tCkBAIC05NCw2ICs5NCwxNCBAQCBTT0ZUX0xJTktfQ09OU1RBTlRfTUFZ
X0ZBSUwoQVZGb3VuZGF0aW9uLCBBVkNhcHR1cmVTZXNzaW9uUHJlc2V0MzIweDI0MCwgTlNTdHJp
bgogI2RlZmluZSBBVkNhcHR1cmVTZXNzaW9uUHJlc2V0MzUyeDI4OCBnZXRBVkNhcHR1cmVTZXNz
aW9uUHJlc2V0MzUyeDI4OCgpCiAjZGVmaW5lIEFWQ2FwdHVyZVNlc3Npb25QcmVzZXQzMjB4MjQw
IGdldEFWQ2FwdHVyZVNlc3Npb25QcmVzZXQzMjB4MjQwKCkKIAorI2lmIFBMQVRGT1JNKElPUykK
K1NPRlRfTElOS19DT05TVEFOVF9NQVlfRkFJTChBVkZvdW5kYXRpb24sIEFWQ2FwdHVyZVNlc3Np
b25QcmVzZXQzODQweDIxNjAsIE5TU3RyaW5nICopCitTT0ZUX0xJTktfQ09OU1RBTlRfTUFZX0ZB
SUwoQVZGb3VuZGF0aW9uLCBBVkNhcHR1cmVTZXNzaW9uUHJlc2V0MTkyMHgxMDgwLCBOU1N0cmlu
ZyAqKQorCisjZGVmaW5lIEFWQ2FwdHVyZVNlc3Npb25QcmVzZXQzODQweDIxNjAgZ2V0QVZDYXB0
dXJlU2Vzc2lvblByZXNldDM4NDB4MjE2MCgpCisjZGVmaW5lIEFWQ2FwdHVyZVNlc3Npb25QcmVz
ZXQxOTIweDEwODAgZ2V0QVZDYXB0dXJlU2Vzc2lvblByZXNldDE5MjB4MTA4MCgpCisjZW5kaWYK
KwogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTEy
Myw2ICsxMzEsMzIgQEAgQ2FwdHVyZVNvdXJjZU9yRXJyb3IgQVZWaWRlb0NhcHR1cmVTb3VyY2U6
OmNyZWF0ZShjb25zdCBBdG9taWNTdHJpbmcmIGlkLCBjb25zdAogQVZWaWRlb0NhcHR1cmVTb3Vy
Y2U6OkFWVmlkZW9DYXB0dXJlU291cmNlKEFWQ2FwdHVyZURldmljZVR5cGVkZWYqIGRldmljZSwg
Y29uc3QgQXRvbWljU3RyaW5nJiBpZCkKICAgICA6IEFWTWVkaWFDYXB0dXJlU291cmNlKGRldmlj
ZSwgaWQsIFR5cGU6OlZpZGVvKQogeworICAgIHN0cnVjdCBWaWRlb1ByZXNldCB7CisgICAgICAg
IGJvb2wgc3ltYm9sQXZhaWxhYmxlOworICAgICAgICBOU1N0cmluZyogbmFtZTsKKyAgICAgICAg
aW50IHdpZHRoOworICAgICAgICBpbnQgaGVpZ2h0OworICAgIH07CisKKyAgICBzdGF0aWMgY29u
c3QgVmlkZW9QcmVzZXQgcHJlc2V0c1tdID0geworI2lmIFBMQVRGT1JNKElPUykKKyAgICAgICAg
eyBjYW5Mb2FkQVZDYXB0dXJlU2Vzc2lvblByZXNldDM4NDB4MjE2MCgpLCBBVkNhcHR1cmVTZXNz
aW9uUHJlc2V0Mzg0MHgyMTYwLCAzODQwLCAyMTYwICB9LAorICAgICAgICB7IGNhbkxvYWRBVkNh
cHR1cmVTZXNzaW9uUHJlc2V0MTkyMHgxMDgwKCksIEFWQ2FwdHVyZVNlc3Npb25QcmVzZXQxOTIw
eDEwODAsIDE5MjAsIDEwODAgfSwKKyNlbmRpZgorICAgICAgICB7IGNhbkxvYWRBVkNhcHR1cmVT
ZXNzaW9uUHJlc2V0MTI4MHg3MjAoKSwgQVZDYXB0dXJlU2Vzc2lvblByZXNldDEyODB4NzIwLCAx
MjgwLCA3MjAgfSwKKyAgICAgICAgeyBjYW5Mb2FkQVZDYXB0dXJlU2Vzc2lvblByZXNldDk2MHg1
NDAoKSwgQVZDYXB0dXJlU2Vzc2lvblByZXNldDk2MHg1NDAsIDk2MCwgNTQwIH0sCisgICAgICAg
IHsgY2FuTG9hZEFWQ2FwdHVyZVNlc3Npb25QcmVzZXQ2NDB4NDgwKCksIEFWQ2FwdHVyZVNlc3Np
b25QcmVzZXQ2NDB4NDgwLCA2NDAsIDQ4MCB9LAorICAgICAgICB7IGNhbkxvYWRBVkNhcHR1cmVT
ZXNzaW9uUHJlc2V0MzUyeDI4OCgpLCBBVkNhcHR1cmVTZXNzaW9uUHJlc2V0MzUyeDI4OCwgMzUy
LCAyODggfSwKKyAgICAgICAgeyBjYW5Mb2FkQVZDYXB0dXJlU2Vzc2lvblByZXNldDMyMHgyNDAo
KSwgQVZDYXB0dXJlU2Vzc2lvblByZXNldDMyMHgyNDAsIDMyMCwgMjQwIH0sCisgICAgfTsKKwor
ICAgIGF1dG8qIHByZXNldHNNYXAgPSAmdmlkZW9QcmVzZXRzKCk7CisgICAgZm9yIChhdXRvJiBw
cmVzZXQgOiBwcmVzZXRzKSB7CisgICAgICAgIGlmICghcHJlc2V0LnN5bWJvbEF2YWlsYWJsZSB8
fCAhcHJlc2V0Lm5hbWUgfHwgIVtkZXZpY2Ugc3VwcG9ydHNBVkNhcHR1cmVTZXNzaW9uUHJlc2V0
OnByZXNldC5uYW1lXSkKKyAgICAgICAgICAgIGNvbnRpbnVlOworCisgICAgICAgIHByZXNldHNN
YXAtPmFkZChTdHJpbmcocHJlc2V0Lm5hbWUpLCBJbnRTaXplKHByZXNldC53aWR0aCwgcHJlc2V0
LmhlaWdodCkpOworICAgIH0KIH0KIAogQVZWaWRlb0NhcHR1cmVTb3VyY2U6On5BVlZpZGVvQ2Fw
dHVyZVNvdXJjZSgpCkBAIC0xNjgsMzIgKzIwMiwxMyBAQCB2b2lkIEFWVmlkZW9DYXB0dXJlU291
cmNlOjppbml0aWFsaXplQ2FwYWJpbGl0aWVzKFJlYWx0aW1lTWVkaWFTb3VyY2VDYXBhYmlsaXRp
ZQogICAgICAgICAgICAgbG93ZXN0RnJhbWVSYXRlUmFuZ2UgPSBzdGQ6Om1pbjxGbG9hdDY0Pihs
b3dlc3RGcmFtZVJhdGVSYW5nZSwgcmFuZ2UubWluRnJhbWVSYXRlKTsKICAgICAgICAgICAgIGhp
Z2hlc3RGcmFtZVJhdGVSYW5nZSA9IHN0ZDo6bWF4PEZsb2F0NjQ+KGhpZ2hlc3RGcmFtZVJhdGVS
YW5nZSwgcmFuZ2UubWF4RnJhbWVSYXRlKTsKICAgICAgICAgfQorICAgIH0KIAotICAgICAgICBp
ZiAoY2FuTG9hZEFWQ2FwdHVyZVNlc3Npb25QcmVzZXQxMjgweDcyMCgpICYmIFt2aWRlb0Rldmlj
ZSBzdXBwb3J0c0FWQ2FwdHVyZVNlc3Npb25QcmVzZXQ6QVZDYXB0dXJlU2Vzc2lvblByZXNldDEy
ODB4NzIwXSkgewotICAgICAgICAgICAgdXBkYXRlU2l6ZU1pbk1heChtaW5pbXVtV2lkdGgsIG1h
eGltdW1XaWR0aCwgMTI4MCk7Ci0gICAgICAgICAgICB1cGRhdGVTaXplTWluTWF4KG1pbmltdW1I
ZWlnaHQsIG1heGltdW1IZWlnaHQsIDcyMCk7Ci0gICAgICAgICAgICB1cGRhdGVBc3BlY3RSYXRp
b01pbk1heChtaW5pbXVtQXNwZWN0UmF0aW8sIG1heGltdW1Bc3BlY3RSYXRpbywgMTI4MC4wIC8g
NzIwKTsKLSAgICAgICAgfQotICAgICAgICBpZiAoY2FuTG9hZEFWQ2FwdHVyZVNlc3Npb25QcmVz
ZXQ5NjB4NTQwKCkgJiYgW3ZpZGVvRGV2aWNlIHN1cHBvcnRzQVZDYXB0dXJlU2Vzc2lvblByZXNl
dDpBVkNhcHR1cmVTZXNzaW9uUHJlc2V0OTYweDU0MF0pIHsKLSAgICAgICAgICAgIHVwZGF0ZVNp
emVNaW5NYXgobWluaW11bVdpZHRoLCBtYXhpbXVtV2lkdGgsIDk2MCk7Ci0gICAgICAgICAgICB1
cGRhdGVTaXplTWluTWF4KG1pbmltdW1IZWlnaHQsIG1heGltdW1IZWlnaHQsIDU0MCk7Ci0gICAg
ICAgICAgICB1cGRhdGVBc3BlY3RSYXRpb01pbk1heChtaW5pbXVtQXNwZWN0UmF0aW8sIG1heGlt
dW1Bc3BlY3RSYXRpbywgOTYwIC8gNTQwKTsKLSAgICAgICAgfQotICAgICAgICBpZiAoY2FuTG9h
ZEFWQ2FwdHVyZVNlc3Npb25QcmVzZXQ2NDB4NDgwKCkgJiYgW3ZpZGVvRGV2aWNlIHN1cHBvcnRz
QVZDYXB0dXJlU2Vzc2lvblByZXNldDpBVkNhcHR1cmVTZXNzaW9uUHJlc2V0NjQweDQ4MF0pIHsK
LSAgICAgICAgICAgIHVwZGF0ZVNpemVNaW5NYXgobWluaW11bVdpZHRoLCBtYXhpbXVtV2lkdGgs
IDY0MCk7Ci0gICAgICAgICAgICB1cGRhdGVTaXplTWluTWF4KG1pbmltdW1IZWlnaHQsIG1heGlt
dW1IZWlnaHQsIDQ4MCk7Ci0gICAgICAgICAgICB1cGRhdGVBc3BlY3RSYXRpb01pbk1heChtaW5p
bXVtQXNwZWN0UmF0aW8sIG1heGltdW1Bc3BlY3RSYXRpbywgNjQwIC8gNDgwKTsKLSAgICAgICAg
fQotICAgICAgICBpZiAoY2FuTG9hZEFWQ2FwdHVyZVNlc3Npb25QcmVzZXQzNTJ4Mjg4KCkgJiYg
W3ZpZGVvRGV2aWNlIHN1cHBvcnRzQVZDYXB0dXJlU2Vzc2lvblByZXNldDpBVkNhcHR1cmVTZXNz
aW9uUHJlc2V0MzUyeDI4OF0pIHsKLSAgICAgICAgICAgIHVwZGF0ZVNpemVNaW5NYXgobWluaW11
bVdpZHRoLCBtYXhpbXVtV2lkdGgsIDM1Mik7Ci0gICAgICAgICAgICB1cGRhdGVTaXplTWluTWF4
KG1pbmltdW1IZWlnaHQsIG1heGltdW1IZWlnaHQsIDI4OCk7Ci0gICAgICAgICAgICB1cGRhdGVB
c3BlY3RSYXRpb01pbk1heChtaW5pbXVtQXNwZWN0UmF0aW8sIG1heGltdW1Bc3BlY3RSYXRpbywg
MzUyIC8gMjg4KTsKLSAgICAgICAgfQotICAgICAgICBpZiAoY2FuTG9hZEFWQ2FwdHVyZVNlc3Np
b25QcmVzZXQzMjB4MjQwKCkgJiYgW3ZpZGVvRGV2aWNlIHN1cHBvcnRzQVZDYXB0dXJlU2Vzc2lv
blByZXNldDpBVkNhcHR1cmVTZXNzaW9uUHJlc2V0MzIweDI0MF0pIHsKLSAgICAgICAgICAgIHVw
ZGF0ZVNpemVNaW5NYXgobWluaW11bVdpZHRoLCBtYXhpbXVtV2lkdGgsIDMyMCk7Ci0gICAgICAg
ICAgICB1cGRhdGVTaXplTWluTWF4KG1pbmltdW1IZWlnaHQsIG1heGltdW1IZWlnaHQsIDI0MCk7
Ci0gICAgICAgICAgICB1cGRhdGVBc3BlY3RSYXRpb01pbk1heChtaW5pbXVtQXNwZWN0UmF0aW8s
IG1heGltdW1Bc3BlY3RSYXRpbywgMzIwIC8gMjQwKTsKLSAgICAgICAgfQorICAgIGZvciAoYXV0
byYgcHJlc2V0IDogdmlkZW9QcmVzZXRzKCkpIHsKKyAgICAgICAgYXV0byB2YWx1ZXMgPSBwcmVz
ZXQudmFsdWU7CisgICAgICAgIHVwZGF0ZVNpemVNaW5NYXgobWluaW11bVdpZHRoLCBtYXhpbXVt
V2lkdGgsIHZhbHVlcy53aWR0aCgpKTsKKyAgICAgICAgdXBkYXRlU2l6ZU1pbk1heChtaW5pbXVt
SGVpZ2h0LCBtYXhpbXVtSGVpZ2h0LCB2YWx1ZXMuaGVpZ2h0KCkpOworICAgICAgICB1cGRhdGVB
c3BlY3RSYXRpb01pbk1heChtaW5pbXVtQXNwZWN0UmF0aW8sIG1heGltdW1Bc3BlY3RSYXRpbywg
c3RhdGljX2Nhc3Q8ZG91YmxlPih2YWx1ZXMud2lkdGgoKSkgLyB2YWx1ZXMuaGVpZ2h0KCkpOwog
ICAgIH0KIAogICAgIGNhcGFiaWxpdGllcy5zZXRGcmFtZVJhdGUoQ2FwYWJpbGl0eVZhbHVlT3JS
YW5nZShsb3dlc3RGcmFtZVJhdGVSYW5nZSwgaGlnaGVzdEZyYW1lUmF0ZVJhbmdlKSk7CkBAIC0y
NDEsMjggKzI1NiwxNyBAQCBib29sIEFWVmlkZW9DYXB0dXJlU291cmNlOjphcHBseVNpemUoY29u
c3QgSW50U2l6ZSYgc2l6ZSkKICAgICByZXR1cm4gc2V0UHJlc2V0KHByZXNldCk7CiB9CiAKLXN0
YXRpYyBJbnRTaXplIHNpemVGb3JQcmVzZXQoTlNTdHJpbmcqIHByZXNldCkKK0ludFNpemUgQVZW
aWRlb0NhcHR1cmVTb3VyY2U6OnNpemVGb3JQcmVzZXQoTlNTdHJpbmcqIHByZXNldCkKIHsKICAg
ICBpZiAoIXByZXNldCkKICAgICAgICAgcmV0dXJuIHsgfTsKIAotICAgIGlmIChjYW5Mb2FkQVZD
YXB0dXJlU2Vzc2lvblByZXNldDEyODB4NzIwKCkgJiYgW3ByZXNldCBpc0VxdWFsVG9TdHJpbmc6
QVZDYXB0dXJlU2Vzc2lvblByZXNldDEyODB4NzIwXSkKLSAgICAgICAgcmV0dXJuIHsgMTI4MCwg
NzIwIH07Ci0KLSAgICBpZiAoY2FuTG9hZEFWQ2FwdHVyZVNlc3Npb25QcmVzZXQ5NjB4NTQwKCkg
JiYgW3ByZXNldCBpc0VxdWFsVG9TdHJpbmc6QVZDYXB0dXJlU2Vzc2lvblByZXNldDk2MHg1NDBd
KQotICAgICAgICByZXR1cm4geyA5NjAsIDU0MCB9OwotCi0gICAgaWYgKGNhbkxvYWRBVkNhcHR1
cmVTZXNzaW9uUHJlc2V0NjQweDQ4MCgpICYmIFtwcmVzZXQgaXNFcXVhbFRvU3RyaW5nOkFWQ2Fw
dHVyZVNlc3Npb25QcmVzZXQ2NDB4NDgwXSkKLSAgICAgICAgcmV0dXJuIHsgNjQwLCA0ODAgfTsK
LQotICAgIGlmIChjYW5Mb2FkQVZDYXB0dXJlU2Vzc2lvblByZXNldDM1MngyODgoKSAmJiBbcHJl
c2V0IGlzRXF1YWxUb1N0cmluZzpBVkNhcHR1cmVTZXNzaW9uUHJlc2V0MzUyeDI4OF0pCi0gICAg
ICAgIHJldHVybiB7IDM1MiwgMjg4IH07CisgICAgYXV0byYgcHJlc2V0cyA9IHZpZGVvUHJlc2V0
cygpOworICAgIGF1dG8gaXQgPSBwcmVzZXRzLmZpbmQoU3RyaW5nKHByZXNldCkpOworICAgIGlm
IChpdCAhPSBwcmVzZXRzLmVuZCgpKQorICAgICAgICByZXR1cm4geyBpdC0+dmFsdWUud2lkdGgo
KSwgaXQtPnZhbHVlLmhlaWdodCgpIH07CiAKLSAgICBpZiAoY2FuTG9hZEFWQ2FwdHVyZVNlc3Np
b25QcmVzZXQzMjB4MjQwKCkgJiYgW3ByZXNldCBpc0VxdWFsVG9TdHJpbmc6QVZDYXB0dXJlU2Vz
c2lvblByZXNldDMyMHgyNDBdKQotICAgICAgICByZXR1cm4geyAzMjAsIDI0MCB9OwotICAgIAog
ICAgIHJldHVybiB7IH07Ci0gICAgCiB9CiAKIGJvb2wgQVZWaWRlb0NhcHR1cmVTb3VyY2U6OnNl
dFByZXNldChOU1N0cmluZyAqcHJlc2V0KQpAQCAtMjczLDkgKzI3NywxMSBAQCBib29sIEFWVmlk
ZW9DYXB0dXJlU291cmNlOjpzZXRQcmVzZXQoTlNTdHJpbmcgKnByZXNldCkKICAgICB9CiAKICAg
ICBhdXRvIHNpemUgPSBzaXplRm9yUHJlc2V0KHByZXNldCk7Ci0gICAgaWYgKHNpemUud2lkdGgo
KSA9PSBtX3dpZHRoICYmIHNpemUuaGVpZ2h0KCkgPT0gbV9oZWlnaHQpCisgICAgaWYgKG1fcHJl
c2V0U2l6ZSA9PSBzaXplKQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAorICAgIG1fcHJlc2V0U2l6
ZSA9IHNpemU7CisKICAgICBAdHJ5IHsKICAgICAgICAgc2Vzc2lvbigpLnNlc3Npb25QcmVzZXQg
PSBwcmVzZXQ7CiAjaWYgUExBVEZPUk0oTUFDKQpAQCAtNTA2LDI2ICs1MTIsMjEgQEAgdm9pZCBB
VlZpZGVvQ2FwdHVyZVNvdXJjZTo6Y2FwdHVyZU91dHB1dERpZE91dHB1dFNhbXBsZUJ1ZmZlckZy
b21Db25uZWN0aW9uKEFWQ2EKICAgICB9KTsKIH0KIAotTlNTdHJpbmcqIEFWVmlkZW9DYXB0dXJl
U291cmNlOjpiZXN0U2Vzc2lvblByZXNldEZvclZpZGVvRGltZW5zaW9ucyhzdGQ6Om9wdGlvbmFs
PGludD4gd2lkdGgsIHN0ZDo6b3B0aW9uYWw8aW50PiBoZWlnaHQpIGNvbnN0CitOU1N0cmluZyog
QVZWaWRlb0NhcHR1cmVTb3VyY2U6OmJlc3RTZXNzaW9uUHJlc2V0Rm9yVmlkZW9EaW1lbnNpb25z
KHN0ZDo6b3B0aW9uYWw8aW50PiB3aWR0aCwgc3RkOjpvcHRpb25hbDxpbnQ+IGhlaWdodCkKIHsK
ICAgICBpZiAoIXdpZHRoICYmICFoZWlnaHQpCiAgICAgICAgIHJldHVybiBuaWw7CiAKLSAgICBB
VkNhcHR1cmVEZXZpY2VUeXBlZGVmICp2aWRlb0RldmljZSA9IGRldmljZSgpOwotICAgIGlmICgo
IXdpZHRoIHx8IHdpZHRoLnZhbHVlKCkgPT0gMTI4MCkgJiYgKCFoZWlnaHQgfHwgaGVpZ2h0LnZh
bHVlKCkgPT0gNzIwKSAmJiBjYW5Mb2FkQVZDYXB0dXJlU2Vzc2lvblByZXNldDEyODB4NzIwKCkp
Ci0gICAgICAgIHJldHVybiBbdmlkZW9EZXZpY2Ugc3VwcG9ydHNBVkNhcHR1cmVTZXNzaW9uUHJl
c2V0OkFWQ2FwdHVyZVNlc3Npb25QcmVzZXQxMjgweDcyMF0gPyBBVkNhcHR1cmVTZXNzaW9uUHJl
c2V0MTI4MHg3MjAgOiBuaWw7Ci0KLSAgICBpZiAoKCF3aWR0aCB8fCB3aWR0aC52YWx1ZSgpID09
IDk2MCkgJiYgKCFoZWlnaHQgfHwgaGVpZ2h0LnZhbHVlKCkgPT0gNTQwKSAmJiBjYW5Mb2FkQVZD
YXB0dXJlU2Vzc2lvblByZXNldDk2MHg1NDAoKSkKLSAgICAgICAgcmV0dXJuIFt2aWRlb0Rldmlj
ZSBzdXBwb3J0c0FWQ2FwdHVyZVNlc3Npb25QcmVzZXQ6QVZDYXB0dXJlU2Vzc2lvblByZXNldDk2
MHg1NDBdID8gQVZDYXB0dXJlU2Vzc2lvblByZXNldDk2MHg1NDAgOiBuaWw7CisgICAgaW50IHdp
ZHRoVmFsdWUgPSB3aWR0aCA/IHdpZHRoLnZhbHVlKCkgOiAwOworICAgIGludCBoZWlnaHRWYWx1
ZSA9IGhlaWdodCA/IGhlaWdodC52YWx1ZSgpIDogMDsKIAotICAgIGlmICgoIXdpZHRoIHx8IHdp
ZHRoLnZhbHVlKCkgPT0gNjQwKSAmJiAoIWhlaWdodCB8fCBoZWlnaHQudmFsdWUoKSA9PSA0ODAg
KSAmJiBjYW5Mb2FkQVZDYXB0dXJlU2Vzc2lvblByZXNldDY0MHg0ODAoKSkKLSAgICAgICAgcmV0
dXJuIFt2aWRlb0RldmljZSBzdXBwb3J0c0FWQ2FwdHVyZVNlc3Npb25QcmVzZXQ6QVZDYXB0dXJl
U2Vzc2lvblByZXNldDY0MHg0ODBdID8gQVZDYXB0dXJlU2Vzc2lvblByZXNldDY0MHg0ODAgOiBu
aWw7CisgICAgZm9yIChhdXRvJiBwcmVzZXQgOiB2aWRlb1ByZXNldHMoKSkgeworICAgICAgICBh
dXRvIHNpemUgPSBwcmVzZXQudmFsdWU7CisgICAgICAgIE5TU3RyaW5nKiBuYW1lID0gcHJlc2V0
LmtleTsKIAotICAgIGlmICgoIXdpZHRoIHx8IHdpZHRoLnZhbHVlKCkgPT0gMzUyKSAmJiAoIWhl
aWdodCB8fCBoZWlnaHQudmFsdWUoKSA9PSAyODggKSAmJiBjYW5Mb2FkQVZDYXB0dXJlU2Vzc2lv
blByZXNldDM1MngyODgoKSkKLSAgICAgICAgcmV0dXJuIFt2aWRlb0RldmljZSBzdXBwb3J0c0FW
Q2FwdHVyZVNlc3Npb25QcmVzZXQ6QVZDYXB0dXJlU2Vzc2lvblByZXNldDM1MngyODhdID8gQVZD
YXB0dXJlU2Vzc2lvblByZXNldDM1MngyODggOiBuaWw7Ci0KLSAgICBpZiAoKCF3aWR0aCB8fCB3
aWR0aC52YWx1ZSgpID09IDMyMCkgJiYgKCFoZWlnaHQgfHwgaGVpZ2h0LnZhbHVlKCkgPT0gMjQw
ICkgJiYgY2FuTG9hZEFWQ2FwdHVyZVNlc3Npb25QcmVzZXQzMjB4MjQwKCkpCi0gICAgICAgIHJl
dHVybiBbdmlkZW9EZXZpY2Ugc3VwcG9ydHNBVkNhcHR1cmVTZXNzaW9uUHJlc2V0OkFWQ2FwdHVy
ZVNlc3Npb25QcmVzZXQzMjB4MjQwXSA/IEFWQ2FwdHVyZVNlc3Npb25QcmVzZXQzMjB4MjQwIDog
bmlsOworICAgICAgICBpZiAoKCF3aWR0aFZhbHVlIHx8IHdpZHRoVmFsdWUgPT0gc2l6ZS53aWR0
aCgpKSAmJiAoIWhlaWdodFZhbHVlIHx8IGhlaWdodFZhbHVlID09IHNpemUuaGVpZ2h0KCkpKQor
ICAgICAgICAgICAgcmV0dXJuIG5hbWU7CisgICAgfQogCiAgICAgcmV0dXJuIG5pbDsKIH0K
</data>

          </attachment>
      

    </bug>

</bugzilla>