<?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>214289</bug_id>
          
          <creation_ts>2020-07-13 17:50:04 -0700</creation_ts>
          <short_desc>returnEarlyFromInfiniteLoopsForFuzzing and validateDoesGC may fail when used together in the FTL</short_desc>
          <delta_ts>2020-07-20 13:04:44 -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>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=214491</see_also>
          <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>fpizlo</cc>
    
    <cc>ggaren</cc>
    
    <cc>gskachkov</cc>
    
    <cc>guijemont</cc>
    
    <cc>jsc32</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>msaboff</cc>
    
    <cc>rmorisset</cc>
    
    <cc>ross.kirsling</cc>
    
    <cc>ticaiolima</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1671242</commentid>
    <comment_count>0</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2020-07-13 17:50:04 -0700</bug_when>
    <thetext>...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1671243</commentid>
    <comment_count>1</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2020-07-13 17:50:32 -0700</bug_when>
    <thetext>&lt;rdar://problem/65272138&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1671255</commentid>
    <comment_count>2</comment_count>
      <attachid>404199</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2020-07-13 18:43:40 -0700</bug_when>
    <thetext>Created attachment 404199
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1671256</commentid>
    <comment_count>3</comment_count>
      <attachid>404200</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2020-07-13 18:44:11 -0700</bug_when>
    <thetext>Created attachment 404200
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1671259</commentid>
    <comment_count>4</comment_count>
      <attachid>404200</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2020-07-13 18:54:25 -0700</bug_when>
    <thetext>Comment on attachment 404200
patch

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

r=me with nit.

&gt; Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp:14743
&gt; +                    jit.store32(CCallHelpers::TrustedImm32(DoesGCCheck::encode(true, DoesGCCheck::Special::Uninitialized)), CCallHelpers::Address(GPRInfo::regT0));

Nit: I think this can be DoesGCCheck(). But maybe I&apos;m missing something.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1671260</commentid>
    <comment_count>5</comment_count>
      <attachid>404200</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2020-07-13 18:58:25 -0700</bug_when>
    <thetext>Comment on attachment 404200
patch

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

&gt;&gt; Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp:14743
&gt;&gt; +                    jit.store32(CCallHelpers::TrustedImm32(DoesGCCheck::encode(true, DoesGCCheck::Special::Uninitialized)), CCallHelpers::Address(GPRInfo::regT0));
&gt; 
&gt; Nit: I think this can be DoesGCCheck(). But maybe I&apos;m missing something.

we don&apos;t have an accessor to read out the bits as is, that&apos;s why I&apos;m calling encode</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1671261</commentid>
    <comment_count>6</comment_count>
      <attachid>404202</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2020-07-13 19:03:10 -0700</bug_when>
    <thetext>Created attachment 404202
patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1671268</commentid>
    <comment_count>7</comment_count>
      <attachid>404204</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2020-07-13 20:30:04 -0700</bug_when>
    <thetext>Created attachment 404204
patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1671272</commentid>
    <comment_count>8</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-07-13 20:53:31 -0700</bug_when>
    <thetext>Committed r264330: &lt;https://trac.webkit.org/changeset/264330&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 404204.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1672514</commentid>
    <comment_count>9</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2020-07-17 09:40:35 -0700</bug_when>
    <thetext>Hi, this causes JSC stress tests to run forever on x86_64 when cloop is enabled. I think we need a different skip condition since --returnEarlyFromInfiniteLoopsForFuzzing is not implemented for cloop, right? Is there a way to skip tests depending on whether JIT is enabled?

Concerning: the tests are still passing an aarch64, meaning this test must be skipped despite the skip if $architecture != &quot;arm64&quot;. That indicates we probably aren&apos;t detecting aarch64 correctly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1672865</commentid>
    <comment_count>10</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2020-07-19 00:47:22 -0700</bug_when>
    <thetext>(In reply to Michael Catanzaro from comment #9)
&gt; Hi, this causes JSC stress tests to run forever on x86_64 when cloop is
&gt; enabled. I think we need a different skip condition since
&gt; --returnEarlyFromInfiniteLoopsForFuzzing is not implemented for cloop,
&gt; right? Is there a way to skip tests depending on whether JIT is enabled?
&gt; 
&gt; Concerning: the tests are still passing an aarch64, meaning this test must
&gt; be skipped despite the skip if $architecture != &quot;arm64&quot;. That indicates we
&gt; probably aren&apos;t detecting aarch64 correctly.


I can fix tomorrow or Monday. We probably should add $vm.isCloop() if it doesn’t exist already, and then return early from the test. 

Is the ARM64 bot cloop? Does it invoke run-JSC-stress-tests with “—arch arm64”?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1672893</commentid>
    <comment_count>11</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2020-07-19 07:52:18 -0700</bug_when>
    <thetext>(In reply to Saam Barati from comment #10) 
&gt; I can fix tomorrow or Monday. We probably should add $vm.isCloop() if it
&gt; doesn’t exist already, and then return early from the test. 

Thanks. See: bug #214491. I forgot to leave a link to that he re.

&gt; Is the ARM64 bot cloop?

Yes. (Our internal testers actually only test cloop. The public bots are good enough to keep the JIT working. :)

&gt; Does it invoke run-JSC-stress-tests with “—arch arm64”?

No, none of our runners use the --arch option. (Didn&apos;t know about that option.) It&apos;s determined by determineArchitectureFromELFBinary() in run-jsc-stress-tests, which I touched last in r261862. I might have to try to get access to a binary file to see if that function is working properly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1673181</commentid>
    <comment_count>12</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2020-07-20 12:42:37 -0700</bug_when>
    <thetext>(In reply to Michael Catanzaro from comment #11)
&gt; (In reply to Saam Barati from comment #10) 
&gt; &gt; I can fix tomorrow or Monday. We probably should add $vm.isCloop() if it
&gt; &gt; doesn’t exist already, and then return early from the test. 
&gt; 
&gt; Thanks. See: bug #214491. I forgot to leave a link to that he re.
&gt; 
&gt; &gt; Is the ARM64 bot cloop?
&gt; 
&gt; Yes. (Our internal testers actually only test cloop. The public bots are
&gt; good enough to keep the JIT working. :)
&gt; 
&gt; &gt; Does it invoke run-JSC-stress-tests with “—arch arm64”?
&gt; 
&gt; No, none of our runners use the --arch option. (Didn&apos;t know about that
&gt; option.) It&apos;s determined by determineArchitectureFromELFBinary() in
&gt; run-jsc-stress-tests, which I touched last in r261862. I might have to try
&gt; to get access to a binary file to see if that function is working properly.

Yeah, if you&apos;re not passing &quot;--arch&quot;, it&apos;s pretty likely that&apos;s the issue. I&apos;ve ensured many times that these checks work in the tests themselves (because I&apos;ve added many of them).</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>404199</attachid>
            <date>2020-07-13 18:43:40 -0700</date>
            <delta_ts>2020-07-13 18:43:55 -0700</delta_ts>
            <desc>patch</desc>
            <filename>b-backup.diff</filename>
            <type>text/plain</type>
            <size>1343</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyNjMyMzMpCisrKyBKU1Rlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDE2IEBACisyMDIwLTA2LTE4ICBTYWFtIEJhcmF0aSAgPHNiYXJhdGlAYXBwbGUu
Y29tPgorCisgICAgICAgIHNhbXBsaW5nLXByb2ZpbGVyLXdhc20tbmFtZS1zZWN0aW9uIHNob3Vs
ZCBydW4gZm9yIG1vcmUgaXRlcmF0aW9ucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjA3NTc2CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81OTQzMTI1
MD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlz
IHRlc3Qgd2FzIGZsYWt5IGJlY2F1c2UgdGhlIHNhbXBsaW5nIHByb2ZpbGVyIGlzIGluaGVyZW50
bHkgcHJvYmFiaWxpc3RpYy4KKyAgICAgICAgV2UgbmVlZCB0byBydW4gaXQgZm9yIG1vcmUgaXRl
cmF0aW9ucyB0byBlbnN1cmUgaXQncyBub3QgZmxha3kuCisKKyAgICAgICAgKiBzdHJlc3Mvc2Ft
cGxpbmctcHJvZmlsZXItd2FzbS1uYW1lLXNlY3Rpb24uanM6CisKIDIwMjAtMDYtMTggIFJvc3Mg
S2lyc2xpbmcgIDxyb3NzLmtpcnNsaW5nQHNvbnkuY29tPgogCiAgICAgICAgIFtJbnRsXSBFbmFi
bGUgUmVsYXRpdmVUaW1lRm9ybWF0IGFuZCBMb2NhbGUgYnkgZGVmYXVsdApJbmRleDogSlNUZXN0
cy9zdHJlc3Mvc2FtcGxpbmctcHJvZmlsZXItd2FzbS1uYW1lLXNlY3Rpb24uanMKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gSlNUZXN0cy9zdHJlc3Mvc2FtcGxpbmctcHJvZmlsZXItd2FzbS1uYW1lLXNlY3Rpb24u
anMJKHJldmlzaW9uIDI2MzIyMikKKysrIEpTVGVzdHMvc3RyZXNzL3NhbXBsaW5nLXByb2ZpbGVy
LXdhc20tbmFtZS1zZWN0aW9uLmpzCSh3b3JraW5nIGNvcHkpCkBAIC01OCw3ICs1OCw3IEBAIGlm
IChwbGF0Zm9ybVN1cHBvcnRzU2FtcGxpbmdQcm9maWxlcigpICYKIAogICAgIGNvbnN0IGltcG9y
dE9iamVjdCA9IHsgZW52OiB7IF9zaWxseTogaSA9PiB7CiAgICAgICAgIHZhciByZXN1bHQgPSAw
OwotICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IDEwMDAwMDsgKytpKQorICAgICAgICBmb3Ig
KHZhciBpID0gMDsgaSA8IDIwMDAwMDA7ICsraSkKICAgICAgICAgICAgIHJlc3VsdCsrOwogICAg
ICAgICByZXR1cm4gcmVzdWx0OwogICAgIH0gfSB9Owo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>404200</attachid>
            <date>2020-07-13 18:44:11 -0700</date>
            <delta_ts>2020-07-13 19:03:10 -0700</delta_ts>
            <desc>patch</desc>
            <filename>c-backup.diff</filename>
            <type>text/plain</type>
            <size>4462</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyNjQzMjYpCisrKyBKU1Rlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDEzIEBACisyMDIwLTA3LTEzICBTYWFtIEJhcmF0aSAgPHNiYXJhdGlAYXBwbGUu
Y29tPgorCisgICAgICAgIHJldHVybkVhcmx5RnJvbUluZmluaXRlTG9vcHNGb3JGdXp6aW5nIGFu
ZCB2YWxpZGF0ZURvZXNHQyBtYXkgZmFpbCB3aGVuIHVzZWQgdG9nZXRoZXIgaW4gdGhlIEZUTAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE0Mjg5Cisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS82NTI3MjEzOD4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHN0cmVzcy92YWxpZGF0ZS1kb2VzLWdjLXdpdGgt
cmV0dXJuLWVhcmx5LWZyb20taW5maW5pdGUtbG9vcC5qczogQWRkZWQuCisKIDIwMjAtMDctMTMg
IFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KIAogICAgICAgICBbSlNDXSBJbnRs
TG9jYWxlOjppbml0aWFsaXplTG9jYWxlIHNob3VsZCBoYXZlIHNjb3BlLnJlbGVhc2UKSW5kZXg6
IEpTVGVzdHMvc3RyZXNzL3ZhbGlkYXRlLWRvZXMtZ2Mtd2l0aC1yZXR1cm4tZWFybHktZnJvbS1p
bmZpbml0ZS1sb29wLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvc3RyZXNzL3ZhbGlkYXRlLWRv
ZXMtZ2Mtd2l0aC1yZXR1cm4tZWFybHktZnJvbS1pbmZpbml0ZS1sb29wLmpzCShub25leGlzdGVu
dCkKKysrIEpTVGVzdHMvc3RyZXNzL3ZhbGlkYXRlLWRvZXMtZ2Mtd2l0aC1yZXR1cm4tZWFybHkt
ZnJvbS1pbmZpbml0ZS1sb29wLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorLy9A
IHJ1bkRlZmF1bHQoIi0tcmV0dXJuRWFybHlGcm9tSW5maW5pdGVMb29wc0ZvckZ1enppbmc9dHJ1
ZSIsICItLWVhcmx5UmV0dXJuRnJvbUluZmluaXRlTG9vcHNMaW1pdD0xMDAwMDAwIiwgIi0tdXNl
Q29uY3VycmVudEpJVD1mYWxzZSIsICItLXZhbGlkYXRlRG9lc0dDPXRydWUiKQorCit3aGlsZSgx
KXt9IHdoaWxlKDEpe30KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjY0
MzA3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDIxIEBACisyMDIwLTA3LTEzICBTYWFtIEJhcmF0aSAgPHNiYXJhdGlAYXBwbGUu
Y29tPgorCisgICAgICAgIHJldHVybkVhcmx5RnJvbUluZmluaXRlTG9vcHNGb3JGdXp6aW5nIGFu
ZCB2YWxpZGF0ZURvZXNHQyBtYXkgZmFpbCB3aGVuIHVzZWQgdG9nZXRoZXIgaW4gdGhlIEZUTAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE0Mjg5Cisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS82NTI3MjEzOD4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBCZWNhdXNlIHRoZSBwYXRjaHBvaW50IHdlIHVzZSBm
b3IgcmV0dXJuRWFybHlGcm9tSW5maW5pdGVMb29wc0ZvckZ1enppbmcgZG9lc24ndAorICAgICAg
ICByZWFkIG9yIHdyaXRlIGFueSBoZWFwIHJhbmdlcywgQjMgbW92ZSBtZW1vcnkgb3BzIGFyb3Vu
ZCBpdC4gSW4gcGFydGljdWxhciwgaXQKKyAgICAgICAgbWlnaHQgbW92ZSB0aGUgdmFsaWRhdGUg
RG9lc0dDIHN0b3JlIGFib3ZlIGl0LiBJbiB0aGUgRlRMLCB3ZSBzaG91bGQgbWFrZSByZXR1cm5F
YXJseUZyb21JbmZpbml0ZUxvb3BzRm9yRnV6emluZworICAgICAgICBtaW1pYyB3aGF0IFJldHVy
biBkb2VzIGZvciB2YWxpZGF0aW5nIERvZXNHQy4KKworICAgICAgICAqIGRmZy9ERkdEb2VzR0Mu
Y3BwOgorICAgICAgICAoSlNDOjpERkc6OmRvZXNHQyk6CisgICAgICAgICogZnRsL0ZUTExvd2Vy
REZHVG9CMy5jcHA6CisgICAgICAgIChKU0M6OkZUTDo6REZHOjpMb3dlckRGR1RvQjM6OmNvbXBp
bGVMb29wSGludCk6CisKIDIwMjAtMDctMTMgIEtlaXRoIE1pbGxlciAgPGtlaXRoX21pbGxlckBh
cHBsZS5jb20+CiAKICAgICAgICAgQ2xlYW4gdXAgU291cmNlUHJvdmlkZXIgYW5kIGFkZCBjYWxs
ZXIgcmVsYXRpdmUgbG9hZCBzY3JpcHQgdG8ganNjLmNwcApJbmRleDogU291cmNlL0phdmFTY3Jp
cHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvQjMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0IzLmNwcAkocmV2aXNpb24gMjY0MzA3KQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvQjMuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0xNDcxMywxMyArMTQ3MTMsMTQgQEAgcHJpdmF0ZToKIAogICAgICAgICBCeXRlY29k
ZUluZGV4IGJ5dGVjb2RlSW5kZXggPSBtX25vZGUtPm9yaWdpbi5zZW1hbnRpYy5ieXRlY29kZUlu
ZGV4KCk7CiAgICAgICAgIGNvbnN0IEluc3RydWN0aW9uKiBpbnN0cnVjdGlvbiA9IGJhc2VsaW5l
Q29kZUJsb2NrLT5pbnN0cnVjdGlvbnMoKS5hdChieXRlY29kZUluZGV4Lm9mZnNldCgpKS5wdHIo
KTsKLSAgICAgICAgdWludDY0X3QqIHB0ciA9IHZtKCkuZ2V0TG9vcEhpbnRFeGVjdXRpb25Db3Vu
dGVyKGluc3RydWN0aW9uKTsKKyAgICAgICAgVk0qIHZtID0gJnRoaXMtPnZtKCk7CisgICAgICAg
IHVpbnQ2NF90KiBwdHIgPSB2bS0+Z2V0TG9vcEhpbnRFeGVjdXRpb25Db3VudGVyKGluc3RydWN0
aW9uKTsKIAogICAgICAgICBQYXRjaHBvaW50VmFsdWUqIHBhdGNocG9pbnQgPSBtX291dC5wYXRj
aHBvaW50KFZvaWQpOwogICAgICAgICBwYXRjaHBvaW50LT5lZmZlY3RzID0gRWZmZWN0czo6bm9u
ZSgpOwogICAgICAgICBwYXRjaHBvaW50LT5lZmZlY3RzLmV4aXRzU2lkZXdheXMgPSB0cnVlOwog
ICAgICAgICBwYXRjaHBvaW50LT5lZmZlY3RzLndyaXRlc0xvY2FsU3RhdGUgPSB0cnVlOwotICAg
ICAgICBwYXRjaHBvaW50LT5zZXRHZW5lcmF0b3IoW3B0cl0gKENDYWxsSGVscGVycyYgaml0LCBj
b25zdCBTdGFja21hcEdlbmVyYXRpb25QYXJhbXMmIHBhcmFtcykgeworICAgICAgICBwYXRjaHBv
aW50LT5zZXRHZW5lcmF0b3IoW3B0ciwgdm1dIChDQ2FsbEhlbHBlcnMmIGppdCwgY29uc3QgU3Rh
Y2ttYXBHZW5lcmF0aW9uUGFyYW1zJiBwYXJhbXMpIHsKICAgICAgICAgICAgIGF1dG8gcmVzdG9y
ZSA9IFsmXSB7CiAgICAgICAgICAgICAgICAgaml0LnBvcFRvUmVzdG9yZShHUFJJbmZvOjpyZWdU
Mik7CiAgICAgICAgICAgICAgICAgaml0LnBvcFRvUmVzdG9yZShHUFJJbmZvOjpyZWdUMSk7CkBA
IC0xNDczNSw2ICsxNDczNiwxMyBAQCBwcml2YXRlOgogICAgICAgICAgICAgaml0LmxvYWQ2NChD
Q2FsbEhlbHBlcnM6OkFkZHJlc3MoR1BSSW5mbzo6cmVnVDApLCBHUFJJbmZvOjpyZWdUMSk7CiAg
ICAgICAgICAgICBhdXRvIHNraXBFYXJseVJldHVybiA9IGppdC5icmFuY2g2NChDQ2FsbEhlbHBl
cnM6OkJlbG93LCBHUFJJbmZvOjpyZWdUMSwgR1BSSW5mbzo6cmVnVDIpOwogCisgICAgICAgICAg
ICBpZiBjb25zdGV4cHIgKHZhbGlkYXRlREZHRG9lc0dDKSB7CisgICAgICAgICAgICAgICAgaWYg
KE9wdGlvbnM6OnZhbGlkYXRlRG9lc0dDKCkpIHsKKyAgICAgICAgICAgICAgICAgICAgLy8gV2Ug
bmVlZCB0byBtb2NrIHdoYXQgYSBSZXR1cm4gZG9lczogY2xhaW1zIHRvIEdDLgorICAgICAgICAg
ICAgICAgICAgICBqaXQubW92ZShDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW1QdHIodm0tPmhlYXAu
YWRkcmVzc09mRG9lc0dDKCkpLCBHUFJJbmZvOjpyZWdUMCk7CisgICAgICAgICAgICAgICAgICAg
IGppdC5zdG9yZTMyKENDYWxsSGVscGVyczo6VHJ1c3RlZEltbTMyKERvZXNHQ0NoZWNrOjplbmNv
ZGUodHJ1ZSwgRG9lc0dDQ2hlY2s6OlNwZWNpYWw6OlVuaW5pdGlhbGl6ZWQpKSwgQ0NhbGxIZWxw
ZXJzOjpBZGRyZXNzKEdQUkluZm86OnJlZ1QwKSk7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgfQogICAgICAgICAgICAgcmVzdG9yZSgpOwogICAgICAgICAgICAgaml0Lm1vdmUoQ0Nh
bGxIZWxwZXJzOjpUcnVzdGVkSW1tNjQoSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpKSwg
R1BSSW5mbzo6cmV0dXJuVmFsdWVHUFIpOwogICAgICAgICAgICAgcGFyYW1zLmNvZGUoKS5lbWl0
RXBpbG9ndWUoaml0KTsgCg==
</data>
<flag name="review"
          id="419580"
          type_id="1"
          status="+"
          setter="keith_miller"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>404202</attachid>
            <date>2020-07-13 19:03:10 -0700</date>
            <delta_ts>2020-07-13 20:30:04 -0700</delta_ts>
            <desc>patch for landing</desc>
            <filename>c-backup.diff</filename>
            <type>text/plain</type>
            <size>4452</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyNjQzMjYpCisrKyBKU1Rlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDEzIEBACisyMDIwLTA3LTEzICBTYWFtIEJhcmF0aSAgPHNiYXJhdGlAYXBwbGUu
Y29tPgorCisgICAgICAgIHJldHVybkVhcmx5RnJvbUluZmluaXRlTG9vcHNGb3JGdXp6aW5nIGFu
ZCB2YWxpZGF0ZURvZXNHQyBtYXkgZmFpbCB3aGVuIHVzZWQgdG9nZXRoZXIgaW4gdGhlIEZUTAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE0Mjg5Cisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS82NTI3MjEzOD4KKworICAgICAgICBSZXZpZXdlZCBieSBL
ZWl0aCBNaWxsZXIuCisKKyAgICAgICAgKiBzdHJlc3MvdmFsaWRhdGUtZG9lcy1nYy13aXRoLXJl
dHVybi1lYXJseS1mcm9tLWluZmluaXRlLWxvb3AuanM6IEFkZGVkLgorCiAyMDIwLTA3LTEzICBZ
dXN1a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+CiAKICAgICAgICAgW0pTQ10gSW50bExv
Y2FsZTo6aW5pdGlhbGl6ZUxvY2FsZSBzaG91bGQgaGF2ZSBzY29wZS5yZWxlYXNlCkluZGV4OiBK
U1Rlc3RzL3N0cmVzcy92YWxpZGF0ZS1kb2VzLWdjLXdpdGgtcmV0dXJuLWVhcmx5LWZyb20taW5m
aW5pdGUtbG9vcC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3N0cmVzcy92YWxpZGF0ZS1kb2Vz
LWdjLXdpdGgtcmV0dXJuLWVhcmx5LWZyb20taW5maW5pdGUtbG9vcC5qcwkobm9uZXhpc3RlbnQp
CisrKyBKU1Rlc3RzL3N0cmVzcy92YWxpZGF0ZS1kb2VzLWdjLXdpdGgtcmV0dXJuLWVhcmx5LWZy
b20taW5maW5pdGUtbG9vcC5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKKy8vQCBy
dW5EZWZhdWx0KCItLXJldHVybkVhcmx5RnJvbUluZmluaXRlTG9vcHNGb3JGdXp6aW5nPXRydWUi
LCAiLS1lYXJseVJldHVybkZyb21JbmZpbml0ZUxvb3BzTGltaXQ9MTAwMDAwMCIsICItLXVzZUNv
bmN1cnJlbnRKSVQ9ZmFsc2UiLCAiLS12YWxpZGF0ZURvZXNHQz10cnVlIikKKword2hpbGUoMSl7
fSB3aGlsZSgxKXt9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2NDMw
NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAg
LTEsMyArMSwyMSBAQAorMjAyMC0wNy0xMyAgU2FhbSBCYXJhdGkgIDxzYmFyYXRpQGFwcGxlLmNv
bT4KKworICAgICAgICByZXR1cm5FYXJseUZyb21JbmZpbml0ZUxvb3BzRm9yRnV6emluZyBhbmQg
dmFsaWRhdGVEb2VzR0MgbWF5IGZhaWwgd2hlbiB1c2VkIHRvZ2V0aGVyIGluIHRoZSBGVEwKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNDI4OQorICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vNjUyNzIxMzg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgS2Vp
dGggTWlsbGVyLgorCisgICAgICAgIEJlY2F1c2UgdGhlIHBhdGNocG9pbnQgd2UgdXNlIGZvciBy
ZXR1cm5FYXJseUZyb21JbmZpbml0ZUxvb3BzRm9yRnV6emluZyBkb2Vzbid0CisgICAgICAgIHJl
YWQgb3Igd3JpdGUgYW55IGhlYXAgcmFuZ2VzLCBCMyBtb3ZlIG1lbW9yeSBvcHMgYXJvdW5kIGl0
LiBJbiBwYXJ0aWN1bGFyLCBpdAorICAgICAgICBtaWdodCBtb3ZlIHRoZSB2YWxpZGF0ZSBEb2Vz
R0Mgc3RvcmUgYWJvdmUgaXQuIEluIHRoZSBGVEwsIHdlIHNob3VsZCBtYWtlIHJldHVybkVhcmx5
RnJvbUluZmluaXRlTG9vcHNGb3JGdXp6aW5nCisgICAgICAgIG1pbWljIHdoYXQgUmV0dXJuIGRv
ZXMgZm9yIHZhbGlkYXRpbmcgRG9lc0dDLgorCisgICAgICAgICogZGZnL0RGR0RvZXNHQy5jcHA6
CisgICAgICAgIChKU0M6OkRGRzo6ZG9lc0dDKToKKyAgICAgICAgKiBmdGwvRlRMTG93ZXJERkdU
b0IzLmNwcDoKKyAgICAgICAgKEpTQzo6RlRMOjpERkc6Okxvd2VyREZHVG9CMzo6Y29tcGlsZUxv
b3BIaW50KToKKwogMjAyMC0wNy0xMyAgS2VpdGggTWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxl
LmNvbT4KIAogICAgICAgICBDbGVhbiB1cCBTb3VyY2VQcm92aWRlciBhbmQgYWRkIGNhbGxlciBy
ZWxhdGl2ZSBsb2FkIHNjcmlwdCB0byBqc2MuY3BwCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvZnRsL0ZUTExvd2VyREZHVG9CMy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvQjMuY3BwCShyZXZpc2lvbiAyNjQzMDcpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9CMy5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTE0NzEzLDEzICsxNDcxMywxNCBAQCBwcml2YXRlOgogCiAgICAgICAgIEJ5dGVjb2RlSW5k
ZXggYnl0ZWNvZGVJbmRleCA9IG1fbm9kZS0+b3JpZ2luLnNlbWFudGljLmJ5dGVjb2RlSW5kZXgo
KTsKICAgICAgICAgY29uc3QgSW5zdHJ1Y3Rpb24qIGluc3RydWN0aW9uID0gYmFzZWxpbmVDb2Rl
QmxvY2stPmluc3RydWN0aW9ucygpLmF0KGJ5dGVjb2RlSW5kZXgub2Zmc2V0KCkpLnB0cigpOwot
ICAgICAgICB1aW50NjRfdCogcHRyID0gdm0oKS5nZXRMb29wSGludEV4ZWN1dGlvbkNvdW50ZXIo
aW5zdHJ1Y3Rpb24pOworICAgICAgICBWTSogdm0gPSAmdGhpcy0+dm0oKTsKKyAgICAgICAgdWlu
dDY0X3QqIHB0ciA9IHZtLT5nZXRMb29wSGludEV4ZWN1dGlvbkNvdW50ZXIoaW5zdHJ1Y3Rpb24p
OwogCiAgICAgICAgIFBhdGNocG9pbnRWYWx1ZSogcGF0Y2hwb2ludCA9IG1fb3V0LnBhdGNocG9p
bnQoVm9pZCk7CiAgICAgICAgIHBhdGNocG9pbnQtPmVmZmVjdHMgPSBFZmZlY3RzOjpub25lKCk7
CiAgICAgICAgIHBhdGNocG9pbnQtPmVmZmVjdHMuZXhpdHNTaWRld2F5cyA9IHRydWU7CiAgICAg
ICAgIHBhdGNocG9pbnQtPmVmZmVjdHMud3JpdGVzTG9jYWxTdGF0ZSA9IHRydWU7Ci0gICAgICAg
IHBhdGNocG9pbnQtPnNldEdlbmVyYXRvcihbcHRyXSAoQ0NhbGxIZWxwZXJzJiBqaXQsIGNvbnN0
IFN0YWNrbWFwR2VuZXJhdGlvblBhcmFtcyYgcGFyYW1zKSB7CisgICAgICAgIHBhdGNocG9pbnQt
PnNldEdlbmVyYXRvcihbPV0gKENDYWxsSGVscGVycyYgaml0LCBjb25zdCBTdGFja21hcEdlbmVy
YXRpb25QYXJhbXMmIHBhcmFtcykgewogICAgICAgICAgICAgYXV0byByZXN0b3JlID0gWyZdIHsK
ICAgICAgICAgICAgICAgICBqaXQucG9wVG9SZXN0b3JlKEdQUkluZm86OnJlZ1QyKTsKICAgICAg
ICAgICAgICAgICBqaXQucG9wVG9SZXN0b3JlKEdQUkluZm86OnJlZ1QxKTsKQEAgLTE0NzM1LDYg
KzE0NzM2LDEzIEBAIHByaXZhdGU6CiAgICAgICAgICAgICBqaXQubG9hZDY0KENDYWxsSGVscGVy
czo6QWRkcmVzcyhHUFJJbmZvOjpyZWdUMCksIEdQUkluZm86OnJlZ1QxKTsKICAgICAgICAgICAg
IGF1dG8gc2tpcEVhcmx5UmV0dXJuID0gaml0LmJyYW5jaDY0KENDYWxsSGVscGVyczo6QmVsb3cs
IEdQUkluZm86OnJlZ1QxLCBHUFJJbmZvOjpyZWdUMik7CiAKKyAgICAgICAgICAgIGlmIGNvbnN0
ZXhwciAodmFsaWRhdGVERkdEb2VzR0MpIHsKKyAgICAgICAgICAgICAgICBpZiAoT3B0aW9uczo6
dmFsaWRhdGVEb2VzR0MoKSkgeworICAgICAgICAgICAgICAgICAgICAvLyBXZSBuZWVkIHRvIG1v
Y2sgd2hhdCBhIFJldHVybiBkb2VzOiBjbGFpbXMgdG8gR0MuCisgICAgICAgICAgICAgICAgICAg
IGppdC5tb3ZlKENDYWxsSGVscGVyczo6VHJ1c3RlZEltbVB0cih2bS0+aGVhcC5hZGRyZXNzT2ZE
b2VzR0MoKSksIEdQUkluZm86OnJlZ1QwKTsKKyAgICAgICAgICAgICAgICAgICAgaml0LnN0b3Jl
MzIoQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tMzIoRG9lc0dDQ2hlY2s6OmVuY29kZSh0cnVlLCBE
b2VzR0NDaGVjazo6U3BlY2lhbDo6VW5pbml0aWFsaXplZCkpLCBDQ2FsbEhlbHBlcnM6OkFkZHJl
c3MoR1BSSW5mbzo6cmVnVDApKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CiAg
ICAgICAgICAgICByZXN0b3JlKCk7CiAgICAgICAgICAgICBqaXQubW92ZShDQ2FsbEhlbHBlcnM6
OlRydXN0ZWRJbW02NChKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSkpLCBHUFJJbmZvOjpy
ZXR1cm5WYWx1ZUdQUik7CiAgICAgICAgICAgICBwYXJhbXMuY29kZSgpLmVtaXRFcGlsb2d1ZShq
aXQpOyAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>404204</attachid>
            <date>2020-07-13 20:30:04 -0700</date>
            <delta_ts>2020-07-13 20:53:32 -0700</delta_ts>
            <desc>patch for landing</desc>
            <filename>c-backup.diff</filename>
            <type>text/plain</type>
            <size>4520</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyNjQzMjYpCisrKyBKU1Rlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDEzIEBACisyMDIwLTA3LTEzICBTYWFtIEJhcmF0aSAgPHNiYXJhdGlAYXBwbGUu
Y29tPgorCisgICAgICAgIHJldHVybkVhcmx5RnJvbUluZmluaXRlTG9vcHNGb3JGdXp6aW5nIGFu
ZCB2YWxpZGF0ZURvZXNHQyBtYXkgZmFpbCB3aGVuIHVzZWQgdG9nZXRoZXIgaW4gdGhlIEZUTAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE0Mjg5Cisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS82NTI3MjEzOD4KKworICAgICAgICBSZXZpZXdlZCBieSBL
ZWl0aCBNaWxsZXIuCisKKyAgICAgICAgKiBzdHJlc3MvdmFsaWRhdGUtZG9lcy1nYy13aXRoLXJl
dHVybi1lYXJseS1mcm9tLWluZmluaXRlLWxvb3AuanM6IEFkZGVkLgorCiAyMDIwLTA3LTEzICBZ
dXN1a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+CiAKICAgICAgICAgW0pTQ10gSW50bExv
Y2FsZTo6aW5pdGlhbGl6ZUxvY2FsZSBzaG91bGQgaGF2ZSBzY29wZS5yZWxlYXNlCkluZGV4OiBK
U1Rlc3RzL3N0cmVzcy92YWxpZGF0ZS1kb2VzLWdjLXdpdGgtcmV0dXJuLWVhcmx5LWZyb20taW5m
aW5pdGUtbG9vcC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3N0cmVzcy92YWxpZGF0ZS1kb2Vz
LWdjLXdpdGgtcmV0dXJuLWVhcmx5LWZyb20taW5maW5pdGUtbG9vcC5qcwkobm9uZXhpc3RlbnQp
CisrKyBKU1Rlc3RzL3N0cmVzcy92YWxpZGF0ZS1kb2VzLWdjLXdpdGgtcmV0dXJuLWVhcmx5LWZy
b20taW5maW5pdGUtbG9vcC5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQgQEAKKy8vQCBz
a2lwIGlmICRhcmNoaXRlY3R1cmUgIT0gImFybTY0IiBhbmQgJGFyY2hpdGVjdHVyZSAhPSAieDg2
LTY0IgorLy9AIHJ1bkRlZmF1bHQoIi0tcmV0dXJuRWFybHlGcm9tSW5maW5pdGVMb29wc0ZvckZ1
enppbmc9dHJ1ZSIsICItLWVhcmx5UmV0dXJuRnJvbUluZmluaXRlTG9vcHNMaW1pdD0xMDAwMDAw
IiwgIi0tdXNlQ29uY3VycmVudEpJVD1mYWxzZSIsICItLXZhbGlkYXRlRG9lc0dDPXRydWUiKQor
Cit3aGlsZSgxKXt9IHdoaWxlKDEpe30KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFu
Z2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2
aXNpb24gMjY0MzA3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDIxIEBACisyMDIwLTA3LTEzICBTYWFtIEJhcmF0aSAgPHNiYXJh
dGlAYXBwbGUuY29tPgorCisgICAgICAgIHJldHVybkVhcmx5RnJvbUluZmluaXRlTG9vcHNGb3JG
dXp6aW5nIGFuZCB2YWxpZGF0ZURvZXNHQyBtYXkgZmFpbCB3aGVuIHVzZWQgdG9nZXRoZXIgaW4g
dGhlIEZUTAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjE0Mjg5CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS82NTI3MjEzOD4KKworICAgICAgICBSZXZp
ZXdlZCBieSBLZWl0aCBNaWxsZXIuCisKKyAgICAgICAgQmVjYXVzZSB0aGUgcGF0Y2hwb2ludCB3
ZSB1c2UgZm9yIHJldHVybkVhcmx5RnJvbUluZmluaXRlTG9vcHNGb3JGdXp6aW5nIGRvZXNuJ3QK
KyAgICAgICAgcmVhZCBvciB3cml0ZSBhbnkgaGVhcCByYW5nZXMsIEIzIG1vdmUgbWVtb3J5IG9w
cyBhcm91bmQgaXQuIEluIHBhcnRpY3VsYXIsIGl0CisgICAgICAgIG1pZ2h0IG1vdmUgdGhlIHZh
bGlkYXRlIERvZXNHQyBzdG9yZSBhYm92ZSBpdC4gSW4gdGhlIEZUTCwgd2Ugc2hvdWxkIG1ha2Ug
cmV0dXJuRWFybHlGcm9tSW5maW5pdGVMb29wc0ZvckZ1enppbmcKKyAgICAgICAgbWltaWMgd2hh
dCBSZXR1cm4gZG9lcyBmb3IgdmFsaWRhdGluZyBEb2VzR0MuCisKKyAgICAgICAgKiBkZmcvREZH
RG9lc0dDLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpkb2VzR0MpOgorICAgICAgICAqIGZ0bC9G
VExMb3dlckRGR1RvQjMuY3BwOgorICAgICAgICAoSlNDOjpGVEw6OkRGRzo6TG93ZXJERkdUb0Iz
Ojpjb21waWxlTG9vcEhpbnQpOgorCiAyMDIwLTA3LTEzICBLZWl0aCBNaWxsZXIgIDxrZWl0aF9t
aWxsZXJAYXBwbGUuY29tPgogCiAgICAgICAgIENsZWFuIHVwIFNvdXJjZVByb3ZpZGVyIGFuZCBh
ZGQgY2FsbGVyIHJlbGF0aXZlIGxvYWQgc2NyaXB0IHRvIGpzYy5jcHAKSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0IzLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9CMy5jcHAJKHJldmlzaW9uIDI2NDMw
NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0IzLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMTQ3MTMsMTMgKzE0NzEzLDE0IEBAIHByaXZhdGU6CiAKICAgICAgICAg
Qnl0ZWNvZGVJbmRleCBieXRlY29kZUluZGV4ID0gbV9ub2RlLT5vcmlnaW4uc2VtYW50aWMuYnl0
ZWNvZGVJbmRleCgpOwogICAgICAgICBjb25zdCBJbnN0cnVjdGlvbiogaW5zdHJ1Y3Rpb24gPSBi
YXNlbGluZUNvZGVCbG9jay0+aW5zdHJ1Y3Rpb25zKCkuYXQoYnl0ZWNvZGVJbmRleC5vZmZzZXQo
KSkucHRyKCk7Ci0gICAgICAgIHVpbnQ2NF90KiBwdHIgPSB2bSgpLmdldExvb3BIaW50RXhlY3V0
aW9uQ291bnRlcihpbnN0cnVjdGlvbik7CisgICAgICAgIFZNKiB2bSA9ICZ0aGlzLT52bSgpOwor
ICAgICAgICB1aW50NjRfdCogcHRyID0gdm0tPmdldExvb3BIaW50RXhlY3V0aW9uQ291bnRlcihp
bnN0cnVjdGlvbik7CiAKICAgICAgICAgUGF0Y2hwb2ludFZhbHVlKiBwYXRjaHBvaW50ID0gbV9v
dXQucGF0Y2hwb2ludChWb2lkKTsKICAgICAgICAgcGF0Y2hwb2ludC0+ZWZmZWN0cyA9IEVmZmVj
dHM6Om5vbmUoKTsKICAgICAgICAgcGF0Y2hwb2ludC0+ZWZmZWN0cy5leGl0c1NpZGV3YXlzID0g
dHJ1ZTsKICAgICAgICAgcGF0Y2hwb2ludC0+ZWZmZWN0cy53cml0ZXNMb2NhbFN0YXRlID0gdHJ1
ZTsKLSAgICAgICAgcGF0Y2hwb2ludC0+c2V0R2VuZXJhdG9yKFtwdHJdIChDQ2FsbEhlbHBlcnMm
IGppdCwgY29uc3QgU3RhY2ttYXBHZW5lcmF0aW9uUGFyYW1zJiBwYXJhbXMpIHsKKyAgICAgICAg
cGF0Y2hwb2ludC0+c2V0R2VuZXJhdG9yKFs9XSAoQ0NhbGxIZWxwZXJzJiBqaXQsIGNvbnN0IFN0
YWNrbWFwR2VuZXJhdGlvblBhcmFtcyYgcGFyYW1zKSB7CiAgICAgICAgICAgICBhdXRvIHJlc3Rv
cmUgPSBbJl0gewogICAgICAgICAgICAgICAgIGppdC5wb3BUb1Jlc3RvcmUoR1BSSW5mbzo6cmVn
VDIpOwogICAgICAgICAgICAgICAgIGppdC5wb3BUb1Jlc3RvcmUoR1BSSW5mbzo6cmVnVDEpOwpA
QCAtMTQ3MzUsNiArMTQ3MzYsMTMgQEAgcHJpdmF0ZToKICAgICAgICAgICAgIGppdC5sb2FkNjQo
Q0NhbGxIZWxwZXJzOjpBZGRyZXNzKEdQUkluZm86OnJlZ1QwKSwgR1BSSW5mbzo6cmVnVDEpOwog
ICAgICAgICAgICAgYXV0byBza2lwRWFybHlSZXR1cm4gPSBqaXQuYnJhbmNoNjQoQ0NhbGxIZWxw
ZXJzOjpCZWxvdywgR1BSSW5mbzo6cmVnVDEsIEdQUkluZm86OnJlZ1QyKTsKIAorICAgICAgICAg
ICAgaWYgY29uc3RleHByICh2YWxpZGF0ZURGR0RvZXNHQykgeworICAgICAgICAgICAgICAgIGlm
IChPcHRpb25zOjp2YWxpZGF0ZURvZXNHQygpKSB7CisgICAgICAgICAgICAgICAgICAgIC8vIFdl
IG5lZWQgdG8gbW9jayB3aGF0IGEgUmV0dXJuIGRvZXM6IGNsYWltcyB0byBHQy4KKyAgICAgICAg
ICAgICAgICAgICAgaml0Lm1vdmUoQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tUHRyKHZtLT5oZWFw
LmFkZHJlc3NPZkRvZXNHQygpKSwgR1BSSW5mbzo6cmVnVDApOworICAgICAgICAgICAgICAgICAg
ICBqaXQuc3RvcmUzMihDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW0zMihEb2VzR0NDaGVjazo6ZW5j
b2RlKHRydWUsIERvZXNHQ0NoZWNrOjpTcGVjaWFsOjpVbmluaXRpYWxpemVkKSksIENDYWxsSGVs
cGVyczo6QWRkcmVzcyhHUFJJbmZvOjpyZWdUMCkpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0KICAgICAgICAgICAgIHJlc3RvcmUoKTsKICAgICAgICAgICAgIGppdC5tb3ZlKEND
YWxsSGVscGVyczo6VHJ1c3RlZEltbTY0KEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKSks
IEdQUkluZm86OnJldHVyblZhbHVlR1BSKTsKICAgICAgICAgICAgIHBhcmFtcy5jb2RlKCkuZW1p
dEVwaWxvZ3VlKGppdCk7IAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>