<?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>193951</bug_id>
          
          <creation_ts>2019-01-28 20:07:35 -0800</creation_ts>
          <short_desc>Web Inspector: expose a way of determining if a detached frontend is for a remote target</short_desc>
          <delta_ts>2019-04-05 05:43:26 -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="Devin Rousso">hi</reporter>
          <assigned_to name="Devin Rousso">hi</assigned_to>
          <cc>bburg</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>hi</cc>
    
    <cc>inspector-bugzilla-changes</cc>
    
    <cc>joepeck</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1499377</commentid>
    <comment_count>0</comment_count>
    <who name="Devin Rousso">hi</who>
    <bug_when>2019-01-28 20:07:35 -0800</bug_when>
    <thetext>.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1499378</commentid>
    <comment_count>1</comment_count>
    <who name="Devin Rousso">hi</who>
    <bug_when>2019-01-28 20:07:51 -0800</bug_when>
    <thetext>&lt;rdar://problem/47621366&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1499379</commentid>
    <comment_count>2</comment_count>
      <attachid>360427</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2019-01-28 20:10:24 -0800</bug_when>
    <thetext>Created attachment 360427
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1499405</commentid>
    <comment_count>3</comment_count>
      <attachid>360427</attachid>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2019-01-28 21:35:13 -0800</bug_when>
    <thetext>Comment on attachment 360427
Patch

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

Looks good in principle but let&apos;s make it less hacky.

&gt; Source/WebKit/ChangeLog:18
&gt; +        * UIProcess/mac/WKInspectorWindow.mm:

This file is now SPI so it belongs in UIProcess/API/Cocoa/. Please move accordingly.

&gt; Source/WebKit/UIProcess/WebInspectorProxy.h:108
&gt; +    static RetainPtr&lt;NSWindow&gt; createFrontendWindow(NSRect savedWindowFrame, bool isRemote);

When in C++, please make this an enum class rather than boolean. The style promoted by Simon tends to be

enum class InspectionTargetIsRemote { Yes, No }

or 

enum class ForRemoteTarget { Yes, No }

I prefer the latter.

&gt; Source/WebKit/UIProcess/mac/WKInspectorWindow.h:33
&gt; +@property (nonatomic, getter=isRemote) BOOL remote;

This is too terse; it could be referring to a remote NSWindow or something. Please change to isForRemoteTarget.

&gt; Source/WebKit/UIProcess/mac/WKInspectorWindow.mm:29
&gt; +#if WK_API_ENABLED &amp;&amp; !TARGET_OS_IPHONE

Technically, it&apos;s OK to use PLATFORM(MAC) in implementation files.

&gt; Source/WebKit/UIProcess/mac/WKInspectorWindow.mm:33
&gt; +- (BOOL)isRemote

It seems random to put this property on the NSWindow. Better to have _WKInspector hold the truth on this matter. It should be OK for WKInspectorWindow to have an ivar / property for the associated _WKInspector and query that.

&gt; Source/WebKit/UIProcess/mac/WebInspectorProxyMac.mm:238
&gt; +    [window setRemote:isRemote];

You can get the _WKInspector via [m_objCAdapter.get() inspector]</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1499440</commentid>
    <comment_count>4</comment_count>
      <attachid>360427</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2019-01-28 23:00:51 -0800</bug_when>
    <thetext>Comment on attachment 360427
Patch

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

&gt;&gt; Source/WebKit/UIProcess/mac/WKInspectorWindow.mm:33
&gt;&gt; +- (BOOL)isRemote
&gt; 
&gt; It seems random to put this property on the NSWindow. Better to have _WKInspector hold the truth on this matter. It should be OK for WKInspectorWindow to have an ivar / property for the associated _WKInspector and query that.

I think the issue with this is that we don&apos;t have an equivalent `_WKRemoteInspector` (I don&apos;t think we create a `_WKInspector` for remote targets).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1499442</commentid>
    <comment_count>5</comment_count>
      <attachid>360443</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2019-01-28 23:05:22 -0800</bug_when>
    <thetext>Created attachment 360443
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1499447</commentid>
    <comment_count>6</comment_count>
      <attachid>360445</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2019-01-28 23:34:51 -0800</bug_when>
    <thetext>Created attachment 360445
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1499700</commentid>
    <comment_count>7</comment_count>
      <attachid>360445</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2019-01-29 13:52:45 -0800</bug_when>
    <thetext>Comment on attachment 360445
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1499706</commentid>
    <comment_count>8</comment_count>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2019-01-29 13:58:03 -0800</bug_when>
    <thetext>After some discussion we agreed that the initial approach (bool ivar on WKInspectorWindow) is the way to go for now. _WKInspector does not exist for inspector views for remote targets.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1499738</commentid>
    <comment_count>9</comment_count>
      <attachid>360445</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-01-29 14:40:50 -0800</bug_when>
    <thetext>Comment on attachment 360445
Patch

Clearing flags on attachment: 360445

Committed r240685: &lt;https://trac.webkit.org/changeset/240685&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1499740</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-01-29 14:40:52 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1524672</commentid>
    <comment_count>11</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2019-04-05 05:43:26 -0700</bug_when>
    <thetext>(In reply to WebKit Commit Bot from comment #9)
&gt; Comment on attachment 360445 [details]
&gt; Patch
&gt; 
&gt; Clearing flags on attachment: 360445
&gt; 
&gt; Committed r240685: &lt;https://trac.webkit.org/changeset/240685&gt;

Follow-up fix to Xcode project file:

Committed r243932: &lt;https://trac.webkit.org/changeset/243932&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>360427</attachid>
            <date>2019-01-28 20:10:24 -0800</date>
            <delta_ts>2019-01-28 23:05:22 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>Develop-OpenSource.diff</filename>
            <type>text/plain</type>
            <size>7242</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKaW5kZXggNGFiMzNkODEyNGIuLjUwNTczZDIyZjlhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsx
LDI1IEBACisyMDE5LTAxLTI4ICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KKwor
ICAgICAgICBXZWIgSW5zcGVjdG9yOiBleHBvc2UgYSB3YXkgb2YgZGV0ZXJtaW5pbmcgaWYgYSBk
ZXRhY2hlZCBmcm9udGVuZCBpcyBmb3IgYSByZW1vdGUgdGFyZ2V0CisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTM5NTEKKyAgICAgICAgPHJkYXI6Ly9w
cm9ibGVtLzQ3NjIxMzY2PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogVUlQcm9jZXNzL1dlYkluc3BlY3RvclByb3h5Lmg6CisgICAgICAgIChXZWJL
aXQ6OldlYkluc3BlY3RvclByb3h5OjpjcmVhdGVGcm9udGVuZFdpbmRvdyk6CisgICAgICAgICog
VUlQcm9jZXNzL21hYy9XZWJJbnNwZWN0b3JQcm94eU1hYy5tbToKKyAgICAgICAgKFdlYktpdDo6
V2ViSW5zcGVjdG9yUHJveHk6OmNyZWF0ZUZyb250ZW5kV2luZG93KToKKyAgICAgICAgKFdlYktp
dDo6V2ViSW5zcGVjdG9yUHJveHk6OnBsYXRmb3JtQ3JlYXRlRnJvbnRlbmRXaW5kb3cpOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9tYWMvUmVtb3RlV2ViSW5zcGVjdG9yUHJveHlNYWMubW06CisgICAg
ICAgIChXZWJLaXQ6OlJlbW90ZVdlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybUNyZWF0ZUZyb250
ZW5kUGFnZUFuZFdpbmRvdyk6CisKKyAgICAgICAgKiBVSVByb2Nlc3MvbWFjL1dLSW5zcGVjdG9y
V2luZG93Lmg6CisgICAgICAgICogVUlQcm9jZXNzL21hYy9XS0luc3BlY3RvcldpbmRvdy5tbToK
KyAgICAgICAgKC1bV0tJbnNwZWN0b3JXaW5kb3cgaXNSZW1vdGVdKTogQWRkZWQuCisKKyAgICAg
ICAgKiBXZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKwogMjAxOS0wMS0yOCAgQW50
b2luZSBRdWludCAgPGdyYW91dHNAYXBwbGUuY29tPgogCiAgICAgICAgIExpbWl0IHVzZXItYWdl
bnQgaW50ZXJhY3Rpb25zIGJhc2VkIG9uIHRoZSB0b3VjaC1hY3Rpb24gcHJvcGVydHkgb24gaU9T
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJJbnNwZWN0b3JQcm94eS5o
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViSW5zcGVjdG9yUHJveHkuaAppbmRleCAzZmY3
ZmQ0NWU1OS4uNjFjNjU5MDkxMzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYkluc3BlY3RvclByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViSW5z
cGVjdG9yUHJveHkuaApAQCAtMTA1LDcgKzEwNSw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHVwZGF0
ZUZvck5ld1BhZ2VQcm9jZXNzKFdlYlBhZ2VQcm94eSopOwogCiAjaWYgUExBVEZPUk0oTUFDKSAm
JiBXS19BUElfRU5BQkxFRAotICAgIHN0YXRpYyBSZXRhaW5QdHI8TlNXaW5kb3c+IGNyZWF0ZUZy
b250ZW5kV2luZG93KE5TUmVjdCBzYXZlZFdpbmRvd0ZyYW1lKTsKKyAgICBzdGF0aWMgUmV0YWlu
UHRyPE5TV2luZG93PiBjcmVhdGVGcm9udGVuZFdpbmRvdyhOU1JlY3Qgc2F2ZWRXaW5kb3dGcmFt
ZSwgYm9vbCBpc1JlbW90ZSk7CiAKICAgICB2b2lkIHVwZGF0ZUluc3BlY3RvcldpbmRvd1RpdGxl
KCkgY29uc3Q7CiAgICAgdm9pZCBpbnNwZWN0ZWRWaWV3RnJhbWVEaWRDaGFuZ2UoQ0dGbG9hdCA9
IDApOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1JlbW90ZVdlYklu
c3BlY3RvclByb3h5TWFjLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1JlbW90ZVdl
Ykluc3BlY3RvclByb3h5TWFjLm1tCmluZGV4IGViZDZhMzkxNjQzLi5iMGZjOTQwZjhjOCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1JlbW90ZVdlYkluc3BlY3RvclBy
b3h5TWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9SZW1vdGVXZWJJbnNw
ZWN0b3JQcm94eU1hYy5tbQpAQCAtODgsNyArODgsNyBAQCBXZWJQYWdlUHJveHkqIFJlbW90ZVdl
Ykluc3BlY3RvclByb3h5OjpwbGF0Zm9ybUNyZWF0ZUZyb250ZW5kUGFnZUFuZFdpbmRvdygpCiAg
ICAgbV9pbnNwZWN0b3JWaWV3ID0gYWRvcHROUyhbW1dLSW5zcGVjdG9yVmlld0NvbnRyb2xsZXIg
YWxsb2NdIGluaXRXaXRoSW5zcGVjdGVkUGFnZTpudWxscHRyXSk7CiAgICAgW21faW5zcGVjdG9y
Vmlldy5nZXQoKSBzZXREZWxlZ2F0ZTptX29iakNBZGFwdGVyLmdldCgpXTsKIAotICAgIG1fd2lu
ZG93ID0gV2ViSW5zcGVjdG9yUHJveHk6OmNyZWF0ZUZyb250ZW5kV2luZG93KE5TWmVyb1JlY3Qp
OworICAgIG1fd2luZG93ID0gV2ViSW5zcGVjdG9yUHJveHk6OmNyZWF0ZUZyb250ZW5kV2luZG93
KE5TWmVyb1JlY3QsIHRydWUpOwogICAgIFttX3dpbmRvdyBzZXRGcmFtZUF1dG9zYXZlTmFtZTpA
IldLUmVtb3RlV2ViSW5zcGVjdG9yV2luZG93RnJhbWUiXTsKIAogICAgIE5TVmlldyAqY29udGVu
dFZpZXcgPSBtX3dpbmRvdy5nZXQoKS5jb250ZW50VmlldzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL21hYy9XS0luc3BlY3RvcldpbmRvdy5oIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvbWFjL1dLSW5zcGVjdG9yV2luZG93LmgKaW5kZXggNDkyM2U5MGM3OTEuLjZhNTc4
Y2I2MThjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvV0tJbnNwZWN0
b3JXaW5kb3cuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvV0tJbnNwZWN0b3JX
aW5kb3cuaApAQCAtMjUsOSArMjUsMTMgQEAKIAogI2ltcG9ydCA8V2ViS2l0L1dLRm91bmRhdGlv
bi5oPgogCi0jaWYgUExBVEZPUk0oTUFDKSAmJiBXS19BUElfRU5BQkxFRAorI2lmIFdLX0FQSV9F
TkFCTEVEICYmICFUQVJHRVRfT1NfSVBIT05FCiAKK1dLX0NMQVNTX0FWQUlMQUJMRShtYWNvc3go
V0tfTUFDX1RCQSkpCiBAaW50ZXJmYWNlIFdLSW5zcGVjdG9yV2luZG93IDogTlNXaW5kb3cKKwor
QHByb3BlcnR5IChub25hdG9taWMsIGdldHRlcj1pc1JlbW90ZSkgQk9PTCByZW1vdGU7CisKIEBl
bmQKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvV0tJ
bnNwZWN0b3JXaW5kb3cubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvV0tJbnNwZWN0
b3JXaW5kb3cubW0KaW5kZXggYjA0ZTFjN2Y5YmUuLjdjNWUxMGZiMzE2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvV0tJbnNwZWN0b3JXaW5kb3cubW0KKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1dLSW5zcGVjdG9yV2luZG93Lm1tCkBAIC0yNiw5ICsy
NiwxNSBAQAogI2ltcG9ydCAiY29uZmlnLmgiCiAjaW1wb3J0ICJXS0luc3BlY3RvcldpbmRvdy5o
IgogCi0jaWYgUExBVEZPUk0oTUFDKSAmJiBXS19BUElfRU5BQkxFRAorI2lmIFdLX0FQSV9FTkFC
TEVEICYmICFUQVJHRVRfT1NfSVBIT05FCiAKIEBpbXBsZW1lbnRhdGlvbiBXS0luc3BlY3Rvcldp
bmRvdworCistIChCT09MKWlzUmVtb3RlCit7CisgICAgcmV0dXJuIF9yZW1vdGU7Cit9CisKIEBl
bmQKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvV2Vi
SW5zcGVjdG9yUHJveHlNYWMubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvV2ViSW5z
cGVjdG9yUHJveHlNYWMubW0KaW5kZXggODZlZjk0NTNiNTIuLmU5MmViMTIxN2U4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvV2ViSW5zcGVjdG9yUHJveHlNYWMubW0K
KysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1dlYkluc3BlY3RvclByb3h5TWFjLm1t
CkBAIC0yMjgsMTMgKzIyOCwxNCBAQCB2b2lkIFdlYkluc3BlY3RvclByb3h5Ojp1cGRhdGVJbnNw
ZWN0b3JXaW5kb3dUaXRsZSgpIGNvbnN0CiAgICAgfQogfQogCi1SZXRhaW5QdHI8TlNXaW5kb3c+
IFdlYkluc3BlY3RvclByb3h5OjpjcmVhdGVGcm9udGVuZFdpbmRvdyhOU1JlY3Qgc2F2ZWRXaW5k
b3dGcmFtZSkKK1JldGFpblB0cjxOU1dpbmRvdz4gV2ViSW5zcGVjdG9yUHJveHk6OmNyZWF0ZUZy
b250ZW5kV2luZG93KE5TUmVjdCBzYXZlZFdpbmRvd0ZyYW1lLCBib29sIGlzUmVtb3RlKQogewog
ICAgIE5TUmVjdCB3aW5kb3dGcmFtZSA9ICFOU0lzRW1wdHlSZWN0KHNhdmVkV2luZG93RnJhbWUp
ID8gc2F2ZWRXaW5kb3dGcmFtZSA6IE5TTWFrZVJlY3QoMCwgMCwgaW5pdGlhbFdpbmRvd1dpZHRo
LCBpbml0aWFsV2luZG93SGVpZ2h0KTsKICAgICBhdXRvIHdpbmRvdyA9IGFkb3B0TlMoW1tXS0lu
c3BlY3RvcldpbmRvdyBhbGxvY10gaW5pdFdpdGhDb250ZW50UmVjdDp3aW5kb3dGcmFtZSBzdHls
ZU1hc2s6d2luZG93U3R5bGVNYXNrIGJhY2tpbmc6TlNCYWNraW5nU3RvcmVCdWZmZXJlZCBkZWZl
cjpOT10pOwogICAgIFt3aW5kb3cgc2V0TWluU2l6ZTpOU01ha2VTaXplKG1pbmltdW1XaW5kb3dX
aWR0aCwgbWluaW11bVdpbmRvd0hlaWdodCldOwogICAgIFt3aW5kb3cgc2V0UmVsZWFzZWRXaGVu
Q2xvc2VkOk5PXTsKICAgICBbd2luZG93IHNldENvbGxlY3Rpb25CZWhhdmlvcjooW3dpbmRvdyBj
b2xsZWN0aW9uQmVoYXZpb3JdIHwgTlNXaW5kb3dDb2xsZWN0aW9uQmVoYXZpb3JGdWxsU2NyZWVu
UHJpbWFyeSldOworICAgIFt3aW5kb3cgc2V0UmVtb3RlOmlzUmVtb3RlXTsKIAogICAgIENHRmxv
YXQgYXBwcm94aW1hdGVseUhhbGZTY3JlZW5TaXplID0gKFt3aW5kb3cgc2NyZWVuXS5mcmFtZS5z
aXplLndpZHRoIC8gMikgLSA0OwogICAgIENHRmxvYXQgbWluaW11bUZ1bGxTY3JlZW5XaWR0aCA9
IHN0ZDo6bWF4PENHRmxvYXQ+KDYzNiwgYXBwcm94aW1hdGVseUhhbGZTY3JlZW5TaXplKTsKQEAg
LTI4Miw3ICsyODMsNyBAQCB2b2lkIFdlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybUNyZWF0ZUZy
b250ZW5kV2luZG93KCkKICAgICBOU1N0cmluZyAqc2F2ZWRXaW5kb3dGcmFtZVN0cmluZyA9IGlu
c3BlY3RlZFBhZ2UoKS0+cGFnZUdyb3VwKCkucHJlZmVyZW5jZXMoKS5pbnNwZWN0b3JXaW5kb3dG
cmFtZSgpOwogICAgIE5TUmVjdCBzYXZlZFdpbmRvd0ZyYW1lID0gTlNSZWN0RnJvbVN0cmluZyhz
YXZlZFdpbmRvd0ZyYW1lU3RyaW5nKTsKIAotICAgIG1faW5zcGVjdG9yV2luZG93ID0gV2ViSW5z
cGVjdG9yUHJveHk6OmNyZWF0ZUZyb250ZW5kV2luZG93KHNhdmVkV2luZG93RnJhbWUpOworICAg
IG1faW5zcGVjdG9yV2luZG93ID0gV2ViSW5zcGVjdG9yUHJveHk6OmNyZWF0ZUZyb250ZW5kV2lu
ZG93KHNhdmVkV2luZG93RnJhbWUsIGZhbHNlKTsKICAgICBbbV9pbnNwZWN0b3JXaW5kb3cgc2V0
RGVsZWdhdGU6bV9vYmpDQWRhcHRlci5nZXQoKV07CiAKICAgICBXS1dlYlZpZXcgKmluc3BlY3Rv
clZpZXcgPSBbbV9pbnNwZWN0b3JWaWV3Q29udHJvbGxlciB3ZWJWaWV3XTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2Uv
V2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGVkM2Q0ZTE5M2Zh
Li42ZWY2ZTFmNzJkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCkBAIC0xMzA2LDcgKzEzMDYsNyBAQAogCQlBNTVCQTgzNTFCQTNFNzBBMDA3
Q0QzM0QgLyogV2ViSW5zcGVjdG9yRnJvbnRlbmRBUElEaXNwYXRjaGVyLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNTVCQTgzMzFCQTNFNkZBMDA3Q0Qz
M0QgLyogV2ViSW5zcGVjdG9yRnJvbnRlbmRBUElEaXNwYXRjaGVyLmggKi87IH07CiAJCUE1OEI2
RjA4MThGQ0E3MzMwMDhDQkE1MyAvKiBXS0ZpbGVVcGxvYWRQYW5lbC5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTU4QjZGMDYxOEZDQTczMzAwOENCQTUz
IC8qIFdLRmlsZVVwbG9hZFBhbmVsLmggKi87IH07CiAJCUE1QzBGMEE3MjAwMDY1NEQwMDUzNjUz
NiAvKiBfV0tOU1dpbmRvd0V4dHJhcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQTVDMEYwQTYyMDAwNjU0NDAwNTM2NTM2IC8qIF9XS05TV2luZG93RXh0
cmFzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJ
QTVDMEYwQUIyMDAwNjU4MjAwNTM2NTM2IC8qIFdLSW5zcGVjdG9yV2luZG93LmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNUMwRjBBQTIwMDA2NTZFMDA1
MzY1MzYgLyogV0tJbnNwZWN0b3JXaW5kb3cuaCAqLzsgfTsKKwkJQTVDMEYwQUIyMDAwNjU4MjAw
NTM2NTM2IC8qIFdLSW5zcGVjdG9yV2luZG93LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBBNUMwRjBBQTIwMDA2NTZFMDA1MzY1MzYgLyogV0tJbnNwZWN0
b3JXaW5kb3cuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwogCQlBNUUzOTFGRDIxODNDMUY4MDBDOEZCMzEgLyogSW5zcGVjdG9yVGFyZ2V0UHJveHkuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1RTM5MUZDMjE4
M0MxRTkwMEM4RkIzMSAvKiBJbnNwZWN0b3JUYXJnZXRQcm94eS5oICovOyB9OwogCQlBNUVDNkFE
NDIxNTFCRDdCMDA2NzdEMTcgLyogV2ViUGFnZURlYnVnZ2FibGUuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1RUM2QUQzMjE1MUJENjkwMDY3N0QxNyAv
KiBXZWJQYWdlRGVidWdnYWJsZS5oICovOyB9OwogCQlBNUVGRDM4QzE2QjBFODhDMDBCMkYwRTgg
LyogV0tQYWdlVmlzaWJpbGl0eVR5cGVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBBNUVGRDM4QjE2QjBFODhDMDBCMkYwRTggLyogV0tQYWdlVmlzaWJp
bGl0eVR5cGVzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsK
</data>
<flag name="review"
          id="377132"
          type_id="1"
          status="-"
          setter="bburg"
    />
    <flag name="commit-queue"
          id="377133"
          type_id="3"
          status="-"
          setter="bburg"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>360443</attachid>
            <date>2019-01-28 23:05:22 -0800</date>
            <delta_ts>2019-01-28 23:34:51 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>193951.diff</filename>
            <type>text/plain</type>
            <size>21648</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKaW5kZXggZDhlMjI2ZmJmOGYuLmJiOWFkNzI1MDRlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsx
LDMyIEBACisyMDE5LTAxLTI4ICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KKwor
ICAgICAgICBXZWIgSW5zcGVjdG9yOiBleHBvc2UgYSB3YXkgb2YgZGV0ZXJtaW5pbmcgaWYgYSBk
ZXRhY2hlZCBmcm9udGVuZCBpcyBmb3IgYSByZW1vdGUgdGFyZ2V0CisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTM5NTEKKyAgICAgICAgPHJkYXI6Ly9w
cm9ibGVtLzQ3NjIxMzY2PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogVUlQcm9jZXNzL1dlYkluc3BlY3RvclByb3h5Lmg6CisgICAgICAgIChXZWJL
aXQ6OldlYkluc3BlY3RvclByb3h5OjpJbnNwZWN0aW9uVGFyZ2V0VHlwZSk6IEFkZGVkLgorICAg
ICAgICAoV2ViS2l0OjpXZWJJbnNwZWN0b3JQcm94eTo6Y3JlYXRlRnJvbnRlbmRXaW5kb3cpOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9tYWMvV2ViSW5zcGVjdG9yUHJveHlNYWMubW06CisgICAgICAg
IChXZWJLaXQ6OldlYkluc3BlY3RvclByb3h5OjpjcmVhdGVGcm9udGVuZFdpbmRvdyk6CisgICAg
ICAgIChXZWJLaXQ6OldlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybUNyZWF0ZUZyb250ZW5kV2lu
ZG93KToKKyAgICAgICAgKiBVSVByb2Nlc3MvbWFjL1JlbW90ZVdlYkluc3BlY3RvclByb3h5TWFj
Lm1tOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1D
cmVhdGVGcm9udGVuZFBhZ2VBbmRXaW5kb3cpOgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9D
b2NvYS9fV0tJbnNwZWN0b3JXaW5kb3cuaDogTW92ZWQgZnJvbSBVSVByb2Nlc3MvbWFjL1dLSW5z
cGVjdG9yV2luZG93LmguCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tJbnNwZWN0
b3JXaW5kb3cubW06IE1vdmVkIGZyb20gVUlQcm9jZXNzL21hYy9XS0luc3BlY3RvcldpbmRvdy5t
bS4KKyAgICAgICAgKC1bV0tJbnNwZWN0b3JXaW5kb3cgaXNSZW1vdGVdKTogQWRkZWQuCisKKyAg
ICAgICAgKiBTaGFyZWQvQVBJL0NvY29hL19XS05TV2luZG93RXh0cmFzLm1tOgorICAgICAgICAo
LVtOU1dpbmRvdyBfd2ViX2lzV2ViSW5zcGVjdG9yV2luZG93XSk6CisKKyAgICAgICAgKiBQbGF0
Zm9ybU1hYy5jbWFrZToKKyAgICAgICAgKiBTb3VyY2VzQ29jb2EudHh0OgorICAgICAgICAqIFVu
aWZpZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogV2ViS2l0Lnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2o6CisKIDIwMTktMDEtMjggIFJvc3MgS2lyc2xpbmcgIDxyb3NzLmtp
cnNsaW5nQHNvbnkuY29tPgogCiAgICAgICAgIFJlbW92ZSB1bm5lY2Vzc2FyeSBgdXNpbmcgbmFt
ZXNwYWNlIFdURmBzIChvciBhdCBsZWFzdCByZXN0cmljdCB0aGVpciBzY29wZSkuCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtTWFjLmNtYWtlIGIvU291cmNlL1dlYktpdC9QbGF0
Zm9ybU1hYy5jbWFrZQppbmRleCAzNjg3MWQzMTExYS4uYWEwODdiZjg4NjEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvUGxhdGZvcm1NYWMuY21ha2UKKysrIGIvU291cmNlL1dlYktpdC9QbGF0
Zm9ybU1hYy5jbWFrZQpAQCAtMjk2LDcgKzI5Niw2IEBAIGxpc3QoQVBQRU5EIFdlYktpdF9TT1VS
Q0VTCiAgICAgVUlQcm9jZXNzL21hYy9XS0ltbWVkaWF0ZUFjdGlvbkNvbnRyb2xsZXIubW0KICAg
ICBVSVByb2Nlc3MvbWFjL1dLSW5zcGVjdG9yVmlld0NvbnRyb2xsZXIubW0KICAgICBVSVByb2Nl
c3MvbWFjL1dLSW5zcGVjdG9yV0tXZWJWaWV3Lm1tCi0gICAgVUlQcm9jZXNzL21hYy9XS0luc3Bl
Y3RvcldpbmRvdy5tbQogICAgIFVJUHJvY2Vzcy9tYWMvV0tQcmludGluZ1ZpZXcubW0KICAgICBV
SVByb2Nlc3MvbWFjL1dLU2hhcmluZ1NlcnZpY2VQaWNrZXJEZWxlZ2F0ZS5tbQogICAgIFVJUHJv
Y2Vzcy9tYWMvV0tUZXh0RmluZGVyQ2xpZW50Lm1tCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9BUEkvQ29jb2EvX1dLTlNXaW5kb3dFeHRyYXMubW0gYi9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9BUEkvQ29jb2EvX1dLTlNXaW5kb3dFeHRyYXMubW0KaW5kZXggZDNkOTM5ZGYzYWMuLjg3
MjAxNGIwMzAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BUEkvQ29jb2EvX1dL
TlNXaW5kb3dFeHRyYXMubW0KKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQVBJL0NvY29hL19X
S05TV2luZG93RXh0cmFzLm1tCkBAIC0zMCwxMyArMzAsMTMgQEAKIAogI2lmICFUQVJHRVRfT1Nf
SVBIT05FCiAKLSNpbXBvcnQgIldLSW5zcGVjdG9yV2luZG93LmgiCisjaW1wb3J0ICJfV0tJbnNw
ZWN0b3JXaW5kb3cuaCIKIAogQGltcGxlbWVudGF0aW9uIE5TV2luZG93IChXS0V4dHJhcykKIAog
LSAoQk9PTClfd2ViX2lzV2ViSW5zcGVjdG9yV2luZG93CiB7Ci0gICAgcmV0dXJuIFtzZWxmIGlz
S2luZE9mQ2xhc3M6W1dLSW5zcGVjdG9yV2luZG93IGNsYXNzXV07CisgICAgcmV0dXJuIFtzZWxm
IGlzS2luZE9mQ2xhc3M6W19XS0luc3BlY3RvcldpbmRvdyBjbGFzc11dOwogfQogCiBAZW5kCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50eHQgYi9Tb3VyY2UvV2ViS2l0
L1NvdXJjZXNDb2NvYS50eHQKaW5kZXggM2NmYjcxZTY3Y2UuLmI1MWY2YjkwOTg5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50eHQKKysrIGIvU291cmNlL1dlYktpdC9T
b3VyY2VzQ29jb2EudHh0CkBAIC0yMzcsNiArMjM3LDcgQEAgVUlQcm9jZXNzL0FQSS9Db2NvYS9f
V0tFcnJvclJlY292ZXJ5QXR0ZW1wdGluZy5tbQogVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tFeHBl
cmltZW50YWxGZWF0dXJlLm1tCiBVSVByb2Nlc3MvQVBJL0NvY29hL19XS0dlb2xvY2F0aW9uUG9z
aXRpb24ubW0KIFVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLSW5zcGVjdG9yLm1tCitVSVByb2Nlc3Mv
QVBJL0NvY29hL19XS0luc3BlY3RvcldpbmRvdy5tbQogVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tJ
bnRlcm5hbERlYnVnRmVhdHVyZS5tbQogVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tMaW5rSWNvblBh
cmFtZXRlcnMubW0KIFVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLUHJvY2Vzc1Bvb2xDb25maWd1cmF0
aW9uLm1tCkBAIC00MzgsNyArNDM5LDYgQEAgVUlQcm9jZXNzL21hYy9XaW5kb3dTZXJ2ZXJDb25u
ZWN0aW9uLm1tCiBVSVByb2Nlc3MvbWFjL1dLRnVsbFNjcmVlbldpbmRvd0NvbnRyb2xsZXIubW0K
IFVJUHJvY2Vzcy9tYWMvV0tJbW1lZGlhdGVBY3Rpb25Db250cm9sbGVyLm1tCiBVSVByb2Nlc3Mv
bWFjL1dLSW5zcGVjdG9yVmlld0NvbnRyb2xsZXIubW0KLVVJUHJvY2Vzcy9tYWMvV0tJbnNwZWN0
b3JXaW5kb3cubW0KIFVJUHJvY2Vzcy9tYWMvV0tJbnNwZWN0b3JXS1dlYlZpZXcubW0KIFVJUHJv
Y2Vzcy9tYWMvV0tQcmludGluZ1ZpZXcubW0KIFVJUHJvY2Vzcy9tYWMvV0tTaGFyaW5nU2Vydmlj
ZVBpY2tlckRlbGVnYXRlLm1tCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQ29jb2EvX1dLSW5zcGVjdG9yV2luZG93LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQ29jb2EvX1dLSW5zcGVjdG9yV2luZG93LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAuLjJhYzM0NWFiOTkyCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS0luc3BlY3RvcldpbmRvdy5oCkBAIC0wLDAgKzEsMzcg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjaW1wb3J0IDxXZWJLaXQvV0tGb3VuZGF0aW9uLmg+CisKKyNpZiBX
S19BUElfRU5BQkxFRCAmJiAhVEFSR0VUX09TX0lQSE9ORQorCitXS19DTEFTU19BVkFJTEFCTEUo
bWFjb3N4KFdLX01BQ19UQkEpKQorQGludGVyZmFjZSBfV0tJbnNwZWN0b3JXaW5kb3cgOiBOU1dp
bmRvdworCitAcHJvcGVydHkgKG5vbmF0b21pYywgZ2V0dGVyPWlzRm9yUmVtb3RlVGFyZ2V0KSBC
T09MIGZvclJlbW90ZVRhcmdldDsKKworQGVuZAorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tJbnNwZWN0b3JXaW5kb3cubW0gYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLSW5zcGVjdG9yV2luZG93Lm1tCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi41NmI0NGU2ODQ3YgotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tJbnNwZWN0b3JX
aW5kb3cubW0KQEAgLTAsMCArMSw0MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOCBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMn
JworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMK
KyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAq
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICog
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbXBvcnQgImNvbmZpZy5o
IgorI2ltcG9ydCAiX1dLSW5zcGVjdG9yV2luZG93LmgiCisKKyNpZiBQTEFURk9STShNQUMpICYm
IFdLX0FQSV9FTkFCTEVECisKK0BpbXBsZW1lbnRhdGlvbiBfV0tJbnNwZWN0b3JXaW5kb3cKKwor
LSAoQk9PTClpc0ZvclJlbW90ZVRhcmdldAoreworICAgIHJldHVybiBfZm9yUmVtb3RlVGFyZ2V0
OworfQorCitAZW5kCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViSW5zcGVjdG9yUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkluc3Bl
Y3RvclByb3h5LmgKaW5kZXggM2ZmN2ZkNDVlNTkuLjFiY2EzMWI0NGU3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJJbnNwZWN0b3JQcm94eS5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYkluc3BlY3RvclByb3h5LmgKQEAgLTEwNSw3ICsxMDUsOCBAQCBw
dWJsaWM6CiAgICAgdm9pZCB1cGRhdGVGb3JOZXdQYWdlUHJvY2VzcyhXZWJQYWdlUHJveHkqKTsK
IAogI2lmIFBMQVRGT1JNKE1BQykgJiYgV0tfQVBJX0VOQUJMRUQKLSAgICBzdGF0aWMgUmV0YWlu
UHRyPE5TV2luZG93PiBjcmVhdGVGcm9udGVuZFdpbmRvdyhOU1JlY3Qgc2F2ZWRXaW5kb3dGcmFt
ZSk7CisgICAgZW51bSBjbGFzcyBJbnNwZWN0aW9uVGFyZ2V0VHlwZSB7IExvY2FsLCBSZW1vdGUg
fTsKKyAgICBzdGF0aWMgUmV0YWluUHRyPE5TV2luZG93PiBjcmVhdGVGcm9udGVuZFdpbmRvdyhO
U1JlY3Qgc2F2ZWRXaW5kb3dGcmFtZSwgSW5zcGVjdGlvblRhcmdldFR5cGUpOwogCiAgICAgdm9p
ZCB1cGRhdGVJbnNwZWN0b3JXaW5kb3dUaXRsZSgpIGNvbnN0OwogICAgIHZvaWQgaW5zcGVjdGVk
Vmlld0ZyYW1lRGlkQ2hhbmdlKENHRmxvYXQgPSAwKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL21hYy9SZW1vdGVXZWJJbnNwZWN0b3JQcm94eU1hYy5tbSBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL21hYy9SZW1vdGVXZWJJbnNwZWN0b3JQcm94eU1hYy5tbQppbmRleCBl
YmQ2YTM5MTY0My4uNDJkODUyNmRmYTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL21hYy9SZW1vdGVXZWJJbnNwZWN0b3JQcm94eU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9tYWMvUmVtb3RlV2ViSW5zcGVjdG9yUHJveHlNYWMubW0KQEAgLTg4LDcgKzg4
LDcgQEAgV2ViUGFnZVByb3h5KiBSZW1vdGVXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1DcmVh
dGVGcm9udGVuZFBhZ2VBbmRXaW5kb3coKQogICAgIG1faW5zcGVjdG9yVmlldyA9IGFkb3B0TlMo
W1tXS0luc3BlY3RvclZpZXdDb250cm9sbGVyIGFsbG9jXSBpbml0V2l0aEluc3BlY3RlZFBhZ2U6
bnVsbHB0cl0pOwogICAgIFttX2luc3BlY3RvclZpZXcuZ2V0KCkgc2V0RGVsZWdhdGU6bV9vYmpD
QWRhcHRlci5nZXQoKV07CiAKLSAgICBtX3dpbmRvdyA9IFdlYkluc3BlY3RvclByb3h5OjpjcmVh
dGVGcm9udGVuZFdpbmRvdyhOU1plcm9SZWN0KTsKKyAgICBtX3dpbmRvdyA9IFdlYkluc3BlY3Rv
clByb3h5OjpjcmVhdGVGcm9udGVuZFdpbmRvdyhOU1plcm9SZWN0LCBJbnNwZWN0aW9uVGFyZ2V0
VHlwZTo6UmVtb3RlKTsKICAgICBbbV93aW5kb3cgc2V0RnJhbWVBdXRvc2F2ZU5hbWU6QCJXS1Jl
bW90ZVdlYkluc3BlY3RvcldpbmRvd0ZyYW1lIl07CiAKICAgICBOU1ZpZXcgKmNvbnRlbnRWaWV3
ID0gbV93aW5kb3cuZ2V0KCkuY29udGVudFZpZXc7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9tYWMvV0tJbnNwZWN0b3JXaW5kb3cuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL21hYy9XS0luc3BlY3RvcldpbmRvdy5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCA0OTIzZTkwYzc5MS4uMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
bWFjL1dLSW5zcGVjdG9yV2luZG93LmgKKysrIC9kZXYvbnVsbApAQCAtMSwzMyArMCwwIEBACi0v
KgotICogQ29weXJpZ2h0IChDKSAyMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
LSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCi0gKi8KLQotI2ltcG9ydCA8V2ViS2l0L1dLRm91bmRhdGlvbi5oPgotCi0jaWYgUExBVEZP
Uk0oTUFDKSAmJiBXS19BUElfRU5BQkxFRAotCi1AaW50ZXJmYWNlIFdLSW5zcGVjdG9yV2luZG93
IDogTlNXaW5kb3cKLUBlbmQKLQotI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9tYWMvV0tJbnNwZWN0b3JXaW5kb3cubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9tYWMvV0tJbnNwZWN0b3JXaW5kb3cubW0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IGIwNGUxYzdmOWJlLi4wMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9t
YWMvV0tJbnNwZWN0b3JXaW5kb3cubW0KKysrIC9kZXYvbnVsbApAQCAtMSwzNCArMCwwIEBACi0v
KgotICogQ29weXJpZ2h0IChDKSAyMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
LSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCi0gKi8KLQotI2ltcG9ydCAiY29uZmlnLmgiCi0jaW1wb3J0ICJXS0luc3BlY3RvcldpbmRv
dy5oIgotCi0jaWYgUExBVEZPUk0oTUFDKSAmJiBXS19BUElfRU5BQkxFRAotCi1AaW1wbGVtZW50
YXRpb24gV0tJbnNwZWN0b3JXaW5kb3cKLUBlbmQKLQotI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvV2ViSW5zcGVjdG9yUHJveHlNYWMubW0gYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9tYWMvV2ViSW5zcGVjdG9yUHJveHlNYWMubW0KaW5kZXggODZlZjk0
NTNiNTIuLjU4MGMzZjU4MjJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9t
YWMvV2ViSW5zcGVjdG9yUHJveHlNYWMubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
bWFjL1dlYkluc3BlY3RvclByb3h5TWFjLm1tCkBAIC0zMCwxMyArMzAsMTMgQEAKIAogI2ltcG9y
dCAiV0tJbnNwZWN0b3JQcml2YXRlTWFjLmgiCiAjaW1wb3J0ICJXS0luc3BlY3RvclZpZXdDb250
cm9sbGVyLmgiCi0jaW1wb3J0ICJXS0luc3BlY3RvcldpbmRvdy5oIgogI2ltcG9ydCAiV0tWaWV3
SW50ZXJuYWwuaCIKICNpbXBvcnQgIldLV2ViVmlld0ludGVybmFsLmgiCiAjaW1wb3J0ICJXZWJJ
bnNwZWN0b3JVSU1lc3NhZ2VzLmgiCiAjaW1wb3J0ICJXZWJQYWdlR3JvdXAuaCIKICNpbXBvcnQg
IldlYlBhZ2VQcm94eS5oIgogI2ltcG9ydCAiX1dLSW5zcGVjdG9ySW50ZXJuYWwuaCIKKyNpbXBv
cnQgIl9XS0luc3BlY3RvcldpbmRvdy5oIgogI2ltcG9ydCA8U2VjdXJpdHlJbnRlcmZhY2UvU0ZD
ZXJ0aWZpY2F0ZVBhbmVsLmg+CiAjaW1wb3J0IDxTZWN1cml0eUludGVyZmFjZS9TRkNlcnRpZmlj
YXRlVmlldy5oPgogI2ltcG9ydCA8V2ViQ29yZS9DZXJ0aWZpY2F0ZUluZm8uaD4KQEAgLTIyOCwx
NCArMjI4LDE3IEBAIHZvaWQgV2ViSW5zcGVjdG9yUHJveHk6OnVwZGF0ZUluc3BlY3RvcldpbmRv
d1RpdGxlKCkgY29uc3QKICAgICB9CiB9CiAKLVJldGFpblB0cjxOU1dpbmRvdz4gV2ViSW5zcGVj
dG9yUHJveHk6OmNyZWF0ZUZyb250ZW5kV2luZG93KE5TUmVjdCBzYXZlZFdpbmRvd0ZyYW1lKQor
UmV0YWluUHRyPE5TV2luZG93PiBXZWJJbnNwZWN0b3JQcm94eTo6Y3JlYXRlRnJvbnRlbmRXaW5k
b3coTlNSZWN0IHNhdmVkV2luZG93RnJhbWUsIEluc3BlY3Rpb25UYXJnZXRUeXBlIHRhcmdldFR5
cGUpCiB7CiAgICAgTlNSZWN0IHdpbmRvd0ZyYW1lID0gIU5TSXNFbXB0eVJlY3Qoc2F2ZWRXaW5k
b3dGcmFtZSkgPyBzYXZlZFdpbmRvd0ZyYW1lIDogTlNNYWtlUmVjdCgwLCAwLCBpbml0aWFsV2lu
ZG93V2lkdGgsIGluaXRpYWxXaW5kb3dIZWlnaHQpOwotICAgIGF1dG8gd2luZG93ID0gYWRvcHRO
UyhbW1dLSW5zcGVjdG9yV2luZG93IGFsbG9jXSBpbml0V2l0aENvbnRlbnRSZWN0OndpbmRvd0Zy
YW1lIHN0eWxlTWFzazp3aW5kb3dTdHlsZU1hc2sgYmFja2luZzpOU0JhY2tpbmdTdG9yZUJ1ZmZl
cmVkIGRlZmVyOk5PXSk7CisgICAgYXV0byB3aW5kb3cgPSBhZG9wdE5TKFtbX1dLSW5zcGVjdG9y
V2luZG93IGFsbG9jXSBpbml0V2l0aENvbnRlbnRSZWN0OndpbmRvd0ZyYW1lIHN0eWxlTWFzazp3
aW5kb3dTdHlsZU1hc2sgYmFja2luZzpOU0JhY2tpbmdTdG9yZUJ1ZmZlcmVkIGRlZmVyOk5PXSk7
CiAgICAgW3dpbmRvdyBzZXRNaW5TaXplOk5TTWFrZVNpemUobWluaW11bVdpbmRvd1dpZHRoLCBt
aW5pbXVtV2luZG93SGVpZ2h0KV07CiAgICAgW3dpbmRvdyBzZXRSZWxlYXNlZFdoZW5DbG9zZWQ6
Tk9dOwogICAgIFt3aW5kb3cgc2V0Q29sbGVjdGlvbkJlaGF2aW9yOihbd2luZG93IGNvbGxlY3Rp
b25CZWhhdmlvcl0gfCBOU1dpbmRvd0NvbGxlY3Rpb25CZWhhdmlvckZ1bGxTY3JlZW5QcmltYXJ5
KV07CiAKKyAgICBib29sIGZvclJlbW90ZVRhcmdldCA9IHRhcmdldFR5cGUgPT0gSW5zcGVjdGlv
blRhcmdldFR5cGU6OlJlbW90ZTsKKyAgICBbd2luZG93IHNldEZvclJlbW90ZVRhcmdldDpmb3JS
ZW1vdGVUYXJnZXRdOworCiAgICAgQ0dGbG9hdCBhcHByb3hpbWF0ZWx5SGFsZlNjcmVlblNpemUg
PSAoW3dpbmRvdyBzY3JlZW5dLmZyYW1lLnNpemUud2lkdGggLyAyKSAtIDQ7CiAgICAgQ0dGbG9h
dCBtaW5pbXVtRnVsbFNjcmVlbldpZHRoID0gc3RkOjptYXg8Q0dGbG9hdD4oNjM2LCBhcHByb3hp
bWF0ZWx5SGFsZlNjcmVlblNpemUpOwogICAgIFt3aW5kb3cgc2V0TWluRnVsbFNjcmVlbkNvbnRl
bnRTaXplOk5TTWFrZVNpemUobWluaW11bUZ1bGxTY3JlZW5XaWR0aCwgbWluaW11bVdpbmRvd0hl
aWdodCldOwpAQCAtMjgyLDcgKzI4NSw3IEBAIHZvaWQgV2ViSW5zcGVjdG9yUHJveHk6OnBsYXRm
b3JtQ3JlYXRlRnJvbnRlbmRXaW5kb3coKQogICAgIE5TU3RyaW5nICpzYXZlZFdpbmRvd0ZyYW1l
U3RyaW5nID0gaW5zcGVjdGVkUGFnZSgpLT5wYWdlR3JvdXAoKS5wcmVmZXJlbmNlcygpLmluc3Bl
Y3RvcldpbmRvd0ZyYW1lKCk7CiAgICAgTlNSZWN0IHNhdmVkV2luZG93RnJhbWUgPSBOU1JlY3RG
cm9tU3RyaW5nKHNhdmVkV2luZG93RnJhbWVTdHJpbmcpOwogCi0gICAgbV9pbnNwZWN0b3JXaW5k
b3cgPSBXZWJJbnNwZWN0b3JQcm94eTo6Y3JlYXRlRnJvbnRlbmRXaW5kb3coc2F2ZWRXaW5kb3dG
cmFtZSk7CisgICAgbV9pbnNwZWN0b3JXaW5kb3cgPSBXZWJJbnNwZWN0b3JQcm94eTo6Y3JlYXRl
RnJvbnRlbmRXaW5kb3coc2F2ZWRXaW5kb3dGcmFtZSwgSW5zcGVjdGlvblRhcmdldFR5cGU6Okxv
Y2FsKTsKICAgICBbbV9pbnNwZWN0b3JXaW5kb3cgc2V0RGVsZWdhdGU6bV9vYmpDQWRhcHRlci5n
ZXQoKV07CiAKICAgICBXS1dlYlZpZXcgKmluc3BlY3RvclZpZXcgPSBbbV9pbnNwZWN0b3JWaWV3
Q29udHJvbGxlciB3ZWJWaWV3XTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVW5pZmllZFNv
dXJjZXMtaW5wdXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJLaXQvVW5pZmllZFNvdXJjZXMtaW5w
dXQueGNmaWxlbGlzdAppbmRleCA1NTYxMTQ3Yzg5Ny4uNWRmZTRjYjVjY2IgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvVW5pZmllZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1VuaWZpZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKQEAgLTQ0Niw2ICs0NDYs
NyBAQCAkKFNSQ1JPT1QpL1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLRXJyb3JSZWNvdmVyeUF0dGVt
cHRpbmcubW0KICQoU1JDUk9PVCkvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tFeHBlcmltZW50YWxG
ZWF0dXJlLm1tCiAkKFNSQ1JPT1QpL1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLR2VvbG9jYXRpb25Q
b3NpdGlvbi5tbQogJChTUkNST09UKS9VSVByb2Nlc3MvQVBJL0NvY29hL19XS0luc3BlY3Rvci5t
bQorJChTUkNST09UKS9VSVByb2Nlc3MvQVBJL0NvY29hL19XS0luc3BlY3RvcldpbmRvdy5tbQog
JChTUkNST09UKS9VSVByb2Nlc3MvQVBJL0NvY29hL19XS0ludGVybmFsRGVidWdGZWF0dXJlLm1t
CiAkKFNSQ1JPT1QpL1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLTGlua0ljb25QYXJhbWV0ZXJzLm1t
CiAkKFNSQ1JPT1QpL1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLUHJvY2Vzc1Bvb2xDb25maWd1cmF0
aW9uLm1tCkBAIC03MTgsNyArNzE5LDYgQEAgJChTUkNST09UKS9VSVByb2Nlc3MvbWFjL1dLRnVs
bFNjcmVlbldpbmRvd0NvbnRyb2xsZXIubW0KICQoU1JDUk9PVCkvVUlQcm9jZXNzL21hYy9XS0lt
bWVkaWF0ZUFjdGlvbkNvbnRyb2xsZXIubW0KICQoU1JDUk9PVCkvVUlQcm9jZXNzL21hYy9XS0lu
c3BlY3RvclZpZXdDb250cm9sbGVyLm1tCiAkKFNSQ1JPT1QpL1VJUHJvY2Vzcy9tYWMvV0tJbnNw
ZWN0b3JXS1dlYlZpZXcubW0KLSQoU1JDUk9PVCkvVUlQcm9jZXNzL21hYy9XS0luc3BlY3Rvcldp
bmRvdy5tbQogJChTUkNST09UKS9VSVByb2Nlc3MvbWFjL1dLUHJpbnRpbmdWaWV3Lm1tCiAkKFNS
Q1JPT1QpL1VJUHJvY2Vzcy9tYWMvV0tTaGFyaW5nU2VydmljZVBpY2tlckRlbGVnYXRlLm1tCiAk
KFNSQ1JPT1QpL1VJUHJvY2Vzcy9tYWMvV0tUZXh0RmluZGVyQ2xpZW50Lm1tCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNl
L1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA3NDIyZTkxYWU0
Zi4uNjYxZTgwNWUxNTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagpAQCAtMTMwNyw3ICsxMzA3LDcgQEAKIAkJQTU1QkE4MzUxQkEzRTcwQTAw
N0NEMzNEIC8qIFdlYkluc3BlY3RvckZyb250ZW5kQVBJRGlzcGF0Y2hlci5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTU1QkE4MzMxQkEzRTZGQTAwN0NE
MzNEIC8qIFdlYkluc3BlY3RvckZyb250ZW5kQVBJRGlzcGF0Y2hlci5oICovOyB9OwogCQlBNThC
NkYwODE4RkNBNzMzMDA4Q0JBNTMgLyogV0tGaWxlVXBsb2FkUGFuZWwuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1OEI2RjA2MThGQ0E3MzMwMDhDQkE1
MyAvKiBXS0ZpbGVVcGxvYWRQYW5lbC5oICovOyB9OwogCQlBNUMwRjBBNzIwMDA2NTREMDA1MzY1
MzYgLyogX1dLTlNXaW5kb3dFeHRyYXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEE1QzBGMEE2MjAwMDY1NDQwMDUzNjUzNiAvKiBfV0tOU1dpbmRvd0V4
dHJhcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0J
CUE1QzBGMEFCMjAwMDY1ODIwMDUzNjUzNiAvKiBXS0luc3BlY3RvcldpbmRvdy5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTVDMEYwQUEyMDAwNjU2RTAw
NTM2NTM2IC8qIFdLSW5zcGVjdG9yV2luZG93LmggKi87IH07CisJCUE1QzBGMEFCMjAwMDY1ODIw
MDUzNjUzNiAvKiBfV0tJbnNwZWN0b3JXaW5kb3cuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1QzBGMEFBMjAwMDY1NkUwMDUzNjUzNiAvKiBfV0tJbnNw
ZWN0b3JXaW5kb3cuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwogCQlBNUUzOTFGRDIxODNDMUY4MDBDOEZCMzEgLyogSW5zcGVjdG9yVGFyZ2V0UHJveHku
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1RTM5MUZD
MjE4M0MxRTkwMEM4RkIzMSAvKiBJbnNwZWN0b3JUYXJnZXRQcm94eS5oICovOyB9OwogCQlBNUVD
NkFENDIxNTFCRDdCMDA2NzdEMTcgLyogV2ViUGFnZURlYnVnZ2FibGUuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1RUM2QUQzMjE1MUJENjkwMDY3N0Qx
NyAvKiBXZWJQYWdlRGVidWdnYWJsZS5oICovOyB9OwogCQlBNUVGRDM4QzE2QjBFODhDMDBCMkYw
RTggLyogV0tQYWdlVmlzaWJpbGl0eVR5cGVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBBNUVGRDM4QjE2QjBFODhDMDBCMkYwRTggLyogV0tQYWdlVmlz
aWJpbGl0eVR5cGVzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKQEAgLTM4OTQsOCArMzg5NCw4IEBACiAJCUE1OEI2RjA3MThGQ0E3MzMwMDhDQkE1MyAv
KiBXS0ZpbGVVcGxvYWRQYW5lbC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsg
bmFtZSA9IFdLRmlsZVVwbG9hZFBhbmVsLm1tOyBwYXRoID0gaW9zL2Zvcm1zL1dLRmlsZVVwbG9h
ZFBhbmVsLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBNUMwRjBBNTIwMDA2NTQ0
MDA1MzY1MzYgLyogX1dLTlNXaW5kb3dFeHRyYXMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5vYmpjcHA7IHBhdGggPSBfV0tOU1dpbmRvd0V4dHJhcy5tbTsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJQTVDMEYwQTYyMDAwNjU0NDAwNTM2NTM2IC8qIF9XS05TV2luZG93RXh0cmFz
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IF9XS05TV2luZG93RXh0cmFzLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUE1QzBGMEE5MjAwMDY1NkUwMDUzNjUzNiAv
KiBXS0luc3BlY3RvcldpbmRvdy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsg
cGF0aCA9IFdLSW5zcGVjdG9yV2luZG93Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owot
CQlBNUMwRjBBQTIwMDA2NTZFMDA1MzY1MzYgLyogV0tJbnNwZWN0b3JXaW5kb3cuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0tJbnNwZWN0b3JXaW5kb3cuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTVDMEYwQTkyMDAwNjU2RTAwNTM2NTM2IC8qIF9XS0luc3Bl
Y3RvcldpbmRvdy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IF9X
S0luc3BlY3RvcldpbmRvdy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTVDMEYw
QUEyMDAwNjU2RTAwNTM2NTM2IC8qIF9XS0luc3BlY3RvcldpbmRvdy5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBfV0tJbnNwZWN0b3JXaW5kb3cuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJQTVEMzUwNEQxRDc4RjBEMjAwNTEyNEE5IC8qIFJlbW90ZVdlYkluc3Bl
Y3RvclByb3h5TWFjLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0g
UmVtb3RlV2ViSW5zcGVjdG9yUHJveHlNYWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUE1RTM5MUZCMjE4M0MxRTkwMEM4RkIzMSAvKiBJbnNwZWN0b3JUYXJnZXRQcm94eS5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJbnNwZWN0b3JUYXJnZXRQcm94
eS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE1RTM5MUZDMjE4M0MxRTkwMEM4
RkIzMSAvKiBJbnNwZWN0b3JUYXJnZXRQcm94eS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBJbnNwZWN0b3JUYXJnZXRQcm94eS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwpAQCAtNjA0OSw2ICs2MDQ5LDggQEAKIAkJCQk1Q0FGREU0MjIxMzA4NDM1MDBCMUY3RTEgLyog
X1dLSW5zcGVjdG9yLmggKi8sCiAJCQkJNUNBRkRFNDMyMTMwODQzNjAwQjFGN0UxIC8qIF9XS0lu
c3BlY3Rvci5tbSAqLywKIAkJCQk1Q0FGREU0NDIxMzA4NDM2MDBCMUY3RTEgLyogX1dLSW5zcGVj
dG9ySW50ZXJuYWwuaCAqLywKKwkJCQlBNUMwRjBBQTIwMDA2NTZFMDA1MzY1MzYgLyogX1dLSW5z
cGVjdG9yV2luZG93LmggKi8sCisJCQkJQTVDMEYwQTkyMDAwNjU2RTAwNTM2NTM2IC8qIF9XS0lu
c3BlY3RvcldpbmRvdy5tbSAqLywKIAkJCQkzMUIzNjI5NDIxNDFFQkFEMDA3QkZBNTMgLyogX1dL
SW50ZXJuYWxEZWJ1Z0ZlYXR1cmUuaCAqLywKIAkJCQkzMUIzNjI5MjIxNDFFQkFDMDA3QkZBNTMg
LyogX1dLSW50ZXJuYWxEZWJ1Z0ZlYXR1cmUubW0gKi8sCiAJCQkJMzFCMzYyOTMyMTQxRUJBRDAw
N0JGQTUzIC8qIF9XS0ludGVybmFsRGVidWdGZWF0dXJlSW50ZXJuYWwuaCAqLywKQEAgLTgyMjIs
OCArODIyNCw2IEBACiAJCQkJOTMyMUQ1ODcxQTM4RUU3NDAwODA1MkJFIC8qIFdLSW1tZWRpYXRl
QWN0aW9uQ29udHJvbGxlci5tbSAqLywKIAkJCQk5OTRCQURGMTFGN0Q3N0VBMDBCNTcxRTcgLyog
V0tJbnNwZWN0b3JWaWV3Q29udHJvbGxlci5oICovLAogCQkJCTk5NEJBREYyMUY3RDc3RUIwMEI1
NzFFNyAvKiBXS0luc3BlY3RvclZpZXdDb250cm9sbGVyLm1tICovLAotCQkJCUE1QzBGMEFBMjAw
MDY1NkUwMDUzNjUzNiAvKiBXS0luc3BlY3RvcldpbmRvdy5oICovLAotCQkJCUE1QzBGMEE5MjAw
MDY1NkUwMDUzNjUzNiAvKiBXS0luc3BlY3RvcldpbmRvdy5tbSAqLywKIAkJCQlBNTE4QjVEMDFG
RTFENTVCMDBGOUZBMjggLyogV0tJbnNwZWN0b3JXS1dlYlZpZXcuaCAqLywKIAkJCQlBNTE4QjVE
MTFGRTFENTVCMDBGOUZBMjggLyogV0tJbnNwZWN0b3JXS1dlYlZpZXcubW0gKi8sCiAJCQkJMEZD
QjRFNUMxOEJCRTNEOTAwMEZDRkM5IC8qIFdLUHJpbnRpbmdWaWV3LmggKi8sCkBAIC04ODYzLDYg
Kzg4NjMsNyBAQAogCQkJCTM3QTY0RTU1MThGMzhFM0MwMEVCMzBGMSAvKiBfV0tJbnB1dERlbGVn
YXRlLmggaW4gSGVhZGVycyAqLywKIAkJCQk1Q0FGREU0NTIxMzA4NDYzMDBCMUY3RTEgLyogX1dL
SW5zcGVjdG9yLmggaW4gSGVhZGVycyAqLywKIAkJCQk1Q0FGREU0NzIxMzA4NDZBMDBCMUY3RTEg
LyogX1dLSW5zcGVjdG9ySW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLAorCQkJCUE1QzBGMEFCMjAw
MDY1ODIwMDUzNjUzNiAvKiBfV0tJbnNwZWN0b3JXaW5kb3cuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTMxQjM2Mjk1MjE0MUVCQ0QwMDdCRkE1MyAvKiBfV0tJbnRlcm5hbERlYnVnRmVhdHVyZS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJMzFCMzYyOTcyMTQxRUJEOTAwN0JGQTUzIC8qIF9XS0ludGVybmFs
RGVidWdGZWF0dXJlSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLAogCQkJCTJENzkwQTlEMUFENzA1
MEQwMEFCOTBCMyAvKiBfV0tMYXlvdXRNb2RlLmggaW4gSGVhZGVycyAqLywK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>360445</attachid>
            <date>2019-01-28 23:34:51 -0800</date>
            <delta_ts>2019-01-29 14:40:50 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>193951.diff</filename>
            <type>text/plain</type>
            <size>21622</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKaW5kZXggZmI0Nzg0YzkyNDQuLjRjODFkY2MxN2RiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsx
LDMyIEBACisyMDE5LTAxLTI4ICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KKwor
ICAgICAgICBXZWIgSW5zcGVjdG9yOiBleHBvc2UgYSB3YXkgb2YgZGV0ZXJtaW5pbmcgaWYgYSBk
ZXRhY2hlZCBmcm9udGVuZCBpcyBmb3IgYSByZW1vdGUgdGFyZ2V0CisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTM5NTEKKyAgICAgICAgPHJkYXI6Ly9w
cm9ibGVtLzQ3NjIxMzY2PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogVUlQcm9jZXNzL1dlYkluc3BlY3RvclByb3h5Lmg6CisgICAgICAgIChXZWJL
aXQ6OldlYkluc3BlY3RvclByb3h5OjpJbnNwZWN0aW9uVGFyZ2V0VHlwZSk6IEFkZGVkLgorICAg
ICAgICAoV2ViS2l0OjpXZWJJbnNwZWN0b3JQcm94eTo6Y3JlYXRlRnJvbnRlbmRXaW5kb3cpOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9tYWMvV2ViSW5zcGVjdG9yUHJveHlNYWMubW06CisgICAgICAg
IChXZWJLaXQ6OldlYkluc3BlY3RvclByb3h5OjpjcmVhdGVGcm9udGVuZFdpbmRvdyk6CisgICAg
ICAgIChXZWJLaXQ6OldlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybUNyZWF0ZUZyb250ZW5kV2lu
ZG93KToKKyAgICAgICAgKiBVSVByb2Nlc3MvbWFjL1JlbW90ZVdlYkluc3BlY3RvclByb3h5TWFj
Lm1tOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1D
cmVhdGVGcm9udGVuZFBhZ2VBbmRXaW5kb3cpOgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9D
b2NvYS9fV0tJbnNwZWN0b3JXaW5kb3cuaDogTW92ZWQgZnJvbSBVSVByb2Nlc3MvbWFjL1dLSW5z
cGVjdG9yV2luZG93LmguCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tJbnNwZWN0
b3JXaW5kb3cubW06IE1vdmVkIGZyb20gVUlQcm9jZXNzL21hYy9XS0luc3BlY3RvcldpbmRvdy5t
bS4KKyAgICAgICAgKC1bV0tJbnNwZWN0b3JXaW5kb3cgaXNSZW1vdGVdKTogQWRkZWQuCisKKyAg
ICAgICAgKiBTaGFyZWQvQVBJL0NvY29hL19XS05TV2luZG93RXh0cmFzLm1tOgorICAgICAgICAo
LVtOU1dpbmRvdyBfd2ViX2lzV2ViSW5zcGVjdG9yV2luZG93XSk6CisKKyAgICAgICAgKiBQbGF0
Zm9ybU1hYy5jbWFrZToKKyAgICAgICAgKiBTb3VyY2VzQ29jb2EudHh0OgorICAgICAgICAqIFVu
aWZpZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogV2ViS2l0Lnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2o6CisKIDIwMTktMDEtMjggIENvbW1pdCBRdWV1ZSAgPGNvbW1pdC1x
dWV1ZUB3ZWJraXQub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIyNDA2
MzAuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtTWFjLmNtYWtlIGIvU291cmNl
L1dlYktpdC9QbGF0Zm9ybU1hYy5jbWFrZQppbmRleCAzNjg3MWQzMTExYS4uYWEwODdiZjg4NjEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm1NYWMuY21ha2UKKysrIGIvU291cmNl
L1dlYktpdC9QbGF0Zm9ybU1hYy5jbWFrZQpAQCAtMjk2LDcgKzI5Niw2IEBAIGxpc3QoQVBQRU5E
IFdlYktpdF9TT1VSQ0VTCiAgICAgVUlQcm9jZXNzL21hYy9XS0ltbWVkaWF0ZUFjdGlvbkNvbnRy
b2xsZXIubW0KICAgICBVSVByb2Nlc3MvbWFjL1dLSW5zcGVjdG9yVmlld0NvbnRyb2xsZXIubW0K
ICAgICBVSVByb2Nlc3MvbWFjL1dLSW5zcGVjdG9yV0tXZWJWaWV3Lm1tCi0gICAgVUlQcm9jZXNz
L21hYy9XS0luc3BlY3RvcldpbmRvdy5tbQogICAgIFVJUHJvY2Vzcy9tYWMvV0tQcmludGluZ1Zp
ZXcubW0KICAgICBVSVByb2Nlc3MvbWFjL1dLU2hhcmluZ1NlcnZpY2VQaWNrZXJEZWxlZ2F0ZS5t
bQogICAgIFVJUHJvY2Vzcy9tYWMvV0tUZXh0RmluZGVyQ2xpZW50Lm1tCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1NoYXJlZC9BUEkvQ29jb2EvX1dLTlNXaW5kb3dFeHRyYXMubW0gYi9Tb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9BUEkvQ29jb2EvX1dLTlNXaW5kb3dFeHRyYXMubW0KaW5kZXggZDNk
OTM5ZGYzYWMuLjg3MjAxNGIwMzAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9B
UEkvQ29jb2EvX1dLTlNXaW5kb3dFeHRyYXMubW0KKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQv
QVBJL0NvY29hL19XS05TV2luZG93RXh0cmFzLm1tCkBAIC0zMCwxMyArMzAsMTMgQEAKIAogI2lm
ICFUQVJHRVRfT1NfSVBIT05FCiAKLSNpbXBvcnQgIldLSW5zcGVjdG9yV2luZG93LmgiCisjaW1w
b3J0ICJfV0tJbnNwZWN0b3JXaW5kb3cuaCIKIAogQGltcGxlbWVudGF0aW9uIE5TV2luZG93IChX
S0V4dHJhcykKIAogLSAoQk9PTClfd2ViX2lzV2ViSW5zcGVjdG9yV2luZG93CiB7Ci0gICAgcmV0
dXJuIFtzZWxmIGlzS2luZE9mQ2xhc3M6W1dLSW5zcGVjdG9yV2luZG93IGNsYXNzXV07CisgICAg
cmV0dXJuIFtzZWxmIGlzS2luZE9mQ2xhc3M6W19XS0luc3BlY3RvcldpbmRvdyBjbGFzc11dOwog
fQogCiBAZW5kCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50eHQgYi9T
b3VyY2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50eHQKaW5kZXggM2NmYjcxZTY3Y2UuLmI1MWY2Yjkw
OTg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50eHQKKysrIGIvU291
cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0CkBAIC0yMzcsNiArMjM3LDcgQEAgVUlQcm9jZXNz
L0FQSS9Db2NvYS9fV0tFcnJvclJlY292ZXJ5QXR0ZW1wdGluZy5tbQogVUlQcm9jZXNzL0FQSS9D
b2NvYS9fV0tFeHBlcmltZW50YWxGZWF0dXJlLm1tCiBVSVByb2Nlc3MvQVBJL0NvY29hL19XS0dl
b2xvY2F0aW9uUG9zaXRpb24ubW0KIFVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLSW5zcGVjdG9yLm1t
CitVSVByb2Nlc3MvQVBJL0NvY29hL19XS0luc3BlY3RvcldpbmRvdy5tbQogVUlQcm9jZXNzL0FQ
SS9Db2NvYS9fV0tJbnRlcm5hbERlYnVnRmVhdHVyZS5tbQogVUlQcm9jZXNzL0FQSS9Db2NvYS9f
V0tMaW5rSWNvblBhcmFtZXRlcnMubW0KIFVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLUHJvY2Vzc1Bv
b2xDb25maWd1cmF0aW9uLm1tCkBAIC00MzgsNyArNDM5LDYgQEAgVUlQcm9jZXNzL21hYy9XaW5k
b3dTZXJ2ZXJDb25uZWN0aW9uLm1tCiBVSVByb2Nlc3MvbWFjL1dLRnVsbFNjcmVlbldpbmRvd0Nv
bnRyb2xsZXIubW0KIFVJUHJvY2Vzcy9tYWMvV0tJbW1lZGlhdGVBY3Rpb25Db250cm9sbGVyLm1t
CiBVSVByb2Nlc3MvbWFjL1dLSW5zcGVjdG9yVmlld0NvbnRyb2xsZXIubW0KLVVJUHJvY2Vzcy9t
YWMvV0tJbnNwZWN0b3JXaW5kb3cubW0KIFVJUHJvY2Vzcy9tYWMvV0tJbnNwZWN0b3JXS1dlYlZp
ZXcubW0KIFVJUHJvY2Vzcy9tYWMvV0tQcmludGluZ1ZpZXcubW0KIFVJUHJvY2Vzcy9tYWMvV0tT
aGFyaW5nU2VydmljZVBpY2tlckRlbGVnYXRlLm1tCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLSW5zcGVjdG9yV2luZG93LmggYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLSW5zcGVjdG9yV2luZG93LmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjJhYzM0NWFiOTkyCi0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS0luc3BlY3RvcldpbmRvdy5oCkBA
IC0wLDAgKzEsMzcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTggQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW1wb3J0IDxXZWJLaXQvV0tGb3VuZGF0aW9u
Lmg+CisKKyNpZiBXS19BUElfRU5BQkxFRCAmJiAhVEFSR0VUX09TX0lQSE9ORQorCitXS19DTEFT
U19BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpKQorQGludGVyZmFjZSBfV0tJbnNwZWN0b3JX
aW5kb3cgOiBOU1dpbmRvdworCitAcHJvcGVydHkgKG5vbmF0b21pYywgZ2V0dGVyPWlzRm9yUmVt
b3RlVGFyZ2V0KSBCT09MIGZvclJlbW90ZVRhcmdldDsKKworQGVuZAorCisjZW5kaWYKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tJbnNwZWN0b3JXaW5k
b3cubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLSW5zcGVjdG9yV2lu
ZG93Lm1tCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi41NmI0NGU2ODQ3
YgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9f
V0tJbnNwZWN0b3JXaW5kb3cubW0KQEAgLTAsMCArMSw0MCBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbXBv
cnQgImNvbmZpZy5oIgorI2ltcG9ydCAiX1dLSW5zcGVjdG9yV2luZG93LmgiCisKKyNpZiBQTEFU
Rk9STShNQUMpICYmIFdLX0FQSV9FTkFCTEVECisKK0BpbXBsZW1lbnRhdGlvbiBfV0tJbnNwZWN0
b3JXaW5kb3cKKworLSAoQk9PTClpc0ZvclJlbW90ZVRhcmdldAoreworICAgIHJldHVybiBfZm9y
UmVtb3RlVGFyZ2V0OworfQorCitAZW5kCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2ViSW5zcGVjdG9yUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYkluc3BlY3RvclByb3h5LmgKaW5kZXggM2ZmN2ZkNDVlNTkuLjFiY2EzMWI0NGU3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJJbnNwZWN0b3JQcm94eS5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkluc3BlY3RvclByb3h5LmgKQEAgLTEwNSw3
ICsxMDUsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCB1cGRhdGVGb3JOZXdQYWdlUHJvY2VzcyhXZWJQ
YWdlUHJveHkqKTsKIAogI2lmIFBMQVRGT1JNKE1BQykgJiYgV0tfQVBJX0VOQUJMRUQKLSAgICBz
dGF0aWMgUmV0YWluUHRyPE5TV2luZG93PiBjcmVhdGVGcm9udGVuZFdpbmRvdyhOU1JlY3Qgc2F2
ZWRXaW5kb3dGcmFtZSk7CisgICAgZW51bSBjbGFzcyBJbnNwZWN0aW9uVGFyZ2V0VHlwZSB7IExv
Y2FsLCBSZW1vdGUgfTsKKyAgICBzdGF0aWMgUmV0YWluUHRyPE5TV2luZG93PiBjcmVhdGVGcm9u
dGVuZFdpbmRvdyhOU1JlY3Qgc2F2ZWRXaW5kb3dGcmFtZSwgSW5zcGVjdGlvblRhcmdldFR5cGUp
OwogCiAgICAgdm9pZCB1cGRhdGVJbnNwZWN0b3JXaW5kb3dUaXRsZSgpIGNvbnN0OwogICAgIHZv
aWQgaW5zcGVjdGVkVmlld0ZyYW1lRGlkQ2hhbmdlKENHRmxvYXQgPSAwKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9SZW1vdGVXZWJJbnNwZWN0b3JQcm94eU1hYy5t
bSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9SZW1vdGVXZWJJbnNwZWN0b3JQcm94eU1h
Yy5tbQppbmRleCBlYmQ2YTM5MTY0My4uMzJmYzYyY2U2NGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL21hYy9SZW1vdGVXZWJJbnNwZWN0b3JQcm94eU1hYy5tbQorKysgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvUmVtb3RlV2ViSW5zcGVjdG9yUHJveHlNYWMubW0K
QEAgLTg4LDcgKzg4LDcgQEAgV2ViUGFnZVByb3h5KiBSZW1vdGVXZWJJbnNwZWN0b3JQcm94eTo6
cGxhdGZvcm1DcmVhdGVGcm9udGVuZFBhZ2VBbmRXaW5kb3coKQogICAgIG1faW5zcGVjdG9yVmll
dyA9IGFkb3B0TlMoW1tXS0luc3BlY3RvclZpZXdDb250cm9sbGVyIGFsbG9jXSBpbml0V2l0aElu
c3BlY3RlZFBhZ2U6bnVsbHB0cl0pOwogICAgIFttX2luc3BlY3RvclZpZXcuZ2V0KCkgc2V0RGVs
ZWdhdGU6bV9vYmpDQWRhcHRlci5nZXQoKV07CiAKLSAgICBtX3dpbmRvdyA9IFdlYkluc3BlY3Rv
clByb3h5OjpjcmVhdGVGcm9udGVuZFdpbmRvdyhOU1plcm9SZWN0KTsKKyAgICBtX3dpbmRvdyA9
IFdlYkluc3BlY3RvclByb3h5OjpjcmVhdGVGcm9udGVuZFdpbmRvdyhOU1plcm9SZWN0LCBXZWJJ
bnNwZWN0b3JQcm94eTo6SW5zcGVjdGlvblRhcmdldFR5cGU6OlJlbW90ZSk7CiAgICAgW21fd2lu
ZG93IHNldEZyYW1lQXV0b3NhdmVOYW1lOkAiV0tSZW1vdGVXZWJJbnNwZWN0b3JXaW5kb3dGcmFt
ZSJdOwogCiAgICAgTlNWaWV3ICpjb250ZW50VmlldyA9IG1fd2luZG93LmdldCgpLmNvbnRlbnRW
aWV3OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1dLSW5zcGVjdG9y
V2luZG93LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvV0tJbnNwZWN0b3JXaW5kb3cu
aApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDkyM2U5MGM3OTEuLjAwMDAwMDAwMDAw
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9XS0luc3BlY3RvcldpbmRvdy5oCisr
KyAvZGV2L251bGwKQEAgLTEsMzMgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxOCBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
LSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgot
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbXBvcnQgPFdlYktp
dC9XS0ZvdW5kYXRpb24uaD4KLQotI2lmIFBMQVRGT1JNKE1BQykgJiYgV0tfQVBJX0VOQUJMRUQK
LQotQGludGVyZmFjZSBXS0luc3BlY3RvcldpbmRvdyA6IE5TV2luZG93Ci1AZW5kCi0KLSNlbmRp
ZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1dLSW5zcGVjdG9yV2lu
ZG93Lm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1dLSW5zcGVjdG9yV2luZG93Lm1t
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiMDRlMWM3ZjliZS4uMDAwMDAwMDAwMDAK
LS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1dLSW5zcGVjdG9yV2luZG93Lm1tCisr
KyAvZGV2L251bGwKQEAgLTEsMzQgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxOCBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
LSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgot
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbXBvcnQgImNvbmZp
Zy5oIgotI2ltcG9ydCAiV0tJbnNwZWN0b3JXaW5kb3cuaCIKLQotI2lmIFBMQVRGT1JNKE1BQykg
JiYgV0tfQVBJX0VOQUJMRUQKLQotQGltcGxlbWVudGF0aW9uIFdLSW5zcGVjdG9yV2luZG93Ci1A
ZW5kCi0KLSNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1dl
Ykluc3BlY3RvclByb3h5TWFjLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1dlYklu
c3BlY3RvclByb3h5TWFjLm1tCmluZGV4IDg2ZWY5NDUzYjUyLi41ODBjM2Y1ODIyZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1dlYkluc3BlY3RvclByb3h5TWFjLm1t
CisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9XZWJJbnNwZWN0b3JQcm94eU1hYy5t
bQpAQCAtMzAsMTMgKzMwLDEzIEBACiAKICNpbXBvcnQgIldLSW5zcGVjdG9yUHJpdmF0ZU1hYy5o
IgogI2ltcG9ydCAiV0tJbnNwZWN0b3JWaWV3Q29udHJvbGxlci5oIgotI2ltcG9ydCAiV0tJbnNw
ZWN0b3JXaW5kb3cuaCIKICNpbXBvcnQgIldLVmlld0ludGVybmFsLmgiCiAjaW1wb3J0ICJXS1dl
YlZpZXdJbnRlcm5hbC5oIgogI2ltcG9ydCAiV2ViSW5zcGVjdG9yVUlNZXNzYWdlcy5oIgogI2lt
cG9ydCAiV2ViUGFnZUdyb3VwLmgiCiAjaW1wb3J0ICJXZWJQYWdlUHJveHkuaCIKICNpbXBvcnQg
Il9XS0luc3BlY3RvckludGVybmFsLmgiCisjaW1wb3J0ICJfV0tJbnNwZWN0b3JXaW5kb3cuaCIK
ICNpbXBvcnQgPFNlY3VyaXR5SW50ZXJmYWNlL1NGQ2VydGlmaWNhdGVQYW5lbC5oPgogI2ltcG9y
dCA8U2VjdXJpdHlJbnRlcmZhY2UvU0ZDZXJ0aWZpY2F0ZVZpZXcuaD4KICNpbXBvcnQgPFdlYkNv
cmUvQ2VydGlmaWNhdGVJbmZvLmg+CkBAIC0yMjgsMTQgKzIyOCwxNyBAQCB2b2lkIFdlYkluc3Bl
Y3RvclByb3h5Ojp1cGRhdGVJbnNwZWN0b3JXaW5kb3dUaXRsZSgpIGNvbnN0CiAgICAgfQogfQog
Ci1SZXRhaW5QdHI8TlNXaW5kb3c+IFdlYkluc3BlY3RvclByb3h5OjpjcmVhdGVGcm9udGVuZFdp
bmRvdyhOU1JlY3Qgc2F2ZWRXaW5kb3dGcmFtZSkKK1JldGFpblB0cjxOU1dpbmRvdz4gV2ViSW5z
cGVjdG9yUHJveHk6OmNyZWF0ZUZyb250ZW5kV2luZG93KE5TUmVjdCBzYXZlZFdpbmRvd0ZyYW1l
LCBJbnNwZWN0aW9uVGFyZ2V0VHlwZSB0YXJnZXRUeXBlKQogewogICAgIE5TUmVjdCB3aW5kb3dG
cmFtZSA9ICFOU0lzRW1wdHlSZWN0KHNhdmVkV2luZG93RnJhbWUpID8gc2F2ZWRXaW5kb3dGcmFt
ZSA6IE5TTWFrZVJlY3QoMCwgMCwgaW5pdGlhbFdpbmRvd1dpZHRoLCBpbml0aWFsV2luZG93SGVp
Z2h0KTsKLSAgICBhdXRvIHdpbmRvdyA9IGFkb3B0TlMoW1tXS0luc3BlY3RvcldpbmRvdyBhbGxv
Y10gaW5pdFdpdGhDb250ZW50UmVjdDp3aW5kb3dGcmFtZSBzdHlsZU1hc2s6d2luZG93U3R5bGVN
YXNrIGJhY2tpbmc6TlNCYWNraW5nU3RvcmVCdWZmZXJlZCBkZWZlcjpOT10pOworICAgIGF1dG8g
d2luZG93ID0gYWRvcHROUyhbW19XS0luc3BlY3RvcldpbmRvdyBhbGxvY10gaW5pdFdpdGhDb250
ZW50UmVjdDp3aW5kb3dGcmFtZSBzdHlsZU1hc2s6d2luZG93U3R5bGVNYXNrIGJhY2tpbmc6TlNC
YWNraW5nU3RvcmVCdWZmZXJlZCBkZWZlcjpOT10pOwogICAgIFt3aW5kb3cgc2V0TWluU2l6ZTpO
U01ha2VTaXplKG1pbmltdW1XaW5kb3dXaWR0aCwgbWluaW11bVdpbmRvd0hlaWdodCldOwogICAg
IFt3aW5kb3cgc2V0UmVsZWFzZWRXaGVuQ2xvc2VkOk5PXTsKICAgICBbd2luZG93IHNldENvbGxl
Y3Rpb25CZWhhdmlvcjooW3dpbmRvdyBjb2xsZWN0aW9uQmVoYXZpb3JdIHwgTlNXaW5kb3dDb2xs
ZWN0aW9uQmVoYXZpb3JGdWxsU2NyZWVuUHJpbWFyeSldOwogCisgICAgYm9vbCBmb3JSZW1vdGVU
YXJnZXQgPSB0YXJnZXRUeXBlID09IEluc3BlY3Rpb25UYXJnZXRUeXBlOjpSZW1vdGU7CisgICAg
W3dpbmRvdyBzZXRGb3JSZW1vdGVUYXJnZXQ6Zm9yUmVtb3RlVGFyZ2V0XTsKKwogICAgIENHRmxv
YXQgYXBwcm94aW1hdGVseUhhbGZTY3JlZW5TaXplID0gKFt3aW5kb3cgc2NyZWVuXS5mcmFtZS5z
aXplLndpZHRoIC8gMikgLSA0OwogICAgIENHRmxvYXQgbWluaW11bUZ1bGxTY3JlZW5XaWR0aCA9
IHN0ZDo6bWF4PENHRmxvYXQ+KDYzNiwgYXBwcm94aW1hdGVseUhhbGZTY3JlZW5TaXplKTsKICAg
ICBbd2luZG93IHNldE1pbkZ1bGxTY3JlZW5Db250ZW50U2l6ZTpOU01ha2VTaXplKG1pbmltdW1G
dWxsU2NyZWVuV2lkdGgsIG1pbmltdW1XaW5kb3dIZWlnaHQpXTsKQEAgLTI4Miw3ICsyODUsNyBA
QCB2b2lkIFdlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybUNyZWF0ZUZyb250ZW5kV2luZG93KCkK
ICAgICBOU1N0cmluZyAqc2F2ZWRXaW5kb3dGcmFtZVN0cmluZyA9IGluc3BlY3RlZFBhZ2UoKS0+
cGFnZUdyb3VwKCkucHJlZmVyZW5jZXMoKS5pbnNwZWN0b3JXaW5kb3dGcmFtZSgpOwogICAgIE5T
UmVjdCBzYXZlZFdpbmRvd0ZyYW1lID0gTlNSZWN0RnJvbVN0cmluZyhzYXZlZFdpbmRvd0ZyYW1l
U3RyaW5nKTsKIAotICAgIG1faW5zcGVjdG9yV2luZG93ID0gV2ViSW5zcGVjdG9yUHJveHk6OmNy
ZWF0ZUZyb250ZW5kV2luZG93KHNhdmVkV2luZG93RnJhbWUpOworICAgIG1faW5zcGVjdG9yV2lu
ZG93ID0gV2ViSW5zcGVjdG9yUHJveHk6OmNyZWF0ZUZyb250ZW5kV2luZG93KHNhdmVkV2luZG93
RnJhbWUsIEluc3BlY3Rpb25UYXJnZXRUeXBlOjpMb2NhbCk7CiAgICAgW21faW5zcGVjdG9yV2lu
ZG93IHNldERlbGVnYXRlOm1fb2JqQ0FkYXB0ZXIuZ2V0KCldOwogCiAgICAgV0tXZWJWaWV3ICpp
bnNwZWN0b3JWaWV3ID0gW21faW5zcGVjdG9yVmlld0NvbnRyb2xsZXIgd2ViVmlld107CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VuaWZpZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QgYi9T
b3VyY2UvV2ViS2l0L1VuaWZpZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKaW5kZXggNTU2MTE0
N2M4OTcuLjVkZmU0Y2I1Y2NiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VuaWZpZWRTb3Vy
Y2VzLWlucHV0LnhjZmlsZWxpc3QKKysrIGIvU291cmNlL1dlYktpdC9VbmlmaWVkU291cmNlcy1p
bnB1dC54Y2ZpbGVsaXN0CkBAIC00NDYsNiArNDQ2LDcgQEAgJChTUkNST09UKS9VSVByb2Nlc3Mv
QVBJL0NvY29hL19XS0Vycm9yUmVjb3ZlcnlBdHRlbXB0aW5nLm1tCiAkKFNSQ1JPT1QpL1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvX1dLRXhwZXJpbWVudGFsRmVhdHVyZS5tbQogJChTUkNST09UKS9VSVBy
b2Nlc3MvQVBJL0NvY29hL19XS0dlb2xvY2F0aW9uUG9zaXRpb24ubW0KICQoU1JDUk9PVCkvVUlQ
cm9jZXNzL0FQSS9Db2NvYS9fV0tJbnNwZWN0b3IubW0KKyQoU1JDUk9PVCkvVUlQcm9jZXNzL0FQ
SS9Db2NvYS9fV0tJbnNwZWN0b3JXaW5kb3cubW0KICQoU1JDUk9PVCkvVUlQcm9jZXNzL0FQSS9D
b2NvYS9fV0tJbnRlcm5hbERlYnVnRmVhdHVyZS5tbQogJChTUkNST09UKS9VSVByb2Nlc3MvQVBJ
L0NvY29hL19XS0xpbmtJY29uUGFyYW1ldGVycy5tbQogJChTUkNST09UKS9VSVByb2Nlc3MvQVBJ
L0NvY29hL19XS1Byb2Nlc3NQb29sQ29uZmlndXJhdGlvbi5tbQpAQCAtNzE4LDcgKzcxOSw2IEBA
ICQoU1JDUk9PVCkvVUlQcm9jZXNzL21hYy9XS0Z1bGxTY3JlZW5XaW5kb3dDb250cm9sbGVyLm1t
CiAkKFNSQ1JPT1QpL1VJUHJvY2Vzcy9tYWMvV0tJbW1lZGlhdGVBY3Rpb25Db250cm9sbGVyLm1t
CiAkKFNSQ1JPT1QpL1VJUHJvY2Vzcy9tYWMvV0tJbnNwZWN0b3JWaWV3Q29udHJvbGxlci5tbQog
JChTUkNST09UKS9VSVByb2Nlc3MvbWFjL1dLSW5zcGVjdG9yV0tXZWJWaWV3Lm1tCi0kKFNSQ1JP
T1QpL1VJUHJvY2Vzcy9tYWMvV0tJbnNwZWN0b3JXaW5kb3cubW0KICQoU1JDUk9PVCkvVUlQcm9j
ZXNzL21hYy9XS1ByaW50aW5nVmlldy5tbQogJChTUkNST09UKS9VSVByb2Nlc3MvbWFjL1dLU2hh
cmluZ1NlcnZpY2VQaWNrZXJEZWxlZ2F0ZS5tbQogJChTUkNST09UKS9VSVByb2Nlc3MvbWFjL1dL
VGV4dEZpbmRlckNsaWVudC5tbQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKaW5kZXggNzQyMmU5MWFlNGYuLjY2MWU4MDVlMTUxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1Nv
dXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTEzMDcsNyAr
MTMwNyw3IEBACiAJCUE1NUJBODM1MUJBM0U3MEEwMDdDRDMzRCAvKiBXZWJJbnNwZWN0b3JGcm9u
dGVuZEFQSURpc3BhdGNoZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEE1NUJBODMzMUJBM0U2RkEwMDdDRDMzRCAvKiBXZWJJbnNwZWN0b3JGcm9udGVu
ZEFQSURpc3BhdGNoZXIuaCAqLzsgfTsKIAkJQTU4QjZGMDgxOEZDQTczMzAwOENCQTUzIC8qIFdL
RmlsZVVwbG9hZFBhbmVsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBBNThCNkYwNjE4RkNBNzMzMDA4Q0JBNTMgLyogV0tGaWxlVXBsb2FkUGFuZWwuaCAq
LzsgfTsKIAkJQTVDMEYwQTcyMDAwNjU0RDAwNTM2NTM2IC8qIF9XS05TV2luZG93RXh0cmFzLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNUMwRjBBNjIw
MDA2NTQ0MDA1MzY1MzYgLyogX1dLTlNXaW5kb3dFeHRyYXMuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQlBNUMwRjBBQjIwMDA2NTgyMDA1MzY1MzYg
LyogV0tJbnNwZWN0b3JXaW5kb3cuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEE1QzBGMEFBMjAwMDY1NkUwMDUzNjUzNiAvKiBXS0luc3BlY3RvcldpbmRv
dy5oICovOyB9OworCQlBNUMwRjBBQjIwMDA2NTgyMDA1MzY1MzYgLyogX1dLSW5zcGVjdG9yV2lu
ZG93LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNUMw
RjBBQTIwMDA2NTZFMDA1MzY1MzYgLyogX1dLSW5zcGVjdG9yV2luZG93LmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQTVFMzkxRkQyMTgzQzFGODAw
QzhGQjMxIC8qIEluc3BlY3RvclRhcmdldFByb3h5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNUUzOTFGQzIxODNDMUU5MDBDOEZCMzEgLyogSW5zcGVj
dG9yVGFyZ2V0UHJveHkuaCAqLzsgfTsKIAkJQTVFQzZBRDQyMTUxQkQ3QjAwNjc3RDE3IC8qIFdl
YlBhZ2VEZWJ1Z2dhYmxlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBBNUVDNkFEMzIxNTFCRDY5MDA2NzdEMTcgLyogV2ViUGFnZURlYnVnZ2FibGUuaCAq
LzsgfTsKIAkJQTVFRkQzOEMxNkIwRTg4QzAwQjJGMEU4IC8qIFdLUGFnZVZpc2liaWxpdHlUeXBl
cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTVFRkQz
OEIxNkIwRTg4QzAwQjJGMEU4IC8qIFdLUGFnZVZpc2liaWxpdHlUeXBlcy5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0zODk0LDggKzM4OTQsOCBA
QAogCQlBNThCNkYwNzE4RkNBNzMzMDA4Q0JBNTMgLyogV0tGaWxlVXBsb2FkUGFuZWwubW0gKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IG5hbWUgPSBXS0ZpbGVVcGxvYWRQYW5lbC5t
bTsgcGF0aCA9IGlvcy9mb3Jtcy9XS0ZpbGVVcGxvYWRQYW5lbC5tbTsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJQTVDMEYwQTUyMDAwNjU0NDAwNTM2NTM2IC8qIF9XS05TV2luZG93RXh0
cmFzLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gX1dLTlNXaW5k
b3dFeHRyYXMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE1QzBGMEE2MjAwMDY1
NDQwMDUzNjUzNiAvKiBfV0tOU1dpbmRvd0V4dHJhcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBfV0tOU1dpbmRvd0V4dHJhcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwotCQlBNUMwRjBBOTIwMDA2NTZFMDA1MzY1MzYgLyogV0tJbnNwZWN0b3JXaW5kb3cubW0gKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBXS0luc3BlY3RvcldpbmRvdy5t
bTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJQTVDMEYwQUEyMDAwNjU2RTAwNTM2NTM2
IC8qIFdLSW5zcGVjdG9yV2luZG93LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IFdLSW5zcGVjdG9yV2luZG93Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE1QzBG
MEE5MjAwMDY1NkUwMDUzNjUzNiAvKiBfV0tJbnNwZWN0b3JXaW5kb3cubW0gKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBfV0tJbnNwZWN0b3JXaW5kb3cubW07IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE1QzBGMEFBMjAwMDY1NkUwMDUzNjUzNiAvKiBfV0tJ
bnNwZWN0b3JXaW5kb3cuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gX1dLSW5z
cGVjdG9yV2luZG93Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE1RDM1MDREMUQ3
OEYwRDIwMDUxMjRBOSAvKiBSZW1vdGVXZWJJbnNwZWN0b3JQcm94eU1hYy5tbSAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFJlbW90ZVdlYkluc3BlY3RvclByb3h5TWFj
Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBNUUzOTFGQjIxODNDMUU5MDBDOEZC
MzEgLyogSW5zcGVjdG9yVGFyZ2V0UHJveHkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gSW5zcGVjdG9yVGFyZ2V0UHJveHkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlBNUUzOTFGQzIxODNDMUU5MDBDOEZCMzEgLyogSW5zcGVjdG9yVGFyZ2V0UHJv
eHkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW5zcGVjdG9yVGFyZ2V0UHJv
eHkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTYwNDksNiArNjA0OSw4IEBACiAJ
CQkJNUNBRkRFNDIyMTMwODQzNTAwQjFGN0UxIC8qIF9XS0luc3BlY3Rvci5oICovLAogCQkJCTVD
QUZERTQzMjEzMDg0MzYwMEIxRjdFMSAvKiBfV0tJbnNwZWN0b3IubW0gKi8sCiAJCQkJNUNBRkRF
NDQyMTMwODQzNjAwQjFGN0UxIC8qIF9XS0luc3BlY3RvckludGVybmFsLmggKi8sCisJCQkJQTVD
MEYwQUEyMDAwNjU2RTAwNTM2NTM2IC8qIF9XS0luc3BlY3RvcldpbmRvdy5oICovLAorCQkJCUE1
QzBGMEE5MjAwMDY1NkUwMDUzNjUzNiAvKiBfV0tJbnNwZWN0b3JXaW5kb3cubW0gKi8sCiAJCQkJ
MzFCMzYyOTQyMTQxRUJBRDAwN0JGQTUzIC8qIF9XS0ludGVybmFsRGVidWdGZWF0dXJlLmggKi8s
CiAJCQkJMzFCMzYyOTIyMTQxRUJBQzAwN0JGQTUzIC8qIF9XS0ludGVybmFsRGVidWdGZWF0dXJl
Lm1tICovLAogCQkJCTMxQjM2MjkzMjE0MUVCQUQwMDdCRkE1MyAvKiBfV0tJbnRlcm5hbERlYnVn
RmVhdHVyZUludGVybmFsLmggKi8sCkBAIC04MjIyLDggKzgyMjQsNiBAQAogCQkJCTkzMjFENTg3
MUEzOEVFNzQwMDgwNTJCRSAvKiBXS0ltbWVkaWF0ZUFjdGlvbkNvbnRyb2xsZXIubW0gKi8sCiAJ
CQkJOTk0QkFERjExRjdENzdFQTAwQjU3MUU3IC8qIFdLSW5zcGVjdG9yVmlld0NvbnRyb2xsZXIu
aCAqLywKIAkJCQk5OTRCQURGMjFGN0Q3N0VCMDBCNTcxRTcgLyogV0tJbnNwZWN0b3JWaWV3Q29u
dHJvbGxlci5tbSAqLywKLQkJCQlBNUMwRjBBQTIwMDA2NTZFMDA1MzY1MzYgLyogV0tJbnNwZWN0
b3JXaW5kb3cuaCAqLywKLQkJCQlBNUMwRjBBOTIwMDA2NTZFMDA1MzY1MzYgLyogV0tJbnNwZWN0
b3JXaW5kb3cubW0gKi8sCiAJCQkJQTUxOEI1RDAxRkUxRDU1QjAwRjlGQTI4IC8qIFdLSW5zcGVj
dG9yV0tXZWJWaWV3LmggKi8sCiAJCQkJQTUxOEI1RDExRkUxRDU1QjAwRjlGQTI4IC8qIFdLSW5z
cGVjdG9yV0tXZWJWaWV3Lm1tICovLAogCQkJCTBGQ0I0RTVDMThCQkUzRDkwMDBGQ0ZDOSAvKiBX
S1ByaW50aW5nVmlldy5oICovLApAQCAtODg2Myw2ICs4ODYzLDcgQEAKIAkJCQkzN0E2NEU1NTE4
RjM4RTNDMDBFQjMwRjEgLyogX1dLSW5wdXREZWxlZ2F0ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
NUNBRkRFNDUyMTMwODQ2MzAwQjFGN0UxIC8qIF9XS0luc3BlY3Rvci5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJNUNBRkRFNDcyMTMwODQ2QTAwQjFGN0UxIC8qIF9XS0luc3BlY3RvckludGVybmFsLmgg
aW4gSGVhZGVycyAqLywKKwkJCQlBNUMwRjBBQjIwMDA2NTgyMDA1MzY1MzYgLyogX1dLSW5zcGVj
dG9yV2luZG93LmggaW4gSGVhZGVycyAqLywKIAkJCQkzMUIzNjI5NTIxNDFFQkNEMDA3QkZBNTMg
LyogX1dLSW50ZXJuYWxEZWJ1Z0ZlYXR1cmUuaCBpbiBIZWFkZXJzICovLAogCQkJCTMxQjM2Mjk3
MjE0MUVCRDkwMDdCRkE1MyAvKiBfV0tJbnRlcm5hbERlYnVnRmVhdHVyZUludGVybmFsLmggaW4g
SGVhZGVycyAqLywKIAkJCQkyRDc5MEE5RDFBRDcwNTBEMDBBQjkwQjMgLyogX1dLTGF5b3V0TW9k
ZS5oIGluIEhlYWRlcnMgKi8sCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>