<?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>189682</bug_id>
          
          <creation_ts>2018-09-17 14:57:53 -0700</creation_ts>
          <short_desc>ArgumentsEliminationPhase should snip basic blocks after proven OSR exits</short_desc>
          <delta_ts>2018-09-24 13:12:36 -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>ews-watchlist</cc>
    
    <cc>fpizlo</cc>
    
    <cc>ggaren</cc>
    
    <cc>gskachkov</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>1460340</commentid>
    <comment_count>0</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2018-09-17 14:57:53 -0700</bug_when>
    <thetext>The arguments elimination phase will generate code that is safe because it queries isPseudoTerminal. It will then generate code that will fail validation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1460341</commentid>
    <comment_count>1</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2018-09-17 14:58:38 -0700</bug_when>
    <thetext>&lt;rdar://problem/43557315&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1460345</commentid>
    <comment_count>2</comment_count>
      <attachid>349947</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2018-09-17 15:05:56 -0700</bug_when>
    <thetext>Created attachment 349947
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1460348</commentid>
    <comment_count>3</comment_count>
      <attachid>349947</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2018-09-17 15:13:14 -0700</bug_when>
    <thetext>Comment on attachment 349947
patch

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

LGTM.

&gt; Source/JavaScriptCore/ChangeLog:11
&gt; +        This is because the arguments elimination phase doesn&apos;t stops doing

/stops/stop/.

&gt; Source/JavaScriptCore/ChangeLog:15
&gt; +        This patch makes it so that validation is does not fail on code like

/is does/does/.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1460355</commentid>
    <comment_count>4</comment_count>
      <attachid>349950</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2018-09-17 15:16:35 -0700</bug_when>
    <thetext>Created attachment 349950
patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1460365</commentid>
    <comment_count>5</comment_count>
      <attachid>349950</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2018-09-17 15:35:47 -0700</bug_when>
    <thetext>Comment on attachment 349950
patch for landing

Why not make arguments elimination just emit good IR?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1460430</commentid>
    <comment_count>6</comment_count>
      <attachid>349950</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2018-09-17 17:19:38 -0700</bug_when>
    <thetext>Comment on attachment 349950
patch for landing

Phil suggested just snipping the basic block after the pseudo terminal</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1460435</commentid>
    <comment_count>7</comment_count>
      <attachid>349979</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2018-09-17 17:29:20 -0700</bug_when>
    <thetext>Created attachment 349979
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1460466</commentid>
    <comment_count>8</comment_count>
      <attachid>349979</attachid>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2018-09-17 19:02:25 -0700</bug_when>
    <thetext>Comment on attachment 349979
patch

Attachment 349979 did not pass jsc-ews (mac):
Output: https://webkit-queues.webkit.org/results/9250743

New failing tests:
stress/spread-calling.js.ftl-eager-no-cjit-b3o1
stress/array-concat-with-slow-indexingtypes.js.ftl-no-cjit-b3o1
stress/async-await-module-reserved-word.js.ftl-eager-no-cjit
stress/spread-capture-rest.js.ftl-no-cjit-no-put-stack-validate
stress/modules-syntax.js.ftl-eager
stress/array-concat-with-slow-indexingtypes.js.ftl-eager-no-cjit-b3o1
stress/spread-multi-layers.js.ftl-eager-no-cjit-b3o1
stress/spread-multi-layers.js.ftl-no-cjit-validate-sampling-profiler
stress/reserved-word-with-escape.js.ftl-eager-no-cjit
stress/spread-multi-layers.js.ftl-no-cjit-b3o1
stress/array-concat-with-slow-indexingtypes.js.ftl-eager-no-cjit
stress/reserved-word-with-escape.js.ftl-eager
stress/modules-syntax-error-with-names.js.ftl-eager-no-cjit-b3o1
stress/spread-calling.js.ftl-eager-no-cjit
stress/modules-syntax-error.js.ftl-eager-no-cjit-b3o1
stress/regress-187060.js.ftl-eager-no-cjit-b3o1
stress/for-in-invalidate-context-weird-assignments.js.ftl-eager-no-cjit-b3o1
stress/array-symbol-species-lazy-watchpoints.js.ftl-eager-no-cjit-b3o1
stress/for-in-invalidate-context-weird-assignments.js.ftl-eager-no-cjit
jsc-layout-tests.yaml/js/script-tests/stack-trace.js.layout-ftl-eager-no-cjit
stress/async-await-module-reserved-word.js.ftl-eager-no-cjit-b3o1
stress/spread-capture-rest.js.ftl-eager-no-cjit-b3o1
stress/spread-multi-layers.js.ftl-eager
stress/reserved-word-with-escape.js.ftl-eager-no-cjit-b3o1
stress/spread-multi-layers.js.ftl-eager-no-cjit
stress/spread-capture-rest.js.ftl-eager
stress/regress-187060.js.ftl-eager-no-cjit
stress/spread-calling.js.ftl-eager
stress/array-symbol-species-lazy-watchpoints.js.ftl-eager-no-cjit
stress/modules-syntax-error-with-names.js.ftl-eager
stress/array-concat-with-slow-indexingtypes.js.ftl-no-cjit-no-put-stack-validate
ChakraCore.yaml/ChakraCore/test/typedarray/dataview.js.default
stress/spread-non-varargs.js.ftl-no-cjit-validate-sampling-profiler
stress/spread-non-varargs.js.ftl-eager-no-cjit
stress/modules-syntax-error.js.ftl-eager-no-cjit
stress/rest-elements.js.ftl-eager-no-cjit-b3o1
stress/spread-non-varargs.js.default
stress/spread-capture-rest.js.ftl-eager-no-cjit
stress/spread-non-varargs.js.ftl-eager
stress/spread-multi-layers.js.ftl-no-cjit-no-put-stack-validate
stress/spread-capture-rest.js.ftl-no-cjit-small-pool
stress/rest-elements.js.ftl-eager
stress/regress-187060.js.ftl-eager
stress/array-symbol-species-lazy-watchpoints.js.ftl-eager
stress/spread-non-varargs.js.ftl-eager-no-cjit-b3o1
stress/spread-non-varargs.js.ftl-no-cjit-small-pool
stress/array-concat-with-slow-indexingtypes.js.ftl-eager
stress/spread-capture-rest.js.ftl-no-cjit-validate-sampling-profiler
ChakraCore.yaml/ChakraCore/test/ControlFlow/enumeration_adddelete.js.default
stress/array-concat-with-slow-indexingtypes.js.ftl-no-cjit-validate-sampling-profiler
stress/spread-capture-rest.js.default
stress/rest-elements.js.ftl-eager-no-cjit
microbenchmarks/deltablue-varargs.js.ftl-eager-no-cjit
stress/spread-non-varargs.js.ftl-no-cjit-b3o1
stress/spread-capture-rest.js.ftl-no-cjit-b3o1
stress/array-concat-with-slow-indexingtypes.js.ftl-no-cjit-no-inline-validate
stress/array-concat-with-slow-indexingtypes.js.default
stress/trailing-comma-in-patterns.js.ftl-eager-no-cjit-b3o1
stress/spread-multi-layers.js.default
stress/modules-syntax.js.ftl-eager-no-cjit
stress/modules-syntax-error-with-names.js.ftl-eager-no-cjit
stress/arguments-elimination-will-generate-edge-without-result.js.default
stress/spread-non-varargs.js.ftl-no-cjit-no-put-stack-validate
stress/array-concat-with-slow-indexingtypes.js.ftl-no-cjit-small-pool
stress/modules-syntax.js.ftl-eager-no-cjit-b3o1
apiTests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1461230</commentid>
    <comment_count>9</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2018-09-19 22:13:32 -0700</bug_when>
    <thetext>(In reply to Build Bot from comment #8)
&gt; Comment on attachment 349979 [details]
&gt; patch
&gt; 
&gt; Attachment 349979 [details] did not pass jsc-ews (mac):
&gt; Output: https://webkit-queues.webkit.org/results/9250743
&gt; 
&gt; New failing tests:
&gt; stress/spread-calling.js.ftl-eager-no-cjit-b3o1
&gt; stress/array-concat-with-slow-indexingtypes.js.ftl-no-cjit-b3o1
&gt; stress/async-await-module-reserved-word.js.ftl-eager-no-cjit
&gt; stress/spread-capture-rest.js.ftl-no-cjit-no-put-stack-validate
&gt; stress/modules-syntax.js.ftl-eager
&gt; stress/array-concat-with-slow-indexingtypes.js.ftl-eager-no-cjit-b3o1
&gt; stress/spread-multi-layers.js.ftl-eager-no-cjit-b3o1
&gt; stress/spread-multi-layers.js.ftl-no-cjit-validate-sampling-profiler
&gt; stress/reserved-word-with-escape.js.ftl-eager-no-cjit
&gt; stress/spread-multi-layers.js.ftl-no-cjit-b3o1
&gt; stress/array-concat-with-slow-indexingtypes.js.ftl-eager-no-cjit
&gt; stress/reserved-word-with-escape.js.ftl-eager
&gt; stress/modules-syntax-error-with-names.js.ftl-eager-no-cjit-b3o1
&gt; stress/spread-calling.js.ftl-eager-no-cjit
&gt; stress/modules-syntax-error.js.ftl-eager-no-cjit-b3o1
&gt; stress/regress-187060.js.ftl-eager-no-cjit-b3o1
&gt; stress/for-in-invalidate-context-weird-assignments.js.ftl-eager-no-cjit-b3o1
&gt; stress/array-symbol-species-lazy-watchpoints.js.ftl-eager-no-cjit-b3o1
&gt; stress/for-in-invalidate-context-weird-assignments.js.ftl-eager-no-cjit
&gt; jsc-layout-tests.yaml/js/script-tests/stack-trace.js.layout-ftl-eager-no-cjit
&gt; stress/async-await-module-reserved-word.js.ftl-eager-no-cjit-b3o1
&gt; stress/spread-capture-rest.js.ftl-eager-no-cjit-b3o1
&gt; stress/spread-multi-layers.js.ftl-eager
&gt; stress/reserved-word-with-escape.js.ftl-eager-no-cjit-b3o1
&gt; stress/spread-multi-layers.js.ftl-eager-no-cjit
&gt; stress/spread-capture-rest.js.ftl-eager
&gt; stress/regress-187060.js.ftl-eager-no-cjit
&gt; stress/spread-calling.js.ftl-eager
&gt; stress/array-symbol-species-lazy-watchpoints.js.ftl-eager-no-cjit
&gt; stress/modules-syntax-error-with-names.js.ftl-eager
&gt; stress/array-concat-with-slow-indexingtypes.js.ftl-no-cjit-no-put-stack-
&gt; validate
&gt; ChakraCore.yaml/ChakraCore/test/typedarray/dataview.js.default
&gt; stress/spread-non-varargs.js.ftl-no-cjit-validate-sampling-profiler
&gt; stress/spread-non-varargs.js.ftl-eager-no-cjit
&gt; stress/modules-syntax-error.js.ftl-eager-no-cjit
&gt; stress/rest-elements.js.ftl-eager-no-cjit-b3o1
&gt; stress/spread-non-varargs.js.default
&gt; stress/spread-capture-rest.js.ftl-eager-no-cjit
&gt; stress/spread-non-varargs.js.ftl-eager
&gt; stress/spread-multi-layers.js.ftl-no-cjit-no-put-stack-validate
&gt; stress/spread-capture-rest.js.ftl-no-cjit-small-pool
&gt; stress/rest-elements.js.ftl-eager
&gt; stress/regress-187060.js.ftl-eager
&gt; stress/array-symbol-species-lazy-watchpoints.js.ftl-eager
&gt; stress/spread-non-varargs.js.ftl-eager-no-cjit-b3o1
&gt; stress/spread-non-varargs.js.ftl-no-cjit-small-pool
&gt; stress/array-concat-with-slow-indexingtypes.js.ftl-eager
&gt; stress/spread-capture-rest.js.ftl-no-cjit-validate-sampling-profiler
&gt; ChakraCore.yaml/ChakraCore/test/ControlFlow/enumeration_adddelete.js.default
&gt; stress/array-concat-with-slow-indexingtypes.js.ftl-no-cjit-validate-sampling-
&gt; profiler
&gt; stress/spread-capture-rest.js.default
&gt; stress/rest-elements.js.ftl-eager-no-cjit
&gt; microbenchmarks/deltablue-varargs.js.ftl-eager-no-cjit
&gt; stress/spread-non-varargs.js.ftl-no-cjit-b3o1
&gt; stress/spread-capture-rest.js.ftl-no-cjit-b3o1
&gt; stress/array-concat-with-slow-indexingtypes.js.ftl-no-cjit-no-inline-validate
&gt; stress/array-concat-with-slow-indexingtypes.js.default
&gt; stress/trailing-comma-in-patterns.js.ftl-eager-no-cjit-b3o1
&gt; stress/spread-multi-layers.js.default
&gt; stress/modules-syntax.js.ftl-eager-no-cjit
&gt; stress/modules-syntax-error-with-names.js.ftl-eager-no-cjit
&gt; stress/arguments-elimination-will-generate-edge-without-result.js.default
&gt; stress/spread-non-varargs.js.ftl-no-cjit-no-put-stack-validate
&gt; stress/array-concat-with-slow-indexingtypes.js.ftl-no-cjit-small-pool
&gt; stress/modules-syntax.js.ftl-eager-no-cjit-b3o1
&gt; apiTests

My guess here is somehow the GetStack turned out to be meaningful in OSR exit. However, that&apos;s just a guess. I haven&apos;t yet had time to look into these failures.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1461626</commentid>
    <comment_count>10</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2018-09-20 17:51:31 -0700</bug_when>
    <thetext>I think my previous analysis is wrong. It looks like I just forgot to call invalidateCFG</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1461643</commentid>
    <comment_count>11</comment_count>
      <attachid>350298</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2018-09-20 18:33:48 -0700</bug_when>
    <thetext>Created attachment 350298
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1462807</commentid>
    <comment_count>12</comment_count>
      <attachid>350298</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2018-09-24 12:28:21 -0700</bug_when>
    <thetext>Comment on attachment 350298
patch

LGTM.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1462828</commentid>
    <comment_count>13</comment_count>
      <attachid>350298</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2018-09-24 12:45:17 -0700</bug_when>
    <thetext>Comment on attachment 350298
patch

Thanks for reviewing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1462836</commentid>
    <comment_count>14</comment_count>
      <attachid>350298</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-09-24 13:12:34 -0700</bug_when>
    <thetext>Comment on attachment 350298
patch

Clearing flags on attachment: 350298

Committed r236421: &lt;https://trac.webkit.org/changeset/236421&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1462837</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-09-24 13:12:36 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>349947</attachid>
            <date>2018-09-17 15:05:56 -0700</date>
            <delta_ts>2018-09-17 15:16:35 -0700</delta_ts>
            <desc>patch</desc>
            <filename>a-backup.diff</filename>
            <type>text/plain</type>
            <size>8577</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyMzYwODYpCisrKyBKU1Rlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDE0IEBACisyMDE4LTA5LTE3ICBTYWFtIGJhcmF0aSAgPHNiYXJhdGlAYXBwbGUu
Y29tPgorCisgICAgICAgIERGR1ZhbGlkYXRlIHNob3VsZCBvbmx5IHZhbGlkYXRlIHRoYXQgZWRn
ZXMgaGF2ZSBhIHJlc3VsdCBpbiBTU0EgaWYgd2UgaGF2ZW4ndCBwcm92ZW4gdGhhdCB3ZSBoYXZl
IE9TUiBleGl0ZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE4OTY4MgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDM1NTczMTU+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBzdHJlc3MvYXJndW1lbnRz
LWVsaW1pbmF0aW9uLXdpbGwtZ2VuZXJhdGUtZWRnZS13aXRob3V0LXJlc3VsdC5qczogQWRkZWQu
CisgICAgICAgIChmb28pOgorCiAyMDE4LTA5LTE0ICBTYWFtIGJhcmF0aSAgPHNiYXJhdGlAYXBw
bGUuY29tPgogCiAgICAgICAgIERvbid0IGR1bXAgT1NSQXZhaWxhYmlsaXR5RGF0YSBpbiBHcmFw
aDo6ZHVtcCBiZWNhdXNlIGEgc3RhbGUgQXZhaWxhYmlsaXR5IG1heSBwb2ludCB0byBhIE5vZGUg
dGhhdCBpcyBhbHJlYWR5IGZyZWVkCkluZGV4OiBKU1Rlc3RzL3N0cmVzcy9hcmd1bWVudHMtZWxp
bWluYXRpb24td2lsbC1nZW5lcmF0ZS1lZGdlLXdpdGhvdXQtcmVzdWx0LmpzCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIEpTVGVzdHMvc3RyZXNzL2FyZ3VtZW50cy1lbGltaW5hdGlvbi13aWxsLWdlbmVyYXRlLWVk
Z2Utd2l0aG91dC1yZXN1bHQuanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy9zdHJlc3MvYXJn
dW1lbnRzLWVsaW1pbmF0aW9uLXdpbGwtZ2VuZXJhdGUtZWRnZS13aXRob3V0LXJlc3VsdC5qcwko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDkgQEAKKy8vQCBydW5EZWZhdWx0KCItLXZhbGlkYXRl
R3JhcGhBdEVhY2hQaGFzZT10cnVlIiwgIi0taml0UG9saWN5U2NhbGU9MCIsICItLXVzZUNvbmN1
cnJlbnRKSVQ9MCIpCisKKyd1c2Ugc3RyaWN0JzsKK2Z1bmN0aW9uIGZvbygpIHsKKyAgcmV0dXJu
IGFyZ3VtZW50c1sxXVswXSA9PT0gYXJndW1lbnRzWzBdOworfQorZm9yIChsZXQgaSA9IDA7IGkg
PCAxMDAwMDA7ICsraSkgeworICBmb28oMCwgMCk7Cit9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFu
Z2VMb2cJKHJldmlzaW9uIDIzNjA3OCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VM
b2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyMiBAQAorMjAxOC0wOS0xNyAgU2FhbSBiYXJh
dGkgIDxzYmFyYXRpQGFwcGxlLmNvbT4KKworICAgICAgICBERkdWYWxpZGF0ZSBzaG91bGQgb25s
eSB2YWxpZGF0ZSB0aGF0IGVkZ2VzIGhhdmUgYSByZXN1bHQgaW4gU1NBIGlmIHdlIGhhdmVuJ3Qg
cHJvdmVuIHRoYXQgd2UgaGF2ZSBPU1IgZXhpdGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODk2ODIKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQz
NTU3MzE1PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFRoZSBhcmd1bWVudHMgZWxpbWluYXRpb24gcGhhc2UgbWF5IGdlbmVyYXRlIGNvZGUgd2hlcmUg
YSBub2RlIGFmdGVyIGFuCisgICAgICAgIE9TUiBleGl0IHdpbGwgaGF2ZSBhIGNoaWxkIGVkZ2Ug
dG8gYSBub2RlIHRoYXQgZG9lcyBub3QgaGF2ZSBhIHJlc3VsdC4KKyAgICAgICAgVGhpcyBpcyBi
ZWNhdXNlIHRoZSBhcmd1bWVudHMgZWxpbWluYXRpb24gcGhhc2UgZG9lc24ndCBzdG9wcyBkb2lu
ZworICAgICAgICB0cmFuc2Zvcm1hdGlvbnMgb25jZSBpdCBlbmNvdW50ZXJzIGEgbm9kZSBpbnNp
ZGUgb2YgYSBibG9jayB0aGF0IGlzCisgICAgICAgIGd1YXJhbnRlZWQgT1NSIGV4aXQuCisgICAg
ICAgIAorICAgICAgICBUaGlzIHBhdGNoIG1ha2VzIGl0IHNvIHRoYXQgdmFsaWRhdGlvbiBpcyBk
b2VzIG5vdCBmYWlsIG9uIGNvZGUgbGlrZQorICAgICAgICB0aGlzIHNpbmNlIGl0IGlzIHZhbGlk
LgorCisgICAgICAgICogZGZnL0RGR1ZhbGlkYXRlLmNwcDoKKwogMjAxOC0wOS0xNyAgRGFyaW4g
QWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CiAKICAgICAgICAgVXNlIE9wYXF1ZUpTU3RyaW5nIHJh
dGhlciB0aGFuIEpTUmV0YWluUHRyIGluc2lkZSBXZWJLaXQKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHVmFsaWRhdGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHVmFsaWRhdGUuY3BwCShyZXZpc2lvbiAyMzYwNzgpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR1ZhbGlkYXRlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTA4
LDU5ICsxMDgsNjQgQEAgcHVibGljOgogICAgICAgICAgICAgQmFzaWNCbG9jayogYmxvY2sgPSBt
X2dyYXBoLmJsb2NrKGJsb2NrSW5kZXgpOwogICAgICAgICAgICAgaWYgKCFibG9jaykKICAgICAg
ICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgIGJvb2wgaXNPU1JFeGl0ZWQgPSBmYWxz
ZTsKICAgICAgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgYmxvY2stPm51bU5vZGVzKCk7
ICsraSkgewogICAgICAgICAgICAgICAgIE5vZGUqIG5vZGUgPSBibG9jay0+bm9kZShpKTsKICAg
ICAgICAgICAgICAgICBtX2FjY2VwdGFibGVOb2Rlcy5hZGQobm9kZSk7Ci0gICAgICAgICAgICAg
ICAgaWYgKCFub2RlLT5zaG91bGRHZW5lcmF0ZSgpKQotICAgICAgICAgICAgICAgICAgICBjb250
aW51ZTsKLSAgICAgICAgICAgICAgICBpZiAobm9kZS0+b3AoKSA9PSBVcHNpbG9uKSB7Ci0gICAg
ICAgICAgICAgICAgICAgIFZBTElEQVRFKChub2RlKSwgbV9ncmFwaC5tX2Zvcm0gPT0gU1NBKTsK
LSAgICAgICAgICAgICAgICAgICAgaWYgKG5vZGUtPnBoaSgpLT5zaG91bGRHZW5lcmF0ZSgpKQot
ICAgICAgICAgICAgICAgICAgICAgICAgbV9teVJlZkNvdW50cy5maW5kKG5vZGUpLT52YWx1ZSsr
OwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBmb3IgKHVuc2lnbmVkIGogPSAw
OyBqIDwgbV9ncmFwaC5udW1DaGlsZHJlbihub2RlKTsgKytqKSB7Ci0gICAgICAgICAgICAgICAg
ICAgIC8vIFBoaSBjaGlsZHJlbiBpbiBMb2FkU3RvcmUgZm9ybSBhcmUgaW52YWxpZC4KLSAgICAg
ICAgICAgICAgICAgICAgaWYgKG1fZ3JhcGgubV9mb3JtID09IExvYWRTdG9yZSAmJiBibG9jay0+
aXNQaGlJbmRleChpKSkKLSAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAg
ICAgICAgICAgICAgICAKLSAgICAgICAgICAgICAgICAgICAgRWRnZSBlZGdlID0gbV9ncmFwaC5j
aGlsZChub2RlLCBqKTsKLSAgICAgICAgICAgICAgICAgICAgaWYgKCFlZGdlKQotICAgICAgICAg
ICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgICAgICAgICAgIAotICAgICAgICAg
ICAgICAgICAgICBtX215UmVmQ291bnRzLmZpbmQoZWRnZS5ub2RlKCkpLT52YWx1ZSsrOwotCi0g
ICAgICAgICAgICAgICAgICAgIHZhbGlkYXRlRWRnZVdpdGhEb3VibGVSZXN1bHRJZk5lY2Vzc2Fy
eShub2RlLCBlZGdlKTsKLSAgICAgICAgICAgICAgICAgICAgVkFMSURBVEUoKG5vZGUsIGVkZ2Up
LCBlZGdlLT5oYXNJbnQ1MlJlc3VsdCgpID09IChlZGdlLnVzZUtpbmQoKSA9PSBJbnQ1MlJlcFVz
ZSkpOwotICAgICAgICAgICAgICAgICAgICAKLSAgICAgICAgICAgICAgICAgICAgaWYgKG1fZ3Jh
cGgubV9mb3JtID09IFNTQSkgewotICAgICAgICAgICAgICAgICAgICAgICAgLy8gSW4gU1NBLCBh
bGwgZWRnZXMgbXVzdCBoYXNSZXN1bHQoKS4KLSAgICAgICAgICAgICAgICAgICAgICAgIFZBTElE
QVRFKChub2RlLCBlZGdlKSwgZWRnZS0+aGFzUmVzdWx0KCkpOwotICAgICAgICAgICAgICAgICAg
ICAgICAgY29udGludWU7CisgICAgICAgICAgICAgICAgaWYgKG5vZGUtPnNob3VsZEdlbmVyYXRl
KCkpIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKG5vZGUtPm9wKCkgPT0gVXBzaWxvbikgewor
ICAgICAgICAgICAgICAgICAgICAgICAgVkFMSURBVEUoKG5vZGUpLCBtX2dyYXBoLm1fZm9ybSA9
PSBTU0EpOworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG5vZGUtPnBoaSgpLT5zaG91bGRH
ZW5lcmF0ZSgpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1fbXlSZWZDb3VudHMuZmlu
ZChub2RlKS0+dmFsdWUrKzsKICAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAg
ICAgICAKLSAgICAgICAgICAgICAgICAgICAgLy8gVW5sZXNzIEknbSBhIEZsdXNoLCBQaGFudG9t
LCBHZXRMb2NhbCwgb3IgUGhpLCBteSBjaGlsZHJlbiBzaG91bGQgaGFzUmVzdWx0KCkuCi0gICAg
ICAgICAgICAgICAgICAgIHN3aXRjaCAobm9kZS0+b3AoKSkgewotICAgICAgICAgICAgICAgICAg
ICBjYXNlIEZsdXNoOgotICAgICAgICAgICAgICAgICAgICBjYXNlIEdldExvY2FsOgotICAgICAg
ICAgICAgICAgICAgICAgICAgVkFMSURBVEUoKG5vZGUsIGVkZ2UpLCBlZGdlLT5oYXNWYXJpYWJs
ZUFjY2Vzc0RhdGEobV9ncmFwaCkpOwotICAgICAgICAgICAgICAgICAgICAgICAgVkFMSURBVEUo
KG5vZGUsIGVkZ2UpLCBlZGdlLT52YXJpYWJsZUFjY2Vzc0RhdGEoKSA9PSBub2RlLT52YXJpYWJs
ZUFjY2Vzc0RhdGEoKSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAg
ICAgICAgICAgICAgY2FzZSBQaGFudG9tTG9jYWw6Ci0gICAgICAgICAgICAgICAgICAgICAgICBW
QUxJREFURSgobm9kZSwgZWRnZSksIGVkZ2UtPmhhc1ZhcmlhYmxlQWNjZXNzRGF0YShtX2dyYXBo
KSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBWQUxJREFURSgobm9kZSwgZWRnZSksIGVkZ2Ut
PnZhcmlhYmxlQWNjZXNzRGF0YSgpID09IG5vZGUtPnZhcmlhYmxlQWNjZXNzRGF0YSgpKTsKLSAg
ICAgICAgICAgICAgICAgICAgICAgIFZBTElEQVRFKChub2RlLCBlZGdlKSwgZWRnZS0+b3AoKSAh
PSBTZXRMb2NhbCk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAg
ICAgICAgICAgY2FzZSBQaGk6Ci0gICAgICAgICAgICAgICAgICAgICAgICBWQUxJREFURSgobm9k
ZSwgZWRnZSksIGVkZ2UtPmhhc1ZhcmlhYmxlQWNjZXNzRGF0YShtX2dyYXBoKSk7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICBpZiAobV9ncmFwaC5tX3VuaWZpY2F0aW9uU3RhdGUgPT0gTG9jYWxs
eVVuaWZpZWQpCisKKyAgICAgICAgICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBqID0gMDsgaiA8
IG1fZ3JhcGgubnVtQ2hpbGRyZW4obm9kZSk7ICsraikgeworICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gUGhpIGNoaWxkcmVuIGluIExvYWRTdG9yZSBmb3JtIGFyZSBpbnZhbGlkLgorICAgICAg
ICAgICAgICAgICAgICAgICAgaWYgKG1fZ3JhcGgubV9mb3JtID09IExvYWRTdG9yZSAmJiBibG9j
ay0+aXNQaGlJbmRleChpKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsK
KyAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgRWRnZSBl
ZGdlID0gbV9ncmFwaC5jaGlsZChub2RlLCBqKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlm
ICghZWRnZSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAg
ICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgbV9teVJlZkNvdW50cy5m
aW5kKGVkZ2Uubm9kZSgpKS0+dmFsdWUrKzsKKworICAgICAgICAgICAgICAgICAgICAgICAgdmFs
aWRhdGVFZGdlV2l0aERvdWJsZVJlc3VsdElmTmVjZXNzYXJ5KG5vZGUsIGVkZ2UpOworICAgICAg
ICAgICAgICAgICAgICAgICAgVkFMSURBVEUoKG5vZGUsIGVkZ2UpLCBlZGdlLT5oYXNJbnQ1MlJl
c3VsdCgpID09IChlZGdlLnVzZUtpbmQoKSA9PSBJbnQ1MlJlcFVzZSkpOworICAgICAgICAgICAg
ICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICBpZiAobV9ncmFwaC5tX2Zvcm0g
PT0gU1NBKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gSW4gU1NBLCBhbGwgZWRn
ZXMgbXVzdCBoYXNSZXN1bHQoKS4gV2UgYWxzbyBoYXZlIHBoYXNlcyB0aGF0IHdpbGwgYnJlYWsK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyB0aGlzIGlmIHRoZXkgZ3VhcmFudGVlIGFu
IGV4aXQgd2lsbCBoYXBwZW4gYmVmb3JlIHN1Y2ggYSBub2RlIGV4ZWN1dGVzLgorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFZBTElEQVRFKChub2RlLCBlZGdlKSwgZWRnZS0+aGFzUmVzdWx0
KCkgfHwgaXNPU1JFeGl0ZWQpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVl
OworICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICAgICAgCisg
ICAgICAgICAgICAgICAgICAgICAgICAvLyBVbmxlc3MgSSdtIGEgRmx1c2gsIFBoYW50b20sIEdl
dExvY2FsLCBvciBQaGksIG15IGNoaWxkcmVuIHNob3VsZCBoYXNSZXN1bHQoKS4KKyAgICAgICAg
ICAgICAgICAgICAgICAgIHN3aXRjaCAobm9kZS0+b3AoKSkgeworICAgICAgICAgICAgICAgICAg
ICAgICAgY2FzZSBGbHVzaDoKKyAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgR2V0TG9jYWw6
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgVkFMSURBVEUoKG5vZGUsIGVkZ2UpLCBlZGdl
LT5oYXNWYXJpYWJsZUFjY2Vzc0RhdGEobV9ncmFwaCkpOworICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFZBTElEQVRFKChub2RlLCBlZGdlKSwgZWRnZS0+dmFyaWFibGVBY2Nlc3NEYXRhKCkg
PT0gbm9kZS0+dmFyaWFibGVBY2Nlc3NEYXRhKCkpOwogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGJyZWFrOwotICAgICAgICAgICAgICAgICAgICAgICAgVkFMSURBVEUoKG5vZGUsIGVkZ2Up
LCBlZGdlLT52YXJpYWJsZUFjY2Vzc0RhdGEoKSA9PSBub2RlLT52YXJpYWJsZUFjY2Vzc0RhdGEo
KSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAgICAgICAg
ZGVmYXVsdDoKLSAgICAgICAgICAgICAgICAgICAgICAgIFZBTElEQVRFKChub2RlLCBlZGdlKSwg
ZWRnZS0+aGFzUmVzdWx0KCkpOwotICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAg
ICAgICAgICAgICAgICAgICAgICBjYXNlIFBoYW50b21Mb2NhbDoKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBWQUxJREFURSgobm9kZSwgZWRnZSksIGVkZ2UtPmhhc1ZhcmlhYmxlQWNjZXNz
RGF0YShtX2dyYXBoKSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgVkFMSURBVEUoKG5v
ZGUsIGVkZ2UpLCBlZGdlLT52YXJpYWJsZUFjY2Vzc0RhdGEoKSA9PSBub2RlLT52YXJpYWJsZUFj
Y2Vzc0RhdGEoKSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgVkFMSURBVEUoKG5vZGUs
IGVkZ2UpLCBlZGdlLT5vcCgpICE9IFNldExvY2FsKTsKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBicmVhazsKKyAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgUGhpOgorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFZBTElEQVRFKChub2RlLCBlZGdlKSwgZWRnZS0+aGFzVmFyaWFi
bGVBY2Nlc3NEYXRhKG1fZ3JhcGgpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAo
bV9ncmFwaC5tX3VuaWZpY2F0aW9uU3RhdGUgPT0gTG9jYWxseVVuaWZpZWQpCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFZBTElEQVRFKChub2RlLCBlZGdlKSwgZWRnZS0+dmFyaWFibGVBY2Nlc3NEYXRhKCkgPT0gbm9k
ZS0+dmFyaWFibGVBY2Nlc3NEYXRhKCkpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJy
ZWFrOworICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBWQUxJREFURSgobm9kZSwgZWRnZSksIGVkZ2UtPmhhc1Jlc3VsdCgpKTsKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICAgICAgICAg
IH0KICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIH0KKworICAgICAgICAg
ICAgICAgIGlzT1NSRXhpdGVkIHw9IG5vZGUtPmlzUHNldWRvVGVybWluYWwoKTsKICAgICAgICAg
ICAgIH0KICAgICAgICAgfQogICAgICAgICAK
</data>
<flag name="review"
          id="367445"
          type_id="1"
          status="+"
          setter="mark.lam"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>349950</attachid>
            <date>2018-09-17 15:16:35 -0700</date>
            <delta_ts>2018-09-17 17:19:38 -0700</delta_ts>
            <desc>patch for landing</desc>
            <filename>a-backup.diff</filename>
            <type>text/plain</type>
            <size>8545</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyMzYwODYpCisrKyBKU1Rlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDE0IEBACisyMDE4LTA5LTE3ICBTYWFtIGJhcmF0aSAgPHNiYXJhdGlAYXBwbGUu
Y29tPgorCisgICAgICAgIERGR1ZhbGlkYXRlIHNob3VsZCBvbmx5IHZhbGlkYXRlIHRoYXQgZWRn
ZXMgaGF2ZSBhIHJlc3VsdCBpbiBTU0EgaWYgd2UgaGF2ZW4ndCBwcm92ZW4gdGhhdCB3ZSBoYXZl
IE9TUiBleGl0ZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE4OTY4MgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDM1NTczMTU+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTWFyayBMYW0uCisKKyAgICAgICAgKiBzdHJlc3MvYXJndW1lbnRzLWVsaW1p
bmF0aW9uLXdpbGwtZ2VuZXJhdGUtZWRnZS13aXRob3V0LXJlc3VsdC5qczogQWRkZWQuCisgICAg
ICAgIChmb28pOgorCiAyMDE4LTA5LTE0ICBTYWFtIGJhcmF0aSAgPHNiYXJhdGlAYXBwbGUuY29t
PgogCiAgICAgICAgIERvbid0IGR1bXAgT1NSQXZhaWxhYmlsaXR5RGF0YSBpbiBHcmFwaDo6ZHVt
cCBiZWNhdXNlIGEgc3RhbGUgQXZhaWxhYmlsaXR5IG1heSBwb2ludCB0byBhIE5vZGUgdGhhdCBp
cyBhbHJlYWR5IGZyZWVkCkluZGV4OiBKU1Rlc3RzL3N0cmVzcy9hcmd1bWVudHMtZWxpbWluYXRp
b24td2lsbC1nZW5lcmF0ZS1lZGdlLXdpdGhvdXQtcmVzdWx0LmpzCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpT
VGVzdHMvc3RyZXNzL2FyZ3VtZW50cy1lbGltaW5hdGlvbi13aWxsLWdlbmVyYXRlLWVkZ2Utd2l0
aG91dC1yZXN1bHQuanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy9zdHJlc3MvYXJndW1lbnRz
LWVsaW1pbmF0aW9uLXdpbGwtZ2VuZXJhdGUtZWRnZS13aXRob3V0LXJlc3VsdC5qcwkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDkgQEAKKy8vQCBydW5EZWZhdWx0KCItLXZhbGlkYXRlR3JhcGhB
dEVhY2hQaGFzZT10cnVlIiwgIi0taml0UG9saWN5U2NhbGU9MCIsICItLXVzZUNvbmN1cnJlbnRK
SVQ9MCIpCisKKyd1c2Ugc3RyaWN0JzsKK2Z1bmN0aW9uIGZvbygpIHsKKyAgcmV0dXJuIGFyZ3Vt
ZW50c1sxXVswXSA9PT0gYXJndW1lbnRzWzBdOworfQorZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAw
MDA7ICsraSkgeworICBmb28oMCwgMCk7Cit9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
Q2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cJ
KHJldmlzaW9uIDIzNjA3OCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cJKHdv
cmtpbmcgY29weSkKQEAgLTEsMyArMSwyMSBAQAorMjAxOC0wOS0xNyAgU2FhbSBiYXJhdGkgIDxz
YmFyYXRpQGFwcGxlLmNvbT4KKworICAgICAgICBERkdWYWxpZGF0ZSBzaG91bGQgb25seSB2YWxp
ZGF0ZSB0aGF0IGVkZ2VzIGhhdmUgYSByZXN1bHQgaW4gU1NBIGlmIHdlIGhhdmVuJ3QgcHJvdmVu
IHRoYXQgd2UgaGF2ZSBPU1IgZXhpdGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xODk2ODIKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQzNTU3MzE1
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE1hcmsgTGFtLgorCisgICAgICAgIFRoZSBhcmd1bWVu
dHMgZWxpbWluYXRpb24gcGhhc2UgbWF5IGdlbmVyYXRlIGNvZGUgd2hlcmUgYSBub2RlIGFmdGVy
IGFuCisgICAgICAgIE9TUiBleGl0IHdpbGwgaGF2ZSBhIGNoaWxkIGVkZ2UgdG8gYSBub2RlIHRo
YXQgZG9lcyBub3QgaGF2ZSBhIHJlc3VsdC4KKyAgICAgICAgVGhpcyBpcyBiZWNhdXNlIHRoZSBh
cmd1bWVudHMgZWxpbWluYXRpb24gcGhhc2Ugc3RvcHMgZG9pbmcgdHJhbnNmb3JtYXRpb25zCisg
ICAgICAgIG9uY2UgaXQgZW5jb3VudGVycyBhIG5vZGUgaW5zaWRlIG9mIGEgYmxvY2sgdGhhdCBp
cyBndWFyYW50ZWVkIE9TUiBleGl0LgorICAgICAgICAKKyAgICAgICAgVGhpcyBwYXRjaCBtYWtl
cyBpdCBzbyB0aGF0IHZhbGlkYXRpb24gZG9lcyBub3QgZmFpbCBvbiBjb2RlIGxpa2UgdGhpcwor
ICAgICAgICBzaW5jZSBpdCBpcyB2YWxpZC4KKworICAgICAgICAqIGRmZy9ERkdWYWxpZGF0ZS5j
cHA6CisKIDIwMTgtMDktMTcgIERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29tPgogCiAgICAg
ICAgIFVzZSBPcGFxdWVKU1N0cmluZyByYXRoZXIgdGhhbiBKU1JldGFpblB0ciBpbnNpZGUgV2Vi
S2l0CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1ZhbGlkYXRlLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1ZhbGlkYXRlLmNwcAkocmV2
aXNpb24gMjM2MDc4KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdWYWxpZGF0ZS5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTEwOCw1OSArMTA4LDY0IEBAIHB1YmxpYzoKICAgICAgICAg
ICAgIEJhc2ljQmxvY2sqIGJsb2NrID0gbV9ncmFwaC5ibG9jayhibG9ja0luZGV4KTsKICAgICAg
ICAgICAgIGlmICghYmxvY2spCiAgICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAg
ICBib29sIGlzT1NSRXhpdGVkID0gZmFsc2U7CiAgICAgICAgICAgICBmb3IgKHNpemVfdCBpID0g
MDsgaSA8IGJsb2NrLT5udW1Ob2RlcygpOyArK2kpIHsKICAgICAgICAgICAgICAgICBOb2RlKiBu
b2RlID0gYmxvY2stPm5vZGUoaSk7CiAgICAgICAgICAgICAgICAgbV9hY2NlcHRhYmxlTm9kZXMu
YWRkKG5vZGUpOwotICAgICAgICAgICAgICAgIGlmICghbm9kZS0+c2hvdWxkR2VuZXJhdGUoKSkK
LSAgICAgICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgICAgICAgaWYgKG5vZGUt
Pm9wKCkgPT0gVXBzaWxvbikgewotICAgICAgICAgICAgICAgICAgICBWQUxJREFURSgobm9kZSks
IG1fZ3JhcGgubV9mb3JtID09IFNTQSk7Ci0gICAgICAgICAgICAgICAgICAgIGlmIChub2RlLT5w
aGkoKS0+c2hvdWxkR2VuZXJhdGUoKSkKLSAgICAgICAgICAgICAgICAgICAgICAgIG1fbXlSZWZD
b3VudHMuZmluZChub2RlKS0+dmFsdWUrKzsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAg
ICAgICAgZm9yICh1bnNpZ25lZCBqID0gMDsgaiA8IG1fZ3JhcGgubnVtQ2hpbGRyZW4obm9kZSk7
ICsraikgewotICAgICAgICAgICAgICAgICAgICAvLyBQaGkgY2hpbGRyZW4gaW4gTG9hZFN0b3Jl
IGZvcm0gYXJlIGludmFsaWQuCi0gICAgICAgICAgICAgICAgICAgIGlmIChtX2dyYXBoLm1fZm9y
bSA9PSBMb2FkU3RvcmUgJiYgYmxvY2stPmlzUGhpSW5kZXgoaSkpCi0gICAgICAgICAgICAgICAg
ICAgICAgICBjb250aW51ZTsKLSAgICAgICAgICAgICAgICAgICAgCi0gICAgICAgICAgICAgICAg
ICAgIEVkZ2UgZWRnZSA9IG1fZ3JhcGguY2hpbGQobm9kZSwgaik7Ci0gICAgICAgICAgICAgICAg
ICAgIGlmICghZWRnZSkKLSAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAg
ICAgICAgICAgICAgICAKLSAgICAgICAgICAgICAgICAgICAgbV9teVJlZkNvdW50cy5maW5kKGVk
Z2Uubm9kZSgpKS0+dmFsdWUrKzsKLQotICAgICAgICAgICAgICAgICAgICB2YWxpZGF0ZUVkZ2VX
aXRoRG91YmxlUmVzdWx0SWZOZWNlc3Nhcnkobm9kZSwgZWRnZSk7Ci0gICAgICAgICAgICAgICAg
ICAgIFZBTElEQVRFKChub2RlLCBlZGdlKSwgZWRnZS0+aGFzSW50NTJSZXN1bHQoKSA9PSAoZWRn
ZS51c2VLaW5kKCkgPT0gSW50NTJSZXBVc2UpKTsKLSAgICAgICAgICAgICAgICAgICAgCi0gICAg
ICAgICAgICAgICAgICAgIGlmIChtX2dyYXBoLm1fZm9ybSA9PSBTU0EpIHsKLSAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIEluIFNTQSwgYWxsIGVkZ2VzIG11c3QgaGFzUmVzdWx0KCkuCi0gICAg
ICAgICAgICAgICAgICAgICAgICBWQUxJREFURSgobm9kZSwgZWRnZSksIGVkZ2UtPmhhc1Jlc3Vs
dCgpKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgICAg
IGlmIChub2RlLT5zaG91bGRHZW5lcmF0ZSgpKSB7CisgICAgICAgICAgICAgICAgICAgIGlmIChu
b2RlLT5vcCgpID09IFVwc2lsb24pIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIFZBTElEQVRF
KChub2RlKSwgbV9ncmFwaC5tX2Zvcm0gPT0gU1NBKTsKKyAgICAgICAgICAgICAgICAgICAgICAg
IGlmIChub2RlLT5waGkoKS0+c2hvdWxkR2VuZXJhdGUoKSkKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBtX215UmVmQ291bnRzLmZpbmQobm9kZSktPnZhbHVlKys7CiAgICAgICAgICAgICAg
ICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgCi0gICAgICAgICAgICAgICAgICAgIC8vIFVu
bGVzcyBJJ20gYSBGbHVzaCwgUGhhbnRvbSwgR2V0TG9jYWwsIG9yIFBoaSwgbXkgY2hpbGRyZW4g
c2hvdWxkIGhhc1Jlc3VsdCgpLgotICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKG5vZGUtPm9w
KCkpIHsKLSAgICAgICAgICAgICAgICAgICAgY2FzZSBGbHVzaDoKLSAgICAgICAgICAgICAgICAg
ICAgY2FzZSBHZXRMb2NhbDoKLSAgICAgICAgICAgICAgICAgICAgICAgIFZBTElEQVRFKChub2Rl
LCBlZGdlKSwgZWRnZS0+aGFzVmFyaWFibGVBY2Nlc3NEYXRhKG1fZ3JhcGgpKTsKLSAgICAgICAg
ICAgICAgICAgICAgICAgIFZBTElEQVRFKChub2RlLCBlZGdlKSwgZWRnZS0+dmFyaWFibGVBY2Nl
c3NEYXRhKCkgPT0gbm9kZS0+dmFyaWFibGVBY2Nlc3NEYXRhKCkpOwotICAgICAgICAgICAgICAg
ICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgICAgIGNhc2UgUGhhbnRvbUxvY2FsOgot
ICAgICAgICAgICAgICAgICAgICAgICAgVkFMSURBVEUoKG5vZGUsIGVkZ2UpLCBlZGdlLT5oYXNW
YXJpYWJsZUFjY2Vzc0RhdGEobV9ncmFwaCkpOwotICAgICAgICAgICAgICAgICAgICAgICAgVkFM
SURBVEUoKG5vZGUsIGVkZ2UpLCBlZGdlLT52YXJpYWJsZUFjY2Vzc0RhdGEoKSA9PSBub2RlLT52
YXJpYWJsZUFjY2Vzc0RhdGEoKSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBWQUxJREFURSgo
bm9kZSwgZWRnZSksIGVkZ2UtPm9wKCkgIT0gU2V0TG9jYWwpOwotICAgICAgICAgICAgICAgICAg
ICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgICAgIGNhc2UgUGhpOgotICAgICAgICAgICAg
ICAgICAgICAgICAgVkFMSURBVEUoKG5vZGUsIGVkZ2UpLCBlZGdlLT5oYXNWYXJpYWJsZUFjY2Vz
c0RhdGEobV9ncmFwaCkpOwotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG1fZ3JhcGgubV91
bmlmaWNhdGlvblN0YXRlID09IExvY2FsbHlVbmlmaWVkKQorCisgICAgICAgICAgICAgICAgICAg
IGZvciAodW5zaWduZWQgaiA9IDA7IGogPCBtX2dyYXBoLm51bUNoaWxkcmVuKG5vZGUpOyArK2op
IHsKKyAgICAgICAgICAgICAgICAgICAgICAgIC8vIFBoaSBjaGlsZHJlbiBpbiBMb2FkU3RvcmUg
Zm9ybSBhcmUgaW52YWxpZC4KKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIChtX2dyYXBoLm1f
Zm9ybSA9PSBMb2FkU3RvcmUgJiYgYmxvY2stPmlzUGhpSW5kZXgoaSkpCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAg
ICAgICAgICAgICAgICAgICAgIEVkZ2UgZWRnZSA9IG1fZ3JhcGguY2hpbGQobm9kZSwgaik7Cisg
ICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWVkZ2UpCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29udGludWU7CisgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAg
ICAgICAgICAgIG1fbXlSZWZDb3VudHMuZmluZChlZGdlLm5vZGUoKSktPnZhbHVlKys7CisKKyAg
ICAgICAgICAgICAgICAgICAgICAgIHZhbGlkYXRlRWRnZVdpdGhEb3VibGVSZXN1bHRJZk5lY2Vz
c2FyeShub2RlLCBlZGdlKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIFZBTElEQVRFKChub2Rl
LCBlZGdlKSwgZWRnZS0+aGFzSW50NTJSZXN1bHQoKSA9PSAoZWRnZS51c2VLaW5kKCkgPT0gSW50
NTJSZXBVc2UpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAg
ICAgICAgaWYgKG1fZ3JhcGgubV9mb3JtID09IFNTQSkgeworICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIEluIFNTQSwgYWxsIGVkZ2VzIG11c3QgaGFzUmVzdWx0KCkuIFdlIGFsc28gaGF2
ZSBwaGFzZXMgdGhhdCB3aWxsIGJyZWFrCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
dGhpcyBpZiB0aGV5IGd1YXJhbnRlZSBhbiBleGl0IHdpbGwgaGFwcGVuIGJlZm9yZSBzdWNoIGEg
bm9kZSBleGVjdXRlcy4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBWQUxJREFURSgobm9k
ZSwgZWRnZSksIGVkZ2UtPmhhc1Jlc3VsdCgpIHx8IGlzT1NSRXhpdGVkKTsKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgLy8gVW5sZXNz
IEknbSBhIEZsdXNoLCBQaGFudG9tLCBHZXRMb2NhbCwgb3IgUGhpLCBteSBjaGlsZHJlbiBzaG91
bGQgaGFzUmVzdWx0KCkuCisgICAgICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKG5vZGUtPm9w
KCkpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgRmx1c2g6CisgICAgICAgICAgICAg
ICAgICAgICAgICBjYXNlIEdldExvY2FsOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZB
TElEQVRFKChub2RlLCBlZGdlKSwgZWRnZS0+aGFzVmFyaWFibGVBY2Nlc3NEYXRhKG1fZ3JhcGgp
KTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBWQUxJREFURSgobm9kZSwgZWRnZSksIGVk
Z2UtPnZhcmlhYmxlQWNjZXNzRGF0YSgpID09IG5vZGUtPnZhcmlhYmxlQWNjZXNzRGF0YSgpKTsK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAgICAgICAg
ICAgIFZBTElEQVRFKChub2RlLCBlZGdlKSwgZWRnZS0+dmFyaWFibGVBY2Nlc3NEYXRhKCkgPT0g
bm9kZS0+dmFyaWFibGVBY2Nlc3NEYXRhKCkpOwotICAgICAgICAgICAgICAgICAgICAgICAgYnJl
YWs7Ci0gICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICAgICAgICAgICAg
ICBWQUxJREFURSgobm9kZSwgZWRnZSksIGVkZ2UtPmhhc1Jlc3VsdCgpKTsKLSAgICAgICAgICAg
ICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBQaGFudG9t
TG9jYWw6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgVkFMSURBVEUoKG5vZGUsIGVkZ2Up
LCBlZGdlLT5oYXNWYXJpYWJsZUFjY2Vzc0RhdGEobV9ncmFwaCkpOworICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFZBTElEQVRFKChub2RlLCBlZGdlKSwgZWRnZS0+dmFyaWFibGVBY2Nlc3NE
YXRhKCkgPT0gbm9kZS0+dmFyaWFibGVBY2Nlc3NEYXRhKCkpOworICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFZBTElEQVRFKChub2RlLCBlZGdlKSwgZWRnZS0+b3AoKSAhPSBTZXRMb2NhbCk7
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgICAg
ICAgICBjYXNlIFBoaToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBWQUxJREFURSgobm9k
ZSwgZWRnZSksIGVkZ2UtPmhhc1ZhcmlhYmxlQWNjZXNzRGF0YShtX2dyYXBoKSk7CisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaWYgKG1fZ3JhcGgubV91bmlmaWNhdGlvblN0YXRlID09IExv
Y2FsbHlVbmlmaWVkKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBWQUxJREFURSgobm9kZSwgZWRnZSksIGVkZ2UtPnZh
cmlhYmxlQWNjZXNzRGF0YSgpID09IG5vZGUtPnZhcmlhYmxlQWNjZXNzRGF0YSgpKTsKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICAgICAgICAgIGRl
ZmF1bHQ6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgVkFMSURBVEUoKG5vZGUsIGVkZ2Up
LCBlZGdlLT5oYXNSZXN1bHQoKSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7
CisgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAg
ICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICBpc09TUkV4aXRlZCB8PSBub2RlLT5pc1Bz
ZXVkb1Rlcm1pbmFsKCk7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICAgICAgCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>349979</attachid>
            <date>2018-09-17 17:29:20 -0700</date>
            <delta_ts>2018-09-20 18:33:48 -0700</delta_ts>
            <desc>patch</desc>
            <filename>a-backup.diff</filename>
            <type>text/plain</type>
            <size>4566</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyMzYwOTQpCisrKyBKU1Rlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDI1IEBACisyMDE4LTA5LTE3ICBTYWFtIGJhcmF0aSAgPHNiYXJhdGlAYXBwbGUu
Y29tPgorCisgICAgICAgIERGR1ZhbGlkYXRlIHNob3VsZCBvbmx5IHZhbGlkYXRlIHRoYXQgZWRn
ZXMgaGF2ZSBhIHJlc3VsdCBpbiBTU0EgaWYgd2UgaGF2ZW4ndCBwcm92ZW4gdGhhdCB3ZSBoYXZl
IE9TUiBleGl0ZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE4OTY4MgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDM1NTczMTU+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTWFyayBMYW0uCisKKyAgICAgICAgKiBzdHJlc3MvYXJndW1lbnRzLWVsaW1p
bmF0aW9uLXdpbGwtZ2VuZXJhdGUtZWRnZS13aXRob3V0LXJlc3VsdC5qczogQWRkZWQuCisgICAg
ICAgIChmb28pOgorCisyMDE4LTA5LTE3ICBTYWFtIGJhcmF0aSAgPHNiYXJhdGlAYXBwbGUuY29t
PgorCisgICAgICAgIEFyZ3VtZW50c0VsaW1pbmF0aW9uUGhhc2Ugc2hvdWxkIHNuaXAgYmFzaWMg
YmxvY2tzIGFmdGVyIHByb3ZlbiBPU1IgZXhpdHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE4OTY4MgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDM1
NTczMTU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBzdHJlc3MvYXJndW1lbnRzLWVsaW1pbmF0aW9uLXdpbGwtZ2VuZXJhdGUtZWRnZS13aXRob3V0
LXJlc3VsdC5qczogQWRkZWQuCisgICAgICAgIChmb28pOgorCiAyMDE4LTA5LTE3ICBTYWFtIGJh
cmF0aSAgPHNiYXJhdGlAYXBwbGUuY29tPgogCiAgICAgICAgIERGR1ZhbGlkYXRlIHNob3VsZCBv
bmx5IHZhbGlkYXRlIHRoYXQgZWRnZXMgaGF2ZSBhIHJlc3VsdCBpbiBTU0EgaWYgd2UgaGF2ZW4n
dCBwcm92ZW4gdGhhdCB3ZSBoYXZlIE9TUiBleGl0ZWQKSW5kZXg6IEpTVGVzdHMvc3RyZXNzL2Fy
Z3VtZW50cy1lbGltaW5hdGlvbi13aWxsLWdlbmVyYXRlLWVkZ2Utd2l0aG91dC1yZXN1bHQuanMK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gSlNUZXN0cy9zdHJlc3MvYXJndW1lbnRzLWVsaW1pbmF0aW9uLXdpbGwt
Z2VuZXJhdGUtZWRnZS13aXRob3V0LXJlc3VsdC5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3Rz
L3N0cmVzcy9hcmd1bWVudHMtZWxpbWluYXRpb24td2lsbC1nZW5lcmF0ZS1lZGdlLXdpdGhvdXQt
cmVzdWx0LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsOSBAQAorLy9AIHJ1bkRlZmF1bHQo
Ii0tdmFsaWRhdGVHcmFwaEF0RWFjaFBoYXNlPXRydWUiLCAiLS1qaXRQb2xpY3lTY2FsZT0wIiwg
Ii0tdXNlQ29uY3VycmVudEpJVD0wIikKKworJ3VzZSBzdHJpY3QnOworZnVuY3Rpb24gZm9vKCkg
eworICByZXR1cm4gYXJndW1lbnRzWzFdWzBdID09PSBhcmd1bWVudHNbMF07Cit9Citmb3IgKGxl
dCBpID0gMDsgaSA8IDEwMDAwMDsgKytpKSB7CisgIGZvbygwLCAwKTsKK30KSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjM2MDc4KQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM5IEBACisyMDE4LTA5LTE3
ICBTYWFtIGJhcmF0aSAgPHNiYXJhdGlAYXBwbGUuY29tPgorCisgICAgICAgIEFyZ3VtZW50c0Vs
aW1pbmF0aW9uUGhhc2Ugc2hvdWxkIHNuaXAgYmFzaWMgYmxvY2tzIGFmdGVyIHByb3ZlbiBPU1Ig
ZXhpdHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4
OTY4MgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDM1NTczMTU+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgT3RoZXJ3aXNlLCBpZiB3ZSBoYXZlIGNv
ZGUgbGlrZSB0aGlzOgorICAgICAgICBgYGAKKyAgICAgICAgYTogQXJndW1lbnRzCisgICAgICAg
IGI6IEdldEJ1dHRlcmZseShAYSkKKyAgICAgICAgYzogRm9yY2VFeGl0CisgICAgICAgIGQ6IEdl
dEFycmF5TGVuZ3RoKEBhLCBAYikKKyAgICAgICAgYGBgCisgICAgICAgIGl0IHdpbGwgZ2V0IHRy
YW5zZm9ybWVkIGludG8gdGhpcyBpbnZhbGlkIERGRyBJUjoKKyAgICAgICAgYGBgCisgICAgICAg
IGE6IFBoYW50b21Bcmd1bWVudHMKKyAgICAgICAgYjogQ2hlY2soQGEpCisgICAgICAgIGM6IEZv
cmNlRXhpdAorICAgICAgICBkOiBHZXRBcnJheUxlbmd0aChAYSwgQGIpCisgICAgICAgIGBgYAor
ICAgICAgICAKKyAgICAgICAgQW5kIHdlIHdpbGwgZmFpbCBERkcgdmFsaWRhdGlvbiBzaW5jZSBA
YiBkb2VzIG5vdCBoYXZlIGEgcmVzdWx0LgorICAgICAgICAKKyAgICAgICAgVGhlIGZpeCBpcyB0
byBqdXN0IHJlbW92ZSBhbGwgbm9kZXMgYWZ0ZXIgdGhlIEZvcmNlRXhpdCBhbmQgcGxhbnQgYW4K
KyAgICAgICAgVW5yZWFjaGFibGUgYWZ0ZXIgaXQuIFNvIHRoZSBhYm92ZSBjb2RlIHByb2dyYW0g
d2lsbCBub3cgdHVybiBpbnRvIHRoaXM6CisgICAgICAgIGBgYAorICAgICAgICBhOiBQaGFudG9t
QXJndW1lbnRzCisgICAgICAgIGI6IENoZWNrKEBhKQorICAgICAgICBjOiBGb3JjZUV4aXQKKyAg
ICAgICAgZTogVW5yZWFjaGFibGUKKyAgICAgICAgYGBgCisKKyAgICAgICAgKiBkZmcvREZHQXJn
dW1lbnRzRWxpbWluYXRpb25QaGFzZS5jcHA6CisKIDIwMTgtMDktMTcgIERhcmluIEFkbGVyICA8
ZGFyaW5AYXBwbGUuY29tPgogCiAgICAgICAgIFVzZSBPcGFxdWVKU1N0cmluZyByYXRoZXIgdGhh
biBKU1JldGFpblB0ciBpbnNpZGUgV2ViS2l0CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR0FyZ3VtZW50c0VsaW1pbmF0aW9uUGhhc2UuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQXJndW1lbnRzRWxpbWluYXRpb25QaGFzZS5jcHAJKHJl
dmlzaW9uIDIzNjA3OCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQXJndW1lbnRz
RWxpbWluYXRpb25QaGFzZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTYyNyw2ICs2MjcsNyBAQCBw
cml2YXRlOgogICAgICAgICBJbnNlcnRpb25TZXQgaW5zZXJ0aW9uU2V0KG1fZ3JhcGgpOwogICAg
ICAgICAKICAgICAgICAgZm9yIChCYXNpY0Jsb2NrKiBibG9jayA6IG1fZ3JhcGguYmxvY2tzSW5Q
cmVPcmRlcigpKSB7CisgICAgICAgICAgICBOb2RlKiBwc2V1ZG9UZXJtaW5hbCA9IG51bGxwdHI7
CiAgICAgICAgICAgICBmb3IgKHVuc2lnbmVkIG5vZGVJbmRleCA9IDA7IG5vZGVJbmRleCA8IGJs
b2NrLT5zaXplKCk7ICsrbm9kZUluZGV4KSB7CiAgICAgICAgICAgICAgICAgTm9kZSogbm9kZSA9
IGJsb2NrLT5hdChub2RlSW5kZXgpOwogICAgICAgICAgICAgICAgIApAQCAtMTIxMCwxMSArMTIx
MSwyNSBAQCBwcml2YXRlOgogICAgICAgICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICAg
ICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBpZiAobm9k
ZS0+aXNQc2V1ZG9UZXJtaW5hbCgpKQorCisgICAgICAgICAgICAgICAgaWYgKG5vZGUtPmlzUHNl
dWRvVGVybWluYWwoKSkgeworICAgICAgICAgICAgICAgICAgICBwc2V1ZG9UZXJtaW5hbCA9IG5v
ZGU7CiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIH0KICAgICAg
ICAgICAgIH0KLSAgICAgICAgICAgIAorCiAgICAgICAgICAgICBpbnNlcnRpb25TZXQuZXhlY3V0
ZShibG9jayk7CisKKyAgICAgICAgICAgIGlmIChwc2V1ZG9UZXJtaW5hbCkgeworICAgICAgICAg
ICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBibG9jay0+c2l6ZSgpOyArK2kpIHsKKyAg
ICAgICAgICAgICAgICAgICAgTm9kZSogbm9kZSA9IGJsb2NrLT5hdChpKTsKKyAgICAgICAgICAg
ICAgICAgICAgaWYgKG5vZGUgIT0gcHNldWRvVGVybWluYWwpCisgICAgICAgICAgICAgICAgICAg
ICAgICBjb250aW51ZTsKKyAgICAgICAgICAgICAgICAgICAgYmxvY2stPnJlc2l6ZShpICsgMSk7
CisgICAgICAgICAgICAgICAgICAgIGJsb2NrLT5hcHBlbmQobV9ncmFwaC5hZGROb2RlKFNwZWNO
b25lLCBVbnJlYWNoYWJsZSwgbm9kZS0+b3JpZ2luKSk7CisgICAgICAgICAgICAgICAgICAgIGJy
ZWFrOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgIH0K
ICAgICAK
</data>
<flag name="commit-queue"
          id="367475"
          type_id="3"
          status="-"
          setter="ews-watchlist"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>350298</attachid>
            <date>2018-09-20 18:33:48 -0700</date>
            <delta_ts>2018-09-24 13:12:34 -0700</delta_ts>
            <desc>patch</desc>
            <filename>c-backup.diff</filename>
            <type>text/plain</type>
            <size>4422</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyMzYyOTYpCisrKyBKU1Rlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDE0IEBACisyMDE4LTA5LTIwICBTYWFtIGJhcmF0aSAgPHNiYXJhdGlAYXBwbGUu
Y29tPgorCisgICAgICAgIEFyZ3VtZW50c0VsaW1pbmF0aW9uUGhhc2Ugc2hvdWxkIHNuaXAgYmFz
aWMgYmxvY2tzIGFmdGVyIHByb3ZlbiBPU1IgZXhpdHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4OTY4MgorICAgICAgICA8cmRhcjovL3Byb2JsZW0v
NDM1NTczMTU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBzdHJlc3MvYXJndW1lbnRzLWVsaW1pbmF0aW9uLXdpbGwtZ2VuZXJhdGUtZWRnZS13aXRo
b3V0LXJlc3VsdC5qczogQWRkZWQuCisgICAgICAgIChmb28pOgorCiAyMDE4LTA5LTE5ICBZdXN1
a2UgU3V6dWtpICA8eXVzdWtlc3V6dWtpQHNsb3dzdGFydC5vcmc+CiAKICAgICAgICAgW0pTQ10g
T3B0aW1pemUgQXJyYXkjaW5kZXhPZiBpbiBDKysgcnVudGltZQpJbmRleDogSlNUZXN0cy9zdHJl
c3MvYXJndW1lbnRzLWVsaW1pbmF0aW9uLXdpbGwtZ2VuZXJhdGUtZWRnZS13aXRob3V0LXJlc3Vs
dC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3N0cmVzcy9hcmd1bWVudHMtZWxpbWluYXRpb24t
d2lsbC1nZW5lcmF0ZS1lZGdlLXdpdGhvdXQtcmVzdWx0LmpzCShub25leGlzdGVudCkKKysrIEpT
VGVzdHMvc3RyZXNzL2FyZ3VtZW50cy1lbGltaW5hdGlvbi13aWxsLWdlbmVyYXRlLWVkZ2Utd2l0
aG91dC1yZXN1bHQuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw5IEBACisvL0AgcnVuRGVm
YXVsdCgiLS12YWxpZGF0ZUdyYXBoQXRFYWNoUGhhc2U9dHJ1ZSIsICItLWppdFBvbGljeVNjYWxl
PTAiLCAiLS11c2VDb25jdXJyZW50SklUPTAiKQorCisndXNlIHN0cmljdCc7CitmdW5jdGlvbiBm
b28oKSB7CisgIHJldHVybiBhcmd1bWVudHNbMV1bMF0gPT09IGFyZ3VtZW50c1swXTsKK30KK2Zv
ciAobGV0IGkgPSAwOyBpIDwgMTAwMDAwOyArK2kpIHsKKyAgZm9vKDAsIDApOworfQpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMzYyODgpCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzkgQEAKKzIwMTgt
MDktMjAgIFNhYW0gYmFyYXRpICA8c2JhcmF0aUBhcHBsZS5jb20+CisKKyAgICAgICAgQXJndW1l
bnRzRWxpbWluYXRpb25QaGFzZSBzaG91bGQgc25pcCBiYXNpYyBibG9ja3MgYWZ0ZXIgcHJvdmVu
IE9TUiBleGl0cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTg5NjgyCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS80MzU1NzMxNT4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBPdGhlcndpc2UsIGlmIHdlIGhh
dmUgY29kZSBsaWtlIHRoaXM6CisgICAgICAgIGBgYAorICAgICAgICBhOiBBcmd1bWVudHMKKyAg
ICAgICAgYjogR2V0QnV0dGVyZmx5KEBhKQorICAgICAgICBjOiBGb3JjZUV4aXQKKyAgICAgICAg
ZDogR2V0QXJyYXlMZW5ndGgoQGEsIEBiKQorICAgICAgICBgYGAKKyAgICAgICAgaXQgd2lsbCBn
ZXQgdHJhbnNmb3JtZWQgaW50byB0aGlzIGludmFsaWQgREZHIElSOgorICAgICAgICBgYGAKKyAg
ICAgICAgYTogUGhhbnRvbUFyZ3VtZW50cworICAgICAgICBiOiBDaGVjayhAYSkKKyAgICAgICAg
YzogRm9yY2VFeGl0CisgICAgICAgIGQ6IEdldEFycmF5TGVuZ3RoKEBhLCBAYikKKyAgICAgICAg
YGBgCisgICAgICAgIAorICAgICAgICBBbmQgd2Ugd2lsbCBmYWlsIERGRyB2YWxpZGF0aW9uIHNp
bmNlIEBiIGRvZXMgbm90IGhhdmUgYSByZXN1bHQuCisgICAgICAgIAorICAgICAgICBUaGUgZml4
IGlzIHRvIGp1c3QgcmVtb3ZlIGFsbCBub2RlcyBhZnRlciB0aGUgRm9yY2VFeGl0IGFuZCBwbGFu
dCBhbgorICAgICAgICBVbnJlYWNoYWJsZSBhZnRlciBpdC4gU28gdGhlIGFib3ZlIGNvZGUgcHJv
Z3JhbSB3aWxsIG5vdyB0dXJuIGludG8gdGhpczoKKyAgICAgICAgYGBgCisgICAgICAgIGE6IFBo
YW50b21Bcmd1bWVudHMKKyAgICAgICAgYjogQ2hlY2soQGEpCisgICAgICAgIGM6IEZvcmNlRXhp
dAorICAgICAgICBlOiBVbnJlYWNoYWJsZQorICAgICAgICBgYGAKKworICAgICAgICAqIGRmZy9E
RkdBcmd1bWVudHNFbGltaW5hdGlvblBoYXNlLmNwcDoKKwogMjAxOC0wOS0yMCAgUnlhbiBIYWRk
YWQgIDxyeWFuaGFkZGFkQGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5n
IG91dCByMjM2MjM1LgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBcmd1bWVu
dHNFbGltaW5hdGlvblBoYXNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR0FyZ3VtZW50c0VsaW1pbmF0aW9uUGhhc2UuY3BwCShyZXZpc2lvbiAyMzYyODgp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0FyZ3VtZW50c0VsaW1pbmF0aW9uUGhh
c2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02MjQsOSArNjI0LDEyIEBAIHByaXZhdGU6CiAgICAg
CiAgICAgdm9pZCB0cmFuc2Zvcm0oKQogICAgIHsKLSAgICAgICAgSW5zZXJ0aW9uU2V0IGluc2Vy
dGlvblNldChtX2dyYXBoKTsKKyAgICAgICAgYm9vbCBtb2RpZmllZENGRyA9IGZhbHNlOwogICAg
ICAgICAKKyAgICAgICAgSW5zZXJ0aW9uU2V0IGluc2VydGlvblNldChtX2dyYXBoKTsKKwogICAg
ICAgICBmb3IgKEJhc2ljQmxvY2sqIGJsb2NrIDogbV9ncmFwaC5ibG9ja3NJblByZU9yZGVyKCkp
IHsKKyAgICAgICAgICAgIE5vZGUqIHBzZXVkb1Rlcm1pbmFsID0gbnVsbHB0cjsKICAgICAgICAg
ICAgIGZvciAodW5zaWduZWQgbm9kZUluZGV4ID0gMDsgbm9kZUluZGV4IDwgYmxvY2stPnNpemUo
KTsgKytub2RlSW5kZXgpIHsKICAgICAgICAgICAgICAgICBOb2RlKiBub2RlID0gYmxvY2stPmF0
KG5vZGVJbmRleCk7CiAgICAgICAgICAgICAgICAgCkBAIC0xMjEwLDExICsxMjEzLDMyIEBAIHBy
aXZhdGU6CiAgICAgICAgICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgICAgICAgICAgYnJl
YWs7CiAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGlmIChub2RlLT5pc1BzZXVk
b1Rlcm1pbmFsKCkpCisKKyAgICAgICAgICAgICAgICBpZiAobm9kZS0+aXNQc2V1ZG9UZXJtaW5h
bCgpKSB7CisgICAgICAgICAgICAgICAgICAgIHBzZXVkb1Rlcm1pbmFsID0gbm9kZTsKICAgICAg
ICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQot
ICAgICAgICAgICAgCisKICAgICAgICAgICAgIGluc2VydGlvblNldC5leGVjdXRlKGJsb2NrKTsK
KworICAgICAgICAgICAgaWYgKHBzZXVkb1Rlcm1pbmFsKSB7CisgICAgICAgICAgICAgICAgZm9y
ICh1bnNpZ25lZCBpID0gMDsgaSA8IGJsb2NrLT5zaXplKCk7ICsraSkgeworICAgICAgICAgICAg
ICAgICAgICBOb2RlKiBub2RlID0gYmxvY2stPmF0KGkpOworICAgICAgICAgICAgICAgICAgICBp
ZiAobm9kZSAhPSBwc2V1ZG9UZXJtaW5hbCkKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRp
bnVlOworICAgICAgICAgICAgICAgICAgICBibG9jay0+cmVzaXplKGkgKyAxKTsKKyAgICAgICAg
ICAgICAgICAgICAgYmxvY2stPmFwcGVuZChtX2dyYXBoLmFkZE5vZGUoU3BlY05vbmUsIFVucmVh
Y2hhYmxlLCBub2RlLT5vcmlnaW4pKTsKKyAgICAgICAgICAgICAgICAgICAgbW9kaWZpZWRDRkcg
PSB0cnVlOworICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICB9Cisg
ICAgICAgICAgICB9CisgICAgICAgIH0KKworICAgICAgICBpZiAobW9kaWZpZWRDRkcpIHsKKyAg
ICAgICAgICAgIG1fZ3JhcGguaW52YWxpZGF0ZUNGRygpOworICAgICAgICAgICAgbV9ncmFwaC5y
ZXNldFJlYWNoYWJpbGl0eSgpOworICAgICAgICAgICAgbV9ncmFwaC5raWxsVW5yZWFjaGFibGVC
bG9ja3MoKTsKICAgICAgICAgfQogICAgIH0KICAgICAK
</data>

          </attachment>
      

    </bug>

</bugzilla>