<?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>186898</bug_id>
          
          <creation_ts>2018-06-21 15:09:17 -0700</creation_ts>
          <short_desc>ensureWritableX should only convert away from CoW when it will succeed</short_desc>
          <delta_ts>2018-06-22 14:03:19 -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>JavaScriptCore</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="Saam Barati">saam</reporter>
          <assigned_to name="Saam Barati">saam</assigned_to>
          <cc>benjamin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>fpizlo</cc>
    
    <cc>ggaren</cc>
    
    <cc>gskachkov</cc>
    
    <cc>jfbastien</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>rmorisset</cc>
    
    <cc>ticaiolima</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1435278</commentid>
    <comment_count>0</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2018-06-21 15:09:17 -0700</bug_when>
    <thetext>Otherwise, we&apos;ll end up seeing non CoW in the array profile during OSR exit</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1435304</commentid>
    <comment_count>1</comment_count>
      <attachid>343288</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2018-06-21 16:34:18 -0700</bug_when>
    <thetext>Created attachment 343288
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1435305</commentid>
    <comment_count>2</comment_count>
      <attachid>343288</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2018-06-21 16:38:08 -0700</bug_when>
    <thetext>Comment on attachment 343288
patch

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

&gt; Source/JavaScriptCore/runtime/JSObject.cpp:1482
&gt; +        if (hasInt32(indexingMode())) {

Nit I would do: leastUpperBoundOfIndexingTypes(indexingType() &amp; IndexingShapeMask, Int32Shape) == Int32Shape

&gt; Source/JavaScriptCore/runtime/JSObject.cpp:1517
&gt; +        if (hasDouble(indexingMode()) || hasInt32(indexingMode())) {

Nit I would do: leastUpperBoundOfIndexingTypes(indexingType() &amp; IndexingShapeMask, DoubleShape) == DoubleShape

&gt; Source/JavaScriptCore/runtime/JSObject.cpp:1556
&gt; +        if (hasContiguous(indexingMode()) || hasInt32(indexingMode()) || hasDouble(indexingMode())) {

Nit I would do: leastUpperBoundOfIndexingTypes(indexingType() &amp; IndexingShapeMask, ContiguousShape) == ContiguousShape</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1435306</commentid>
    <comment_count>3</comment_count>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2018-06-21 16:38:27 -0700</bug_when>
    <thetext>r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1435309</commentid>
    <comment_count>4</comment_count>
      <attachid>343290</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2018-06-21 16:59:36 -0700</bug_when>
    <thetext>Created attachment 343290
patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1435589</commentid>
    <comment_count>5</comment_count>
      <attachid>343290</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-06-22 14:02:07 -0700</bug_when>
    <thetext>Comment on attachment 343290
patch for landing

Clearing flags on attachment: 343290

Committed r233098: &lt;https://trac.webkit.org/changeset/233098&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1435590</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-06-22 14:02:08 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1435592</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-06-22 14:03:19 -0700</bug_when>
    <thetext>&lt;rdar://problem/41380999&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>343288</attachid>
            <date>2018-06-21 16:34:18 -0700</date>
            <delta_ts>2018-06-21 16:59:36 -0700</delta_ts>
            <desc>patch</desc>
            <filename>c-backup.diff</filename>
            <type>text/plain</type>
            <size>8413</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjMzMDY2KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMzIEBA
CisyMDE4LTA2LTIxICBTYWFtIEJhcmF0aSAgPHNiYXJhdGlAYXBwbGUuY29tPgorCisgICAgICAg
IGVuc3VyZVdyaXRhYmxlWCBzaG91bGQgb25seSBjb252ZXJ0IGF3YXkgZnJvbSBDb1cgd2hlbiBp
dCB3aWxsIHN1Y2NlZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE4Njg5OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIE90aGVyd2lzZSwgd2hlbiB3ZSBPU1IgZXhpdCwgd2UnbGwgZW5kIHVwIHByb2ZpbGlu
ZyB0aGUgYXJyYXkgYWZ0ZXIKKyAgICAgICAgaXQgaGFzIGJlZW4gY29udmVydGVkIGF3YXkgZnJv
bSBDb1cuIEl0J3MgYmV0dGVyIGZvciB0aGUgQXJyYXlQcm9maWxlCisgICAgICAgIHRvIHNlZSB0
aGUgYXJyYXkgYXMgaXQncyBzdGlsbCBpbiBDb1cgbW9kZS4KKyAgICAgICAgCisgICAgICAgIFRo
aXMgcGF0Y2ggYWxzbyByZW5hbWVzIGVuc3VyZVdyaXRhYmxlWCB0byB0cnlNYWtlV3JpdGFibGVY
IHNpbmNlIHRoZXNlCisgICAgICAgIHdlcmUgbmV2ZXIgcmVhbGx5ICJlbnN1cmUiIG9wZXJhdGlv
bnMgLS0gdGhleSBtYXkgZmFpbCBhbmQgcmV0dXJuIG51bGwuCisKKyAgICAgICAgKiBkZmcvREZH
T3BlcmF0aW9ucy5jcHA6CisgICAgICAgICogcnVudGltZS9KU09iamVjdC5jcHA6CisgICAgICAg
IChKU0M6OkpTT2JqZWN0Ojp0cnlNYWtlV3JpdGFibGVJbnQzMlNsb3cpOgorICAgICAgICAoSlND
OjpKU09iamVjdDo6dHJ5TWFrZVdyaXRhYmxlRG91YmxlU2xvdyk6CisgICAgICAgIChKU0M6OkpT
T2JqZWN0Ojp0cnlNYWtlV3JpdGFibGVDb250aWd1b3VzU2xvdyk6CisgICAgICAgIChKU0M6OkpT
T2JqZWN0OjplbnN1cmVXcml0YWJsZUludDMyU2xvdyk6IERlbGV0ZWQuCisgICAgICAgIChKU0M6
OkpTT2JqZWN0OjplbnN1cmVXcml0YWJsZURvdWJsZVNsb3cpOiBEZWxldGVkLgorICAgICAgICAo
SlNDOjpKU09iamVjdDo6ZW5zdXJlV3JpdGFibGVDb250aWd1b3VzU2xvdyk6IERlbGV0ZWQuCisg
ICAgICAgICogcnVudGltZS9KU09iamVjdC5oOgorICAgICAgICAoSlNDOjpKU09iamVjdDo6dHJ5
TWFrZVdyaXRhYmxlSW50MzIpOgorICAgICAgICAoSlNDOjpKU09iamVjdDo6dHJ5TWFrZVdyaXRh
YmxlRG91YmxlKToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OnRyeU1ha2VXcml0YWJsZUNvbnRp
Z3VvdXMpOgorICAgICAgICAoSlNDOjpKU09iamVjdDo6ZW5zdXJlV3JpdGFibGVJbnQzMik6IERl
bGV0ZWQuCisgICAgICAgIChKU0M6OkpTT2JqZWN0OjplbnN1cmVXcml0YWJsZURvdWJsZSk6IERl
bGV0ZWQuCisgICAgICAgIChKU0M6OkpTT2JqZWN0OjplbnN1cmVXcml0YWJsZUNvbnRpZ3VvdXMp
OiBEZWxldGVkLgorCiAyMDE4LTA2LTIxICBTYWFtIEJhcmF0aSAgPHNiYXJhdGlAYXBwbGUuY29t
PgogCiAgICAgICAgIERvIHNvbWUgQ29XIGNsZWFudXAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHT3BlcmF0aW9ucy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdPcGVyYXRpb25zLmNwcAkocmV2aXNpb24gMjMzMDY1KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPcGVyYXRpb25zLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MTg4OCw3ICsxODg4LDcgQEAgY2hhciogSklUX09QRVJBVElPTiBvcGVyYXRpb25FbnN1cmVJbnQz
MgogICAgIGlmICghY2VsbC0+aXNPYmplY3QoKSkKICAgICAgICAgcmV0dXJuIDA7CiAKLSAgICBh
dXRvKiByZXN1bHQgPSByZWludGVycHJldF9jYXN0PGNoYXIqPihhc09iamVjdChjZWxsKS0+ZW5z
dXJlV3JpdGFibGVJbnQzMih2bSkuZGF0YSgpKTsKKyAgICBhdXRvKiByZXN1bHQgPSByZWludGVy
cHJldF9jYXN0PGNoYXIqPihhc09iamVjdChjZWxsKS0+dHJ5TWFrZVdyaXRhYmxlSW50MzIodm0p
LmRhdGEoKSk7CiAgICAgQVNTRVJUKCghaXNDb3B5T25Xcml0ZShhc09iamVjdChjZWxsKS0+aW5k
ZXhpbmdNb2RlKCkpICYmIGhhc0ludDMyKGNlbGwtPmluZGV4aW5nTW9kZSgpKSkgfHwgIXJlc3Vs
dCk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KQEAgLTE5MDEsNyArMTkwMSw3IEBAIGNoYXIqIEpJ
VF9PUEVSQVRJT04gb3BlcmF0aW9uRW5zdXJlRG91YmwKICAgICBpZiAoIWNlbGwtPmlzT2JqZWN0
KCkpCiAgICAgICAgIHJldHVybiAwOwogCi0gICAgYXV0byogcmVzdWx0ID0gcmVpbnRlcnByZXRf
Y2FzdDxjaGFyKj4oYXNPYmplY3QoY2VsbCktPmVuc3VyZVdyaXRhYmxlRG91YmxlKHZtKS5kYXRh
KCkpOworICAgIGF1dG8qIHJlc3VsdCA9IHJlaW50ZXJwcmV0X2Nhc3Q8Y2hhcio+KGFzT2JqZWN0
KGNlbGwpLT50cnlNYWtlV3JpdGFibGVEb3VibGUodm0pLmRhdGEoKSk7CiAgICAgQVNTRVJUKCgh
aXNDb3B5T25Xcml0ZShhc09iamVjdChjZWxsKS0+aW5kZXhpbmdNb2RlKCkpICYmIGhhc0RvdWJs
ZShjZWxsLT5pbmRleGluZ01vZGUoKSkpIHx8ICFyZXN1bHQpOwogICAgIHJldHVybiByZXN1bHQ7
CiB9CkBAIC0xOTE0LDcgKzE5MTQsNyBAQCBjaGFyKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkVu
c3VyZUNvbnRpCiAgICAgaWYgKCFjZWxsLT5pc09iamVjdCgpKQogICAgICAgICByZXR1cm4gMDsK
ICAgICAKLSAgICBhdXRvKiByZXN1bHQgPSByZWludGVycHJldF9jYXN0PGNoYXIqPihhc09iamVj
dChjZWxsKS0+ZW5zdXJlV3JpdGFibGVDb250aWd1b3VzKHZtKS5kYXRhKCkpOworICAgIGF1dG8q
IHJlc3VsdCA9IHJlaW50ZXJwcmV0X2Nhc3Q8Y2hhcio+KGFzT2JqZWN0KGNlbGwpLT50cnlNYWtl
V3JpdGFibGVDb250aWd1b3VzKHZtKS5kYXRhKCkpOwogICAgIEFTU0VSVCgoIWlzQ29weU9uV3Jp
dGUoYXNPYmplY3QoY2VsbCktPmluZGV4aW5nTW9kZSgpKSAmJiBoYXNDb250aWd1b3VzKGNlbGwt
PmluZGV4aW5nTW9kZSgpKSkgfHwgIXJlc3VsdCk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KSW5k
ZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5jcHAJKHJldmlzaW9u
IDIzMzA2NSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMTQ3NCwxNCArMTQ3NCwxNiBAQCB2b2lkIEpTT2JqZWN0Ojpjb252
ZXJ0RG91YmxlVG9Db250aWd1b3VzCiAgICAgc2V0SW5kZXhRdWlja2x5KHZtLCBpbmRleCwgdmFs
dWUpOwogfQogCi1Db250aWd1b3VzSlNWYWx1ZXMgSlNPYmplY3Q6OmVuc3VyZVdyaXRhYmxlSW50
MzJTbG93KFZNJiB2bSkKK0NvbnRpZ3VvdXNKU1ZhbHVlcyBKU09iamVjdDo6dHJ5TWFrZVdyaXRh
YmxlSW50MzJTbG93KFZNJiB2bSkKIHsKICAgICBBU1NFUlQoaW5oZXJpdHModm0sIGluZm8oKSkp
OwogCiAgICAgaWYgKGlzQ29weU9uV3JpdGUoaW5kZXhpbmdNb2RlKCkpKSB7Ci0gICAgICAgIGNv
bnZlcnRGcm9tQ29weU9uV3JpdGUodm0pOwotICAgICAgICBpZiAoaGFzSW50MzIoaW5kZXhpbmdN
b2RlKCkpKQorICAgICAgICBpZiAoaGFzSW50MzIoaW5kZXhpbmdNb2RlKCkpKSB7CisgICAgICAg
ICAgICBjb252ZXJ0RnJvbUNvcHlPbldyaXRlKHZtKTsKICAgICAgICAgICAgIHJldHVybiBidXR0
ZXJmbHkoKS0+Y29udGlndW91c0ludDMyKCk7CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIENv
bnRpZ3VvdXNKU1ZhbHVlcygpOwogICAgIH0KIAogICAgIGlmIChzdHJ1Y3R1cmUodm0pLT5oaWph
Y2tzSW5kZXhpbmdIZWFkZXIoKSkKQEAgLTE1MDcsMTQgKzE1MDksMTggQEAgQ29udGlndW91c0pT
VmFsdWVzIEpTT2JqZWN0OjplbnN1cmVXcml0YQogICAgIH0KIH0KIAotQ29udGlndW91c0RvdWJs
ZXMgSlNPYmplY3Q6OmVuc3VyZVdyaXRhYmxlRG91YmxlU2xvdyhWTSYgdm0pCitDb250aWd1b3Vz
RG91YmxlcyBKU09iamVjdDo6dHJ5TWFrZVdyaXRhYmxlRG91YmxlU2xvdyhWTSYgdm0pCiB7CiAg
ICAgQVNTRVJUKGluaGVyaXRzKHZtLCBpbmZvKCkpKTsKIAogICAgIGlmIChpc0NvcHlPbldyaXRl
KGluZGV4aW5nTW9kZSgpKSkgewotICAgICAgICBjb252ZXJ0RnJvbUNvcHlPbldyaXRlKHZtKTsK
LSAgICAgICAgaWYgKGhhc0RvdWJsZShpbmRleGluZ01vZGUoKSkpCi0gICAgICAgICAgICByZXR1
cm4gYnV0dGVyZmx5KCktPmNvbnRpZ3VvdXNEb3VibGUoKTsKKyAgICAgICAgaWYgKGhhc0RvdWJs
ZShpbmRleGluZ01vZGUoKSkgfHwgaGFzSW50MzIoaW5kZXhpbmdNb2RlKCkpKSB7CisgICAgICAg
ICAgICBjb252ZXJ0RnJvbUNvcHlPbldyaXRlKHZtKTsKKyAgICAgICAgICAgIGlmIChoYXNEb3Vi
bGUoaW5kZXhpbmdNb2RlKCkpKQorICAgICAgICAgICAgICAgIHJldHVybiBidXR0ZXJmbHkoKS0+
Y29udGlndW91c0RvdWJsZSgpOworICAgICAgICAgICAgQVNTRVJUKGhhc0ludDMyKGluZGV4aW5n
TW9kZSgpKSk7CisgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgcmV0dXJuIENvbnRpZ3VvdXNE
b3VibGVzKCk7CiAgICAgfQogCiAgICAgaWYgKHN0cnVjdHVyZSh2bSktPmhpamFja3NJbmRleGlu
Z0hlYWRlcigpKQpAQCAtMTU0MiwxNCArMTU0OCwxOCBAQCBDb250aWd1b3VzRG91YmxlcyBKU09i
amVjdDo6ZW5zdXJlV3JpdGFiCiAgICAgfQogfQogCi1Db250aWd1b3VzSlNWYWx1ZXMgSlNPYmpl
Y3Q6OmVuc3VyZVdyaXRhYmxlQ29udGlndW91c1Nsb3coVk0mIHZtKQorQ29udGlndW91c0pTVmFs
dWVzIEpTT2JqZWN0Ojp0cnlNYWtlV3JpdGFibGVDb250aWd1b3VzU2xvdyhWTSYgdm0pCiB7CiAg
ICAgQVNTRVJUKGluaGVyaXRzKHZtLCBpbmZvKCkpKTsKIAogICAgIGlmIChpc0NvcHlPbldyaXRl
KGluZGV4aW5nTW9kZSgpKSkgewotICAgICAgICBjb252ZXJ0RnJvbUNvcHlPbldyaXRlKHZtKTsK
LSAgICAgICAgaWYgKGhhc0NvbnRpZ3VvdXMoaW5kZXhpbmdNb2RlKCkpKQotICAgICAgICAgICAg
cmV0dXJuIGJ1dHRlcmZseSgpLT5jb250aWd1b3VzKCk7CisgICAgICAgIGlmIChoYXNDb250aWd1
b3VzKGluZGV4aW5nTW9kZSgpKSB8fCBoYXNJbnQzMihpbmRleGluZ01vZGUoKSkgfHwgaGFzRG91
YmxlKGluZGV4aW5nTW9kZSgpKSkgeworICAgICAgICAgICAgY29udmVydEZyb21Db3B5T25Xcml0
ZSh2bSk7CisgICAgICAgICAgICBpZiAoaGFzQ29udGlndW91cyhpbmRleGluZ01vZGUoKSkpCisg
ICAgICAgICAgICAgICAgcmV0dXJuIGJ1dHRlcmZseSgpLT5jb250aWd1b3VzKCk7CisgICAgICAg
ICAgICBBU1NFUlQoaGFzSW50MzIoaW5kZXhpbmdNb2RlKCkpIHx8IGhhc0RvdWJsZShpbmRleGlu
Z01vZGUoKSkpOworICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgIHJldHVybiBDb250aWd1b3Vz
SlNWYWx1ZXMoKTsKICAgICB9CiAKICAgICBpZiAoc3RydWN0dXJlKHZtKS0+aGlqYWNrc0luZGV4
aW5nSGVhZGVyKCkpCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVj
dC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0
LmgJKHJldmlzaW9uIDIzMzA2NSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
T2JqZWN0LmgJKHdvcmtpbmcgY29weSkKQEAgLTgyMiwzNCArODIyLDM0IEBAIHB1YmxpYzoKICAg
ICAvLyBpbmRleGluZyBzaG91bGQgYmUgc3BhcnNlLCB3ZSdyZSBoYXZpbmcgYSBiYWQgdGltZSwg
b3IgYmVjYXVzZQogICAgIC8vIHdlIGFscmVhZHkgaGF2ZSBhIG1vcmUgZ2VuZXJhbCBmb3JtIG9m
IHN0b3JhZ2UgKGRvdWJsZSwKICAgICAvLyBjb250aWd1b3VzLCBhcnJheSBzdG9yYWdlKS4KLSAg
ICBDb250aWd1b3VzSlNWYWx1ZXMgZW5zdXJlV3JpdGFibGVJbnQzMihWTSYgdm0pCisgICAgQ29u
dGlndW91c0pTVmFsdWVzIHRyeU1ha2VXcml0YWJsZUludDMyKFZNJiB2bSkKICAgICB7CiAgICAg
ICAgIGlmIChMSUtFTFkoaGFzSW50MzIoaW5kZXhpbmdUeXBlKCkpICYmICFpc0NvcHlPbldyaXRl
KGluZGV4aW5nTW9kZSgpKSkpCiAgICAgICAgICAgICByZXR1cm4gbV9idXR0ZXJmbHktPmNvbnRp
Z3VvdXNJbnQzMigpOwogICAgICAgICAgICAgCi0gICAgICAgIHJldHVybiBlbnN1cmVXcml0YWJs
ZUludDMyU2xvdyh2bSk7CisgICAgICAgIHJldHVybiB0cnlNYWtlV3JpdGFibGVJbnQzMlNsb3co
dm0pOwogICAgIH0KICAgICAgICAgCiAgICAgLy8gUmV0dXJucyAwIGlmIGRvdWJsZSBzdG9yYWdl
IGNhbm5vdCBiZSBjcmVhdGVkIC0gZWl0aGVyIGJlY2F1c2UKICAgICAvLyBpbmRleGluZyBzaG91
bGQgYmUgc3BhcnNlLCB3ZSdyZSBoYXZpbmcgYSBiYWQgdGltZSwgb3IgYmVjYXVzZQogICAgIC8v
IHdlIGFscmVhZHkgaGF2ZSBhIG1vcmUgZ2VuZXJhbCBmb3JtIG9mIHN0b3JhZ2UgKGNvbnRpZ3Vv
dXMsCiAgICAgLy8gb3IgYXJyYXkgc3RvcmFnZSkuCi0gICAgQ29udGlndW91c0RvdWJsZXMgZW5z
dXJlV3JpdGFibGVEb3VibGUoVk0mIHZtKQorICAgIENvbnRpZ3VvdXNEb3VibGVzIHRyeU1ha2VX
cml0YWJsZURvdWJsZShWTSYgdm0pCiAgICAgewogICAgICAgICBpZiAoTElLRUxZKGhhc0RvdWJs
ZShpbmRleGluZ1R5cGUoKSkgJiYgIWlzQ29weU9uV3JpdGUoaW5kZXhpbmdNb2RlKCkpKSkKICAg
ICAgICAgICAgIHJldHVybiBtX2J1dHRlcmZseS0+Y29udGlndW91c0RvdWJsZSgpOwogICAgICAg
ICAgICAgCi0gICAgICAgIHJldHVybiBlbnN1cmVXcml0YWJsZURvdWJsZVNsb3codm0pOworICAg
ICAgICByZXR1cm4gdHJ5TWFrZVdyaXRhYmxlRG91YmxlU2xvdyh2bSk7CiAgICAgfQogICAgICAg
ICAKICAgICAvLyBSZXR1cm5zIDAgaWYgY29udGlndW91cyBzdG9yYWdlIGNhbm5vdCBiZSBjcmVh
dGVkIC0gZWl0aGVyIGJlY2F1c2UKICAgICAvLyBpbmRleGluZyBzaG91bGQgYmUgc3BhcnNlIG9y
IGJlY2F1c2Ugd2UncmUgaGF2aW5nIGEgYmFkIHRpbWUuCi0gICAgQ29udGlndW91c0pTVmFsdWVz
IGVuc3VyZVdyaXRhYmxlQ29udGlndW91cyhWTSYgdm0pCisgICAgQ29udGlndW91c0pTVmFsdWVz
IHRyeU1ha2VXcml0YWJsZUNvbnRpZ3VvdXMoVk0mIHZtKQogICAgIHsKICAgICAgICAgaWYgKExJ
S0VMWShoYXNDb250aWd1b3VzKGluZGV4aW5nVHlwZSgpKSAmJiAhaXNDb3B5T25Xcml0ZShpbmRl
eGluZ01vZGUoKSkpKQogICAgICAgICAgICAgcmV0dXJuIG1fYnV0dGVyZmx5LT5jb250aWd1b3Vz
KCk7CiAgICAgICAgICAgICAKLSAgICAgICAgcmV0dXJuIGVuc3VyZVdyaXRhYmxlQ29udGlndW91
c1Nsb3codm0pOworICAgICAgICByZXR1cm4gdHJ5TWFrZVdyaXRhYmxlQ29udGlndW91c1Nsb3co
dm0pOwogICAgIH0KIAogICAgIC8vIEVuc3VyZSB0aGF0IHRoZSBvYmplY3QgaXMgaW4gYSBtb2Rl
IHdoZXJlIGl0IGhhcyBhcnJheSBzdG9yYWdlLiBVc2UKQEAgLTEwNTksOSArMTA1OSw5IEBAIHBy
aXZhdGU6CiAgICAgICAgIAogICAgIGJvb2wgZW5zdXJlTGVuZ3RoU2xvdyhWTSYsIHVuc2lnbmVk
IGxlbmd0aCk7CiAgICAgICAgIAotICAgIENvbnRpZ3VvdXNKU1ZhbHVlcyBlbnN1cmVXcml0YWJs
ZUludDMyU2xvdyhWTSYpOwotICAgIENvbnRpZ3VvdXNEb3VibGVzIGVuc3VyZVdyaXRhYmxlRG91
YmxlU2xvdyhWTSYpOwotICAgIENvbnRpZ3VvdXNKU1ZhbHVlcyBlbnN1cmVXcml0YWJsZUNvbnRp
Z3VvdXNTbG93KFZNJik7CisgICAgQ29udGlndW91c0pTVmFsdWVzIHRyeU1ha2VXcml0YWJsZUlu
dDMyU2xvdyhWTSYpOworICAgIENvbnRpZ3VvdXNEb3VibGVzIHRyeU1ha2VXcml0YWJsZURvdWJs
ZVNsb3coVk0mKTsKKyAgICBDb250aWd1b3VzSlNWYWx1ZXMgdHJ5TWFrZVdyaXRhYmxlQ29udGln
dW91c1Nsb3coVk0mKTsKICAgICBKU19FWFBPUlRfUFJJVkFURSBBcnJheVN0b3JhZ2UqIGVuc3Vy
ZUFycmF5U3RvcmFnZVNsb3coVk0mKTsKIAogICAgIFByb3BlcnR5T2Zmc2V0IHByZXBhcmVUb1B1
dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKFZNJiwgUHJvcGVydHlOYW1lLCB1bnNpZ25lZCBhdHRy
aWJ1dGVzLCBTdHJ1Y3R1cmVJRCwgU3RydWN0dXJlKik7Cg==
</data>
<flag name="review"
          id="361352"
          type_id="1"
          status="+"
          setter="keith_miller"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>343290</attachid>
            <date>2018-06-21 16:59:36 -0700</date>
            <delta_ts>2018-06-22 14:02:07 -0700</delta_ts>
            <desc>patch for landing</desc>
            <filename>c-backup.diff</filename>
            <type>text/plain</type>
            <size>8583</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjMzMDY2KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMzIEBA
CisyMDE4LTA2LTIxICBTYWFtIEJhcmF0aSAgPHNiYXJhdGlAYXBwbGUuY29tPgorCisgICAgICAg
IGVuc3VyZVdyaXRhYmxlWCBzaG91bGQgb25seSBjb252ZXJ0IGF3YXkgZnJvbSBDb1cgd2hlbiBp
dCB3aWxsIHN1Y2NlZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE4Njg5OAorCisgICAgICAgIFJldmlld2VkIGJ5IEtlaXRoIE1pbGxlci4KKworICAg
ICAgICBPdGhlcndpc2UsIHdoZW4gd2UgT1NSIGV4aXQsIHdlJ2xsIGVuZCB1cCBwcm9maWxpbmcg
dGhlIGFycmF5IGFmdGVyCisgICAgICAgIGl0IGhhcyBiZWVuIGNvbnZlcnRlZCBhd2F5IGZyb20g
Q29XLiBJdCdzIGJldHRlciBmb3IgdGhlIEFycmF5UHJvZmlsZQorICAgICAgICB0byBzZWUgdGhl
IGFycmF5IGFzIGl0J3Mgc3RpbGwgaW4gQ29XIG1vZGUuCisgICAgICAgIAorICAgICAgICBUaGlz
IHBhdGNoIGFsc28gcmVuYW1lcyBlbnN1cmVXcml0YWJsZVggdG8gdHJ5TWFrZVdyaXRhYmxlWCBz
aW5jZSB0aGVzZQorICAgICAgICB3ZXJlIG5ldmVyIHJlYWxseSAiZW5zdXJlIiBvcGVyYXRpb25z
IC0tIHRoZXkgbWF5IGZhaWwgYW5kIHJldHVybiBudWxsLgorCisgICAgICAgICogZGZnL0RGR09w
ZXJhdGlvbnMuY3BwOgorICAgICAgICAqIHJ1bnRpbWUvSlNPYmplY3QuY3BwOgorICAgICAgICAo
SlNDOjpKU09iamVjdDo6dHJ5TWFrZVdyaXRhYmxlSW50MzJTbG93KToKKyAgICAgICAgKEpTQzo6
SlNPYmplY3Q6OnRyeU1ha2VXcml0YWJsZURvdWJsZVNsb3cpOgorICAgICAgICAoSlNDOjpKU09i
amVjdDo6dHJ5TWFrZVdyaXRhYmxlQ29udGlndW91c1Nsb3cpOgorICAgICAgICAoSlNDOjpKU09i
amVjdDo6ZW5zdXJlV3JpdGFibGVJbnQzMlNsb3cpOiBEZWxldGVkLgorICAgICAgICAoSlNDOjpK
U09iamVjdDo6ZW5zdXJlV3JpdGFibGVEb3VibGVTbG93KTogRGVsZXRlZC4KKyAgICAgICAgKEpT
Qzo6SlNPYmplY3Q6OmVuc3VyZVdyaXRhYmxlQ29udGlndW91c1Nsb3cpOiBEZWxldGVkLgorICAg
ICAgICAqIHJ1bnRpbWUvSlNPYmplY3QuaDoKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OnRyeU1h
a2VXcml0YWJsZUludDMyKToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OnRyeU1ha2VXcml0YWJs
ZURvdWJsZSk6CisgICAgICAgIChKU0M6OkpTT2JqZWN0Ojp0cnlNYWtlV3JpdGFibGVDb250aWd1
b3VzKToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OmVuc3VyZVdyaXRhYmxlSW50MzIpOiBEZWxl
dGVkLgorICAgICAgICAoSlNDOjpKU09iamVjdDo6ZW5zdXJlV3JpdGFibGVEb3VibGUpOiBEZWxl
dGVkLgorICAgICAgICAoSlNDOjpKU09iamVjdDo6ZW5zdXJlV3JpdGFibGVDb250aWd1b3VzKTog
RGVsZXRlZC4KKwogMjAxOC0wNi0yMSAgU2FhbSBCYXJhdGkgIDxzYmFyYXRpQGFwcGxlLmNvbT4K
IAogICAgICAgICBEbyBzb21lIENvVyBjbGVhbnVwCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR09wZXJhdGlvbnMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHT3BlcmF0aW9ucy5jcHAJKHJldmlzaW9uIDIzMzA2NSkKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHT3BlcmF0aW9ucy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE4
ODgsNyArMTg4OCw3IEBAIGNoYXIqIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uRW5zdXJlSW50MzIK
ICAgICBpZiAoIWNlbGwtPmlzT2JqZWN0KCkpCiAgICAgICAgIHJldHVybiAwOwogCi0gICAgYXV0
byogcmVzdWx0ID0gcmVpbnRlcnByZXRfY2FzdDxjaGFyKj4oYXNPYmplY3QoY2VsbCktPmVuc3Vy
ZVdyaXRhYmxlSW50MzIodm0pLmRhdGEoKSk7CisgICAgYXV0byogcmVzdWx0ID0gcmVpbnRlcnBy
ZXRfY2FzdDxjaGFyKj4oYXNPYmplY3QoY2VsbCktPnRyeU1ha2VXcml0YWJsZUludDMyKHZtKS5k
YXRhKCkpOwogICAgIEFTU0VSVCgoIWlzQ29weU9uV3JpdGUoYXNPYmplY3QoY2VsbCktPmluZGV4
aW5nTW9kZSgpKSAmJiBoYXNJbnQzMihjZWxsLT5pbmRleGluZ01vZGUoKSkpIHx8ICFyZXN1bHQp
OwogICAgIHJldHVybiByZXN1bHQ7CiB9CkBAIC0xOTAxLDcgKzE5MDEsNyBAQCBjaGFyKiBKSVRf
T1BFUkFUSU9OIG9wZXJhdGlvbkVuc3VyZURvdWJsCiAgICAgaWYgKCFjZWxsLT5pc09iamVjdCgp
KQogICAgICAgICByZXR1cm4gMDsKIAotICAgIGF1dG8qIHJlc3VsdCA9IHJlaW50ZXJwcmV0X2Nh
c3Q8Y2hhcio+KGFzT2JqZWN0KGNlbGwpLT5lbnN1cmVXcml0YWJsZURvdWJsZSh2bSkuZGF0YSgp
KTsKKyAgICBhdXRvKiByZXN1bHQgPSByZWludGVycHJldF9jYXN0PGNoYXIqPihhc09iamVjdChj
ZWxsKS0+dHJ5TWFrZVdyaXRhYmxlRG91YmxlKHZtKS5kYXRhKCkpOwogICAgIEFTU0VSVCgoIWlz
Q29weU9uV3JpdGUoYXNPYmplY3QoY2VsbCktPmluZGV4aW5nTW9kZSgpKSAmJiBoYXNEb3VibGUo
Y2VsbC0+aW5kZXhpbmdNb2RlKCkpKSB8fCAhcmVzdWx0KTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQpAQCAtMTkxNCw3ICsxOTE0LDcgQEAgY2hhciogSklUX09QRVJBVElPTiBvcGVyYXRpb25FbnN1
cmVDb250aQogICAgIGlmICghY2VsbC0+aXNPYmplY3QoKSkKICAgICAgICAgcmV0dXJuIDA7CiAg
ICAgCi0gICAgYXV0byogcmVzdWx0ID0gcmVpbnRlcnByZXRfY2FzdDxjaGFyKj4oYXNPYmplY3Qo
Y2VsbCktPmVuc3VyZVdyaXRhYmxlQ29udGlndW91cyh2bSkuZGF0YSgpKTsKKyAgICBhdXRvKiBy
ZXN1bHQgPSByZWludGVycHJldF9jYXN0PGNoYXIqPihhc09iamVjdChjZWxsKS0+dHJ5TWFrZVdy
aXRhYmxlQ29udGlndW91cyh2bSkuZGF0YSgpKTsKICAgICBBU1NFUlQoKCFpc0NvcHlPbldyaXRl
KGFzT2JqZWN0KGNlbGwpLT5pbmRleGluZ01vZGUoKSkgJiYgaGFzQ29udGlndW91cyhjZWxsLT5p
bmRleGluZ01vZGUoKSkpIHx8ICFyZXN1bHQpOwogICAgIHJldHVybiByZXN1bHQ7CiB9CkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuY3BwCShyZXZpc2lvbiAy
MzMwNjUpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTE0NzQsMTQgKzE0NzQsMTcgQEAgdm9pZCBKU09iamVjdDo6Y29udmVy
dERvdWJsZVRvQ29udGlndW91cwogICAgIHNldEluZGV4UXVpY2tseSh2bSwgaW5kZXgsIHZhbHVl
KTsKIH0KIAotQ29udGlndW91c0pTVmFsdWVzIEpTT2JqZWN0OjplbnN1cmVXcml0YWJsZUludDMy
U2xvdyhWTSYgdm0pCitDb250aWd1b3VzSlNWYWx1ZXMgSlNPYmplY3Q6OnRyeU1ha2VXcml0YWJs
ZUludDMyU2xvdyhWTSYgdm0pCiB7CiAgICAgQVNTRVJUKGluaGVyaXRzKHZtLCBpbmZvKCkpKTsK
IAogICAgIGlmIChpc0NvcHlPbldyaXRlKGluZGV4aW5nTW9kZSgpKSkgewotICAgICAgICBjb252
ZXJ0RnJvbUNvcHlPbldyaXRlKHZtKTsKLSAgICAgICAgaWYgKGhhc0ludDMyKGluZGV4aW5nTW9k
ZSgpKSkKKyAgICAgICAgaWYgKGxlYXN0VXBwZXJCb3VuZE9mSW5kZXhpbmdUeXBlcyhpbmRleGlu
Z1R5cGUoKSAmIEluZGV4aW5nU2hhcGVNYXNrLCBJbnQzMlNoYXBlKSA9PSBJbnQzMlNoYXBlKSB7
CisgICAgICAgICAgICBBU1NFUlQoaGFzSW50MzIoaW5kZXhpbmdNb2RlKCkpKTsKKyAgICAgICAg
ICAgIGNvbnZlcnRGcm9tQ29weU9uV3JpdGUodm0pOwogICAgICAgICAgICAgcmV0dXJuIGJ1dHRl
cmZseSgpLT5jb250aWd1b3VzSW50MzIoKTsKKyAgICAgICAgfQorICAgICAgICByZXR1cm4gQ29u
dGlndW91c0pTVmFsdWVzKCk7CiAgICAgfQogCiAgICAgaWYgKHN0cnVjdHVyZSh2bSktPmhpamFj
a3NJbmRleGluZ0hlYWRlcigpKQpAQCAtMTUwNywxNCArMTUxMCwxOCBAQCBDb250aWd1b3VzSlNW
YWx1ZXMgSlNPYmplY3Q6OmVuc3VyZVdyaXRhCiAgICAgfQogfQogCi1Db250aWd1b3VzRG91Ymxl
cyBKU09iamVjdDo6ZW5zdXJlV3JpdGFibGVEb3VibGVTbG93KFZNJiB2bSkKK0NvbnRpZ3VvdXNE
b3VibGVzIEpTT2JqZWN0Ojp0cnlNYWtlV3JpdGFibGVEb3VibGVTbG93KFZNJiB2bSkKIHsKICAg
ICBBU1NFUlQoaW5oZXJpdHModm0sIGluZm8oKSkpOwogCiAgICAgaWYgKGlzQ29weU9uV3JpdGUo
aW5kZXhpbmdNb2RlKCkpKSB7Ci0gICAgICAgIGNvbnZlcnRGcm9tQ29weU9uV3JpdGUodm0pOwot
ICAgICAgICBpZiAoaGFzRG91YmxlKGluZGV4aW5nTW9kZSgpKSkKLSAgICAgICAgICAgIHJldHVy
biBidXR0ZXJmbHkoKS0+Y29udGlndW91c0RvdWJsZSgpOworICAgICAgICBpZiAobGVhc3RVcHBl
ckJvdW5kT2ZJbmRleGluZ1R5cGVzKGluZGV4aW5nVHlwZSgpICYgSW5kZXhpbmdTaGFwZU1hc2ss
IERvdWJsZVNoYXBlKSA9PSBEb3VibGVTaGFwZSkgeworICAgICAgICAgICAgY29udmVydEZyb21D
b3B5T25Xcml0ZSh2bSk7CisgICAgICAgICAgICBpZiAoaGFzRG91YmxlKGluZGV4aW5nTW9kZSgp
KSkKKyAgICAgICAgICAgICAgICByZXR1cm4gYnV0dGVyZmx5KCktPmNvbnRpZ3VvdXNEb3VibGUo
KTsKKyAgICAgICAgICAgIEFTU0VSVChoYXNJbnQzMihpbmRleGluZ01vZGUoKSkpOworICAgICAg
ICB9IGVsc2UKKyAgICAgICAgICAgIHJldHVybiBDb250aWd1b3VzRG91YmxlcygpOwogICAgIH0K
IAogICAgIGlmIChzdHJ1Y3R1cmUodm0pLT5oaWphY2tzSW5kZXhpbmdIZWFkZXIoKSkKQEAgLTE1
NDIsMTQgKzE1NDksMTggQEAgQ29udGlndW91c0RvdWJsZXMgSlNPYmplY3Q6OmVuc3VyZVdyaXRh
YgogICAgIH0KIH0KIAotQ29udGlndW91c0pTVmFsdWVzIEpTT2JqZWN0OjplbnN1cmVXcml0YWJs
ZUNvbnRpZ3VvdXNTbG93KFZNJiB2bSkKK0NvbnRpZ3VvdXNKU1ZhbHVlcyBKU09iamVjdDo6dHJ5
TWFrZVdyaXRhYmxlQ29udGlndW91c1Nsb3coVk0mIHZtKQogewogICAgIEFTU0VSVChpbmhlcml0
cyh2bSwgaW5mbygpKSk7CiAKICAgICBpZiAoaXNDb3B5T25Xcml0ZShpbmRleGluZ01vZGUoKSkp
IHsKLSAgICAgICAgY29udmVydEZyb21Db3B5T25Xcml0ZSh2bSk7Ci0gICAgICAgIGlmIChoYXND
b250aWd1b3VzKGluZGV4aW5nTW9kZSgpKSkKLSAgICAgICAgICAgIHJldHVybiBidXR0ZXJmbHko
KS0+Y29udGlndW91cygpOworICAgICAgICBpZiAobGVhc3RVcHBlckJvdW5kT2ZJbmRleGluZ1R5
cGVzKGluZGV4aW5nVHlwZSgpICYgSW5kZXhpbmdTaGFwZU1hc2ssIENvbnRpZ3VvdXNTaGFwZSkg
PT0gQ29udGlndW91c1NoYXBlKSB7CisgICAgICAgICAgICBjb252ZXJ0RnJvbUNvcHlPbldyaXRl
KHZtKTsKKyAgICAgICAgICAgIGlmIChoYXNDb250aWd1b3VzKGluZGV4aW5nTW9kZSgpKSkKKyAg
ICAgICAgICAgICAgICByZXR1cm4gYnV0dGVyZmx5KCktPmNvbnRpZ3VvdXMoKTsKKyAgICAgICAg
ICAgIEFTU0VSVChoYXNJbnQzMihpbmRleGluZ01vZGUoKSkgfHwgaGFzRG91YmxlKGluZGV4aW5n
TW9kZSgpKSk7CisgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgcmV0dXJuIENvbnRpZ3VvdXNK
U1ZhbHVlcygpOwogICAgIH0KIAogICAgIGlmIChzdHJ1Y3R1cmUodm0pLT5oaWphY2tzSW5kZXhp
bmdIZWFkZXIoKSkKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3Qu
aAkocmV2aXNpb24gMjMzMDY1KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNP
YmplY3QuaAkod29ya2luZyBjb3B5KQpAQCAtODIyLDM0ICs4MjIsMzQgQEAgcHVibGljOgogICAg
IC8vIGluZGV4aW5nIHNob3VsZCBiZSBzcGFyc2UsIHdlJ3JlIGhhdmluZyBhIGJhZCB0aW1lLCBv
ciBiZWNhdXNlCiAgICAgLy8gd2UgYWxyZWFkeSBoYXZlIGEgbW9yZSBnZW5lcmFsIGZvcm0gb2Yg
c3RvcmFnZSAoZG91YmxlLAogICAgIC8vIGNvbnRpZ3VvdXMsIGFycmF5IHN0b3JhZ2UpLgotICAg
IENvbnRpZ3VvdXNKU1ZhbHVlcyBlbnN1cmVXcml0YWJsZUludDMyKFZNJiB2bSkKKyAgICBDb250
aWd1b3VzSlNWYWx1ZXMgdHJ5TWFrZVdyaXRhYmxlSW50MzIoVk0mIHZtKQogICAgIHsKICAgICAg
ICAgaWYgKExJS0VMWShoYXNJbnQzMihpbmRleGluZ1R5cGUoKSkgJiYgIWlzQ29weU9uV3JpdGUo
aW5kZXhpbmdNb2RlKCkpKSkKICAgICAgICAgICAgIHJldHVybiBtX2J1dHRlcmZseS0+Y29udGln
dW91c0ludDMyKCk7CiAgICAgICAgICAgICAKLSAgICAgICAgcmV0dXJuIGVuc3VyZVdyaXRhYmxl
SW50MzJTbG93KHZtKTsKKyAgICAgICAgcmV0dXJuIHRyeU1ha2VXcml0YWJsZUludDMyU2xvdyh2
bSk7CiAgICAgfQogICAgICAgICAKICAgICAvLyBSZXR1cm5zIDAgaWYgZG91YmxlIHN0b3JhZ2Ug
Y2Fubm90IGJlIGNyZWF0ZWQgLSBlaXRoZXIgYmVjYXVzZQogICAgIC8vIGluZGV4aW5nIHNob3Vs
ZCBiZSBzcGFyc2UsIHdlJ3JlIGhhdmluZyBhIGJhZCB0aW1lLCBvciBiZWNhdXNlCiAgICAgLy8g
d2UgYWxyZWFkeSBoYXZlIGEgbW9yZSBnZW5lcmFsIGZvcm0gb2Ygc3RvcmFnZSAoY29udGlndW91
cywKICAgICAvLyBvciBhcnJheSBzdG9yYWdlKS4KLSAgICBDb250aWd1b3VzRG91YmxlcyBlbnN1
cmVXcml0YWJsZURvdWJsZShWTSYgdm0pCisgICAgQ29udGlndW91c0RvdWJsZXMgdHJ5TWFrZVdy
aXRhYmxlRG91YmxlKFZNJiB2bSkKICAgICB7CiAgICAgICAgIGlmIChMSUtFTFkoaGFzRG91Ymxl
KGluZGV4aW5nVHlwZSgpKSAmJiAhaXNDb3B5T25Xcml0ZShpbmRleGluZ01vZGUoKSkpKQogICAg
ICAgICAgICAgcmV0dXJuIG1fYnV0dGVyZmx5LT5jb250aWd1b3VzRG91YmxlKCk7CiAgICAgICAg
ICAgICAKLSAgICAgICAgcmV0dXJuIGVuc3VyZVdyaXRhYmxlRG91YmxlU2xvdyh2bSk7CisgICAg
ICAgIHJldHVybiB0cnlNYWtlV3JpdGFibGVEb3VibGVTbG93KHZtKTsKICAgICB9CiAgICAgICAg
IAogICAgIC8vIFJldHVybnMgMCBpZiBjb250aWd1b3VzIHN0b3JhZ2UgY2Fubm90IGJlIGNyZWF0
ZWQgLSBlaXRoZXIgYmVjYXVzZQogICAgIC8vIGluZGV4aW5nIHNob3VsZCBiZSBzcGFyc2Ugb3Ig
YmVjYXVzZSB3ZSdyZSBoYXZpbmcgYSBiYWQgdGltZS4KLSAgICBDb250aWd1b3VzSlNWYWx1ZXMg
ZW5zdXJlV3JpdGFibGVDb250aWd1b3VzKFZNJiB2bSkKKyAgICBDb250aWd1b3VzSlNWYWx1ZXMg
dHJ5TWFrZVdyaXRhYmxlQ29udGlndW91cyhWTSYgdm0pCiAgICAgewogICAgICAgICBpZiAoTElL
RUxZKGhhc0NvbnRpZ3VvdXMoaW5kZXhpbmdUeXBlKCkpICYmICFpc0NvcHlPbldyaXRlKGluZGV4
aW5nTW9kZSgpKSkpCiAgICAgICAgICAgICByZXR1cm4gbV9idXR0ZXJmbHktPmNvbnRpZ3VvdXMo
KTsKICAgICAgICAgICAgIAotICAgICAgICByZXR1cm4gZW5zdXJlV3JpdGFibGVDb250aWd1b3Vz
U2xvdyh2bSk7CisgICAgICAgIHJldHVybiB0cnlNYWtlV3JpdGFibGVDb250aWd1b3VzU2xvdyh2
bSk7CiAgICAgfQogCiAgICAgLy8gRW5zdXJlIHRoYXQgdGhlIG9iamVjdCBpcyBpbiBhIG1vZGUg
d2hlcmUgaXQgaGFzIGFycmF5IHN0b3JhZ2UuIFVzZQpAQCAtMTA1OSw5ICsxMDU5LDkgQEAgcHJp
dmF0ZToKICAgICAgICAgCiAgICAgYm9vbCBlbnN1cmVMZW5ndGhTbG93KFZNJiwgdW5zaWduZWQg
bGVuZ3RoKTsKICAgICAgICAgCi0gICAgQ29udGlndW91c0pTVmFsdWVzIGVuc3VyZVdyaXRhYmxl
SW50MzJTbG93KFZNJik7Ci0gICAgQ29udGlndW91c0RvdWJsZXMgZW5zdXJlV3JpdGFibGVEb3Vi
bGVTbG93KFZNJik7Ci0gICAgQ29udGlndW91c0pTVmFsdWVzIGVuc3VyZVdyaXRhYmxlQ29udGln
dW91c1Nsb3coVk0mKTsKKyAgICBDb250aWd1b3VzSlNWYWx1ZXMgdHJ5TWFrZVdyaXRhYmxlSW50
MzJTbG93KFZNJik7CisgICAgQ29udGlndW91c0RvdWJsZXMgdHJ5TWFrZVdyaXRhYmxlRG91Ymxl
U2xvdyhWTSYpOworICAgIENvbnRpZ3VvdXNKU1ZhbHVlcyB0cnlNYWtlV3JpdGFibGVDb250aWd1
b3VzU2xvdyhWTSYpOwogICAgIEpTX0VYUE9SVF9QUklWQVRFIEFycmF5U3RvcmFnZSogZW5zdXJl
QXJyYXlTdG9yYWdlU2xvdyhWTSYpOwogCiAgICAgUHJvcGVydHlPZmZzZXQgcHJlcGFyZVRvUHV0
RGlyZWN0V2l0aG91dFRyYW5zaXRpb24oVk0mLCBQcm9wZXJ0eU5hbWUsIHVuc2lnbmVkIGF0dHJp
YnV0ZXMsIFN0cnVjdHVyZUlELCBTdHJ1Y3R1cmUqKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>