<?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>193796</bug_id>
          
          <creation_ts>2019-01-24 16:12:01 -0800</creation_ts>
          <short_desc>Web Inspector: Exclude Debugger Threads from CPU Usage values in Web Inspector</short_desc>
          <delta_ts>2019-03-29 19:30:23 -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>Web Inspector</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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="Joseph Pecoraro">joepeck</reporter>
          <assigned_to name="Joseph Pecoraro">joepeck</assigned_to>
          <cc>benjamin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>hi</cc>
    
    <cc>inspector-bugzilla-changes</cc>
    
    <cc>joepeck</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1498017</commentid>
    <comment_count>0</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2019-01-24 16:12:01 -0800</bug_when>
    <thetext>Exclude Debugger Threads from CPU Usage values in Web Inspector

When the Web Inspector is inspecting the CPU usage of a Web Content process, we should exclude Web Inspector related work:

  • Sampling Profiler when the Scripts timeline is shown
  • Resource Usage Thread itself which is calculating the cpu usage and memory usage of the process</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1498019</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-01-24 16:12:27 -0800</bug_when>
    <thetext>&lt;rdar://problem/47532910&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1498029</commentid>
    <comment_count>2</comment_count>
      <attachid>360048</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2019-01-24 16:39:15 -0800</bug_when>
    <thetext>Created attachment 360048
[PATCH] Proposed Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1498053</commentid>
    <comment_count>3</comment_count>
      <attachid>360058</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2019-01-24 17:21:16 -0800</bug_when>
    <thetext>Created attachment 360058
[PATCH] Proposed Fix

Should apply now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1498059</commentid>
    <comment_count>4</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2019-01-24 17:26:09 -0800</bug_when>
    <thetext>Attachment 360058 did not pass style-queue:


ERROR: Source/WebCore/page/cocoa/ResourceUsageThreadCocoa.mm:143:  Extra space before ( in function call  [whitespace/parens] [4]
Total errors found: 1 in 9 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1498119</commentid>
    <comment_count>5</comment_count>
      <attachid>360077</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2019-01-24 19:51:33 -0800</bug_when>
    <thetext>Created attachment 360077
[PATCH] Proposed Fix

Oops rebaseline troubles.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1498121</commentid>
    <comment_count>6</comment_count>
      <attachid>360078</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2019-01-24 19:52:40 -0800</bug_when>
    <thetext>Created attachment 360078
[PATCH] Proposed Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1498122</commentid>
    <comment_count>7</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2019-01-24 19:54:05 -0800</bug_when>
    <thetext>Attachment 360078 did not pass style-queue:


ERROR: Source/WebCore/page/cocoa/ResourceUsageThreadCocoa.mm:143:  Extra space before ( in function call  [whitespace/parens] [4]
Total errors found: 1 in 9 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1498151</commentid>
    <comment_count>8</comment_count>
      <attachid>360078</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2019-01-24 22:51:33 -0800</bug_when>
    <thetext>Comment on attachment 360078
[PATCH] Proposed Fix

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

&gt; Source/WebCore/ChangeLog:17
&gt; +        For OS(DARWIN) ports, when starting to observe resource usage

Grammar: there should be a comma =&gt; &quot;usage,\n grab&quot;

&gt; Source/WebCore/ChangeLog:19
&gt; +        in a thread safe way. For our purposes, Web Inspector timelines,

NIT: &quot;purposes, Web Inspector timelines,\n this&quot; =&gt; &quot;purposes (WebInspector timelines),\n this&quot;

&gt; Source/WebCore/ChangeLog:20
&gt; +        this will be good enough. The SamplingProfiler won&apos;t change

Good enough for what?  Good enough for ensuring that we exclude debugger threads?

&gt; Source/WebCore/page/cocoa/ResourceUsageThreadCocoa.mm:143
&gt; +static Vector&lt;MachSendRight&gt; filterThreads(Function&lt;bool (mach_port_t)&gt;&amp;&amp; filterFunction)

Is this the best name for this?  I feel like the old `threadSendRights` was a bit clearer as to what this function actually did.  Maybe we should just have a better name for `filterFunction`, like `sendPredicate`?

Alternatively, couldn&apos;t you filter the list previously returned by `threadSendRights` after it&apos;s been called (create a `Vector::copyMatching`), this way we can avoid some of the other logic in this function (e.g. `threadSendRights` is guaranteed to be a superset of `threadSendRightsExcludingDebuggerThreads`, so we shouldn&apos;t have to call `task_threads` again)?

&gt; Source/WebCore/page/cocoa/ResourceUsageThreadCocoa.mm:170
&gt; +static Vector&lt;MachSendRight&gt; threadSendRightsExcludingDebuggerThreads(mach_port_t resourceUsageThread, mach_port_t samplingProfilerThread)

It seems odd to have a variable named `samplingProfilerThread` in the case that the `SAMPLING_PROFILER` flag is disabled.  Why not use a `HashSet` (or even a struct with `if`-wrapped member variables) so that it can be more flexible with other thread types in the future?

&gt; Source/WebCore/page/cocoa/ResourceUsageThreadCocoa.mm:181
&gt; +static float cpuUsage(Vector&lt;MachSendRight&gt; machThreads)

NIT: should this be a &amp; to avoid copying the vector?

&gt; Source/WebCore/page/cocoa/ResourceUsageThreadCocoa.mm:227
&gt; +#if ENABLE(SAMPLING_PROFILER)

NIT: shouldn&apos;t only the `m_samplingProfilerMachThread = ...` line be wrapped in the `#if`?  This would let you avoid defining the function twice.

    void ResourceUsageThread::platformSaveStateBeforeStarting()
    {
    #if ENABLE(SAMPLING_PROFILER)
        m_samplingProfilerMachThread = m_vm-&gt;samplingProfiler() ? m_vm-&gt;samplingProfiler()-&gt;machThread() : MACH_PORT_NULL;
    #endif
    }</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1498429</commentid>
    <comment_count>9</comment_count>
      <attachid>360078</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2019-01-25 13:47:15 -0800</bug_when>
    <thetext>Comment on attachment 360078
[PATCH] Proposed Fix

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

&gt;&gt; Source/WebCore/page/cocoa/ResourceUsageThreadCocoa.mm:143
&gt;&gt; +static Vector&lt;MachSendRight&gt; filterThreads(Function&lt;bool (mach_port_t)&gt;&amp;&amp; filterFunction)
&gt; 
&gt; Is this the best name for this?  I feel like the old `threadSendRights` was a bit clearer as to what this function actually did.  Maybe we should just have a better name for `filterFunction`, like `sendPredicate`?
&gt; 
&gt; Alternatively, couldn&apos;t you filter the list previously returned by `threadSendRights` after it&apos;s been called (create a `Vector::copyMatching`), this way we can avoid some of the other logic in this function (e.g. `threadSendRights` is guaranteed to be a superset of `threadSendRightsExcludingDebuggerThreads`, so we shouldn&apos;t have to call `task_threads` again)?

That sounds good.

&gt;&gt; Source/WebCore/page/cocoa/ResourceUsageThreadCocoa.mm:181
&gt;&gt; +static float cpuUsage(Vector&lt;MachSendRight&gt; machThreads)
&gt; 
&gt; NIT: should this be a &amp; to avoid copying the vector?

Yep!

&gt;&gt; Source/WebCore/page/cocoa/ResourceUsageThreadCocoa.mm:227
&gt;&gt; +#if ENABLE(SAMPLING_PROFILER)
&gt; 
&gt; NIT: shouldn&apos;t only the `m_samplingProfilerMachThread = ...` line be wrapped in the `#if`?  This would let you avoid defining the function twice.
&gt; 
&gt;     void ResourceUsageThread::platformSaveStateBeforeStarting()
&gt;     {
&gt;     #if ENABLE(SAMPLING_PROFILER)
&gt;         m_samplingProfilerMachThread = m_vm-&gt;samplingProfiler() ? m_vm-&gt;samplingProfiler()-&gt;machThread() : MACH_PORT_NULL;
&gt;     #endif
&gt;     }

Will do.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1498430</commentid>
    <comment_count>10</comment_count>
      <attachid>360156</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2019-01-25 13:47:30 -0800</bug_when>
    <thetext>Created attachment 360156
[PATCH] Proposed Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1498444</commentid>
    <comment_count>11</comment_count>
      <attachid>360156</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2019-01-25 13:55:49 -0800</bug_when>
    <thetext>Comment on attachment 360156
[PATCH] Proposed Fix

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

r=me

&gt; Source/WebCore/ChangeLog:20
&gt; +        this will be good enough to threading identifying the

Typo: &quot;threading identifying&quot;?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1498514</commentid>
    <comment_count>12</comment_count>
      <attachid>360176</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2019-01-25 15:27:39 -0800</bug_when>
    <thetext>Created attachment 360176
[PATCH] For Landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1498528</commentid>
    <comment_count>13</comment_count>
      <attachid>360176</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-01-25 15:45:10 -0800</bug_when>
    <thetext>Comment on attachment 360176
[PATCH] For Landing

Clearing flags on attachment: 360176

Committed r240522: &lt;https://trac.webkit.org/changeset/240522&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1522710</commentid>
    <comment_count>14</comment_count>
      <attachid>360156</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2019-03-29 19:30:23 -0700</bug_when>
    <thetext>Comment on attachment 360156
[PATCH] Proposed Fix

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

&gt; Source/WebCore/page/ResourceUsageThread.h:77
&gt; +    void platformSaveStateBeforeStarting();

Somehow this patch never called this. I must have lost it when cherry-picking changes!</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>360048</attachid>
            <date>2019-01-24 16:39:15 -0800</date>
            <delta_ts>2019-01-24 17:21:16 -0800</delta_ts>
            <desc>[PATCH] Proposed Fix</desc>
            <filename>exclude-1.patch</filename>
            <type>text/plain</type>
            <size>9913</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGJjOGU4NTVhNWM4Li5lMzUzMGQ2ZjMyYiAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTktMDEtMjQgIEpvc2Vw
aCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9y
OiBFeGNsdWRlIERlYnVnZ2VyIFRocmVhZHMgZnJvbSBDUFUgVXNhZ2UgdmFsdWVzIGluIFdlYiBJ
bnNwZWN0b3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE5Mzc5NgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDc1MzI5MTA+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBydW50aW1lL1NhbXBsaW5nUHJv
ZmlsZXIuY3BwOgorICAgICAgICAoSlNDOjpTYW1wbGluZ1Byb2ZpbGVyOjptYWNoVGhyZWFkKToK
KyAgICAgICAgKiBydW50aW1lL1NhbXBsaW5nUHJvZmlsZXIuaDoKKyAgICAgICAgRXhwb3NlIHRo
ZSBtYWNoX3BvcnRfdCBvZiB0aGUgU2FtcGxpbmdQcm9maWxlciB0aHJlYWQKKyAgICAgICAgc28g
aXQgY2FuIGJlIHRlc3RlZCBhZ2FpbnN0IGxhdGVyLgorCiAyMDE5LTAxLTI0ICBKb3NlcGggUGVj
b3Jhcm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogQ1BV
IFVzYWdlIFRpbWVsaW5lCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9TYW1wbGluZ1Byb2ZpbGVyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Nh
bXBsaW5nUHJvZmlsZXIuY3BwCmluZGV4IGY0YjA3ZDllZjgyLi5kNjAzMmRkNDBkMyAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU2FtcGxpbmdQcm9maWxlci5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU2FtcGxpbmdQcm9maWxlci5jcHAK
QEAgLTEwNzksNiArMTA3OSwxNyBAQCB2b2lkIFNhbXBsaW5nUHJvZmlsZXI6OnJlcG9ydFRvcEJ5
dGVjb2RlcyhQcmludFN0cmVhbSYgb3V0KQogICAgIH0KIH0KIAorI2lmIE9TKERBUldJTikKK21h
Y2hfcG9ydF90IFNhbXBsaW5nUHJvZmlsZXI6Om1hY2hUaHJlYWQoKQoreworICAgIGlmICghbV90
aHJlYWQpCisgICAgICAgIHJldHVybiBNQUNIX1BPUlRfTlVMTDsKKworICAgIHJldHVybiBtX3Ro
cmVhZC0+bWFjaFRocmVhZCgpOworfQorI2VuZGlmCisKKwogfSAvLyBuYW1lc3BhY2UgSlNDCiAK
IG5hbWVzcGFjZSBXVEYgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvU2FtcGxpbmdQcm9maWxlci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU2Ft
cGxpbmdQcm9maWxlci5oCmluZGV4IGM3OWFlNzU5NWYyLi5mZmM5MTM1N2Y4ZCAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU2FtcGxpbmdQcm9maWxlci5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NhbXBsaW5nUHJvZmlsZXIuaApAQCAtMTgy
LDYgKzE4MiwxMCBAQCBwdWJsaWM6CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgdm9pZCByZXBvcnRU
b3BCeXRlY29kZXMoKTsKICAgICBKU19FWFBPUlRfUFJJVkFURSB2b2lkIHJlcG9ydFRvcEJ5dGVj
b2RlcyhQcmludFN0cmVhbSYpOwogCisjaWYgT1MoREFSV0lOKQorICAgIEpTX0VYUE9SVF9QUklW
QVRFIG1hY2hfcG9ydF90IG1hY2hUaHJlYWQoKTsKKyNlbmRpZgorCiBwcml2YXRlOgogICAgIHZv
aWQgY3JlYXRlVGhyZWFkSWZOZWNlc3NhcnkoY29uc3QgQWJzdHJhY3RMb2NrZXImKTsKICAgICB2
b2lkIHRpbWVyTG9vcCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDRkM2I4MDEyMzZhLi44NGFjZDc5ZGMyMCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDE5LTAxLTI0ICBKb3NlcGggUGVjb3Jhcm8g
IDxwZWNvcmFyb0BhcHBsZS5jb20+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogRXhjbHVkZSBE
ZWJ1Z2dlciBUaHJlYWRzIGZyb20gQ1BVIFVzYWdlIHZhbHVlcyBpbiBXZWIgSW5zcGVjdG9yCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTM3OTYKKyAg
ICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ3NTMyOTEwPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogcGFnZS9SZXNvdXJjZVVzYWdlRGF0YS5oOgorICAg
ICAgICAqIGluc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yQ1BVUHJvZmlsZXJBZ2VudC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDUFVQcm9maWxlckFnZW50Ojpjb2xsZWN0U2FtcGxl
KToKKyAgICAgICAgU2hvdyB0aGUgQ1BVIHVzYWdlIHdpdGhvdXQgZGVidWdnZXIgdGhyZWFkcyBp
biB0aGUgV2ViIEluc3BlY3RvcidzIHRpbWVsaW5lLgorCisgICAgICAgICogcGFnZS9SZXNvdXJj
ZVVzYWdlVGhyZWFkLmg6CisgICAgICAgICogcGFnZS9jb2NvYS9SZXNvdXJjZVVzYWdlVGhyZWFk
Q29jb2EubW06CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVVzYWdlVGhyZWFkOjpwbGF0Zm9y
bVNhdmVTdGF0ZUJlZm9yZVN0YXJ0aW5nKToKKyAgICAgICAgRm9yIE9TKERBUldJTikgcG9ydHMs
IHdoZW4gc3RhcnRpbmcgdG8gb2JzZXJ2ZSByZXNvdXJjZSB1c2FnZQorICAgICAgICBncmFiIHRo
ZSBtYWNoX3BvcnRfdCBvZiBTYW1wbGluZ1Byb2ZpbGVyIG9uIHRoZSBtYWluIHRocmVhZAorICAg
ICAgICBpbiBhIHRocmVhZCBzYWZlIHdheS4gRm9yIG91ciBwdXJwb3NlcywgV2ViIEluc3BlY3Rv
ciB0aW1lbGluZXMsCisgICAgICAgIHRoaXMgd2lsbCBiZSBnb29kIGVub3VnaC4gVGhlIFNhbXBs
aW5nUHJvZmlsZXIgd29uJ3QgY2hhbmdlCisgICAgICAgIGR1cmluZyBhIHRpbWVsaW5lIHJlY29y
ZGluZyBhbmQgcmVjb3JkaW5nIHN0YXJ0L3N0b3BzIHdpbGwgbmV2ZXIKKyAgICAgICAgbWlzcyB0
aGUgU2FtcGxpbmdQcm9maWxlciBjaGFuZ2luZy4KKworICAgICAgICAoV2ViQ29yZTo6ZmlsdGVy
VGhyZWFkcyk6CisgICAgICAgIChXZWJDb3JlOjp0aHJlYWRTZW5kUmlnaHRzKToKKyAgICAgICAg
KFdlYkNvcmU6OnRocmVhZFNlbmRSaWdodHNFeGNsdWRpbmdEZWJ1Z2dlclRocmVhZHMpOgorICAg
ICAgICAoV2ViQ29yZTo6Y3B1VXNhZ2UpOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VVc2Fn
ZVRocmVhZDo6cGxhdGZvcm1Db2xsZWN0Q1BVRGF0YSk6CisgICAgICAgIENhbGN1bGF0ZSBDUFUg
dXNhZ2UgdHdpY2UsIHRoZSBzZWNvbmQgdGltZSBleGNsdWRpbmcgc29tZSB0aHJlYWRzLgorCisg
ICAgICAgICogcGFnZS9saW51eC9SZXNvdXJjZVVzYWdlVGhyZWFkTGludXguY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UmVzb3VyY2VVc2FnZVRocmVhZDo6cGxhdGZvcm1TYXZlU3RhdGVCZWZvcmVT
dGFydGluZyk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVVzYWdlVGhyZWFkOjpwbGF0Zm9y
bUNvbGxlY3RDUFVEYXRhKToKKyAgICAgICAgU3R1YnMgZm9yIGxpbnV4IHBvcnRzLgorCiAyMDE5
LTAxLTI0ICBKb3NlcGggUGVjb3Jhcm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CiAKICAgICAgICAg
V2ViIEluc3BlY3RvcjogQ1BVIFVzYWdlIFRpbWVsaW5lCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckNQVVByb2ZpbGVyQWdlbnQuY3BwIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JDUFVQcm9maWxlckFnZW50LmNw
cAppbmRleCA2NjI0OGI5ODJmMi4uOGRhYjFhZmNjOTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yQ1BVUHJvZmlsZXJBZ2VudC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JDUFVQcm9maWxlckFnZW50
LmNwcApAQCAtODQsNyArODQsNyBAQCB2b2lkIEluc3BlY3RvckNQVVByb2ZpbGVyQWdlbnQ6OmNv
bGxlY3RTYW1wbGUoY29uc3QgUmVzb3VyY2VVc2FnZURhdGEmIGRhdGEpCiB7CiAgICAgYXV0byBl
dmVudCA9IFByb3RvY29sOjpDUFVQcm9maWxlcjo6RXZlbnQ6OmNyZWF0ZSgpCiAgICAgICAgIC5z
ZXRUaW1lc3RhbXAobV9lbnZpcm9ubWVudC5leGVjdXRpb25TdG9wd2F0Y2goKS0+ZWxhcHNlZFRp
bWVTaW5jZShkYXRhLnRpbWVzdGFtcCkuc2Vjb25kcygpKQotICAgICAgICAuc2V0VXNhZ2UoZGF0
YS5jcHUpCisgICAgICAgIC5zZXRVc2FnZShkYXRhLmNwdUV4Y2x1ZGluZ0RlYnVnZ2VyVGhyZWFk
cykKICAgICAgICAgLnJlbGVhc2UoKTsKIAogICAgIG1fZnJvbnRlbmREaXNwYXRjaGVyLT50cmFj
a2luZ1VwZGF0ZShXVEZNb3ZlKGV2ZW50KSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1Jlc291cmNlVXNhZ2VEYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Jlc291cmNlVXNh
Z2VEYXRhLmgKaW5kZXggYWI5NzdiNWU0NDMuLjEyYmU4NzE5ZWEzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1Jlc291cmNlVXNhZ2VEYXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9SZXNvdXJjZVVzYWdlRGF0YS5oCkBAIC03NSw2ICs3NSw3IEBAIHN0cnVjdCBSZXNvdXJj
ZVVzYWdlRGF0YSB7CiAgICAgY29uc3RleHByIFJlc291cmNlVXNhZ2VEYXRhKCkgPSBkZWZhdWx0
OwogCiAgICAgZmxvYXQgY3B1IHsgMCB9OworICAgIGZsb2F0IGNwdUV4Y2x1ZGluZ0RlYnVnZ2Vy
VGhyZWFkcyB7IDAgfTsKICAgICBzaXplX3QgdG90YWxEaXJ0eVNpemUgeyAwIH07CiAgICAgc2l6
ZV90IHRvdGFsRXh0ZXJuYWxTaXplIHsgMCB9OwogICAgIHN0ZDo6YXJyYXk8TWVtb3J5Q2F0ZWdv
cnlJbmZvLCBNZW1vcnlDYXRlZ29yeTo6TnVtYmVyT2ZDYXRlZ29yaWVzPiBjYXRlZ29yaWVzIHsg
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9SZXNvdXJjZVVzYWdlVGhyZWFkLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Jlc291cmNlVXNhZ2VUaHJlYWQuaAppbmRleCA3ZGZiNGE3
YmMxMy4uYTQ4MjQxNWE1NmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUmVzb3Vy
Y2VVc2FnZVRocmVhZC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUmVzb3VyY2VVc2FnZVRo
cmVhZC5oCkBAIC0zNyw2ICszNywxMCBAQAogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgog
I2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmcuaD4KIAorI2lmIE9TKERBUldJTikKKyNpbmNsdWRlIDxt
YWNoL21hY2guaD4KKyNlbmRpZgorCiBuYW1lc3BhY2UgSlNDIHsKIGNsYXNzIFZNOwogfQpAQCAt
ODIsNiArODYsMTEgQEAgcHJpdmF0ZToKICAgICAvLyBQbGF0Zm9ybXMgbWF5IG5lZWQgdG8gYWNj
ZXNzIHNvbWUgZGF0YSBmcm9tIHRoZSBjb21tb24gVk0uCiAgICAgLy8gVGhleSBzaG91bGQgZW5z
dXJlIHRoZWlyIHVzZSBvZiB0aGUgVk0gaXMgdGhyZWFkIHNhZmUuCiAgICAgSlNDOjpWTSogbV92
bSB7IG51bGxwdHIgfTsKKworI2lmIEVOQUJMRShTQU1QTElOR19QUk9GSUxFUikgJiYgT1MoREFS
V0lOKQorICAgIG1hY2hfcG9ydF90IG1fc2FtcGxpbmdQcm9maWxlck1hY2hUaHJlYWQgeyBNQUNI
X1BPUlRfTlVMTCB9OworI2VuZGlmCisKIH07CiAKICNpZiBQTEFURk9STShDT0NPQSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvY29jb2EvUmVzb3VyY2VVc2FnZVRocmVhZENvY29h
Lm1tIGIvU291cmNlL1dlYkNvcmUvcGFnZS9jb2NvYS9SZXNvdXJjZVVzYWdlVGhyZWFkQ29jb2Eu
bW0KaW5kZXggZTY0NGFiZWYxMjYuLjBmOWFiMjE2M2RiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL2NvY29hL1Jlc291cmNlVXNhZ2VUaHJlYWRDb2NvYS5tbQorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL2NvY29hL1Jlc291cmNlVXNhZ2VUaHJlYWRDb2NvYS5tbQpAQCAtMzAsNiAr
MzAsNyBAQAogCiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvR0NBY3Rpdml0eUNhbGxiYWNrLmg+
CiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSGVhcC5oPgorI2luY2x1ZGUgPEphdmFTY3JpcHRD
b3JlL1NhbXBsaW5nUHJvZmlsZXIuaD4KICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9WTS5oPgog
I2luY2x1ZGUgPG1hY2gvbWFjaC5oPgogI2luY2x1ZGUgPG1hY2gvdm1fc3RhdGlzdGljcy5oPgpA
QCAtMTM5LDcgKzE0MCw3IEBAIHN0ZDo6YXJyYXk8VGFnSW5mbywgMjU2PiBwYWdlc1BlclZNVGFn
KCkKICAgICByZXR1cm4gdGFnczsKIH0KIAotc3RhdGljIFZlY3RvcjxNYWNoU2VuZFJpZ2h0PiB0
aHJlYWRTZW5kUmlnaHRzKCkKK3N0YXRpYyBWZWN0b3I8TWFjaFNlbmRSaWdodD4gZmlsdGVyVGhy
ZWFkcyhGdW5jdGlvbjxib29sIChtYWNoX3BvcnRfdCk+JiYgZmlsdGVyRnVuY3Rpb24pCiB7CiAg
ICAgdGhyZWFkX2FycmF5X3QgdGhyZWFkTGlzdCA9IG51bGxwdHI7CiAgICAgbWFjaF9tc2dfdHlw
ZV9udW1iZXJfdCB0aHJlYWRDb3VudCA9IDA7CkBAIC0xNDgsOCArMTQ5LDEwIEBAIHN0YXRpYyBW
ZWN0b3I8TWFjaFNlbmRSaWdodD4gdGhyZWFkU2VuZFJpZ2h0cygpCiAgICAgICAgIHJldHVybiB7
IH07CiAKICAgICBWZWN0b3I8TWFjaFNlbmRSaWdodD4gbWFjaFRocmVhZHM7Ci0gICAgZm9yICht
YWNoX21zZ190eXBlX251bWJlcl90IGkgPSAwOyBpIDwgdGhyZWFkQ291bnQ7ICsraSkKLSAgICAg
ICAgbWFjaFRocmVhZHMuYXBwZW5kKE1hY2hTZW5kUmlnaHQ6OmFkb3B0KHRocmVhZExpc3RbaV0p
KTsKKyAgICBmb3IgKG1hY2hfbXNnX3R5cGVfbnVtYmVyX3QgaSA9IDA7IGkgPCB0aHJlYWRDb3Vu
dDsgKytpKSB7CisgICAgICAgIGlmIChmaWx0ZXJGdW5jdGlvbih0aHJlYWRMaXN0W2ldKSkKKyAg
ICAgICAgICAgIG1hY2hUaHJlYWRzLmFwcGVuZChNYWNoU2VuZFJpZ2h0OjphZG9wdCh0aHJlYWRM
aXN0W2ldKSk7CisgICAgfQogCiAgICAga3IgPSB2bV9kZWFsbG9jYXRlKG1hY2hfdGFza19zZWxm
KCksICh2bV9vZmZzZXRfdCl0aHJlYWRMaXN0LCB0aHJlYWRDb3VudCAqIHNpemVvZih0aHJlYWRf
dCkpOwogICAgIEFTU0VSVChrciA9PSBLRVJOX1NVQ0NFU1MpOwpAQCAtMTU3LDEwICsxNjAsMjYg
QEAgc3RhdGljIFZlY3RvcjxNYWNoU2VuZFJpZ2h0PiB0aHJlYWRTZW5kUmlnaHRzKCkKICAgICBy
ZXR1cm4gbWFjaFRocmVhZHM7CiB9CiAKLXN0YXRpYyBmbG9hdCBjcHVVc2FnZSgpCitzdGF0aWMg
VmVjdG9yPE1hY2hTZW5kUmlnaHQ+IHRocmVhZFNlbmRSaWdodHMoKQogewotICAgIGF1dG8gbWFj
aFRocmVhZHMgPSB0aHJlYWRTZW5kUmlnaHRzKCk7CisgICAgcmV0dXJuIGZpbHRlclRocmVhZHMo
W10gKG1hY2hfcG9ydF90KSB7CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0pOworfQogCitz
dGF0aWMgVmVjdG9yPE1hY2hTZW5kUmlnaHQ+IHRocmVhZFNlbmRSaWdodHNFeGNsdWRpbmdEZWJ1
Z2dlclRocmVhZHMobWFjaF9wb3J0X3QgcmVzb3VyY2VVc2FnZVRocmVhZCwgbWFjaF9wb3J0X3Qg
c2FtcGxpbmdQcm9maWxlclRocmVhZCkKK3sKKyAgICByZXR1cm4gZmlsdGVyVGhyZWFkcyhbJl0g
KG1hY2hfcG9ydF90IHRocmVhZCkgeworICAgICAgICBpZiAodGhyZWFkID09IHJlc291cmNlVXNh
Z2VUaHJlYWQpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIGlmICh0aHJlYWQg
PT0gc2FtcGxpbmdQcm9maWxlck1hY2hUaHJlYWQpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7
CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0pOworfQorCitzdGF0aWMgZmxvYXQgY3B1VXNh
Z2UoVmVjdG9yPE1hY2hTZW5kUmlnaHQ+IG1hY2hUaHJlYWRzKQorewogICAgIGZsb2F0IHVzYWdl
ID0gMDsKIAogICAgIGZvciAoYXV0byYgbWFjaFRocmVhZCA6IG1hY2hUaHJlYWRzKSB7CkBAIC0y
MDUsOSArMjI0LDI2IEBAIHN0YXRpYyB1bnNpZ25lZCBjYXRlZ29yeUZvclZNVGFnKHVuc2lnbmVk
IHRhZykKICAgICB9CiB9CiAKKyNpZiBFTkFCTEUoU0FNUExJTkdfUFJPRklMRVIpCit2b2lkIFJl
c291cmNlVXNhZ2VUaHJlYWQ6OnBsYXRmb3JtU2F2ZVN0YXRlQmVmb3JlU3RhcnRpbmcoKQorewor
ICAgIG1fc2FtcGxpbmdQcm9maWxlck1hY2hUaHJlYWQgPSBtX3ZtLT5zYW1wbGluZ1Byb2ZpbGVy
KCkgPyBtX3ZtLT5zYW1wbGluZ1Byb2ZpbGVyKCktPm1hY2hUaHJlYWQoKSA6IE1BQ0hfUE9SVF9O
VUxMOworfQorI2Vsc2UKK3ZvaWQgUmVzb3VyY2VVc2FnZVRocmVhZDo6cGxhdGZvcm1TYXZlU3Rh
dGVCZWZvcmVTdGFydGluZygpIHsgfQorI2VuZGlmCisKIHZvaWQgUmVzb3VyY2VVc2FnZVRocmVh
ZDo6cGxhdGZvcm1Db2xsZWN0Q1BVRGF0YShKU0M6OlZNKiwgUmVzb3VyY2VVc2FnZURhdGEmIGRh
dGEpCiB7Ci0gICAgZGF0YS5jcHUgPSBjcHVVc2FnZSgpOworICAgIGRhdGEuY3B1ID0gY3B1VXNh
Z2UodGhyZWFkU2VuZFJpZ2h0cygpKTsKKworICAgIG1hY2hfcG9ydF90IHJlc291cmNlVXNhZ2VU
aHJlYWQgPSBtYWNoX3RocmVhZF9zZWxmKCk7CisjaWYgRU5BQkxFKFNBTVBMSU5HX1BST0ZJTEVS
KQorICAgIG1hY2hfcG9ydF90IHNhbXBsaW5nUHJvZmlsZXJUaHJlYWQgPSBtX3NhbXBsaW5nUHJv
ZmlsZXJNYWNoVGhyZWFkOworI2Vsc2UKKyAgICBtYWNoX3BvcnRfdCBzYW1wbGluZ1Byb2ZpbGVy
VGhyZWFkID0gTUFDSF9QT1JUX05VTEw7CisjZW5kaWYKKyAgICBkYXRhLmNwdUV4Y2x1ZGluZ0Rl
YnVnZ2VyVGhyZWFkcyA9IGNwdVVzYWdlKHRocmVhZFNlbmRSaWdodHNFeGNsdWRpbmdEZWJ1Z2dl
clRocmVhZHMocmVzb3VyY2VVc2FnZVRocmVhZCwgc2FtcGxpbmdQcm9maWxlclRocmVhZCkpOwog
fQogCiB2b2lkIFJlc291cmNlVXNhZ2VUaHJlYWQ6OnBsYXRmb3JtQ29sbGVjdE1lbW9yeURhdGEo
SlNDOjpWTSogdm0sIFJlc291cmNlVXNhZ2VEYXRhJiBkYXRhKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGFnZS9saW51eC9SZXNvdXJjZVVzYWdlVGhyZWFkTGludXguY3BwIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9saW51eC9SZXNvdXJjZVVzYWdlVGhyZWFkTGludXguY3BwCmluZGV4IGY3
NmYxNWFhNTcyLi4zMTQ5ZmY4N2I2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9s
aW51eC9SZXNvdXJjZVVzYWdlVGhyZWFkTGludXguY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvbGludXgvUmVzb3VyY2VVc2FnZVRocmVhZExpbnV4LmNwcApAQCAtMTUwLDkgKzE1MCwxNyBA
QCBzdGF0aWMgZmxvYXQgY3B1VXNhZ2UoKQogICAgIHJldHVybiBjbGFtcFRvPGZsb2F0Pih1c2Fn
ZSwgMCwgMTAwKTsKIH0KIAordm9pZCBSZXNvdXJjZVVzYWdlVGhyZWFkOjpwbGF0Zm9ybVNhdmVT
dGF0ZUJlZm9yZVN0YXJ0aW5nKCkKK3sKK30KKwogdm9pZCBSZXNvdXJjZVVzYWdlVGhyZWFkOjpw
bGF0Zm9ybUNvbGxlY3RDUFVEYXRhKEpTQzo6Vk0qLCBSZXNvdXJjZVVzYWdlRGF0YSYgZGF0YSkK
IHsKICAgICBkYXRhLmNwdSA9IGNwdVVzYWdlKCk7CisKKyAgICAvLyBGSVhNRTogRXhjbHVkZSB0
aGUgUmVzb3VyY2VVc2FnZSB0aHJlYWQuCisgICAgLy8gRklYTUU6IEV4Y2x1ZGUgdGhlIFNhbXBs
aW5nUHJvZmlsZXIgdGhyZWFkLgorICAgIGRhdGEuY3B1RXhjbHVkaW5nRGVidWdnZXJUaHJlYWRz
ID0gZGF0YS5jcHU7CiB9CiAKIHZvaWQgUmVzb3VyY2VVc2FnZVRocmVhZDo6cGxhdGZvcm1Db2xs
ZWN0TWVtb3J5RGF0YShKU0M6OlZNKiB2bSwgUmVzb3VyY2VVc2FnZURhdGEmIGRhdGEpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>360058</attachid>
            <date>2019-01-24 17:21:16 -0800</date>
            <delta_ts>2019-01-24 19:51:33 -0800</delta_ts>
            <desc>[PATCH] Proposed Fix</desc>
            <filename>exclude-1.patch</filename>
            <type>text/plain</type>
            <size>9913</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGJjOGU4NTVhNWM4Li5lMzUzMGQ2ZjMyYiAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTktMDEtMjQgIEpvc2Vw
aCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9y
OiBFeGNsdWRlIERlYnVnZ2VyIFRocmVhZHMgZnJvbSBDUFUgVXNhZ2UgdmFsdWVzIGluIFdlYiBJ
bnNwZWN0b3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE5Mzc5NgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDc1MzI5MTA+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBydW50aW1lL1NhbXBsaW5nUHJv
ZmlsZXIuY3BwOgorICAgICAgICAoSlNDOjpTYW1wbGluZ1Byb2ZpbGVyOjptYWNoVGhyZWFkKToK
KyAgICAgICAgKiBydW50aW1lL1NhbXBsaW5nUHJvZmlsZXIuaDoKKyAgICAgICAgRXhwb3NlIHRo
ZSBtYWNoX3BvcnRfdCBvZiB0aGUgU2FtcGxpbmdQcm9maWxlciB0aHJlYWQKKyAgICAgICAgc28g
aXQgY2FuIGJlIHRlc3RlZCBhZ2FpbnN0IGxhdGVyLgorCiAyMDE5LTAxLTI0ICBKb3NlcGggUGVj
b3Jhcm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogQ1BV
IFVzYWdlIFRpbWVsaW5lCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9TYW1wbGluZ1Byb2ZpbGVyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Nh
bXBsaW5nUHJvZmlsZXIuY3BwCmluZGV4IGY0YjA3ZDllZjgyLi5kNjAzMmRkNDBkMyAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU2FtcGxpbmdQcm9maWxlci5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU2FtcGxpbmdQcm9maWxlci5jcHAK
QEAgLTEwNzksNiArMTA3OSwxNyBAQCB2b2lkIFNhbXBsaW5nUHJvZmlsZXI6OnJlcG9ydFRvcEJ5
dGVjb2RlcyhQcmludFN0cmVhbSYgb3V0KQogICAgIH0KIH0KIAorI2lmIE9TKERBUldJTikKK21h
Y2hfcG9ydF90IFNhbXBsaW5nUHJvZmlsZXI6Om1hY2hUaHJlYWQoKQoreworICAgIGlmICghbV90
aHJlYWQpCisgICAgICAgIHJldHVybiBNQUNIX1BPUlRfTlVMTDsKKworICAgIHJldHVybiBtX3Ro
cmVhZC0+bWFjaFRocmVhZCgpOworfQorI2VuZGlmCisKKwogfSAvLyBuYW1lc3BhY2UgSlNDCiAK
IG5hbWVzcGFjZSBXVEYgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvU2FtcGxpbmdQcm9maWxlci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU2Ft
cGxpbmdQcm9maWxlci5oCmluZGV4IGM3OWFlNzU5NWYyLi5mZmM5MTM1N2Y4ZCAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU2FtcGxpbmdQcm9maWxlci5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NhbXBsaW5nUHJvZmlsZXIuaApAQCAtMTgy
LDYgKzE4MiwxMCBAQCBwdWJsaWM6CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgdm9pZCByZXBvcnRU
b3BCeXRlY29kZXMoKTsKICAgICBKU19FWFBPUlRfUFJJVkFURSB2b2lkIHJlcG9ydFRvcEJ5dGVj
b2RlcyhQcmludFN0cmVhbSYpOwogCisjaWYgT1MoREFSV0lOKQorICAgIEpTX0VYUE9SVF9QUklW
QVRFIG1hY2hfcG9ydF90IG1hY2hUaHJlYWQoKTsKKyNlbmRpZgorCiBwcml2YXRlOgogICAgIHZv
aWQgY3JlYXRlVGhyZWFkSWZOZWNlc3NhcnkoY29uc3QgQWJzdHJhY3RMb2NrZXImKTsKICAgICB2
b2lkIHRpbWVyTG9vcCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDRkM2I4MDEyMzZhLi44NGFjZDc5ZGMyMCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDE5LTAxLTI0ICBKb3NlcGggUGVjb3Jhcm8g
IDxwZWNvcmFyb0BhcHBsZS5jb20+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogRXhjbHVkZSBE
ZWJ1Z2dlciBUaHJlYWRzIGZyb20gQ1BVIFVzYWdlIHZhbHVlcyBpbiBXZWIgSW5zcGVjdG9yCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTM3OTYKKyAg
ICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ3NTMyOTEwPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogcGFnZS9SZXNvdXJjZVVzYWdlRGF0YS5oOgorICAg
ICAgICAqIGluc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yQ1BVUHJvZmlsZXJBZ2VudC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDUFVQcm9maWxlckFnZW50Ojpjb2xsZWN0U2FtcGxl
KToKKyAgICAgICAgU2hvdyB0aGUgQ1BVIHVzYWdlIHdpdGhvdXQgZGVidWdnZXIgdGhyZWFkcyBp
biB0aGUgV2ViIEluc3BlY3RvcidzIHRpbWVsaW5lLgorCisgICAgICAgICogcGFnZS9SZXNvdXJj
ZVVzYWdlVGhyZWFkLmg6CisgICAgICAgICogcGFnZS9jb2NvYS9SZXNvdXJjZVVzYWdlVGhyZWFk
Q29jb2EubW06CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVVzYWdlVGhyZWFkOjpwbGF0Zm9y
bVNhdmVTdGF0ZUJlZm9yZVN0YXJ0aW5nKToKKyAgICAgICAgRm9yIE9TKERBUldJTikgcG9ydHMs
IHdoZW4gc3RhcnRpbmcgdG8gb2JzZXJ2ZSByZXNvdXJjZSB1c2FnZQorICAgICAgICBncmFiIHRo
ZSBtYWNoX3BvcnRfdCBvZiBTYW1wbGluZ1Byb2ZpbGVyIG9uIHRoZSBtYWluIHRocmVhZAorICAg
ICAgICBpbiBhIHRocmVhZCBzYWZlIHdheS4gRm9yIG91ciBwdXJwb3NlcywgV2ViIEluc3BlY3Rv
ciB0aW1lbGluZXMsCisgICAgICAgIHRoaXMgd2lsbCBiZSBnb29kIGVub3VnaC4gVGhlIFNhbXBs
aW5nUHJvZmlsZXIgd29uJ3QgY2hhbmdlCisgICAgICAgIGR1cmluZyBhIHRpbWVsaW5lIHJlY29y
ZGluZyBhbmQgcmVjb3JkaW5nIHN0YXJ0L3N0b3BzIHdpbGwgbmV2ZXIKKyAgICAgICAgbWlzcyB0
aGUgU2FtcGxpbmdQcm9maWxlciBjaGFuZ2luZy4KKworICAgICAgICAoV2ViQ29yZTo6ZmlsdGVy
VGhyZWFkcyk6CisgICAgICAgIChXZWJDb3JlOjp0aHJlYWRTZW5kUmlnaHRzKToKKyAgICAgICAg
KFdlYkNvcmU6OnRocmVhZFNlbmRSaWdodHNFeGNsdWRpbmdEZWJ1Z2dlclRocmVhZHMpOgorICAg
ICAgICAoV2ViQ29yZTo6Y3B1VXNhZ2UpOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VVc2Fn
ZVRocmVhZDo6cGxhdGZvcm1Db2xsZWN0Q1BVRGF0YSk6CisgICAgICAgIENhbGN1bGF0ZSBDUFUg
dXNhZ2UgdHdpY2UsIHRoZSBzZWNvbmQgdGltZSBleGNsdWRpbmcgc29tZSB0aHJlYWRzLgorCisg
ICAgICAgICogcGFnZS9saW51eC9SZXNvdXJjZVVzYWdlVGhyZWFkTGludXguY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UmVzb3VyY2VVc2FnZVRocmVhZDo6cGxhdGZvcm1TYXZlU3RhdGVCZWZvcmVT
dGFydGluZyk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVVzYWdlVGhyZWFkOjpwbGF0Zm9y
bUNvbGxlY3RDUFVEYXRhKToKKyAgICAgICAgU3R1YnMgZm9yIGxpbnV4IHBvcnRzLgorCiAyMDE5
LTAxLTI0ICBKb3NlcGggUGVjb3Jhcm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CiAKICAgICAgICAg
V2ViIEluc3BlY3RvcjogQ1BVIFVzYWdlIFRpbWVsaW5lCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckNQVVByb2ZpbGVyQWdlbnQuY3BwIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JDUFVQcm9maWxlckFnZW50LmNw
cAppbmRleCA2NjI0OGI5ODJmMi4uOGRhYjFhZmNjOTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yQ1BVUHJvZmlsZXJBZ2VudC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JDUFVQcm9maWxlckFnZW50
LmNwcApAQCAtODQsNyArODQsNyBAQCB2b2lkIEluc3BlY3RvckNQVVByb2ZpbGVyQWdlbnQ6OmNv
bGxlY3RTYW1wbGUoY29uc3QgUmVzb3VyY2VVc2FnZURhdGEmIGRhdGEpCiB7CiAgICAgYXV0byBl
dmVudCA9IFByb3RvY29sOjpDUFVQcm9maWxlcjo6RXZlbnQ6OmNyZWF0ZSgpCiAgICAgICAgIC5z
ZXRUaW1lc3RhbXAobV9lbnZpcm9ubWVudC5leGVjdXRpb25TdG9wd2F0Y2goKS0+ZWxhcHNlZFRp
bWVTaW5jZShkYXRhLnRpbWVzdGFtcCkuc2Vjb25kcygpKQotICAgICAgICAuc2V0VXNhZ2UoZGF0
YS5jcHUpCisgICAgICAgIC5zZXRVc2FnZShkYXRhLmNwdUV4Y2x1ZGluZ0RlYnVnZ2VyVGhyZWFk
cykKICAgICAgICAgLnJlbGVhc2UoKTsKIAogICAgIG1fZnJvbnRlbmREaXNwYXRjaGVyLT50cmFj
a2luZ1VwZGF0ZShXVEZNb3ZlKGV2ZW50KSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1Jlc291cmNlVXNhZ2VEYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Jlc291cmNlVXNh
Z2VEYXRhLmgKaW5kZXggYWI5NzdiNWU0NDMuLjEyYmU4NzE5ZWEzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1Jlc291cmNlVXNhZ2VEYXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9SZXNvdXJjZVVzYWdlRGF0YS5oCkBAIC03NSw2ICs3NSw3IEBAIHN0cnVjdCBSZXNvdXJj
ZVVzYWdlRGF0YSB7CiAgICAgY29uc3RleHByIFJlc291cmNlVXNhZ2VEYXRhKCkgPSBkZWZhdWx0
OwogCiAgICAgZmxvYXQgY3B1IHsgMCB9OworICAgIGZsb2F0IGNwdUV4Y2x1ZGluZ0RlYnVnZ2Vy
VGhyZWFkcyB7IDAgfTsKICAgICBzaXplX3QgdG90YWxEaXJ0eVNpemUgeyAwIH07CiAgICAgc2l6
ZV90IHRvdGFsRXh0ZXJuYWxTaXplIHsgMCB9OwogICAgIHN0ZDo6YXJyYXk8TWVtb3J5Q2F0ZWdv
cnlJbmZvLCBNZW1vcnlDYXRlZ29yeTo6TnVtYmVyT2ZDYXRlZ29yaWVzPiBjYXRlZ29yaWVzIHsg
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9SZXNvdXJjZVVzYWdlVGhyZWFkLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Jlc291cmNlVXNhZ2VUaHJlYWQuaAppbmRleCA3ZGZiNGE3
YmMxMy4uYTQ4MjQxNWE1NmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUmVzb3Vy
Y2VVc2FnZVRocmVhZC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUmVzb3VyY2VVc2FnZVRo
cmVhZC5oCkBAIC0zNyw2ICszNywxMCBAQAogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgog
I2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmcuaD4KIAorI2lmIE9TKERBUldJTikKKyNpbmNsdWRlIDxt
YWNoL21hY2guaD4KKyNlbmRpZgorCiBuYW1lc3BhY2UgSlNDIHsKIGNsYXNzIFZNOwogfQpAQCAt
ODIsNiArODYsMTEgQEAgcHJpdmF0ZToKICAgICAvLyBQbGF0Zm9ybXMgbWF5IG5lZWQgdG8gYWNj
ZXNzIHNvbWUgZGF0YSBmcm9tIHRoZSBjb21tb24gVk0uCiAgICAgLy8gVGhleSBzaG91bGQgZW5z
dXJlIHRoZWlyIHVzZSBvZiB0aGUgVk0gaXMgdGhyZWFkIHNhZmUuCiAgICAgSlNDOjpWTSogbV92
bSB7IG51bGxwdHIgfTsKKworI2lmIEVOQUJMRShTQU1QTElOR19QUk9GSUxFUikgJiYgT1MoREFS
V0lOKQorICAgIG1hY2hfcG9ydF90IG1fc2FtcGxpbmdQcm9maWxlck1hY2hUaHJlYWQgeyBNQUNI
X1BPUlRfTlVMTCB9OworI2VuZGlmCisKIH07CiAKICNpZiBQTEFURk9STShDT0NPQSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvY29jb2EvUmVzb3VyY2VVc2FnZVRocmVhZENvY29h
Lm1tIGIvU291cmNlL1dlYkNvcmUvcGFnZS9jb2NvYS9SZXNvdXJjZVVzYWdlVGhyZWFkQ29jb2Eu
bW0KaW5kZXggZTY0NGFiZWYxMjYuLjBmOWFiMjE2M2RiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL2NvY29hL1Jlc291cmNlVXNhZ2VUaHJlYWRDb2NvYS5tbQorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL2NvY29hL1Jlc291cmNlVXNhZ2VUaHJlYWRDb2NvYS5tbQpAQCAtMzAsNiAr
MzAsNyBAQAogCiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvR0NBY3Rpdml0eUNhbGxiYWNrLmg+
CiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSGVhcC5oPgorI2luY2x1ZGUgPEphdmFTY3JpcHRD
b3JlL1NhbXBsaW5nUHJvZmlsZXIuaD4KICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9WTS5oPgog
I2luY2x1ZGUgPG1hY2gvbWFjaC5oPgogI2luY2x1ZGUgPG1hY2gvdm1fc3RhdGlzdGljcy5oPgpA
QCAtMTM5LDcgKzE0MCw3IEBAIHN0ZDo6YXJyYXk8VGFnSW5mbywgMjU2PiBwYWdlc1BlclZNVGFn
KCkKICAgICByZXR1cm4gdGFnczsKIH0KIAotc3RhdGljIFZlY3RvcjxNYWNoU2VuZFJpZ2h0PiB0
aHJlYWRTZW5kUmlnaHRzKCkKK3N0YXRpYyBWZWN0b3I8TWFjaFNlbmRSaWdodD4gZmlsdGVyVGhy
ZWFkcyhGdW5jdGlvbjxib29sIChtYWNoX3BvcnRfdCk+JiYgZmlsdGVyRnVuY3Rpb24pCiB7CiAg
ICAgdGhyZWFkX2FycmF5X3QgdGhyZWFkTGlzdCA9IG51bGxwdHI7CiAgICAgbWFjaF9tc2dfdHlw
ZV9udW1iZXJfdCB0aHJlYWRDb3VudCA9IDA7CkBAIC0xNDgsOCArMTQ5LDEwIEBAIHN0YXRpYyBW
ZWN0b3I8TWFjaFNlbmRSaWdodD4gdGhyZWFkU2VuZFJpZ2h0cygpCiAgICAgICAgIHJldHVybiB7
IH07CiAKICAgICBWZWN0b3I8TWFjaFNlbmRSaWdodD4gbWFjaFRocmVhZHM7Ci0gICAgZm9yICht
YWNoX21zZ190eXBlX251bWJlcl90IGkgPSAwOyBpIDwgdGhyZWFkQ291bnQ7ICsraSkKLSAgICAg
ICAgbWFjaFRocmVhZHMuYXBwZW5kKE1hY2hTZW5kUmlnaHQ6OmFkb3B0KHRocmVhZExpc3RbaV0p
KTsKKyAgICBmb3IgKG1hY2hfbXNnX3R5cGVfbnVtYmVyX3QgaSA9IDA7IGkgPCB0aHJlYWRDb3Vu
dDsgKytpKSB7CisgICAgICAgIGlmIChmaWx0ZXJGdW5jdGlvbih0aHJlYWRMaXN0W2ldKSkKKyAg
ICAgICAgICAgIG1hY2hUaHJlYWRzLmFwcGVuZChNYWNoU2VuZFJpZ2h0OjphZG9wdCh0aHJlYWRM
aXN0W2ldKSk7CisgICAgfQogCiAgICAga3IgPSB2bV9kZWFsbG9jYXRlKG1hY2hfdGFza19zZWxm
KCksICh2bV9vZmZzZXRfdCl0aHJlYWRMaXN0LCB0aHJlYWRDb3VudCAqIHNpemVvZih0aHJlYWRf
dCkpOwogICAgIEFTU0VSVChrciA9PSBLRVJOX1NVQ0NFU1MpOwpAQCAtMTU3LDEwICsxNjAsMjYg
QEAgc3RhdGljIFZlY3RvcjxNYWNoU2VuZFJpZ2h0PiB0aHJlYWRTZW5kUmlnaHRzKCkKICAgICBy
ZXR1cm4gbWFjaFRocmVhZHM7CiB9CiAKLXN0YXRpYyBmbG9hdCBjcHVVc2FnZSgpCitzdGF0aWMg
VmVjdG9yPE1hY2hTZW5kUmlnaHQ+IHRocmVhZFNlbmRSaWdodHMoKQogewotICAgIGF1dG8gbWFj
aFRocmVhZHMgPSB0aHJlYWRTZW5kUmlnaHRzKCk7CisgICAgcmV0dXJuIGZpbHRlclRocmVhZHMo
W10gKG1hY2hfcG9ydF90KSB7CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0pOworfQogCitz
dGF0aWMgVmVjdG9yPE1hY2hTZW5kUmlnaHQ+IHRocmVhZFNlbmRSaWdodHNFeGNsdWRpbmdEZWJ1
Z2dlclRocmVhZHMobWFjaF9wb3J0X3QgcmVzb3VyY2VVc2FnZVRocmVhZCwgbWFjaF9wb3J0X3Qg
c2FtcGxpbmdQcm9maWxlclRocmVhZCkKK3sKKyAgICByZXR1cm4gZmlsdGVyVGhyZWFkcyhbJl0g
KG1hY2hfcG9ydF90IHRocmVhZCkgeworICAgICAgICBpZiAodGhyZWFkID09IHJlc291cmNlVXNh
Z2VUaHJlYWQpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIGlmICh0aHJlYWQg
PT0gc2FtcGxpbmdQcm9maWxlck1hY2hUaHJlYWQpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7
CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0pOworfQorCitzdGF0aWMgZmxvYXQgY3B1VXNh
Z2UoVmVjdG9yPE1hY2hTZW5kUmlnaHQ+IG1hY2hUaHJlYWRzKQorewogICAgIGZsb2F0IHVzYWdl
ID0gMDsKIAogICAgIGZvciAoYXV0byYgbWFjaFRocmVhZCA6IG1hY2hUaHJlYWRzKSB7CkBAIC0y
MDUsOSArMjI0LDI2IEBAIHN0YXRpYyB1bnNpZ25lZCBjYXRlZ29yeUZvclZNVGFnKHVuc2lnbmVk
IHRhZykKICAgICB9CiB9CiAKKyNpZiBFTkFCTEUoU0FNUExJTkdfUFJPRklMRVIpCit2b2lkIFJl
c291cmNlVXNhZ2VUaHJlYWQ6OnBsYXRmb3JtU2F2ZVN0YXRlQmVmb3JlU3RhcnRpbmcoKQorewor
ICAgIG1fc2FtcGxpbmdQcm9maWxlck1hY2hUaHJlYWQgPSBtX3ZtLT5zYW1wbGluZ1Byb2ZpbGVy
KCkgPyBtX3ZtLT5zYW1wbGluZ1Byb2ZpbGVyKCktPm1hY2hUaHJlYWQoKSA6IE1BQ0hfUE9SVF9O
VUxMOworfQorI2Vsc2UKK3ZvaWQgUmVzb3VyY2VVc2FnZVRocmVhZDo6cGxhdGZvcm1TYXZlU3Rh
dGVCZWZvcmVTdGFydGluZygpIHsgfQorI2VuZGlmCisKIHZvaWQgUmVzb3VyY2VVc2FnZVRocmVh
ZDo6cGxhdGZvcm1Db2xsZWN0Q1BVRGF0YShKU0M6OlZNKiwgUmVzb3VyY2VVc2FnZURhdGEmIGRh
dGEpCiB7Ci0gICAgZGF0YS5jcHUgPSBjcHVVc2FnZSgpOworICAgIGRhdGEuY3B1ID0gY3B1VXNh
Z2UodGhyZWFkU2VuZFJpZ2h0cygpKTsKKworICAgIG1hY2hfcG9ydF90IHJlc291cmNlVXNhZ2VU
aHJlYWQgPSBtYWNoX3RocmVhZF9zZWxmKCk7CisjaWYgRU5BQkxFKFNBTVBMSU5HX1BST0ZJTEVS
KQorICAgIG1hY2hfcG9ydF90IHNhbXBsaW5nUHJvZmlsZXJUaHJlYWQgPSBtX3NhbXBsaW5nUHJv
ZmlsZXJNYWNoVGhyZWFkOworI2Vsc2UKKyAgICBtYWNoX3BvcnRfdCBzYW1wbGluZ1Byb2ZpbGVy
VGhyZWFkID0gTUFDSF9QT1JUX05VTEw7CisjZW5kaWYKKyAgICBkYXRhLmNwdUV4Y2x1ZGluZ0Rl
YnVnZ2VyVGhyZWFkcyA9IGNwdVVzYWdlKHRocmVhZFNlbmRSaWdodHNFeGNsdWRpbmdEZWJ1Z2dl
clRocmVhZHMocmVzb3VyY2VVc2FnZVRocmVhZCwgc2FtcGxpbmdQcm9maWxlclRocmVhZCkpOwog
fQogCiB2b2lkIFJlc291cmNlVXNhZ2VUaHJlYWQ6OnBsYXRmb3JtQ29sbGVjdE1lbW9yeURhdGEo
SlNDOjpWTSogdm0sIFJlc291cmNlVXNhZ2VEYXRhJiBkYXRhKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGFnZS9saW51eC9SZXNvdXJjZVVzYWdlVGhyZWFkTGludXguY3BwIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9saW51eC9SZXNvdXJjZVVzYWdlVGhyZWFkTGludXguY3BwCmluZGV4IGY3
NmYxNWFhNTcyLi4zMTQ5ZmY4N2I2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9s
aW51eC9SZXNvdXJjZVVzYWdlVGhyZWFkTGludXguY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvbGludXgvUmVzb3VyY2VVc2FnZVRocmVhZExpbnV4LmNwcApAQCAtMTUwLDkgKzE1MCwxNyBA
QCBzdGF0aWMgZmxvYXQgY3B1VXNhZ2UoKQogICAgIHJldHVybiBjbGFtcFRvPGZsb2F0Pih1c2Fn
ZSwgMCwgMTAwKTsKIH0KIAordm9pZCBSZXNvdXJjZVVzYWdlVGhyZWFkOjpwbGF0Zm9ybVNhdmVT
dGF0ZUJlZm9yZVN0YXJ0aW5nKCkKK3sKK30KKwogdm9pZCBSZXNvdXJjZVVzYWdlVGhyZWFkOjpw
bGF0Zm9ybUNvbGxlY3RDUFVEYXRhKEpTQzo6Vk0qLCBSZXNvdXJjZVVzYWdlRGF0YSYgZGF0YSkK
IHsKICAgICBkYXRhLmNwdSA9IGNwdVVzYWdlKCk7CisKKyAgICAvLyBGSVhNRTogRXhjbHVkZSB0
aGUgUmVzb3VyY2VVc2FnZSB0aHJlYWQuCisgICAgLy8gRklYTUU6IEV4Y2x1ZGUgdGhlIFNhbXBs
aW5nUHJvZmlsZXIgdGhyZWFkLgorICAgIGRhdGEuY3B1RXhjbHVkaW5nRGVidWdnZXJUaHJlYWRz
ID0gZGF0YS5jcHU7CiB9CiAKIHZvaWQgUmVzb3VyY2VVc2FnZVRocmVhZDo6cGxhdGZvcm1Db2xs
ZWN0TWVtb3J5RGF0YShKU0M6OlZNKiB2bSwgUmVzb3VyY2VVc2FnZURhdGEmIGRhdGEpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>360077</attachid>
            <date>2019-01-24 19:51:33 -0800</date>
            <delta_ts>2019-01-24 19:52:40 -0800</delta_ts>
            <desc>[PATCH] Proposed Fix</desc>
            <filename>usage-2.patch</filename>
            <type>text/plain</type>
            <size>10192</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGY5MjU3MTU5YWIwLi5jMzI3MTFiZGNkOSAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTktMDEtMjQgIEpvc2Vw
aCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9y
OiBFeGNsdWRlIERlYnVnZ2VyIFRocmVhZHMgZnJvbSBDUFUgVXNhZ2UgdmFsdWVzIGluIFdlYiBJ
bnNwZWN0b3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE5Mzc5NgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDc1MzI5MTA+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBydW50aW1lL1NhbXBsaW5nUHJv
ZmlsZXIuY3BwOgorICAgICAgICAoSlNDOjpTYW1wbGluZ1Byb2ZpbGVyOjptYWNoVGhyZWFkKToK
KyAgICAgICAgKiBydW50aW1lL1NhbXBsaW5nUHJvZmlsZXIuaDoKKyAgICAgICAgRXhwb3NlIHRo
ZSBtYWNoX3BvcnRfdCBvZiB0aGUgU2FtcGxpbmdQcm9maWxlciB0aHJlYWQKKyAgICAgICAgc28g
aXQgY2FuIGJlIHRlc3RlZCBhZ2FpbnN0IGxhdGVyLgorCiAyMDE5LTAxLTI0ICBZdXN1a2UgU3V6
dWtpICA8eXN1enVraUBhcHBsZS5jb20+CiAKICAgICAgICAgW0pTQ10gRXJyb3JDb25zdHJ1Y3Rv
ciBzaG91bGQgbm90IGhhdmUgb3duIElzb1N1YnNwYWNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9TYW1wbGluZ1Byb2ZpbGVyLmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL1NhbXBsaW5nUHJvZmlsZXIuY3BwCmluZGV4IGY0YjA3ZDllZjgyLi5k
NjAzMmRkNDBkMyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU2Ft
cGxpbmdQcm9maWxlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU2Ft
cGxpbmdQcm9maWxlci5jcHAKQEAgLTEwNzksNiArMTA3OSwxNyBAQCB2b2lkIFNhbXBsaW5nUHJv
ZmlsZXI6OnJlcG9ydFRvcEJ5dGVjb2RlcyhQcmludFN0cmVhbSYgb3V0KQogICAgIH0KIH0KIAor
I2lmIE9TKERBUldJTikKK21hY2hfcG9ydF90IFNhbXBsaW5nUHJvZmlsZXI6Om1hY2hUaHJlYWQo
KQoreworICAgIGlmICghbV90aHJlYWQpCisgICAgICAgIHJldHVybiBNQUNIX1BPUlRfTlVMTDsK
KworICAgIHJldHVybiBtX3RocmVhZC0+bWFjaFRocmVhZCgpOworfQorI2VuZGlmCisKKwogfSAv
LyBuYW1lc3BhY2UgSlNDCiAKIG5hbWVzcGFjZSBXVEYgewpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvU2FtcGxpbmdQcm9maWxlci5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvU2FtcGxpbmdQcm9maWxlci5oCmluZGV4IGM3OWFlNzU5NWYyLi5mZmM5
MTM1N2Y4ZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU2FtcGxp
bmdQcm9maWxlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NhbXBsaW5n
UHJvZmlsZXIuaApAQCAtMTgyLDYgKzE4MiwxMCBAQCBwdWJsaWM6CiAgICAgSlNfRVhQT1JUX1BS
SVZBVEUgdm9pZCByZXBvcnRUb3BCeXRlY29kZXMoKTsKICAgICBKU19FWFBPUlRfUFJJVkFURSB2
b2lkIHJlcG9ydFRvcEJ5dGVjb2RlcyhQcmludFN0cmVhbSYpOwogCisjaWYgT1MoREFSV0lOKQor
ICAgIEpTX0VYUE9SVF9QUklWQVRFIG1hY2hfcG9ydF90IG1hY2hUaHJlYWQoKTsKKyNlbmRpZgor
CiBwcml2YXRlOgogICAgIHZvaWQgY3JlYXRlVGhyZWFkSWZOZWNlc3NhcnkoY29uc3QgQWJzdHJh
Y3RMb2NrZXImKTsKICAgICB2b2lkIHRpbWVyTG9vcCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDNlODk2MjM2
ZDQ2Li5hYzZiYThlMjlhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDE5LTAxLTI0
ICBKb3NlcGggUGVjb3Jhcm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CisKKyAgICAgICAgV2ViIElu
c3BlY3RvcjogRXhjbHVkZSBEZWJ1Z2dlciBUaHJlYWRzIGZyb20gQ1BVIFVzYWdlIHZhbHVlcyBp
biBXZWIgSW5zcGVjdG9yCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xOTM3OTYKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ3NTMyOTEwPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcGFnZS9SZXNvdXJj
ZVVzYWdlRGF0YS5oOgorICAgICAgICAqIGluc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yQ1BVUHJv
ZmlsZXJBZ2VudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDUFVQcm9maWxlckFn
ZW50Ojpjb2xsZWN0U2FtcGxlKToKKyAgICAgICAgU2hvdyB0aGUgQ1BVIHVzYWdlIHdpdGhvdXQg
ZGVidWdnZXIgdGhyZWFkcyBpbiB0aGUgV2ViIEluc3BlY3RvcidzIHRpbWVsaW5lLgorCisgICAg
ICAgICogcGFnZS9SZXNvdXJjZVVzYWdlVGhyZWFkLmg6CisgICAgICAgICogcGFnZS9jb2NvYS9S
ZXNvdXJjZVVzYWdlVGhyZWFkQ29jb2EubW06CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVVz
YWdlVGhyZWFkOjpwbGF0Zm9ybVNhdmVTdGF0ZUJlZm9yZVN0YXJ0aW5nKToKKyAgICAgICAgRm9y
IE9TKERBUldJTikgcG9ydHMsIHdoZW4gc3RhcnRpbmcgdG8gb2JzZXJ2ZSByZXNvdXJjZSB1c2Fn
ZQorICAgICAgICBncmFiIHRoZSBtYWNoX3BvcnRfdCBvZiBTYW1wbGluZ1Byb2ZpbGVyIG9uIHRo
ZSBtYWluIHRocmVhZAorICAgICAgICBpbiBhIHRocmVhZCBzYWZlIHdheS4gRm9yIG91ciBwdXJw
b3NlcywgV2ViIEluc3BlY3RvciB0aW1lbGluZXMsCisgICAgICAgIHRoaXMgd2lsbCBiZSBnb29k
IGVub3VnaC4gVGhlIFNhbXBsaW5nUHJvZmlsZXIgd29uJ3QgY2hhbmdlCisgICAgICAgIGR1cmlu
ZyBhIHRpbWVsaW5lIHJlY29yZGluZyBhbmQgcmVjb3JkaW5nIHN0YXJ0L3N0b3BzIHdpbGwgbmV2
ZXIKKyAgICAgICAgbWlzcyB0aGUgU2FtcGxpbmdQcm9maWxlciBjaGFuZ2luZy4KKworICAgICAg
ICAoV2ViQ29yZTo6ZmlsdGVyVGhyZWFkcyk6CisgICAgICAgIChXZWJDb3JlOjp0aHJlYWRTZW5k
UmlnaHRzKToKKyAgICAgICAgKFdlYkNvcmU6OnRocmVhZFNlbmRSaWdodHNFeGNsdWRpbmdEZWJ1
Z2dlclRocmVhZHMpOgorICAgICAgICAoV2ViQ29yZTo6Y3B1VXNhZ2UpOgorICAgICAgICAoV2Vi
Q29yZTo6UmVzb3VyY2VVc2FnZVRocmVhZDo6cGxhdGZvcm1Db2xsZWN0Q1BVRGF0YSk6CisgICAg
ICAgIENhbGN1bGF0ZSBDUFUgdXNhZ2UgdHdpY2UsIHRoZSBzZWNvbmQgdGltZSBleGNsdWRpbmcg
c29tZSB0aHJlYWRzLgorCisgICAgICAgICogcGFnZS9saW51eC9SZXNvdXJjZVVzYWdlVGhyZWFk
TGludXguY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VVc2FnZVRocmVhZDo6cGxhdGZv
cm1TYXZlU3RhdGVCZWZvcmVTdGFydGluZyk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVVz
YWdlVGhyZWFkOjpwbGF0Zm9ybUNvbGxlY3RDUFVEYXRhKToKKyAgICAgICAgU3R1YnMgZm9yIGxp
bnV4IHBvcnRzLgorCiAyMDE5LTAxLTI0ICBKb3NlcGggUGVjb3Jhcm8gIDxwZWNvcmFyb0BhcHBs
ZS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogQ1BVIFVzYWdlIFRpbWVsaW5lCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckNQVVByb2Zp
bGVyQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JD
UFVQcm9maWxlckFnZW50LmNwcAppbmRleCA2NjI0OGI5ODJmMi4uOGRhYjFhZmNjOTcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yQ1BVUHJvZmls
ZXJBZ2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0
b3JDUFVQcm9maWxlckFnZW50LmNwcApAQCAtODQsNyArODQsNyBAQCB2b2lkIEluc3BlY3RvckNQ
VVByb2ZpbGVyQWdlbnQ6OmNvbGxlY3RTYW1wbGUoY29uc3QgUmVzb3VyY2VVc2FnZURhdGEmIGRh
dGEpCiB7CiAgICAgYXV0byBldmVudCA9IFByb3RvY29sOjpDUFVQcm9maWxlcjo6RXZlbnQ6OmNy
ZWF0ZSgpCiAgICAgICAgIC5zZXRUaW1lc3RhbXAobV9lbnZpcm9ubWVudC5leGVjdXRpb25TdG9w
d2F0Y2goKS0+ZWxhcHNlZFRpbWVTaW5jZShkYXRhLnRpbWVzdGFtcCkuc2Vjb25kcygpKQotICAg
ICAgICAuc2V0VXNhZ2UoZGF0YS5jcHUpCisgICAgICAgIC5zZXRVc2FnZShkYXRhLmNwdUV4Y2x1
ZGluZ0RlYnVnZ2VyVGhyZWFkcykKICAgICAgICAgLnJlbGVhc2UoKTsKIAogICAgIG1fZnJvbnRl
bmREaXNwYXRjaGVyLT50cmFja2luZ1VwZGF0ZShXVEZNb3ZlKGV2ZW50KSk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Jlc291cmNlVXNhZ2VEYXRhLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1Jlc291cmNlVXNhZ2VEYXRhLmgKaW5kZXggYWI5NzdiNWU0NDMuLjEyYmU4NzE5ZWEz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Jlc291cmNlVXNhZ2VEYXRhLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9SZXNvdXJjZVVzYWdlRGF0YS5oCkBAIC03NSw2ICs3NSw3
IEBAIHN0cnVjdCBSZXNvdXJjZVVzYWdlRGF0YSB7CiAgICAgY29uc3RleHByIFJlc291cmNlVXNh
Z2VEYXRhKCkgPSBkZWZhdWx0OwogCiAgICAgZmxvYXQgY3B1IHsgMCB9OworICAgIGZsb2F0IGNw
dUV4Y2x1ZGluZ0RlYnVnZ2VyVGhyZWFkcyB7IDAgfTsKICAgICBzaXplX3QgdG90YWxEaXJ0eVNp
emUgeyAwIH07CiAgICAgc2l6ZV90IHRvdGFsRXh0ZXJuYWxTaXplIHsgMCB9OwogICAgIHN0ZDo6
YXJyYXk8TWVtb3J5Q2F0ZWdvcnlJbmZvLCBNZW1vcnlDYXRlZ29yeTo6TnVtYmVyT2ZDYXRlZ29y
aWVzPiBjYXRlZ29yaWVzIHsgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9SZXNv
dXJjZVVzYWdlVGhyZWFkLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Jlc291cmNlVXNhZ2VUaHJl
YWQuaAppbmRleCA3ZGZiNGE3YmMxMy4uMzVhZTNmMDNiZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvUmVzb3VyY2VVc2FnZVRocmVhZC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvUmVzb3VyY2VVc2FnZVRocmVhZC5oCkBAIC0zNyw2ICszNywxMCBAQAogI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmcuaD4KIAorI2lmIE9TKERB
UldJTikKKyNpbmNsdWRlIDxtYWNoL21hY2guaD4KKyNlbmRpZgorCiBuYW1lc3BhY2UgSlNDIHsK
IGNsYXNzIFZNOwogfQpAQCAtNzAsNiArNzQsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgY3JlYXRl
VGhyZWFkSWZOZWVkZWQoKTsKICAgICB2b2lkIHRocmVhZEJvZHkoKTsKIAorICAgIHZvaWQgcGxh
dGZvcm1TYXZlU3RhdGVCZWZvcmVTdGFydGluZygpOwogICAgIHZvaWQgcGxhdGZvcm1Db2xsZWN0
Q1BVRGF0YShKU0M6OlZNKiwgUmVzb3VyY2VVc2FnZURhdGEmKTsKICAgICB2b2lkIHBsYXRmb3Jt
Q29sbGVjdE1lbW9yeURhdGEoSlNDOjpWTSosIFJlc291cmNlVXNhZ2VEYXRhJik7CiAKQEAgLTgy
LDYgKzg3LDExIEBAIHByaXZhdGU6CiAgICAgLy8gUGxhdGZvcm1zIG1heSBuZWVkIHRvIGFjY2Vz
cyBzb21lIGRhdGEgZnJvbSB0aGUgY29tbW9uIFZNLgogICAgIC8vIFRoZXkgc2hvdWxkIGVuc3Vy
ZSB0aGVpciB1c2Ugb2YgdGhlIFZNIGlzIHRocmVhZCBzYWZlLgogICAgIEpTQzo6Vk0qIG1fdm0g
eyBudWxscHRyIH07CisKKyNpZiBFTkFCTEUoU0FNUExJTkdfUFJPRklMRVIpICYmIE9TKERBUldJ
TikKKyAgICBtYWNoX3BvcnRfdCBtX3NhbXBsaW5nUHJvZmlsZXJNYWNoVGhyZWFkIHsgTUFDSF9Q
T1JUX05VTEwgfTsKKyNlbmRpZgorCiB9OwogCiAjaWYgUExBVEZPUk0oQ09DT0EpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2NvY29hL1Jlc291cmNlVXNhZ2VUaHJlYWRDb2NvYS5t
bSBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvY29jb2EvUmVzb3VyY2VVc2FnZVRocmVhZENvY29hLm1t
CmluZGV4IGU2NDRhYmVmMTI2Li42OTk3MmYwMTdlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9jb2NvYS9SZXNvdXJjZVVzYWdlVGhyZWFkQ29jb2EubW0KKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9jb2NvYS9SZXNvdXJjZVVzYWdlVGhyZWFkQ29jb2EubW0KQEAgLTMwLDYgKzMw
LDcgQEAKIAogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0dDQWN0aXZpdHlDYWxsYmFjay5oPgog
I2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0hlYXAuaD4KKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29y
ZS9TYW1wbGluZ1Byb2ZpbGVyLmg+CiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvVk0uaD4KICNp
bmNsdWRlIDxtYWNoL21hY2guaD4KICNpbmNsdWRlIDxtYWNoL3ZtX3N0YXRpc3RpY3MuaD4KQEAg
LTEzOSw3ICsxNDAsNyBAQCBzdGQ6OmFycmF5PFRhZ0luZm8sIDI1Nj4gcGFnZXNQZXJWTVRhZygp
CiAgICAgcmV0dXJuIHRhZ3M7CiB9CiAKLXN0YXRpYyBWZWN0b3I8TWFjaFNlbmRSaWdodD4gdGhy
ZWFkU2VuZFJpZ2h0cygpCitzdGF0aWMgVmVjdG9yPE1hY2hTZW5kUmlnaHQ+IGZpbHRlclRocmVh
ZHMoRnVuY3Rpb248Ym9vbCAobWFjaF9wb3J0X3QpPiYmIGZpbHRlckZ1bmN0aW9uKQogewogICAg
IHRocmVhZF9hcnJheV90IHRocmVhZExpc3QgPSBudWxscHRyOwogICAgIG1hY2hfbXNnX3R5cGVf
bnVtYmVyX3QgdGhyZWFkQ291bnQgPSAwOwpAQCAtMTQ4LDggKzE0OSwxMCBAQCBzdGF0aWMgVmVj
dG9yPE1hY2hTZW5kUmlnaHQ+IHRocmVhZFNlbmRSaWdodHMoKQogICAgICAgICByZXR1cm4geyB9
OwogCiAgICAgVmVjdG9yPE1hY2hTZW5kUmlnaHQ+IG1hY2hUaHJlYWRzOwotICAgIGZvciAobWFj
aF9tc2dfdHlwZV9udW1iZXJfdCBpID0gMDsgaSA8IHRocmVhZENvdW50OyArK2kpCi0gICAgICAg
IG1hY2hUaHJlYWRzLmFwcGVuZChNYWNoU2VuZFJpZ2h0OjphZG9wdCh0aHJlYWRMaXN0W2ldKSk7
CisgICAgZm9yIChtYWNoX21zZ190eXBlX251bWJlcl90IGkgPSAwOyBpIDwgdGhyZWFkQ291bnQ7
ICsraSkgeworICAgICAgICBpZiAoZmlsdGVyRnVuY3Rpb24odGhyZWFkTGlzdFtpXSkpCisgICAg
ICAgICAgICBtYWNoVGhyZWFkcy5hcHBlbmQoTWFjaFNlbmRSaWdodDo6YWRvcHQodGhyZWFkTGlz
dFtpXSkpOworICAgIH0KIAogICAgIGtyID0gdm1fZGVhbGxvY2F0ZShtYWNoX3Rhc2tfc2VsZigp
LCAodm1fb2Zmc2V0X3QpdGhyZWFkTGlzdCwgdGhyZWFkQ291bnQgKiBzaXplb2YodGhyZWFkX3Qp
KTsKICAgICBBU1NFUlQoa3IgPT0gS0VSTl9TVUNDRVNTKTsKQEAgLTE1NywxMCArMTYwLDI2IEBA
IHN0YXRpYyBWZWN0b3I8TWFjaFNlbmRSaWdodD4gdGhyZWFkU2VuZFJpZ2h0cygpCiAgICAgcmV0
dXJuIG1hY2hUaHJlYWRzOwogfQogCi1zdGF0aWMgZmxvYXQgY3B1VXNhZ2UoKQorc3RhdGljIFZl
Y3RvcjxNYWNoU2VuZFJpZ2h0PiB0aHJlYWRTZW5kUmlnaHRzKCkKIHsKLSAgICBhdXRvIG1hY2hU
aHJlYWRzID0gdGhyZWFkU2VuZFJpZ2h0cygpOworICAgIHJldHVybiBmaWx0ZXJUaHJlYWRzKFtd
IChtYWNoX3BvcnRfdCkgeworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9KTsKK30KIAorc3Rh
dGljIFZlY3RvcjxNYWNoU2VuZFJpZ2h0PiB0aHJlYWRTZW5kUmlnaHRzRXhjbHVkaW5nRGVidWdn
ZXJUaHJlYWRzKG1hY2hfcG9ydF90IHJlc291cmNlVXNhZ2VUaHJlYWQsIG1hY2hfcG9ydF90IHNh
bXBsaW5nUHJvZmlsZXJUaHJlYWQpCit7CisgICAgcmV0dXJuIGZpbHRlclRocmVhZHMoWyZdICht
YWNoX3BvcnRfdCB0aHJlYWQpIHsKKyAgICAgICAgaWYgKHRocmVhZCA9PSByZXNvdXJjZVVzYWdl
VGhyZWFkKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICBpZiAodGhyZWFkID09
IHNhbXBsaW5nUHJvZmlsZXJUaHJlYWQpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAg
ICAgIHJldHVybiB0cnVlOworICAgIH0pOworfQorCitzdGF0aWMgZmxvYXQgY3B1VXNhZ2UoVmVj
dG9yPE1hY2hTZW5kUmlnaHQ+IG1hY2hUaHJlYWRzKQorewogICAgIGZsb2F0IHVzYWdlID0gMDsK
IAogICAgIGZvciAoYXV0byYgbWFjaFRocmVhZCA6IG1hY2hUaHJlYWRzKSB7CkBAIC0yMDUsOSAr
MjI0LDI2IEBAIHN0YXRpYyB1bnNpZ25lZCBjYXRlZ29yeUZvclZNVGFnKHVuc2lnbmVkIHRhZykK
ICAgICB9CiB9CiAKKyNpZiBFTkFCTEUoU0FNUExJTkdfUFJPRklMRVIpCit2b2lkIFJlc291cmNl
VXNhZ2VUaHJlYWQ6OnBsYXRmb3JtU2F2ZVN0YXRlQmVmb3JlU3RhcnRpbmcoKQoreworICAgIG1f
c2FtcGxpbmdQcm9maWxlck1hY2hUaHJlYWQgPSBtX3ZtLT5zYW1wbGluZ1Byb2ZpbGVyKCkgPyBt
X3ZtLT5zYW1wbGluZ1Byb2ZpbGVyKCktPm1hY2hUaHJlYWQoKSA6IE1BQ0hfUE9SVF9OVUxMOwor
fQorI2Vsc2UKK3ZvaWQgUmVzb3VyY2VVc2FnZVRocmVhZDo6cGxhdGZvcm1TYXZlU3RhdGVCZWZv
cmVTdGFydGluZygpIHsgfQorI2VuZGlmCisKIHZvaWQgUmVzb3VyY2VVc2FnZVRocmVhZDo6cGxh
dGZvcm1Db2xsZWN0Q1BVRGF0YShKU0M6OlZNKiwgUmVzb3VyY2VVc2FnZURhdGEmIGRhdGEpCiB7
Ci0gICAgZGF0YS5jcHUgPSBjcHVVc2FnZSgpOworICAgIGRhdGEuY3B1ID0gY3B1VXNhZ2UodGhy
ZWFkU2VuZFJpZ2h0cygpKTsKKworICAgIG1hY2hfcG9ydF90IHJlc291cmNlVXNhZ2VUaHJlYWQg
PSBtYWNoX3RocmVhZF9zZWxmKCk7CisjaWYgRU5BQkxFKFNBTVBMSU5HX1BST0ZJTEVSKQorICAg
IG1hY2hfcG9ydF90IHNhbXBsaW5nUHJvZmlsZXJUaHJlYWQgPSBtX3NhbXBsaW5nUHJvZmlsZXJN
YWNoVGhyZWFkOworI2Vsc2UKKyAgICBtYWNoX3BvcnRfdCBzYW1wbGluZ1Byb2ZpbGVyVGhyZWFk
ID0gTUFDSF9QT1JUX05VTEw7CisjZW5kaWYKKyAgICBkYXRhLmNwdUV4Y2x1ZGluZ0RlYnVnZ2Vy
VGhyZWFkcyA9IGNwdVVzYWdlKHRocmVhZFNlbmRSaWdodHNFeGNsdWRpbmdEZWJ1Z2dlclRocmVh
ZHMocmVzb3VyY2VVc2FnZVRocmVhZCwgc2FtcGxpbmdQcm9maWxlclRocmVhZCkpOwogfQogCiB2
b2lkIFJlc291cmNlVXNhZ2VUaHJlYWQ6OnBsYXRmb3JtQ29sbGVjdE1lbW9yeURhdGEoSlNDOjpW
TSogdm0sIFJlc291cmNlVXNhZ2VEYXRhJiBkYXRhKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9saW51eC9SZXNvdXJjZVVzYWdlVGhyZWFkTGludXguY3BwIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9saW51eC9SZXNvdXJjZVVzYWdlVGhyZWFkTGludXguY3BwCmluZGV4IGY3NmYxNWFh
NTcyLi4zMTQ5ZmY4N2I2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9saW51eC9S
ZXNvdXJjZVVzYWdlVGhyZWFkTGludXguY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbGlu
dXgvUmVzb3VyY2VVc2FnZVRocmVhZExpbnV4LmNwcApAQCAtMTUwLDkgKzE1MCwxNyBAQCBzdGF0
aWMgZmxvYXQgY3B1VXNhZ2UoKQogICAgIHJldHVybiBjbGFtcFRvPGZsb2F0Pih1c2FnZSwgMCwg
MTAwKTsKIH0KIAordm9pZCBSZXNvdXJjZVVzYWdlVGhyZWFkOjpwbGF0Zm9ybVNhdmVTdGF0ZUJl
Zm9yZVN0YXJ0aW5nKCkKK3sKK30KKwogdm9pZCBSZXNvdXJjZVVzYWdlVGhyZWFkOjpwbGF0Zm9y
bUNvbGxlY3RDUFVEYXRhKEpTQzo6Vk0qLCBSZXNvdXJjZVVzYWdlRGF0YSYgZGF0YSkKIHsKICAg
ICBkYXRhLmNwdSA9IGNwdVVzYWdlKCk7CisKKyAgICAvLyBGSVhNRTogRXhjbHVkZSB0aGUgUmVz
b3VyY2VVc2FnZSB0aHJlYWQuCisgICAgLy8gRklYTUU6IEV4Y2x1ZGUgdGhlIFNhbXBsaW5nUHJv
ZmlsZXIgdGhyZWFkLgorICAgIGRhdGEuY3B1RXhjbHVkaW5nRGVidWdnZXJUaHJlYWRzID0gZGF0
YS5jcHU7CiB9CiAKIHZvaWQgUmVzb3VyY2VVc2FnZVRocmVhZDo6cGxhdGZvcm1Db2xsZWN0TWVt
b3J5RGF0YShKU0M6OlZNKiB2bSwgUmVzb3VyY2VVc2FnZURhdGEmIGRhdGEpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>360078</attachid>
            <date>2019-01-24 19:52:40 -0800</date>
            <delta_ts>2019-01-25 13:47:30 -0800</delta_ts>
            <desc>[PATCH] Proposed Fix</desc>
            <filename>cpu-5.patch</filename>
            <type>text/plain</type>
            <size>10190</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGY5MjU3MTU5YWIwLi5jMzI3MTFiZGNkOSAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTktMDEtMjQgIEpvc2Vw
aCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9y
OiBFeGNsdWRlIERlYnVnZ2VyIFRocmVhZHMgZnJvbSBDUFUgVXNhZ2UgdmFsdWVzIGluIFdlYiBJ
bnNwZWN0b3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE5Mzc5NgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDc1MzI5MTA+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBydW50aW1lL1NhbXBsaW5nUHJv
ZmlsZXIuY3BwOgorICAgICAgICAoSlNDOjpTYW1wbGluZ1Byb2ZpbGVyOjptYWNoVGhyZWFkKToK
KyAgICAgICAgKiBydW50aW1lL1NhbXBsaW5nUHJvZmlsZXIuaDoKKyAgICAgICAgRXhwb3NlIHRo
ZSBtYWNoX3BvcnRfdCBvZiB0aGUgU2FtcGxpbmdQcm9maWxlciB0aHJlYWQKKyAgICAgICAgc28g
aXQgY2FuIGJlIHRlc3RlZCBhZ2FpbnN0IGxhdGVyLgorCiAyMDE5LTAxLTI0ICBZdXN1a2UgU3V6
dWtpICA8eXN1enVraUBhcHBsZS5jb20+CiAKICAgICAgICAgW0pTQ10gRXJyb3JDb25zdHJ1Y3Rv
ciBzaG91bGQgbm90IGhhdmUgb3duIElzb1N1YnNwYWNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9TYW1wbGluZ1Byb2ZpbGVyLmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL1NhbXBsaW5nUHJvZmlsZXIuY3BwCmluZGV4IGY0YjA3ZDllZjgyLi4w
N2RmOTY2ODFkMyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU2Ft
cGxpbmdQcm9maWxlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU2Ft
cGxpbmdQcm9maWxlci5jcHAKQEAgLTEwNzksNiArMTA3OSwxNiBAQCB2b2lkIFNhbXBsaW5nUHJv
ZmlsZXI6OnJlcG9ydFRvcEJ5dGVjb2RlcyhQcmludFN0cmVhbSYgb3V0KQogICAgIH0KIH0KIAor
I2lmIE9TKERBUldJTikKK21hY2hfcG9ydF90IFNhbXBsaW5nUHJvZmlsZXI6Om1hY2hUaHJlYWQo
KQoreworICAgIGlmICghbV90aHJlYWQpCisgICAgICAgIHJldHVybiBNQUNIX1BPUlRfTlVMTDsK
KworICAgIHJldHVybiBtX3RocmVhZC0+bWFjaFRocmVhZCgpOworfQorI2VuZGlmCisKIH0gLy8g
bmFtZXNwYWNlIEpTQwogCiBuYW1lc3BhY2UgV1RGIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1NhbXBsaW5nUHJvZmlsZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1NhbXBsaW5nUHJvZmlsZXIuaAppbmRleCBjNzlhZTc1OTVmMi4uZmZjOTEz
NTdmOGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NhbXBsaW5n
UHJvZmlsZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TYW1wbGluZ1By
b2ZpbGVyLmgKQEAgLTE4Miw2ICsxODIsMTAgQEAgcHVibGljOgogICAgIEpTX0VYUE9SVF9QUklW
QVRFIHZvaWQgcmVwb3J0VG9wQnl0ZWNvZGVzKCk7CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgdm9p
ZCByZXBvcnRUb3BCeXRlY29kZXMoUHJpbnRTdHJlYW0mKTsKIAorI2lmIE9TKERBUldJTikKKyAg
ICBKU19FWFBPUlRfUFJJVkFURSBtYWNoX3BvcnRfdCBtYWNoVGhyZWFkKCk7CisjZW5kaWYKKwog
cHJpdmF0ZToKICAgICB2b2lkIGNyZWF0ZVRocmVhZElmTmVjZXNzYXJ5KGNvbnN0IEFic3RyYWN0
TG9ja2VyJik7CiAgICAgdm9pZCB0aW1lckxvb3AoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAzZTg5NjIzNmQ0
Ni4uYWM2YmE4ZTI5YWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzOCBAQAorMjAxOS0wMS0yNCAg
Sm9zZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgorCisgICAgICAgIFdlYiBJbnNw
ZWN0b3I6IEV4Y2x1ZGUgRGVidWdnZXIgVGhyZWFkcyBmcm9tIENQVSBVc2FnZSB2YWx1ZXMgaW4g
V2ViIEluc3BlY3RvcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTkzNzk2CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS80NzUzMjkxMD4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBhZ2UvUmVzb3VyY2VV
c2FnZURhdGEuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckNQVVByb2Zp
bGVyQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQ1BVUHJvZmlsZXJBZ2Vu
dDo6Y29sbGVjdFNhbXBsZSk6CisgICAgICAgIFNob3cgdGhlIENQVSB1c2FnZSB3aXRob3V0IGRl
YnVnZ2VyIHRocmVhZHMgaW4gdGhlIFdlYiBJbnNwZWN0b3IncyB0aW1lbGluZS4KKworICAgICAg
ICAqIHBhZ2UvUmVzb3VyY2VVc2FnZVRocmVhZC5oOgorICAgICAgICAqIHBhZ2UvY29jb2EvUmVz
b3VyY2VVc2FnZVRocmVhZENvY29hLm1tOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VVc2Fn
ZVRocmVhZDo6cGxhdGZvcm1TYXZlU3RhdGVCZWZvcmVTdGFydGluZyk6CisgICAgICAgIEZvciBP
UyhEQVJXSU4pIHBvcnRzLCB3aGVuIHN0YXJ0aW5nIHRvIG9ic2VydmUgcmVzb3VyY2UgdXNhZ2UK
KyAgICAgICAgZ3JhYiB0aGUgbWFjaF9wb3J0X3Qgb2YgU2FtcGxpbmdQcm9maWxlciBvbiB0aGUg
bWFpbiB0aHJlYWQKKyAgICAgICAgaW4gYSB0aHJlYWQgc2FmZSB3YXkuIEZvciBvdXIgcHVycG9z
ZXMsIFdlYiBJbnNwZWN0b3IgdGltZWxpbmVzLAorICAgICAgICB0aGlzIHdpbGwgYmUgZ29vZCBl
bm91Z2guIFRoZSBTYW1wbGluZ1Byb2ZpbGVyIHdvbid0IGNoYW5nZQorICAgICAgICBkdXJpbmcg
YSB0aW1lbGluZSByZWNvcmRpbmcgYW5kIHJlY29yZGluZyBzdGFydC9zdG9wcyB3aWxsIG5ldmVy
CisgICAgICAgIG1pc3MgdGhlIFNhbXBsaW5nUHJvZmlsZXIgY2hhbmdpbmcuCisKKyAgICAgICAg
KFdlYkNvcmU6OmZpbHRlclRocmVhZHMpOgorICAgICAgICAoV2ViQ29yZTo6dGhyZWFkU2VuZFJp
Z2h0cyk6CisgICAgICAgIChXZWJDb3JlOjp0aHJlYWRTZW5kUmlnaHRzRXhjbHVkaW5nRGVidWdn
ZXJUaHJlYWRzKToKKyAgICAgICAgKFdlYkNvcmU6OmNwdVVzYWdlKToKKyAgICAgICAgKFdlYkNv
cmU6OlJlc291cmNlVXNhZ2VUaHJlYWQ6OnBsYXRmb3JtQ29sbGVjdENQVURhdGEpOgorICAgICAg
ICBDYWxjdWxhdGUgQ1BVIHVzYWdlIHR3aWNlLCB0aGUgc2Vjb25kIHRpbWUgZXhjbHVkaW5nIHNv
bWUgdGhyZWFkcy4KKworICAgICAgICAqIHBhZ2UvbGludXgvUmVzb3VyY2VVc2FnZVRocmVhZExp
bnV4LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlVXNhZ2VUaHJlYWQ6OnBsYXRmb3Jt
U2F2ZVN0YXRlQmVmb3JlU3RhcnRpbmcpOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VVc2Fn
ZVRocmVhZDo6cGxhdGZvcm1Db2xsZWN0Q1BVRGF0YSk6CisgICAgICAgIFN0dWJzIGZvciBsaW51
eCBwb3J0cy4KKwogMjAxOS0wMS0yNCAgSm9zZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUu
Y29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IENQVSBVc2FnZSBUaW1lbGluZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JDUFVQcm9maWxl
ckFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yQ1BV
UHJvZmlsZXJBZ2VudC5jcHAKaW5kZXggNjYyNDhiOTgyZjIuLjhkYWIxYWZjYzk3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckNQVVByb2ZpbGVy
QWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9y
Q1BVUHJvZmlsZXJBZ2VudC5jcHAKQEAgLTg0LDcgKzg0LDcgQEAgdm9pZCBJbnNwZWN0b3JDUFVQ
cm9maWxlckFnZW50Ojpjb2xsZWN0U2FtcGxlKGNvbnN0IFJlc291cmNlVXNhZ2VEYXRhJiBkYXRh
KQogewogICAgIGF1dG8gZXZlbnQgPSBQcm90b2NvbDo6Q1BVUHJvZmlsZXI6OkV2ZW50OjpjcmVh
dGUoKQogICAgICAgICAuc2V0VGltZXN0YW1wKG1fZW52aXJvbm1lbnQuZXhlY3V0aW9uU3RvcHdh
dGNoKCktPmVsYXBzZWRUaW1lU2luY2UoZGF0YS50aW1lc3RhbXApLnNlY29uZHMoKSkKLSAgICAg
ICAgLnNldFVzYWdlKGRhdGEuY3B1KQorICAgICAgICAuc2V0VXNhZ2UoZGF0YS5jcHVFeGNsdWRp
bmdEZWJ1Z2dlclRocmVhZHMpCiAgICAgICAgIC5yZWxlYXNlKCk7CiAKICAgICBtX2Zyb250ZW5k
RGlzcGF0Y2hlci0+dHJhY2tpbmdVcGRhdGUoV1RGTW92ZShldmVudCkpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGFnZS9SZXNvdXJjZVVzYWdlRGF0YS5oIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9SZXNvdXJjZVVzYWdlRGF0YS5oCmluZGV4IGFiOTc3YjVlNDQzLi4xMmJlODcxOWVhMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9SZXNvdXJjZVVzYWdlRGF0YS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvUmVzb3VyY2VVc2FnZURhdGEuaApAQCAtNzUsNiArNzUsNyBA
QCBzdHJ1Y3QgUmVzb3VyY2VVc2FnZURhdGEgewogICAgIGNvbnN0ZXhwciBSZXNvdXJjZVVzYWdl
RGF0YSgpID0gZGVmYXVsdDsKIAogICAgIGZsb2F0IGNwdSB7IDAgfTsKKyAgICBmbG9hdCBjcHVF
eGNsdWRpbmdEZWJ1Z2dlclRocmVhZHMgeyAwIH07CiAgICAgc2l6ZV90IHRvdGFsRGlydHlTaXpl
IHsgMCB9OwogICAgIHNpemVfdCB0b3RhbEV4dGVybmFsU2l6ZSB7IDAgfTsKICAgICBzdGQ6OmFy
cmF5PE1lbW9yeUNhdGVnb3J5SW5mbywgTWVtb3J5Q2F0ZWdvcnk6Ok51bWJlck9mQ2F0ZWdvcmll
cz4gY2F0ZWdvcmllcyB7IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUmVzb3Vy
Y2VVc2FnZVRocmVhZC5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9SZXNvdXJjZVVzYWdlVGhyZWFk
LmgKaW5kZXggN2RmYjRhN2JjMTMuLjM1YWUzZjAzYmUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1Jlc291cmNlVXNhZ2VUaHJlYWQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1Jlc291cmNlVXNhZ2VUaHJlYWQuaApAQCAtMzcsNiArMzcsMTAgQEAKICNpbmNsdWRlIDx3dGYv
Tm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nLmg+CiAKKyNpZiBPUyhEQVJX
SU4pCisjaW5jbHVkZSA8bWFjaC9tYWNoLmg+CisjZW5kaWYKKwogbmFtZXNwYWNlIEpTQyB7CiBj
bGFzcyBWTTsKIH0KQEAgLTcwLDYgKzc0LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGNyZWF0ZVRo
cmVhZElmTmVlZGVkKCk7CiAgICAgdm9pZCB0aHJlYWRCb2R5KCk7CiAKKyAgICB2b2lkIHBsYXRm
b3JtU2F2ZVN0YXRlQmVmb3JlU3RhcnRpbmcoKTsKICAgICB2b2lkIHBsYXRmb3JtQ29sbGVjdENQ
VURhdGEoSlNDOjpWTSosIFJlc291cmNlVXNhZ2VEYXRhJik7CiAgICAgdm9pZCBwbGF0Zm9ybUNv
bGxlY3RNZW1vcnlEYXRhKEpTQzo6Vk0qLCBSZXNvdXJjZVVzYWdlRGF0YSYpOwogCkBAIC04Miw2
ICs4NywxMSBAQCBwcml2YXRlOgogICAgIC8vIFBsYXRmb3JtcyBtYXkgbmVlZCB0byBhY2Nlc3Mg
c29tZSBkYXRhIGZyb20gdGhlIGNvbW1vbiBWTS4KICAgICAvLyBUaGV5IHNob3VsZCBlbnN1cmUg
dGhlaXIgdXNlIG9mIHRoZSBWTSBpcyB0aHJlYWQgc2FmZS4KICAgICBKU0M6OlZNKiBtX3ZtIHsg
bnVsbHB0ciB9OworCisjaWYgRU5BQkxFKFNBTVBMSU5HX1BST0ZJTEVSKSAmJiBPUyhEQVJXSU4p
CisgICAgbWFjaF9wb3J0X3QgbV9zYW1wbGluZ1Byb2ZpbGVyTWFjaFRocmVhZCB7IE1BQ0hfUE9S
VF9OVUxMIH07CisjZW5kaWYKKwogfTsKIAogI2lmIFBMQVRGT1JNKENPQ09BKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9jb2NvYS9SZXNvdXJjZVVzYWdlVGhyZWFkQ29jb2EubW0g
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2NvY29hL1Jlc291cmNlVXNhZ2VUaHJlYWRDb2NvYS5tbQpp
bmRleCBlNjQ0YWJlZjEyNi4uNjk5NzJmMDE3ZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvY29jb2EvUmVzb3VyY2VVc2FnZVRocmVhZENvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvY29jb2EvUmVzb3VyY2VVc2FnZVRocmVhZENvY29hLm1tCkBAIC0zMCw2ICszMCw3
IEBACiAKICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9HQ0FjdGl2aXR5Q2FsbGJhY2suaD4KICNp
bmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9IZWFwLmg+CisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUv
U2FtcGxpbmdQcm9maWxlci5oPgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL1ZNLmg+CiAjaW5j
bHVkZSA8bWFjaC9tYWNoLmg+CiAjaW5jbHVkZSA8bWFjaC92bV9zdGF0aXN0aWNzLmg+CkBAIC0x
MzksNyArMTQwLDcgQEAgc3RkOjphcnJheTxUYWdJbmZvLCAyNTY+IHBhZ2VzUGVyVk1UYWcoKQog
ICAgIHJldHVybiB0YWdzOwogfQogCi1zdGF0aWMgVmVjdG9yPE1hY2hTZW5kUmlnaHQ+IHRocmVh
ZFNlbmRSaWdodHMoKQorc3RhdGljIFZlY3RvcjxNYWNoU2VuZFJpZ2h0PiBmaWx0ZXJUaHJlYWRz
KEZ1bmN0aW9uPGJvb2wgKG1hY2hfcG9ydF90KT4mJiBmaWx0ZXJGdW5jdGlvbikKIHsKICAgICB0
aHJlYWRfYXJyYXlfdCB0aHJlYWRMaXN0ID0gbnVsbHB0cjsKICAgICBtYWNoX21zZ190eXBlX251
bWJlcl90IHRocmVhZENvdW50ID0gMDsKQEAgLTE0OCw4ICsxNDksMTAgQEAgc3RhdGljIFZlY3Rv
cjxNYWNoU2VuZFJpZ2h0PiB0aHJlYWRTZW5kUmlnaHRzKCkKICAgICAgICAgcmV0dXJuIHsgfTsK
IAogICAgIFZlY3RvcjxNYWNoU2VuZFJpZ2h0PiBtYWNoVGhyZWFkczsKLSAgICBmb3IgKG1hY2hf
bXNnX3R5cGVfbnVtYmVyX3QgaSA9IDA7IGkgPCB0aHJlYWRDb3VudDsgKytpKQotICAgICAgICBt
YWNoVGhyZWFkcy5hcHBlbmQoTWFjaFNlbmRSaWdodDo6YWRvcHQodGhyZWFkTGlzdFtpXSkpOwor
ICAgIGZvciAobWFjaF9tc2dfdHlwZV9udW1iZXJfdCBpID0gMDsgaSA8IHRocmVhZENvdW50OyAr
K2kpIHsKKyAgICAgICAgaWYgKGZpbHRlckZ1bmN0aW9uKHRocmVhZExpc3RbaV0pKQorICAgICAg
ICAgICAgbWFjaFRocmVhZHMuYXBwZW5kKE1hY2hTZW5kUmlnaHQ6OmFkb3B0KHRocmVhZExpc3Rb
aV0pKTsKKyAgICB9CiAKICAgICBrciA9IHZtX2RlYWxsb2NhdGUobWFjaF90YXNrX3NlbGYoKSwg
KHZtX29mZnNldF90KXRocmVhZExpc3QsIHRocmVhZENvdW50ICogc2l6ZW9mKHRocmVhZF90KSk7
CiAgICAgQVNTRVJUKGtyID09IEtFUk5fU1VDQ0VTUyk7CkBAIC0xNTcsMTAgKzE2MCwyNiBAQCBz
dGF0aWMgVmVjdG9yPE1hY2hTZW5kUmlnaHQ+IHRocmVhZFNlbmRSaWdodHMoKQogICAgIHJldHVy
biBtYWNoVGhyZWFkczsKIH0KIAotc3RhdGljIGZsb2F0IGNwdVVzYWdlKCkKK3N0YXRpYyBWZWN0
b3I8TWFjaFNlbmRSaWdodD4gdGhyZWFkU2VuZFJpZ2h0cygpCiB7Ci0gICAgYXV0byBtYWNoVGhy
ZWFkcyA9IHRocmVhZFNlbmRSaWdodHMoKTsKKyAgICByZXR1cm4gZmlsdGVyVGhyZWFkcyhbXSAo
bWFjaF9wb3J0X3QpIHsKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfSk7Cit9CiAKK3N0YXRp
YyBWZWN0b3I8TWFjaFNlbmRSaWdodD4gdGhyZWFkU2VuZFJpZ2h0c0V4Y2x1ZGluZ0RlYnVnZ2Vy
VGhyZWFkcyhtYWNoX3BvcnRfdCByZXNvdXJjZVVzYWdlVGhyZWFkLCBtYWNoX3BvcnRfdCBzYW1w
bGluZ1Byb2ZpbGVyVGhyZWFkKQoreworICAgIHJldHVybiBmaWx0ZXJUaHJlYWRzKFsmXSAobWFj
aF9wb3J0X3QgdGhyZWFkKSB7CisgICAgICAgIGlmICh0aHJlYWQgPT0gcmVzb3VyY2VVc2FnZVRo
cmVhZCkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgaWYgKHRocmVhZCA9PSBz
YW1wbGluZ1Byb2ZpbGVyVGhyZWFkKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAg
ICByZXR1cm4gdHJ1ZTsKKyAgICB9KTsKK30KKworc3RhdGljIGZsb2F0IGNwdVVzYWdlKFZlY3Rv
cjxNYWNoU2VuZFJpZ2h0PiBtYWNoVGhyZWFkcykKK3sKICAgICBmbG9hdCB1c2FnZSA9IDA7CiAK
ICAgICBmb3IgKGF1dG8mIG1hY2hUaHJlYWQgOiBtYWNoVGhyZWFkcykgewpAQCAtMjA1LDkgKzIy
NCwyNiBAQCBzdGF0aWMgdW5zaWduZWQgY2F0ZWdvcnlGb3JWTVRhZyh1bnNpZ25lZCB0YWcpCiAg
ICAgfQogfQogCisjaWYgRU5BQkxFKFNBTVBMSU5HX1BST0ZJTEVSKQordm9pZCBSZXNvdXJjZVVz
YWdlVGhyZWFkOjpwbGF0Zm9ybVNhdmVTdGF0ZUJlZm9yZVN0YXJ0aW5nKCkKK3sKKyAgICBtX3Nh
bXBsaW5nUHJvZmlsZXJNYWNoVGhyZWFkID0gbV92bS0+c2FtcGxpbmdQcm9maWxlcigpID8gbV92
bS0+c2FtcGxpbmdQcm9maWxlcigpLT5tYWNoVGhyZWFkKCkgOiBNQUNIX1BPUlRfTlVMTDsKK30K
KyNlbHNlCit2b2lkIFJlc291cmNlVXNhZ2VUaHJlYWQ6OnBsYXRmb3JtU2F2ZVN0YXRlQmVmb3Jl
U3RhcnRpbmcoKSB7IH0KKyNlbmRpZgorCiB2b2lkIFJlc291cmNlVXNhZ2VUaHJlYWQ6OnBsYXRm
b3JtQ29sbGVjdENQVURhdGEoSlNDOjpWTSosIFJlc291cmNlVXNhZ2VEYXRhJiBkYXRhKQogewot
ICAgIGRhdGEuY3B1ID0gY3B1VXNhZ2UoKTsKKyAgICBkYXRhLmNwdSA9IGNwdVVzYWdlKHRocmVh
ZFNlbmRSaWdodHMoKSk7CisKKyAgICBtYWNoX3BvcnRfdCByZXNvdXJjZVVzYWdlVGhyZWFkID0g
bWFjaF90aHJlYWRfc2VsZigpOworI2lmIEVOQUJMRShTQU1QTElOR19QUk9GSUxFUikKKyAgICBt
YWNoX3BvcnRfdCBzYW1wbGluZ1Byb2ZpbGVyVGhyZWFkID0gbV9zYW1wbGluZ1Byb2ZpbGVyTWFj
aFRocmVhZDsKKyNlbHNlCisgICAgbWFjaF9wb3J0X3Qgc2FtcGxpbmdQcm9maWxlclRocmVhZCA9
IE1BQ0hfUE9SVF9OVUxMOworI2VuZGlmCisgICAgZGF0YS5jcHVFeGNsdWRpbmdEZWJ1Z2dlclRo
cmVhZHMgPSBjcHVVc2FnZSh0aHJlYWRTZW5kUmlnaHRzRXhjbHVkaW5nRGVidWdnZXJUaHJlYWRz
KHJlc291cmNlVXNhZ2VUaHJlYWQsIHNhbXBsaW5nUHJvZmlsZXJUaHJlYWQpKTsKIH0KIAogdm9p
ZCBSZXNvdXJjZVVzYWdlVGhyZWFkOjpwbGF0Zm9ybUNvbGxlY3RNZW1vcnlEYXRhKEpTQzo6Vk0q
IHZtLCBSZXNvdXJjZVVzYWdlRGF0YSYgZGF0YSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvbGludXgvUmVzb3VyY2VVc2FnZVRocmVhZExpbnV4LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvbGludXgvUmVzb3VyY2VVc2FnZVRocmVhZExpbnV4LmNwcAppbmRleCBmNzZmMTVhYTU3
Mi4uMzE0OWZmODdiNjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbGludXgvUmVz
b3VyY2VVc2FnZVRocmVhZExpbnV4LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2xpbnV4
L1Jlc291cmNlVXNhZ2VUaHJlYWRMaW51eC5jcHAKQEAgLTE1MCw5ICsxNTAsMTcgQEAgc3RhdGlj
IGZsb2F0IGNwdVVzYWdlKCkKICAgICByZXR1cm4gY2xhbXBUbzxmbG9hdD4odXNhZ2UsIDAsIDEw
MCk7CiB9CiAKK3ZvaWQgUmVzb3VyY2VVc2FnZVRocmVhZDo6cGxhdGZvcm1TYXZlU3RhdGVCZWZv
cmVTdGFydGluZygpCit7Cit9CisKIHZvaWQgUmVzb3VyY2VVc2FnZVRocmVhZDo6cGxhdGZvcm1D
b2xsZWN0Q1BVRGF0YShKU0M6OlZNKiwgUmVzb3VyY2VVc2FnZURhdGEmIGRhdGEpCiB7CiAgICAg
ZGF0YS5jcHUgPSBjcHVVc2FnZSgpOworCisgICAgLy8gRklYTUU6IEV4Y2x1ZGUgdGhlIFJlc291
cmNlVXNhZ2UgdGhyZWFkLgorICAgIC8vIEZJWE1FOiBFeGNsdWRlIHRoZSBTYW1wbGluZ1Byb2Zp
bGVyIHRocmVhZC4KKyAgICBkYXRhLmNwdUV4Y2x1ZGluZ0RlYnVnZ2VyVGhyZWFkcyA9IGRhdGEu
Y3B1OwogfQogCiB2b2lkIFJlc291cmNlVXNhZ2VUaHJlYWQ6OnBsYXRmb3JtQ29sbGVjdE1lbW9y
eURhdGEoSlNDOjpWTSogdm0sIFJlc291cmNlVXNhZ2VEYXRhJiBkYXRhKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>360156</attachid>
            <date>2019-01-25 13:47:30 -0800</date>
            <delta_ts>2019-01-25 16:45:44 -0800</delta_ts>
            <desc>[PATCH] Proposed Fix</desc>
            <filename>exclude-5.patch</filename>
            <type>text/plain</type>
            <size>8968</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGY5MjU3MTU5YWIwLi5jMzI3MTFiZGNkOSAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTktMDEtMjQgIEpvc2Vw
aCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9y
OiBFeGNsdWRlIERlYnVnZ2VyIFRocmVhZHMgZnJvbSBDUFUgVXNhZ2UgdmFsdWVzIGluIFdlYiBJ
bnNwZWN0b3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE5Mzc5NgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDc1MzI5MTA+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBydW50aW1lL1NhbXBsaW5nUHJv
ZmlsZXIuY3BwOgorICAgICAgICAoSlNDOjpTYW1wbGluZ1Byb2ZpbGVyOjptYWNoVGhyZWFkKToK
KyAgICAgICAgKiBydW50aW1lL1NhbXBsaW5nUHJvZmlsZXIuaDoKKyAgICAgICAgRXhwb3NlIHRo
ZSBtYWNoX3BvcnRfdCBvZiB0aGUgU2FtcGxpbmdQcm9maWxlciB0aHJlYWQKKyAgICAgICAgc28g
aXQgY2FuIGJlIHRlc3RlZCBhZ2FpbnN0IGxhdGVyLgorCiAyMDE5LTAxLTI0ICBZdXN1a2UgU3V6
dWtpICA8eXN1enVraUBhcHBsZS5jb20+CiAKICAgICAgICAgW0pTQ10gRXJyb3JDb25zdHJ1Y3Rv
ciBzaG91bGQgbm90IGhhdmUgb3duIElzb1N1YnNwYWNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9TYW1wbGluZ1Byb2ZpbGVyLmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL1NhbXBsaW5nUHJvZmlsZXIuY3BwCmluZGV4IGY0YjA3ZDllZjgyLi4w
N2RmOTY2ODFkMyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU2Ft
cGxpbmdQcm9maWxlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU2Ft
cGxpbmdQcm9maWxlci5jcHAKQEAgLTEwNzksNiArMTA3OSwxNiBAQCB2b2lkIFNhbXBsaW5nUHJv
ZmlsZXI6OnJlcG9ydFRvcEJ5dGVjb2RlcyhQcmludFN0cmVhbSYgb3V0KQogICAgIH0KIH0KIAor
I2lmIE9TKERBUldJTikKK21hY2hfcG9ydF90IFNhbXBsaW5nUHJvZmlsZXI6Om1hY2hUaHJlYWQo
KQoreworICAgIGlmICghbV90aHJlYWQpCisgICAgICAgIHJldHVybiBNQUNIX1BPUlRfTlVMTDsK
KworICAgIHJldHVybiBtX3RocmVhZC0+bWFjaFRocmVhZCgpOworfQorI2VuZGlmCisKIH0gLy8g
bmFtZXNwYWNlIEpTQwogCiBuYW1lc3BhY2UgV1RGIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1NhbXBsaW5nUHJvZmlsZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1NhbXBsaW5nUHJvZmlsZXIuaAppbmRleCBjNzlhZTc1OTVmMi4uZmZjOTEz
NTdmOGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NhbXBsaW5n
UHJvZmlsZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TYW1wbGluZ1By
b2ZpbGVyLmgKQEAgLTE4Miw2ICsxODIsMTAgQEAgcHVibGljOgogICAgIEpTX0VYUE9SVF9QUklW
QVRFIHZvaWQgcmVwb3J0VG9wQnl0ZWNvZGVzKCk7CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgdm9p
ZCByZXBvcnRUb3BCeXRlY29kZXMoUHJpbnRTdHJlYW0mKTsKIAorI2lmIE9TKERBUldJTikKKyAg
ICBKU19FWFBPUlRfUFJJVkFURSBtYWNoX3BvcnRfdCBtYWNoVGhyZWFkKCk7CisjZW5kaWYKKwog
cHJpdmF0ZToKICAgICB2b2lkIGNyZWF0ZVRocmVhZElmTmVjZXNzYXJ5KGNvbnN0IEFic3RyYWN0
TG9ja2VyJik7CiAgICAgdm9pZCB0aW1lckxvb3AoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAzZTg5NjIzNmQ0
Ni4uNDcyYWVkODk5ZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzOSBAQAorMjAxOS0wMS0yNCAg
Sm9zZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgorCisgICAgICAgIFdlYiBJbnNw
ZWN0b3I6IEV4Y2x1ZGUgRGVidWdnZXIgVGhyZWFkcyBmcm9tIENQVSBVc2FnZSB2YWx1ZXMgaW4g
V2ViIEluc3BlY3RvcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTkzNzk2CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS80NzUzMjkxMD4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBhZ2UvUmVzb3VyY2VV
c2FnZURhdGEuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckNQVVByb2Zp
bGVyQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQ1BVUHJvZmlsZXJBZ2Vu
dDo6Y29sbGVjdFNhbXBsZSk6CisgICAgICAgIFNob3cgdGhlIENQVSB1c2FnZSB3aXRob3V0IGRl
YnVnZ2VyIHRocmVhZHMgaW4gdGhlIFdlYiBJbnNwZWN0b3IncyB0aW1lbGluZS4KKworICAgICAg
ICAqIHBhZ2UvUmVzb3VyY2VVc2FnZVRocmVhZC5oOgorICAgICAgICAqIHBhZ2UvY29jb2EvUmVz
b3VyY2VVc2FnZVRocmVhZENvY29hLm1tOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VVc2Fn
ZVRocmVhZDo6cGxhdGZvcm1TYXZlU3RhdGVCZWZvcmVTdGFydGluZyk6CisgICAgICAgIEZvciBP
UyhEQVJXSU4pIHBvcnRzLCB3aGVuIHN0YXJ0aW5nIHRvIG9ic2VydmUgcmVzb3VyY2UgdXNhZ2Us
CisgICAgICAgIHdlIGdyYWIgdGhlIG1hY2hfcG9ydF90IG9mIFNhbXBsaW5nUHJvZmlsZXIgb24g
dGhlIG1haW4gdGhyZWFkCisgICAgICAgIGluIGEgdGhyZWFkIHNhZmUgd2F5LiBGb3Igb3VyIHB1
cnBvc2VzIChXZWIgSW5zcGVjdG9yIHRpbWVsaW5lcyksCisgICAgICAgIHRoaXMgd2lsbCBiZSBn
b29kIGVub3VnaCB0byB0aHJlYWRpbmcgaWRlbnRpZnlpbmcgdGhlCisgICAgICAgIFNhbXBsaW5n
UHJvZmlsZXIgdGhyZWFkLiBUaGUgU2FtcGxpbmdQcm9maWxlciB0aHJlYWQgd29uJ3QgY2hhbmdl
CisgICAgICAgIGR1cmluZyBhIHRpbWVsaW5lIHJlY29yZGluZyBhbmQgcmVjb3JkaW5nIHN0YXJ0
L3N0b3BzIHdpbGwgbmV2ZXIKKyAgICAgICAgbWlzcyB0aGUgU2FtcGxpbmdQcm9maWxlciBjaGFu
Z2luZy4KKworICAgICAgICAoV2ViQ29yZTo6ZmlsdGVyVGhyZWFkcyk6CisgICAgICAgIChXZWJD
b3JlOjp0aHJlYWRTZW5kUmlnaHRzKToKKyAgICAgICAgKFdlYkNvcmU6OnRocmVhZFNlbmRSaWdo
dHNFeGNsdWRpbmdEZWJ1Z2dlclRocmVhZHMpOgorICAgICAgICAoV2ViQ29yZTo6Y3B1VXNhZ2Up
OgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VVc2FnZVRocmVhZDo6cGxhdGZvcm1Db2xsZWN0
Q1BVRGF0YSk6CisgICAgICAgIENhbGN1bGF0ZSBDUFUgdXNhZ2UgdHdpY2UsIHRoZSBzZWNvbmQg
dGltZSBleGNsdWRpbmcgc29tZSB0aHJlYWRzLgorCisgICAgICAgICogcGFnZS9saW51eC9SZXNv
dXJjZVVzYWdlVGhyZWFkTGludXguY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VVc2Fn
ZVRocmVhZDo6cGxhdGZvcm1TYXZlU3RhdGVCZWZvcmVTdGFydGluZyk6CisgICAgICAgIChXZWJD
b3JlOjpSZXNvdXJjZVVzYWdlVGhyZWFkOjpwbGF0Zm9ybUNvbGxlY3RDUFVEYXRhKToKKyAgICAg
ICAgU3R1YnMgZm9yIGxpbnV4IHBvcnRzLgorCiAyMDE5LTAxLTI0ICBKb3NlcGggUGVjb3Jhcm8g
IDxwZWNvcmFyb0BhcHBsZS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogQ1BVIFVzYWdl
IFRpbWVsaW5lCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL0lu
c3BlY3RvckNQVVByb2ZpbGVyQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Fn
ZW50cy9JbnNwZWN0b3JDUFVQcm9maWxlckFnZW50LmNwcAppbmRleCA2NjI0OGI5ODJmMi4uOGRh
YjFhZmNjOTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5z
cGVjdG9yQ1BVUHJvZmlsZXJBZ2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2FnZW50cy9JbnNwZWN0b3JDUFVQcm9maWxlckFnZW50LmNwcApAQCAtODQsNyArODQsNyBAQCB2
b2lkIEluc3BlY3RvckNQVVByb2ZpbGVyQWdlbnQ6OmNvbGxlY3RTYW1wbGUoY29uc3QgUmVzb3Vy
Y2VVc2FnZURhdGEmIGRhdGEpCiB7CiAgICAgYXV0byBldmVudCA9IFByb3RvY29sOjpDUFVQcm9m
aWxlcjo6RXZlbnQ6OmNyZWF0ZSgpCiAgICAgICAgIC5zZXRUaW1lc3RhbXAobV9lbnZpcm9ubWVu
dC5leGVjdXRpb25TdG9wd2F0Y2goKS0+ZWxhcHNlZFRpbWVTaW5jZShkYXRhLnRpbWVzdGFtcCku
c2Vjb25kcygpKQotICAgICAgICAuc2V0VXNhZ2UoZGF0YS5jcHUpCisgICAgICAgIC5zZXRVc2Fn
ZShkYXRhLmNwdUV4Y2x1ZGluZ0RlYnVnZ2VyVGhyZWFkcykKICAgICAgICAgLnJlbGVhc2UoKTsK
IAogICAgIG1fZnJvbnRlbmREaXNwYXRjaGVyLT50cmFja2luZ1VwZGF0ZShXVEZNb3ZlKGV2ZW50
KSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Jlc291cmNlVXNhZ2VEYXRhLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Jlc291cmNlVXNhZ2VEYXRhLmgKaW5kZXggYWI5NzdiNWU0
NDMuLjEyYmU4NzE5ZWEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Jlc291cmNl
VXNhZ2VEYXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9SZXNvdXJjZVVzYWdlRGF0YS5o
CkBAIC03NSw2ICs3NSw3IEBAIHN0cnVjdCBSZXNvdXJjZVVzYWdlRGF0YSB7CiAgICAgY29uc3Rl
eHByIFJlc291cmNlVXNhZ2VEYXRhKCkgPSBkZWZhdWx0OwogCiAgICAgZmxvYXQgY3B1IHsgMCB9
OworICAgIGZsb2F0IGNwdUV4Y2x1ZGluZ0RlYnVnZ2VyVGhyZWFkcyB7IDAgfTsKICAgICBzaXpl
X3QgdG90YWxEaXJ0eVNpemUgeyAwIH07CiAgICAgc2l6ZV90IHRvdGFsRXh0ZXJuYWxTaXplIHsg
MCB9OwogICAgIHN0ZDo6YXJyYXk8TWVtb3J5Q2F0ZWdvcnlJbmZvLCBNZW1vcnlDYXRlZ29yeTo6
TnVtYmVyT2ZDYXRlZ29yaWVzPiBjYXRlZ29yaWVzIHsgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9SZXNvdXJjZVVzYWdlVGhyZWFkLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Jl
c291cmNlVXNhZ2VUaHJlYWQuaAppbmRleCA3ZGZiNGE3YmMxMy4uMzVhZTNmMDNiZTMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUmVzb3VyY2VVc2FnZVRocmVhZC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvUmVzb3VyY2VVc2FnZVRocmVhZC5oCkBAIC0zNyw2ICszNywxMCBA
QAogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmcu
aD4KIAorI2lmIE9TKERBUldJTikKKyNpbmNsdWRlIDxtYWNoL21hY2guaD4KKyNlbmRpZgorCiBu
YW1lc3BhY2UgSlNDIHsKIGNsYXNzIFZNOwogfQpAQCAtNzAsNiArNzQsNyBAQCBwcml2YXRlOgog
ICAgIHZvaWQgY3JlYXRlVGhyZWFkSWZOZWVkZWQoKTsKICAgICB2b2lkIHRocmVhZEJvZHkoKTsK
IAorICAgIHZvaWQgcGxhdGZvcm1TYXZlU3RhdGVCZWZvcmVTdGFydGluZygpOwogICAgIHZvaWQg
cGxhdGZvcm1Db2xsZWN0Q1BVRGF0YShKU0M6OlZNKiwgUmVzb3VyY2VVc2FnZURhdGEmKTsKICAg
ICB2b2lkIHBsYXRmb3JtQ29sbGVjdE1lbW9yeURhdGEoSlNDOjpWTSosIFJlc291cmNlVXNhZ2VE
YXRhJik7CiAKQEAgLTgyLDYgKzg3LDExIEBAIHByaXZhdGU6CiAgICAgLy8gUGxhdGZvcm1zIG1h
eSBuZWVkIHRvIGFjY2VzcyBzb21lIGRhdGEgZnJvbSB0aGUgY29tbW9uIFZNLgogICAgIC8vIFRo
ZXkgc2hvdWxkIGVuc3VyZSB0aGVpciB1c2Ugb2YgdGhlIFZNIGlzIHRocmVhZCBzYWZlLgogICAg
IEpTQzo6Vk0qIG1fdm0geyBudWxscHRyIH07CisKKyNpZiBFTkFCTEUoU0FNUExJTkdfUFJPRklM
RVIpICYmIE9TKERBUldJTikKKyAgICBtYWNoX3BvcnRfdCBtX3NhbXBsaW5nUHJvZmlsZXJNYWNo
VGhyZWFkIHsgTUFDSF9QT1JUX05VTEwgfTsKKyNlbmRpZgorCiB9OwogCiAjaWYgUExBVEZPUk0o
Q09DT0EpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2NvY29hL1Jlc291cmNlVXNh
Z2VUaHJlYWRDb2NvYS5tbSBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvY29jb2EvUmVzb3VyY2VVc2Fn
ZVRocmVhZENvY29hLm1tCmluZGV4IGU2NDRhYmVmMTI2Li5kOGU1NGJlOWQzNCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9jb2NvYS9SZXNvdXJjZVVzYWdlVGhyZWFkQ29jb2EubW0K
KysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9jb2NvYS9SZXNvdXJjZVVzYWdlVGhyZWFkQ29jb2Eu
bW0KQEAgLTMwLDYgKzMwLDcgQEAKIAogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0dDQWN0aXZp
dHlDYWxsYmFjay5oPgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0hlYXAuaD4KKyNpbmNsdWRl
IDxKYXZhU2NyaXB0Q29yZS9TYW1wbGluZ1Byb2ZpbGVyLmg+CiAjaW5jbHVkZSA8SmF2YVNjcmlw
dENvcmUvVk0uaD4KICNpbmNsdWRlIDxtYWNoL21hY2guaD4KICNpbmNsdWRlIDxtYWNoL3ZtX3N0
YXRpc3RpY3MuaD4KQEAgLTE1NywxMCArMTU4LDggQEAgc3RhdGljIFZlY3RvcjxNYWNoU2VuZFJp
Z2h0PiB0aHJlYWRTZW5kUmlnaHRzKCkKICAgICByZXR1cm4gbWFjaFRocmVhZHM7CiB9CiAKLXN0
YXRpYyBmbG9hdCBjcHVVc2FnZSgpCitzdGF0aWMgZmxvYXQgY3B1VXNhZ2UoVmVjdG9yPE1hY2hT
ZW5kUmlnaHQ+JiBtYWNoVGhyZWFkcykKIHsKLSAgICBhdXRvIG1hY2hUaHJlYWRzID0gdGhyZWFk
U2VuZFJpZ2h0cygpOwotCiAgICAgZmxvYXQgdXNhZ2UgPSAwOwogCiAgICAgZm9yIChhdXRvJiBt
YWNoVGhyZWFkIDogbWFjaFRocmVhZHMpIHsKQEAgLTIwNSw5ICsyMDQsMzIgQEAgc3RhdGljIHVu
c2lnbmVkIGNhdGVnb3J5Rm9yVk1UYWcodW5zaWduZWQgdGFnKQogICAgIH0KIH0KIAordm9pZCBS
ZXNvdXJjZVVzYWdlVGhyZWFkOjpwbGF0Zm9ybVNhdmVTdGF0ZUJlZm9yZVN0YXJ0aW5nKCkKK3sK
KyNpZiBFTkFCTEUoU0FNUExJTkdfUFJPRklMRVIpCisgICAgbV9zYW1wbGluZ1Byb2ZpbGVyTWFj
aFRocmVhZCA9IG1fdm0tPnNhbXBsaW5nUHJvZmlsZXIoKSA/IG1fdm0tPnNhbXBsaW5nUHJvZmls
ZXIoKS0+bWFjaFRocmVhZCgpIDogTUFDSF9QT1JUX05VTEw7CisjZW5kaWYKK30KKwogdm9pZCBS
ZXNvdXJjZVVzYWdlVGhyZWFkOjpwbGF0Zm9ybUNvbGxlY3RDUFVEYXRhKEpTQzo6Vk0qLCBSZXNv
dXJjZVVzYWdlRGF0YSYgZGF0YSkKIHsKLSAgICBkYXRhLmNwdSA9IGNwdVVzYWdlKCk7CisgICAg
VmVjdG9yPE1hY2hTZW5kUmlnaHQ+IHRocmVhZHMgPSB0aHJlYWRTZW5kUmlnaHRzKCk7CisgICAg
ZGF0YS5jcHUgPSBjcHVVc2FnZSh0aHJlYWRzKTsKKworICAgIC8vIFJlbW92ZSBkZWJ1Z2dlciB0
aHJlYWRzLgorICAgIG1hY2hfcG9ydF90IHJlc291cmNlVXNhZ2VNYWNoVGhyZWFkID0gbWFjaF90
aHJlYWRfc2VsZigpOworICAgIHRocmVhZHMucmVtb3ZlQWxsTWF0Y2hpbmcoWyZdIChNYWNoU2Vu
ZFJpZ2h0JiB0aHJlYWQpIHsKKyAgICAgICAgbWFjaF9wb3J0X3QgbWFjaFRocmVhZCA9IHRocmVh
ZC5zZW5kUmlnaHQoKTsKKyAgICAgICAgaWYgKG1hY2hUaHJlYWQgPT0gcmVzb3VyY2VVc2FnZU1h
Y2hUaHJlYWQpCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyNpZiBFTkFCTEUoU0FNUExJTkdf
UFJPRklMRVIpCisgICAgICAgIGlmIChtYWNoVGhyZWFkID09IG1fc2FtcGxpbmdQcm9maWxlck1h
Y2hUaHJlYWQpCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyNlbmRpZgorICAgICAgICByZXR1
cm4gZmFsc2U7CisgICAgfSk7CisKKyAgICBkYXRhLmNwdUV4Y2x1ZGluZ0RlYnVnZ2VyVGhyZWFk
cyA9IGNwdVVzYWdlKHRocmVhZHMpOwogfQogCiB2b2lkIFJlc291cmNlVXNhZ2VUaHJlYWQ6OnBs
YXRmb3JtQ29sbGVjdE1lbW9yeURhdGEoSlNDOjpWTSogdm0sIFJlc291cmNlVXNhZ2VEYXRhJiBk
YXRhKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9saW51eC9SZXNvdXJjZVVzYWdl
VGhyZWFkTGludXguY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9saW51eC9SZXNvdXJjZVVzYWdl
VGhyZWFkTGludXguY3BwCmluZGV4IGY3NmYxNWFhNTcyLi4zMTQ5ZmY4N2I2OSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9saW51eC9SZXNvdXJjZVVzYWdlVGhyZWFkTGludXguY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbGludXgvUmVzb3VyY2VVc2FnZVRocmVhZExpbnV4
LmNwcApAQCAtMTUwLDkgKzE1MCwxNyBAQCBzdGF0aWMgZmxvYXQgY3B1VXNhZ2UoKQogICAgIHJl
dHVybiBjbGFtcFRvPGZsb2F0Pih1c2FnZSwgMCwgMTAwKTsKIH0KIAordm9pZCBSZXNvdXJjZVVz
YWdlVGhyZWFkOjpwbGF0Zm9ybVNhdmVTdGF0ZUJlZm9yZVN0YXJ0aW5nKCkKK3sKK30KKwogdm9p
ZCBSZXNvdXJjZVVzYWdlVGhyZWFkOjpwbGF0Zm9ybUNvbGxlY3RDUFVEYXRhKEpTQzo6Vk0qLCBS
ZXNvdXJjZVVzYWdlRGF0YSYgZGF0YSkKIHsKICAgICBkYXRhLmNwdSA9IGNwdVVzYWdlKCk7CisK
KyAgICAvLyBGSVhNRTogRXhjbHVkZSB0aGUgUmVzb3VyY2VVc2FnZSB0aHJlYWQuCisgICAgLy8g
RklYTUU6IEV4Y2x1ZGUgdGhlIFNhbXBsaW5nUHJvZmlsZXIgdGhyZWFkLgorICAgIGRhdGEuY3B1
RXhjbHVkaW5nRGVidWdnZXJUaHJlYWRzID0gZGF0YS5jcHU7CiB9CiAKIHZvaWQgUmVzb3VyY2VV
c2FnZVRocmVhZDo6cGxhdGZvcm1Db2xsZWN0TWVtb3J5RGF0YShKU0M6OlZNKiB2bSwgUmVzb3Vy
Y2VVc2FnZURhdGEmIGRhdGEpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>360176</attachid>
            <date>2019-01-25 15:27:39 -0800</date>
            <delta_ts>2019-01-25 15:45:10 -0800</delta_ts>
            <desc>[PATCH] For Landing</desc>
            <filename>for-landing-7.patch</filename>
            <type>text/plain</type>
            <size>8977</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGY5MjU3MTU5YWIwLi41Yjg5MTAxYzZmNyAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTktMDEtMjUgIEpvc2Vw
aCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9y
OiBFeGNsdWRlIERlYnVnZ2VyIFRocmVhZHMgZnJvbSBDUFUgVXNhZ2UgdmFsdWVzIGluIFdlYiBJ
bnNwZWN0b3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE5Mzc5NgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDc1MzI5MTA+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgRGV2aW4gUm91c3NvLgorCisgICAgICAgICogcnVudGltZS9TYW1wbGluZ1Byb2Zp
bGVyLmNwcDoKKyAgICAgICAgKEpTQzo6U2FtcGxpbmdQcm9maWxlcjo6bWFjaFRocmVhZCk6Cisg
ICAgICAgICogcnVudGltZS9TYW1wbGluZ1Byb2ZpbGVyLmg6CisgICAgICAgIEV4cG9zZSB0aGUg
bWFjaF9wb3J0X3Qgb2YgdGhlIFNhbXBsaW5nUHJvZmlsZXIgdGhyZWFkCisgICAgICAgIHNvIGl0
IGNhbiBiZSB0ZXN0ZWQgYWdhaW5zdCBsYXRlci4KKwogMjAxOS0wMS0yNCAgWXVzdWtlIFN1enVr
aSAgPHlzdXp1a2lAYXBwbGUuY29tPgogCiAgICAgICAgIFtKU0NdIEVycm9yQ29uc3RydWN0b3Ig
c2hvdWxkIG5vdCBoYXZlIG93biBJc29TdWJzcGFjZQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvU2FtcGxpbmdQcm9maWxlci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9TYW1wbGluZ1Byb2ZpbGVyLmNwcAppbmRleCBmNGIwN2Q5ZWY4Mi4uMDdk
Zjk2NjgxZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NhbXBs
aW5nUHJvZmlsZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NhbXBs
aW5nUHJvZmlsZXIuY3BwCkBAIC0xMDc5LDYgKzEwNzksMTYgQEAgdm9pZCBTYW1wbGluZ1Byb2Zp
bGVyOjpyZXBvcnRUb3BCeXRlY29kZXMoUHJpbnRTdHJlYW0mIG91dCkKICAgICB9CiB9CiAKKyNp
ZiBPUyhEQVJXSU4pCittYWNoX3BvcnRfdCBTYW1wbGluZ1Byb2ZpbGVyOjptYWNoVGhyZWFkKCkK
K3sKKyAgICBpZiAoIW1fdGhyZWFkKQorICAgICAgICByZXR1cm4gTUFDSF9QT1JUX05VTEw7CisK
KyAgICByZXR1cm4gbV90aHJlYWQtPm1hY2hUaHJlYWQoKTsKK30KKyNlbmRpZgorCiB9IC8vIG5h
bWVzcGFjZSBKU0MKIAogbmFtZXNwYWNlIFdURiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9TYW1wbGluZ1Byb2ZpbGVyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9TYW1wbGluZ1Byb2ZpbGVyLmgKaW5kZXggYzc5YWU3NTk1ZjIuLmZmYzkxMzU3
ZjhkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TYW1wbGluZ1By
b2ZpbGVyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU2FtcGxpbmdQcm9m
aWxlci5oCkBAIC0xODIsNiArMTgyLDEwIEBAIHB1YmxpYzoKICAgICBKU19FWFBPUlRfUFJJVkFU
RSB2b2lkIHJlcG9ydFRvcEJ5dGVjb2RlcygpOwogICAgIEpTX0VYUE9SVF9QUklWQVRFIHZvaWQg
cmVwb3J0VG9wQnl0ZWNvZGVzKFByaW50U3RyZWFtJik7CiAKKyNpZiBPUyhEQVJXSU4pCisgICAg
SlNfRVhQT1JUX1BSSVZBVEUgbWFjaF9wb3J0X3QgbWFjaFRocmVhZCgpOworI2VuZGlmCisKIHBy
aXZhdGU6CiAgICAgdm9pZCBjcmVhdGVUaHJlYWRJZk5lY2Vzc2FyeShjb25zdCBBYnN0cmFjdExv
Y2tlciYpOwogICAgIHZvaWQgdGltZXJMb29wKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2U4OTYyMzZkNDYu
LmNmMzhiMDc0MmFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzkgQEAKKzIwMTktMDEtMjUgIEpv
c2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVj
dG9yOiBFeGNsdWRlIERlYnVnZ2VyIFRocmVhZHMgZnJvbSBDUFUgVXNhZ2UgdmFsdWVzIGluIFdl
YiBJbnNwZWN0b3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE5Mzc5NgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDc1MzI5MTA+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgRGV2aW4gUm91c3NvLgorCisgICAgICAgICogcGFnZS9SZXNvdXJjZVVzYWdl
RGF0YS5oOgorICAgICAgICAqIGluc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yQ1BVUHJvZmlsZXJB
Z2VudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDUFVQcm9maWxlckFnZW50Ojpj
b2xsZWN0U2FtcGxlKToKKyAgICAgICAgU2hvdyB0aGUgQ1BVIHVzYWdlIHdpdGhvdXQgZGVidWdn
ZXIgdGhyZWFkcyBpbiB0aGUgV2ViIEluc3BlY3RvcidzIHRpbWVsaW5lLgorCisgICAgICAgICog
cGFnZS9SZXNvdXJjZVVzYWdlVGhyZWFkLmg6CisgICAgICAgICogcGFnZS9jb2NvYS9SZXNvdXJj
ZVVzYWdlVGhyZWFkQ29jb2EubW06CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVVzYWdlVGhy
ZWFkOjpwbGF0Zm9ybVNhdmVTdGF0ZUJlZm9yZVN0YXJ0aW5nKToKKyAgICAgICAgRm9yIE9TKERB
UldJTikgcG9ydHMsIHdoZW4gc3RhcnRpbmcgdG8gb2JzZXJ2ZSByZXNvdXJjZSB1c2FnZSwKKyAg
ICAgICAgd2UgZ3JhYiB0aGUgbWFjaF9wb3J0X3Qgb2YgU2FtcGxpbmdQcm9maWxlciBvbiB0aGUg
bWFpbiB0aHJlYWQKKyAgICAgICAgaW4gYSB0aHJlYWQgc2FmZSB3YXkuIEZvciBvdXIgcHVycG9z
ZXMgKFdlYiBJbnNwZWN0b3IgdGltZWxpbmVzKSwKKyAgICAgICAgdGhpcyB3aWxsIGJlIGdvb2Qg
ZW5vdWdoIHRvIGlkZW50aWZ5IHRoZSBTYW1wbGluZ1Byb2ZpbGVyIHRocmVhZAorICAgICAgICBk
dXJpbmcgdGltZWxpbmUgcmVjb3JkaW5nLiBUaGUgU2FtcGxpbmdQcm9maWxlciB0aHJlYWQgd29u
J3QgY2hhbmdlCisgICAgICAgIGR1cmluZyBhIHRpbWVsaW5lIHJlY29yZGluZyBhbmQgcmVjb3Jk
aW5nIHN0YXJ0L3N0b3BzIHdpbGwgbmV2ZXIKKyAgICAgICAgbWlzcyB0aGUgU2FtcGxpbmdQcm9m
aWxlciBjaGFuZ2luZy4KKworICAgICAgICAoV2ViQ29yZTo6ZmlsdGVyVGhyZWFkcyk6CisgICAg
ICAgIChXZWJDb3JlOjp0aHJlYWRTZW5kUmlnaHRzKToKKyAgICAgICAgKFdlYkNvcmU6OnRocmVh
ZFNlbmRSaWdodHNFeGNsdWRpbmdEZWJ1Z2dlclRocmVhZHMpOgorICAgICAgICAoV2ViQ29yZTo6
Y3B1VXNhZ2UpOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VVc2FnZVRocmVhZDo6cGxhdGZv
cm1Db2xsZWN0Q1BVRGF0YSk6CisgICAgICAgIENhbGN1bGF0ZSBDUFUgdXNhZ2UgdHdpY2UsIHRo
ZSBzZWNvbmQgdGltZSBleGNsdWRpbmcgc29tZSB0aHJlYWRzLgorCisgICAgICAgICogcGFnZS9s
aW51eC9SZXNvdXJjZVVzYWdlVGhyZWFkTGludXguY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVz
b3VyY2VVc2FnZVRocmVhZDo6cGxhdGZvcm1TYXZlU3RhdGVCZWZvcmVTdGFydGluZyk6CisgICAg
ICAgIChXZWJDb3JlOjpSZXNvdXJjZVVzYWdlVGhyZWFkOjpwbGF0Zm9ybUNvbGxlY3RDUFVEYXRh
KToKKyAgICAgICAgU3R1YnMgZm9yIGxpbnV4IHBvcnRzLgorCiAyMDE5LTAxLTI0ICBKb3NlcGgg
UGVjb3Jhcm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3Rvcjog
Q1BVIFVzYWdlIFRpbWVsaW5lCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
YWdlbnRzL0luc3BlY3RvckNQVVByb2ZpbGVyQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2FnZW50cy9JbnNwZWN0b3JDUFVQcm9maWxlckFnZW50LmNwcAppbmRleCA2NjI0OGI5
ODJmMi4uOGRhYjFhZmNjOTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9h
Z2VudHMvSW5zcGVjdG9yQ1BVUHJvZmlsZXJBZ2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JDUFVQcm9maWxlckFnZW50LmNwcApAQCAtODQsNyAr
ODQsNyBAQCB2b2lkIEluc3BlY3RvckNQVVByb2ZpbGVyQWdlbnQ6OmNvbGxlY3RTYW1wbGUoY29u
c3QgUmVzb3VyY2VVc2FnZURhdGEmIGRhdGEpCiB7CiAgICAgYXV0byBldmVudCA9IFByb3RvY29s
OjpDUFVQcm9maWxlcjo6RXZlbnQ6OmNyZWF0ZSgpCiAgICAgICAgIC5zZXRUaW1lc3RhbXAobV9l
bnZpcm9ubWVudC5leGVjdXRpb25TdG9wd2F0Y2goKS0+ZWxhcHNlZFRpbWVTaW5jZShkYXRhLnRp
bWVzdGFtcCkuc2Vjb25kcygpKQotICAgICAgICAuc2V0VXNhZ2UoZGF0YS5jcHUpCisgICAgICAg
IC5zZXRVc2FnZShkYXRhLmNwdUV4Y2x1ZGluZ0RlYnVnZ2VyVGhyZWFkcykKICAgICAgICAgLnJl
bGVhc2UoKTsKIAogICAgIG1fZnJvbnRlbmREaXNwYXRjaGVyLT50cmFja2luZ1VwZGF0ZShXVEZN
b3ZlKGV2ZW50KSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Jlc291cmNlVXNh
Z2VEYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Jlc291cmNlVXNhZ2VEYXRhLmgKaW5kZXgg
YWI5NzdiNWU0NDMuLjEyYmU4NzE5ZWEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1Jlc291cmNlVXNhZ2VEYXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9SZXNvdXJjZVVz
YWdlRGF0YS5oCkBAIC03NSw2ICs3NSw3IEBAIHN0cnVjdCBSZXNvdXJjZVVzYWdlRGF0YSB7CiAg
ICAgY29uc3RleHByIFJlc291cmNlVXNhZ2VEYXRhKCkgPSBkZWZhdWx0OwogCiAgICAgZmxvYXQg
Y3B1IHsgMCB9OworICAgIGZsb2F0IGNwdUV4Y2x1ZGluZ0RlYnVnZ2VyVGhyZWFkcyB7IDAgfTsK
ICAgICBzaXplX3QgdG90YWxEaXJ0eVNpemUgeyAwIH07CiAgICAgc2l6ZV90IHRvdGFsRXh0ZXJu
YWxTaXplIHsgMCB9OwogICAgIHN0ZDo6YXJyYXk8TWVtb3J5Q2F0ZWdvcnlJbmZvLCBNZW1vcnlD
YXRlZ29yeTo6TnVtYmVyT2ZDYXRlZ29yaWVzPiBjYXRlZ29yaWVzIHsgewpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGFnZS9SZXNvdXJjZVVzYWdlVGhyZWFkLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1Jlc291cmNlVXNhZ2VUaHJlYWQuaAppbmRleCA3ZGZiNGE3YmMxMy4uMzVhZTNmMDNi
ZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUmVzb3VyY2VVc2FnZVRocmVhZC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUmVzb3VyY2VVc2FnZVRocmVhZC5oCkBAIC0zNyw2
ICszNywxMCBAQAogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9U
aHJlYWRpbmcuaD4KIAorI2lmIE9TKERBUldJTikKKyNpbmNsdWRlIDxtYWNoL21hY2guaD4KKyNl
bmRpZgorCiBuYW1lc3BhY2UgSlNDIHsKIGNsYXNzIFZNOwogfQpAQCAtNzAsNiArNzQsNyBAQCBw
cml2YXRlOgogICAgIHZvaWQgY3JlYXRlVGhyZWFkSWZOZWVkZWQoKTsKICAgICB2b2lkIHRocmVh
ZEJvZHkoKTsKIAorICAgIHZvaWQgcGxhdGZvcm1TYXZlU3RhdGVCZWZvcmVTdGFydGluZygpOwog
ICAgIHZvaWQgcGxhdGZvcm1Db2xsZWN0Q1BVRGF0YShKU0M6OlZNKiwgUmVzb3VyY2VVc2FnZURh
dGEmKTsKICAgICB2b2lkIHBsYXRmb3JtQ29sbGVjdE1lbW9yeURhdGEoSlNDOjpWTSosIFJlc291
cmNlVXNhZ2VEYXRhJik7CiAKQEAgLTgyLDYgKzg3LDExIEBAIHByaXZhdGU6CiAgICAgLy8gUGxh
dGZvcm1zIG1heSBuZWVkIHRvIGFjY2VzcyBzb21lIGRhdGEgZnJvbSB0aGUgY29tbW9uIFZNLgog
ICAgIC8vIFRoZXkgc2hvdWxkIGVuc3VyZSB0aGVpciB1c2Ugb2YgdGhlIFZNIGlzIHRocmVhZCBz
YWZlLgogICAgIEpTQzo6Vk0qIG1fdm0geyBudWxscHRyIH07CisKKyNpZiBFTkFCTEUoU0FNUExJ
TkdfUFJPRklMRVIpICYmIE9TKERBUldJTikKKyAgICBtYWNoX3BvcnRfdCBtX3NhbXBsaW5nUHJv
ZmlsZXJNYWNoVGhyZWFkIHsgTUFDSF9QT1JUX05VTEwgfTsKKyNlbmRpZgorCiB9OwogCiAjaWYg
UExBVEZPUk0oQ09DT0EpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2NvY29hL1Jl
c291cmNlVXNhZ2VUaHJlYWRDb2NvYS5tbSBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvY29jb2EvUmVz
b3VyY2VVc2FnZVRocmVhZENvY29hLm1tCmluZGV4IGU2NDRhYmVmMTI2Li5kOGU1NGJlOWQzNCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9jb2NvYS9SZXNvdXJjZVVzYWdlVGhyZWFk
Q29jb2EubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9jb2NvYS9SZXNvdXJjZVVzYWdlVGhy
ZWFkQ29jb2EubW0KQEAgLTMwLDYgKzMwLDcgQEAKIAogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3Jl
L0dDQWN0aXZpdHlDYWxsYmFjay5oPgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0hlYXAuaD4K
KyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9TYW1wbGluZ1Byb2ZpbGVyLmg+CiAjaW5jbHVkZSA8
SmF2YVNjcmlwdENvcmUvVk0uaD4KICNpbmNsdWRlIDxtYWNoL21hY2guaD4KICNpbmNsdWRlIDxt
YWNoL3ZtX3N0YXRpc3RpY3MuaD4KQEAgLTE1NywxMCArMTU4LDggQEAgc3RhdGljIFZlY3RvcjxN
YWNoU2VuZFJpZ2h0PiB0aHJlYWRTZW5kUmlnaHRzKCkKICAgICByZXR1cm4gbWFjaFRocmVhZHM7
CiB9CiAKLXN0YXRpYyBmbG9hdCBjcHVVc2FnZSgpCitzdGF0aWMgZmxvYXQgY3B1VXNhZ2UoVmVj
dG9yPE1hY2hTZW5kUmlnaHQ+JiBtYWNoVGhyZWFkcykKIHsKLSAgICBhdXRvIG1hY2hUaHJlYWRz
ID0gdGhyZWFkU2VuZFJpZ2h0cygpOwotCiAgICAgZmxvYXQgdXNhZ2UgPSAwOwogCiAgICAgZm9y
IChhdXRvJiBtYWNoVGhyZWFkIDogbWFjaFRocmVhZHMpIHsKQEAgLTIwNSw5ICsyMDQsMzIgQEAg
c3RhdGljIHVuc2lnbmVkIGNhdGVnb3J5Rm9yVk1UYWcodW5zaWduZWQgdGFnKQogICAgIH0KIH0K
IAordm9pZCBSZXNvdXJjZVVzYWdlVGhyZWFkOjpwbGF0Zm9ybVNhdmVTdGF0ZUJlZm9yZVN0YXJ0
aW5nKCkKK3sKKyNpZiBFTkFCTEUoU0FNUExJTkdfUFJPRklMRVIpCisgICAgbV9zYW1wbGluZ1By
b2ZpbGVyTWFjaFRocmVhZCA9IG1fdm0tPnNhbXBsaW5nUHJvZmlsZXIoKSA/IG1fdm0tPnNhbXBs
aW5nUHJvZmlsZXIoKS0+bWFjaFRocmVhZCgpIDogTUFDSF9QT1JUX05VTEw7CisjZW5kaWYKK30K
Kwogdm9pZCBSZXNvdXJjZVVzYWdlVGhyZWFkOjpwbGF0Zm9ybUNvbGxlY3RDUFVEYXRhKEpTQzo6
Vk0qLCBSZXNvdXJjZVVzYWdlRGF0YSYgZGF0YSkKIHsKLSAgICBkYXRhLmNwdSA9IGNwdVVzYWdl
KCk7CisgICAgVmVjdG9yPE1hY2hTZW5kUmlnaHQ+IHRocmVhZHMgPSB0aHJlYWRTZW5kUmlnaHRz
KCk7CisgICAgZGF0YS5jcHUgPSBjcHVVc2FnZSh0aHJlYWRzKTsKKworICAgIC8vIFJlbW92ZSBk
ZWJ1Z2dlciB0aHJlYWRzLgorICAgIG1hY2hfcG9ydF90IHJlc291cmNlVXNhZ2VNYWNoVGhyZWFk
ID0gbWFjaF90aHJlYWRfc2VsZigpOworICAgIHRocmVhZHMucmVtb3ZlQWxsTWF0Y2hpbmcoWyZd
IChNYWNoU2VuZFJpZ2h0JiB0aHJlYWQpIHsKKyAgICAgICAgbWFjaF9wb3J0X3QgbWFjaFRocmVh
ZCA9IHRocmVhZC5zZW5kUmlnaHQoKTsKKyAgICAgICAgaWYgKG1hY2hUaHJlYWQgPT0gcmVzb3Vy
Y2VVc2FnZU1hY2hUaHJlYWQpCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyNpZiBFTkFCTEUo
U0FNUExJTkdfUFJPRklMRVIpCisgICAgICAgIGlmIChtYWNoVGhyZWFkID09IG1fc2FtcGxpbmdQ
cm9maWxlck1hY2hUaHJlYWQpCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyNlbmRpZgorICAg
ICAgICByZXR1cm4gZmFsc2U7CisgICAgfSk7CisKKyAgICBkYXRhLmNwdUV4Y2x1ZGluZ0RlYnVn
Z2VyVGhyZWFkcyA9IGNwdVVzYWdlKHRocmVhZHMpOwogfQogCiB2b2lkIFJlc291cmNlVXNhZ2VU
aHJlYWQ6OnBsYXRmb3JtQ29sbGVjdE1lbW9yeURhdGEoSlNDOjpWTSogdm0sIFJlc291cmNlVXNh
Z2VEYXRhJiBkYXRhKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9saW51eC9SZXNv
dXJjZVVzYWdlVGhyZWFkTGludXguY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9saW51eC9SZXNv
dXJjZVVzYWdlVGhyZWFkTGludXguY3BwCmluZGV4IGY3NmYxNWFhNTcyLi4zMTQ5ZmY4N2I2OSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9saW51eC9SZXNvdXJjZVVzYWdlVGhyZWFk
TGludXguY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbGludXgvUmVzb3VyY2VVc2FnZVRo
cmVhZExpbnV4LmNwcApAQCAtMTUwLDkgKzE1MCwxNyBAQCBzdGF0aWMgZmxvYXQgY3B1VXNhZ2Uo
KQogICAgIHJldHVybiBjbGFtcFRvPGZsb2F0Pih1c2FnZSwgMCwgMTAwKTsKIH0KIAordm9pZCBS
ZXNvdXJjZVVzYWdlVGhyZWFkOjpwbGF0Zm9ybVNhdmVTdGF0ZUJlZm9yZVN0YXJ0aW5nKCkKK3sK
K30KKwogdm9pZCBSZXNvdXJjZVVzYWdlVGhyZWFkOjpwbGF0Zm9ybUNvbGxlY3RDUFVEYXRhKEpT
Qzo6Vk0qLCBSZXNvdXJjZVVzYWdlRGF0YSYgZGF0YSkKIHsKICAgICBkYXRhLmNwdSA9IGNwdVVz
YWdlKCk7CisKKyAgICAvLyBGSVhNRTogRXhjbHVkZSB0aGUgUmVzb3VyY2VVc2FnZSB0aHJlYWQu
CisgICAgLy8gRklYTUU6IEV4Y2x1ZGUgdGhlIFNhbXBsaW5nUHJvZmlsZXIgdGhyZWFkLgorICAg
IGRhdGEuY3B1RXhjbHVkaW5nRGVidWdnZXJUaHJlYWRzID0gZGF0YS5jcHU7CiB9CiAKIHZvaWQg
UmVzb3VyY2VVc2FnZVRocmVhZDo6cGxhdGZvcm1Db2xsZWN0TWVtb3J5RGF0YShKU0M6OlZNKiB2
bSwgUmVzb3VyY2VVc2FnZURhdGEmIGRhdGEpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>