<?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>204822</bug_id>
          
          <creation_ts>2019-12-03 16:59:36 -0800</creation_ts>
          <short_desc>Add network loading signposts</short_desc>
          <delta_ts>2019-12-18 11:29:04 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit2</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>macOS 10.15</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="Ben Nham">nham</reporter>
          <assigned_to name="Ben Nham">nham</assigned_to>
          <cc>achristensen</cc>
    
    <cc>annulen</cc>
    
    <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>nham</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1595265</commentid>
    <comment_count>0</comment_count>
    <who name="Ben Nham">nham</who>
    <bug_when>2019-12-03 16:59:36 -0800</bug_when>
    <thetext>We should be able to optionally log network data task-related signposts to the os_signpost subsystem on the Mac. This allows us to visualize the network load waterfall in our various perf visualization tools. I&apos;ve found this to be helpful in debugging networking-related perf issues (e.g. making sure that speculative revalidation/loading isn&apos;t double-loading resources, making sure that concurrent requests go out with the expected priority, etc.).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1595267</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-12-03 17:00:20 -0800</bug_when>
    <thetext>&lt;rdar://problem/57608824&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1595273</commentid>
    <comment_count>2</comment_count>
      <attachid>384770</attachid>
    <who name="Ben Nham">nham</who>
    <bug_when>2019-12-03 17:12:02 -0800</bug_when>
    <thetext>Created attachment 384770
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1595290</commentid>
    <comment_count>3</comment_count>
      <attachid>384770</attachid>
    <who name="Ben Nham">nham</who>
    <bug_when>2019-12-03 17:38:29 -0800</bug_when>
    <thetext>Comment on attachment 384770
Patch

Looks like I need to change my patch to handle compiling on High Sierra, which doesn&apos;t have os_signpost.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1595362</commentid>
    <comment_count>4</comment_count>
      <attachid>384785</attachid>
    <who name="Ben Nham">nham</who>
    <bug_when>2019-12-03 20:58:02 -0800</bug_when>
    <thetext>Created attachment 384785
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1595528</commentid>
    <comment_count>5</comment_count>
      <attachid>384827</attachid>
    <who name="Ben Nham">nham</who>
    <bug_when>2019-12-04 10:39:18 -0800</bug_when>
    <thetext>Created attachment 384827
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1599039</commentid>
    <comment_count>6</comment_count>
      <attachid>385796</attachid>
    <who name="Ben Nham">nham</who>
    <bug_when>2019-12-16 12:44:22 -0800</bug_when>
    <thetext>Created attachment 385796
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1599040</commentid>
    <comment_count>7</comment_count>
      <attachid>385796</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2019-12-16 12:45:11 -0800</bug_when>
    <thetext>Comment on attachment 385796
Patch

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

&gt; Source/WebCore/PAL/pal/spi/cocoa/OSVariantSPI.h:2
&gt; + * Copyright (C) 2014-2019 Apple Inc. All rights reserved.

No 2014</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1599044</commentid>
    <comment_count>8</comment_count>
      <attachid>385798</attachid>
    <who name="Ben Nham">nham</who>
    <bug_when>2019-12-16 12:49:56 -0800</bug_when>
    <thetext>Created attachment 385798
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1599540</commentid>
    <comment_count>9</comment_count>
      <attachid>385798</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-12-17 13:26:12 -0800</bug_when>
    <thetext>Comment on attachment 385798
Patch

Rejecting attachment 385798 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.webkit.org&apos;, &apos;--bot-id=webkit-cq-03&apos;, &apos;build&apos;, &apos;--no-clean&apos;, &apos;--no-update&apos;, &apos;--build-style=release&apos;, &apos;--port=mac&apos;]&quot; exit_code: 2 cwd: /Volumes/Data/EWS/WebKit

Last 5000 characters of output:
LS_SCRIPT -DENABLE_MEDIA_SOURCE -DENABLE_MEDIA_STREAM -DENABLE_MEMORY_SAMPLER -DENABLE_METER_ELEMENT -DENABLE_MOUSE_CURSOR_SCALE -DENABLE_NETWORK_CACHE_SPECULATIVE_REVALIDATION -DENABLE_NOTIFICATIONS -DENABLE_PAYMENT_REQUEST -DENABLE_PDFKIT_PLUGIN -DENABLE_POINTER_EVENTS -DENABLE_POINTER_LOCK -DENABLE_PUBLIC_SUFFIX_LIST -DENABLE_REMOTE_INSPECTOR -DENABLE_RESIZE_OBSERVER -DENABLE_RESOURCE_LOAD_STATISTICS -DENABLE_RESOURCE_USAGE -DENABLE_RUBBER_BANDING -DENABLE_SANDBOX_EXTENSIONS -DENABLE_SERVER_PRECONNECT -DENABLE_SERVICE_CONTROLS -DENABLE_SERVICE_WORKER -DENABLE_SHAREABLE_RESOURCE -DENABLE_SPEECH_SYNTHESIS -DENABLE_STREAMS_API -DENABLE_SVG_FONTS -DENABLE_TELEPHONE_NUMBER_DETECTION -DENABLE_TEXT_AUTOSIZING -DENABLE_USERSELECT_ALL -DENABLE_USER_MESSAGE_HANDLERS -DENABLE_VARIATION_FONTS -DENABLE_VIDEO -DENABLE_VIDEO_PRESENTATION_MODE -DENABLE_VIDEO_TRACK -DENABLE_VIDEO_USES_ELEMENT_FULLSCREEN -DENABLE_WEBDRIVER_MOUSE_INTERACTIONS -DENABLE_WEBDRIVER_KEYBOARD_INTERACTIONS -DENABLE_WEBGL -DENABLE_WEBGL2 -DENABLE_WEB_AUDIO -DENABLE_WEB_AUTHN -DENABLE_WEB_CRYPTO -DENABLE_WEB_RTC -DENABLE_WIRELESS_PLAYBACK_TARGET -DENABLE_XSLT -DHAVE_CORE_PREDICTION -DU_HIDE_DEPRECATED_API -DU_DISABLE_RENAMING=1 -DU_SHOW_CPLUSPLUS_API=0 -DFRAMEWORK_NAME=WebKit -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk -fasm-blocks -fstrict-aliasing -Wdeprecated-declarations -Winvalid-offsetof -mmacosx-version-min=10.13 -g -fvisibility=hidden -fvisibility-inlines-hidden -fno-threadsafe-statics -Wno-sign-conversion -Winfinite-recursion -Wmove -Wcomma -Wblock-capture-autoreleasing -Wstrict-prototypes -Wrange-loop-analysis -Wno-semicolon-before-method-body -iquote /Volumes/Data/EWS/WebKit/WebKitBuild/WebKit.build/Release/WebKit.build/WebKit-generated-files.hmap -I/Volumes/Data/EWS/WebKit/WebKitBuild/WebKit.build/Release/WebKit.build/WebKit-own-target-headers.hmap -I/Volumes/Data/EWS/WebKit/WebKitBuild/WebKit.build/Release/WebKit.build/WebKit-all-target-headers.hmap -iquote /Volumes/Data/EWS/WebKit/WebKitBuild/WebKit.build/Release/WebKit.build/WebKit-project-headers.hmap -I/Volumes/Data/EWS/WebKit/WebKitBuild/Release/include -I/Volumes/Data/EWS/WebKit/WebKitBuild/Release/usr/local/include -I/Volumes/Data/EWS/WebKit/WebKitBuild/Release/WebCore.framework/PrivateHeaders/ForwardingHeaders -I/Volumes/Data/EWS/WebKit/WebKitBuild/Release/DerivedSources/WebKit2 -I/Volumes/Data/EWS/WebKit/WebKitBuild/Release/usr/local/include/WebKitAdditions -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/local/include/WebKitAdditions -I/Volumes/Data/EWS/WebKit/WebKitBuild/Release/usr/local/include/webrtc -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/local/include/webrtc -I/Volumes/Data/EWS/WebKit/Source/WebKit -I/Volumes/Data/EWS/WebKit/WebKitBuild/WebKit.build/Release/WebKit.build/DerivedSources/x86_64 -I/Volumes/Data/EWS/WebKit/WebKitBuild/WebKit.build/Release/WebKit.build/DerivedSources -Wall -Wextra -Wcast-qual -Wchar-subscripts -Wextra-tokens -Wformat-security -Winit-self -Wmissing-format-attribute -Wmissing-noreturn -Wno-unused-parameter -Wpacked -Wpointer-arith -Wredundant-decls -Wundef -Wwrite-strings -Wexit-time-destructors -Wglobal-constructors -Wtautological-compare -Wimplicit-fallthrough -F/Volumes/Data/EWS/WebKit/WebKitBuild/Release -iframework /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/System/Library/PrivateFrameworks -iframework /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/System/Library/Frameworks -iframework /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/System/Library/PrivateFrameworks -isystem /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/System.framework/PrivateHeaders -include /Volumes/Data/EWS/WebKit/WebKitBuild/PrecompiledHeaders/WebKit2Prefix-hkfsfnjkkugpfjadznvwlaxomzqm/WebKit2Prefix.h -MMD -MT dependencies -MF /Volumes/Data/EWS/WebKit/WebKitBuild/WebKit.build/Release/WebKit.build/Objects-normal/x86_64/UnifiedSource7.d --serialize-diagnostics /Volumes/Data/EWS/WebKit/WebKitBuild/WebKit.build/Release/WebKit.build/Objects-normal/x86_64/UnifiedSource7.dia -c /Volumes/Data/EWS/WebKit/WebKitBuild/Release/DerivedSources/WebKit2/unified-sources/UnifiedSource7.cpp -o /Volumes/Data/EWS/WebKit/WebKitBuild/WebKit.build/Release/WebKit.build/Objects-normal/x86_64/UnifiedSource7.o

** BUILD FAILED **


The following build commands failed:
	CompileC /Volumes/Data/EWS/WebKit/WebKitBuild/WebKit.build/Release/WebKit.build/Objects-normal/x86_64/UnifiedSource4-mm.o /Volumes/Data/EWS/WebKit/WebKitBuild/Release/DerivedSources/WebKit2/unified-sources/UnifiedSource4-mm.mm normal x86_64 objective-c++ com.apple.compilers.llvm.clang.1_0.compiler
(1 failure)

Full output: https://webkit-queues.webkit.org/results/13292569</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1599570</commentid>
    <comment_count>10</comment_count>
      <attachid>385921</attachid>
    <who name="Ben Nham">nham</who>
    <bug_when>2019-12-17 14:36:18 -0800</bug_when>
    <thetext>Created attachment 385921
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1599571</commentid>
    <comment_count>11</comment_count>
      <attachid>385921</attachid>
    <who name="Ben Nham">nham</who>
    <bug_when>2019-12-17 14:37:27 -0800</bug_when>
    <thetext>Comment on attachment 385921
Patch

This patch does the availability check for os_signpost properly, which is necessary when (for instance) building for 10.13 with a 10.14 SDK.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1599895</commentid>
    <comment_count>12</comment_count>
      <attachid>385921</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-12-18 11:29:02 -0800</bug_when>
    <thetext>Comment on attachment 385921
Patch

Clearing flags on attachment: 385921

Committed r253702: &lt;https://trac.webkit.org/changeset/253702&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1599896</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-12-18 11:29:04 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>384770</attachid>
            <date>2019-12-03 17:12:02 -0800</date>
            <delta_ts>2019-12-03 17:38:49 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-204822-20191203171201.patch</filename>
            <type>text/plain</type>
            <size>14826</size>
            <attacher name="Ben Nham">nham</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUyOTgyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Q
QUwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwppbmRleCBiZDJmYjUz
ODVkYTRmY2Y5YmI3ZTE3ZGEwYjhiMDQxNTFkZWYxNjg0Li4zMTgwMjhjN2NkYWY3NTIwMDhlYjc4
ZjQwM2Y1YTM0OGU2YmY4ZDBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAor
MjAxOS0xMi0wMyAgQmVuIE5oYW0gIDxuaGFtQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgbmV0
d29yayBsb2FkaW5nIHNpZ25wb3N0cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjA0ODIyCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81NzYwODgyND4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIGFk
ZHMgb3Nfc2lnbnBvc3RzIHJlbGF0ZWQgdG8gbmV0d29yayBsb2FkcyB0byBhaWQgaW4gZGVidWdn
aW5nIG5ldHdvcmtpbmcgcGVyZm9ybWFuY2UKKyAgICAgICAgaXNzdWVzLiBTaW5jZSBVUkxzIGFy
ZSBsb2dnZWQgaW4gdGhlIHNpZ25wb3N0cywgdGhpcyBjYXBhYmlsaXR5IGlzIG9ubHkgZW5hYmxl
ZCBvbiBBcHBsZQorICAgICAgICBpbnRlcm5hbCBidWlsZHMgd2hlbiBhbiBlbnZpcm9ubWVudCB2
YXJpYWJsZSBpcyBzZXQuCisKKyAgICAgICAgKiBQQUwueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
ajoKKyAgICAgICAgKiBwYWwvUGxhdGZvcm1NYWMuY21ha2U6CisgICAgICAgICogcGFsL3NwaS9j
b2NvYS9PU1ZhcmlhbnRTUEkuaDogQWRkZWQuCisKIDIwMTktMTEtMjggIEZ1amlpIEhpcm9ub3Jp
ICA8SGlyb25vcmkuRnVqaWlAc29ueS5jb20+CiAKICAgICAgICAgUmVtb3ZlIEVOQUJMRV9LRVlC
T0FSRF9DT0RFX0FUVFJJQlVURSBhbmQgRU5BQkxFX0tFWUJPQVJEX0tFWV9BVFRSSUJVVEUgbWFj
cm9zCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nCmluZGV4IGJiZWExYThjZGZhMDFmYTM1ZWVjMDU5NmFlMGIzMjg5ODM2YWMzY2Yu
LmZjNGEyYWRmOWYwMWU3MWRkNGYyODhmOTMwYzBjMjg1NGM0YTllODAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMjkgQEAKKzIwMTktMTItMDMgIEJlbiBOaGFtICA8bmhhbUBhcHBsZS5jb20+CisKKyAg
ICAgICAgQWRkIG5ldHdvcmsgbG9hZGluZyBzaWducG9zdHMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNDgyMgorICAgICAgICA8cmRhcjovL3Byb2Js
ZW0vNTc2MDg4MjQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgVGhpcyBhZGRzIG9zX3NpZ25wb3N0cyByZWxhdGVkIHRvIG5ldHdvcmsgbG9hZHMgdG8g
YWlkIGluIGRlYnVnZ2luZyBuZXR3b3JraW5nIHBlcmZvcm1hbmNlCisgICAgICAgIGlzc3Vlcy4g
U2luY2UgVVJMcyBhcmUgbG9nZ2VkIGluIHRoZSBzaWducG9zdHMsIHRoaXMgY2FwYWJpbGl0eSBp
cyBvbmx5IGVuYWJsZWQgb24gQXBwbGUKKyAgICAgICAgaW50ZXJuYWwgYnVpbGRzIHdoZW4gYW4g
ZW52aXJvbm1lbnQgdmFyaWFibGUgaXMgc2V0LgorCisgICAgICAgICogTmV0d29ya1Byb2Nlc3Mv
Y29jb2EvTmV0d29ya0RhdGFUYXNrQ29jb2EuaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9j
b2NvYS9OZXR3b3JrRGF0YVRhc2tDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6c2lnbnBvc3RM
b2dIYW5kbGUpOgorICAgICAgICAoV2ViS2l0OjpzaWducG9zdHNFbmFibGVkKToKKyAgICAgICAg
KFdlYktpdDo6TmV0d29ya0RhdGFUYXNrQ29jb2E6Ok5ldHdvcmtEYXRhVGFza0NvY29hKToKKyAg
ICAgICAgKFdlYktpdDo6TmV0d29ya0RhdGFUYXNrQ29jb2E6OmRpZFNlbmREYXRhKToKKyAgICAg
ICAgKFdlYktpdDo6TmV0d29ya0RhdGFUYXNrQ29jb2E6OmRpZFJlY2VpdmVDaGFsbGVuZ2UpOgor
ICAgICAgICAoV2ViS2l0OjpOZXR3b3JrRGF0YVRhc2tDb2NvYTo6ZGlkQ29tcGxldGVXaXRoRXJy
b3IpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrRGF0YVRhc2tDb2NvYTo6ZGlkUmVjZWl2ZURh
dGEpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrRGF0YVRhc2tDb2NvYTo6ZGlkUmVjZWl2ZVJl
c3BvbnNlKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0RhdGFUYXNrQ29jb2E6OndpbGxQZXJm
b3JtSFRUUFJlZGlyZWN0aW9uKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0RhdGFUYXNrQ29j
b2E6OmNhbmNlbCk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtEYXRhVGFza0NvY29hOjpyZXN1
bWUpOgorCiAyMDE5LTEyLTAyICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlh
LmNvbT4KIAogICAgICAgICBbR1RLXVtQU09OXSBDcmFzaCBpbiBOZXR3b3JrUHJvY2Vzc1Byb3h5
OjpvcGVuTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9QQUwvUEFMLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9QQUwv
UEFMLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggMGI2MTBjN2JkYWUxN2RiN2JkYjI2
MDM3OTAwN2E4NDFmNGY0Yjg3Ni4uODljOTM0MTFhZWU4MTEyODYwZmM5NTRhMDBlNGMyZmI0Zjk1
ZGVhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML1BBTC54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9QQUwueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagpAQCAtMTY4LDYgKzE2OCw3IEBACiAJCUNFNTY3Mzg3MjE1MUE3QjkwMDJGOTJENyAv
KiBJT0tpdFNQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQ0U1NjczODYyMTUxQTdCOTAwMkY5MkQ3IC8qIElPS2l0U1BJLmggKi87IH07CiAJCUU1RDQ1
RDEyMjEwNkEwNzQwMEQyQjczOCAvKiBOU0NvbG9yV2VsbFNQSS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTVENDVEMTEyMTA2QTA3NDAwRDJCNzM4IC8q
IE5TQ29sb3JXZWxsU1BJLmggKi87IH07CiAJCUU1RDQ1RDE0MjEwNkExODcwMEQyQjczOCAvKiBO
U1BvcG92ZXJDb2xvcldlbGxTUEkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEU1RDQ1RDEzMjEwNkExODcwMEQyQjczOCAvKiBOU1BvcG92ZXJDb2xvcldl
bGxTUEkuaCAqLzsgfTsKKwkJRUI3MDdGQTUyMzk3MzdGODAwNTkwNTNBIC8qIE9TVmFyaWFudFNQ
SS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRUI3MDdG
QTQyMzk3MzdGODAwNTkwNTNBIC8qIE9TVmFyaWFudFNQSS5oICovOyB9OwogCQlGNDQyOTE1RTFG
QTUyNDczMDAyQ0M5M0UgLyogTlNGaWxlU2l6ZUZvcm1hdHRlclNQSS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjQ0MjkxNUQxRkE1MjQ3MzAwMkNDOTNF
IC8qIE5TRmlsZVNpemVGb3JtYXR0ZXJTUEkuaCAqLzsgfTsKIAkJRjQ0MjkxNjAxRkE1MjYxRTAw
MkNDOTNFIC8qIEZpbGVTaXplRm9ybWF0dGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBGNDQyOTE1RjFGQTUyNjFFMDAyQ0M5M0UgLyogRmlsZVNpemVG
b3JtYXR0ZXIuaCAqLzsgfTsKIAkJRjQ0MjkxNjQxRkE1MjY3MDAwMkNDOTNFIC8qIEZpbGVTaXpl
Rm9ybWF0dGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEY0NDI5MTYyMUZBNTI2NzAwMDJDQzkzRSAvKiBGaWxlU2l6ZUZvcm1hdHRlci5jcHAgKi87
IH07CkBAIC0zNDIsNiArMzQzLDcgQEAKIAkJQ0U1NjczODYyMTUxQTdCOTAwMkY5MkQ3IC8qIElP
S2l0U1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IElPS2l0U1BJLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUU1RDQ1RDExMjEwNkEwNzQwMEQyQjczOCAvKiBO
U0NvbG9yV2VsbFNQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBOU0NvbG9y
V2VsbFNQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFNUQ0NUQxMzIxMDZBMTg3
MDBEMkI3MzggLyogTlNQb3BvdmVyQ29sb3JXZWxsU1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IE5TUG9wb3ZlckNvbG9yV2VsbFNQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQlFQjcwN0ZBNDIzOTczN0Y4MDA1OTA1M0EgLyogT1NWYXJpYW50U1BJLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE9TVmFyaWFudFNQSS5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlGNDQyOTE1RDFGQTUyNDczMDAyQ0M5M0UgLyogTlNGaWxlU2l6
ZUZvcm1hdHRlclNQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBOU0ZpbGVTaXplRm9ybWF0dGVyU1BJLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY0NDI5MTVGMUZBNTI2MUUwMDJDQzkzRSAv
KiBGaWxlU2l6ZUZvcm1hdHRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBGaWxlU2l6ZUZvcm1hdHRlci5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGNDQyOTE2MjFGQTUyNjcwMDAyQ0M5M0Ug
LyogRmlsZVNpemVGb3JtYXR0ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRmlsZVNpemVGb3Jt
YXR0ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNDM4LDYgKzQ0MCw3IEBA
CiAJCQkJMEMyREExMzcxRjNCRUI0OTAwREJDMzE3IC8qIE5TVVJMRG93bmxvYWRTUEkuaCAqLywK
IAkJCQkwQzJEQTEzODFGM0JFQjQ5MDBEQkMzMTcgLyogTlNVUkxGaWxlVHlwZU1hcHBpbmdzU1BJ
LmggKi8sCiAJCQkJNTcwQUI4RjgyMEFGNkUzRDAwQjhCRTg3IC8qIE5TWFBDQ29ubmVjdGlvblNQ
SS5oICovLAorCQkJCUVCNzA3RkE0MjM5NzM3RjgwMDU5MDUzQSAvKiBPU1ZhcmlhbnRTUEkuaCAq
LywKIAkJCQkwQzJEQTEzOTFGM0JFQjQ5MDBEQkMzMTcgLyogUGFzc0tpdFNQSS5oICovLAogCQkJ
CTBDMkRBMTNBMUYzQkVCNDkwMERCQzMxNyAvKiBwdGhyZWFkU1BJLmggKi8sCiAJCQkJMEMyREEx
M0IxRjNCRUI0OTAwREJDMzE3IC8qIFF1YXJ0ekNvcmVTUEkuaCAqLywKQEAgLTc5Nyw2ICs4MDAs
NyBAQAogCQkJCTBDNzc4NTlEMUY0NTEzMEYwMEY0RUJCNiAvKiBOU1dpbmRvd1NQSS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJNTcwQUI4RjkyMEFGNkUzRDAwQjhCRTg3IC8qIE5TWFBDQ29ubmVjdGlv
blNQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEM1QUY5MUYxRjQzQTRDNzAwMkVBQzAyIC8qIE9w
ZW5HTEVTU1BJLmggaW4gSGVhZGVycyAqLywKKwkJCQlFQjcwN0ZBNTIzOTczN0Y4MDA1OTA1M0Eg
LyogT1NWYXJpYW50U1BJLmggaW4gSGVhZGVycyAqLywKIAkJCQlBMUY2M0M5RjIxQTREQkY3MDA2
RkI0M0IgLyogUGFzc0tpdFNvZnRMaW5rLmggaW4gSGVhZGVycyAqLywKIAkJCQkwQzJEQTE1NTFG
M0JFQjQ5MDBEQkMzMTcgLyogUGFzc0tpdFNQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEM3Nzg1
OUUxRjQ1MTMwRjAwRjRFQkI2IC8qIFBJUFNQSS5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL1BsYXRmb3JtTWFjLmNtYWtlIGIvU291cmNlL1dlYkNv
cmUvUEFML3BhbC9QbGF0Zm9ybU1hYy5jbWFrZQppbmRleCBlM2Y3YTMyOGM2MTc1MzY0NTI1OTlj
OGRmYmUwMGRlMjEzZmFlNjk1Li4yMTk3MjRkNGU4ZmQ2NTRiMDg0Mjg0ODBkYzEzZmE2Zjc2MWE4
YTFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL1BsYXRmb3JtTWFjLmNtYWtl
CisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvUGxhdGZvcm1NYWMuY21ha2UKQEAgLTUyLDYg
KzUyLDcgQEAgbGlzdChBUFBFTkQgUEFMX1BVQkxJQ19IRUFERVJTCiAgICAgc3BpL2NvY29hL05T
VVJMRG93bmxvYWRTUEkuaAogICAgIHNwaS9jb2NvYS9OU1VSTEZpbGVUeXBlTWFwcGluZ3NTUEku
aAogICAgIHNwaS9jb2NvYS9OU1hQQ0Nvbm5lY3Rpb25TUEkuaAorICAgIHNwaS9jb2NvYS9PU1Zh
cmlhbnRTUEkuaAogICAgIHNwaS9jb2NvYS9QYXNzS2l0U1BJLmgKICAgICBzcGkvY29jb2EvUXVh
cnR6Q29yZVNQSS5oCiAgICAgc3BpL2NvY29hL1NlY0tleVByb3h5U1BJLmgKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL09TVmFyaWFudFNQSS5oIGIvU291cmNl
L1dlYkNvcmUvUEFML3BhbC9zcGkvY29jb2EvT1NWYXJpYW50U1BJLmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmRm
ZGIyYzEyM2JmNmUzODFiNGQ2NWY0MDVjZDFiNWFiMWUzZjY0MgotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL09TVmFyaWFudFNQSS5oCkBAIC0wLDAg
KzEsMzIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQtMjAxNyBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgVVNFKEFQUExF
X0lOVEVSTkFMX1NESykKKyNpbXBvcnQgPG9zL3ZhcmlhbnRfcHJpdmF0ZS5oPgorI2Vsc2UKK2Jv
b2wgb3NfdmFyaWFudF9hbGxvd3NfaW50ZXJuYWxfc2VjdXJpdHlfcG9saWNpZXMoY29uc3QgY2hh
ciAqKTsKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9j
b2NvYS9OZXR3b3JrRGF0YVRhc2tDb2NvYS5oIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9jb2NvYS9OZXR3b3JrRGF0YVRhc2tDb2NvYS5oCmluZGV4IDFlZjQ4NDY5Mzk0MzgyNjBkNTk1
OWQ5ZGY0ZWIyNTRjYjNmNmEzZTQuLmUzZGI1MTQ5MWM2MTMyMmRmOWI0MzA3YWJiOGU2OTE5MWRj
MjQ5MTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0
d29ya0RhdGFUYXNrQ29jb2EuaAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2Nv
Y29hL05ldHdvcmtEYXRhVGFza0NvY29hLmgKQEAgLTU1LDYgKzU1LDcgQEAgcHVibGljOgogICAg
IHZvaWQgZGlkU2VuZERhdGEodWludDY0X3QgdG90YWxCeXRlc1NlbnQsIHVpbnQ2NF90IHRvdGFs
Qnl0ZXNFeHBlY3RlZFRvU2VuZCk7CiAgICAgdm9pZCBkaWRSZWNlaXZlQ2hhbGxlbmdlKFdlYkNv
cmU6OkF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlJiYsIENoYWxsZW5nZUNvbXBsZXRpb25IYW5kbGVy
JiYpOwogICAgIHZvaWQgZGlkQ29tcGxldGVXaXRoRXJyb3IoY29uc3QgV2ViQ29yZTo6UmVzb3Vy
Y2VFcnJvciYsIGNvbnN0IFdlYkNvcmU6Ok5ldHdvcmtMb2FkTWV0cmljcyYpOworICAgIHZvaWQg
ZGlkUmVjZWl2ZVJlc3BvbnNlKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmJiwgUmVzcG9uc2VD
b21wbGV0aW9uSGFuZGxlciYmKTsKICAgICB2b2lkIGRpZFJlY2VpdmVEYXRhKFJlZjxXZWJDb3Jl
OjpTaGFyZWRCdWZmZXI+JiYpOwogCiAgICAgdm9pZCB3aWxsUGVyZm9ybUhUVFBSZWRpcmVjdGlv
bihXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJiYsIFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYm
LCBSZWRpcmVjdENvbXBsZXRpb25IYW5kbGVyJiYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrRGF0YVRhc2tDb2NvYS5tbSBiL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya0RhdGFUYXNrQ29jb2EubW0KaW5kZXgg
MWQwYWNmYjgyMzE1ZjhiZGEyYmU4ZTE2Mzc3Y2ExMDM1ZjUwMDdhZi4uNWNlMjE0ZTRiZmM2OTk0
YmI2ZDA5N2I4NTYzOWQ1MDRkN2EyY2Y1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3
b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrRGF0YVRhc2tDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtEYXRhVGFza0NvY29hLm1tCkBAIC00MCw3
ICs0MCw5IEBACiAjaW1wb3J0IDxXZWJDb3JlL05vdEltcGxlbWVudGVkLmg+CiAjaW1wb3J0IDxX
ZWJDb3JlL1JlZ2lzdHJhYmxlRG9tYWluLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1Jlc291cmNlUmVx
dWVzdC5oPgorI2ltcG9ydCA8b3Mvc2lnbnBvc3QuaD4KICNpbXBvcnQgPHBhbC9zcGkvY2YvQ0ZO
ZXR3b3JrU1BJLmg+CisjaW1wb3J0IDxwYWwvc3BpL2NvY29hL09TVmFyaWFudFNQSS5oPgogI2lt
cG9ydCA8d3RmL0Jsb2NrUHRyLmg+CiAjaW1wb3J0IDx3dGYvRmlsZVN5c3RlbS5oPgogI2ltcG9y
dCA8d3RmL01haW5UaHJlYWQuaD4KQEAgLTUzLDYgKzU1LDQ5IEBACiAKIG5hbWVzcGFjZSBXZWJL
aXQgewogCitzdGF0aWMgb3NfbG9nX3Qgc2lnbnBvc3RMb2dIYW5kbGUoKQoreworICAgIHN0YXRp
YyBkaXNwYXRjaF9vbmNlX3Qgb25jZTsKKyAgICBzdGF0aWMgb3NfbG9nX3QgaGFuZGxlOworCisg
ICAgZGlzcGF0Y2hfb25jZSgmb25jZSwgXnsKKyAgICAgICAgaGFuZGxlID0gb3NfbG9nX2NyZWF0
ZShMT0dfQ0hBTk5FTF9XRUJLSVRfU1VCU1lTVEVNLCAiRGF0YVRhc2siKTsKKyAgICB9KTsKKwor
ICAgIHJldHVybiBoYW5kbGU7Cit9CisKK3N0YXRpYyBib29sIHNpZ25wb3N0c0VuYWJsZWQoKQor
eworICAgIHN0YXRpYyBkaXNwYXRjaF9vbmNlX3Qgb25jZTsKKyAgICBzdGF0aWMgYm9vbCBlbmFi
bGVkOworCisgICAgZGlzcGF0Y2hfb25jZSgmb25jZSwgXnsKKyAgICAgICAgaWYgKG9zX3Zhcmlh
bnRfYWxsb3dzX2ludGVybmFsX3NlY3VyaXR5X3BvbGljaWVzKCJjb20uYXBwbGUuV2ViS2l0Iikp
CisgICAgICAgICAgICBlbmFibGVkID0gIXN0cmNtcChnZXRlbnYoIldFQktJVF9EQVRBX1RBU0tf
U0lHTlBPU1RTIikgPzogIjAiLCAiMSIpOworICAgIH0pOworCisgICAgcmV0dXJuIGVuYWJsZWQ7
Cit9CisKKyNkZWZpbmUgRU1JVF9TSUdOUE9TVF9XSVRIX0ZVTkNUSU9OKGVtaXRfZm4sIHRhc2ss
IC4uLikgXAorICAgIGRvIHsgXAorICAgICAgICBpZiAoc2lnbnBvc3RzRW5hYmxlZCgpKSB7IFwK
KyAgICAgICAgICAgIG9zX2xvZ190IGhhbmRsZSA9IHNpZ25wb3N0TG9nSGFuZGxlKCk7IFwKKyAg
ICAgICAgICAgIG9zX3NpZ25wb3N0X2lkX3Qgc2lnbnBvc3RJRCA9IG9zX3NpZ25wb3N0X2lkX21h
a2Vfd2l0aF9wb2ludGVyKHNpZ25wb3N0TG9nSGFuZGxlKCksIHRhc2suZ2V0KCkpOyBcCisgICAg
ICAgICAgICBlbWl0X2ZuKGhhbmRsZSwgc2lnbnBvc3RJRCwgIkRhdGFUYXNrIiwgIyNfX1ZBX0FS
R1NfXyk7IFwKKyAgICAgICAgfSBcCisgICAgfSB3aGlsZSAoMCkKKworI2RlZmluZSBCRUdJTl9T
SUdOUE9TVCh0YXNrLCAuLi4pIFwKKyAgICBFTUlUX1NJR05QT1NUX1dJVEhfRlVOQ1RJT04ob3Nf
c2lnbnBvc3RfaW50ZXJ2YWxfYmVnaW4sIHRhc2ssICMjX19WQV9BUkdTX18pCisKKyNkZWZpbmUg
RU5EX1NJR05QT1NUKHRhc2ssIC4uLikgXAorICAgIEVNSVRfU0lHTlBPU1RfV0lUSF9GVU5DVElP
Tihvc19zaWducG9zdF9pbnRlcnZhbF9lbmQsIHRhc2ssICMjX19WQV9BUkdTX18pCisKKyNkZWZp
bmUgRU1JVF9TSUdOUE9TVCh0YXNrLCAuLi4pIFwKKyAgICBFTUlUX1NJR05QT1NUX1dJVEhfRlVO
Q1RJT04ob3Nfc2lnbnBvc3RfZXZlbnRfZW1pdCwgdGFzaywgIyNfX1ZBX0FSR1NfXykKKwogI2lm
IFVTRShDUkVERU5USUFMX1NUT1JBR0VfV0lUSF9ORVRXT1JLX1NFU1NJT04pCiBzdGF0aWMgdm9p
ZCBhcHBseUJhc2ljQXV0aG9yaXphdGlvbkhlYWRlcihXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3Qm
IHJlcXVlc3QsIGNvbnN0IFdlYkNvcmU6OkNyZWRlbnRpYWwmIGNyZWRlbnRpYWwpCiB7CkBAIC0y
MjEsNiArMjY2LDggQEAgTmV0d29ya0RhdGFUYXNrQ29jb2E6Ok5ldHdvcmtEYXRhVGFza0NvY29h
KE5ldHdvcmtTZXNzaW9uJiBzZXNzaW9uLCBOZXR3b3JrRGF0YVQKIAogICAgIG1fdGFzayA9IFtt
X3Nlc3Npb25XcmFwcGVyLnNlc3Npb24gZGF0YVRhc2tXaXRoUmVxdWVzdDpuc1JlcXVlc3RdOwog
CisgICAgQkVHSU5fU0lHTlBPU1QobV90YXNrLCAiJXtwdWJsaWN9cyBwcmk6ICVmIHByZWNvbm5l
Y3Q6ICVkIiwgdXJsLnN0cmluZygpLmFzY2lpKCkuZGF0YSgpLCB0b05TVVJMU2Vzc2lvblRhc2tQ
cmlvcml0eShyZXF1ZXN0LnByaW9yaXR5KCkpLCBzaG91bGRQcmVjb25uZWN0T25seSA9PSBQcmVj
b25uZWN0T25seTo6WWVzKTsKKwogICAgIFJFTEVBU0VfQVNTRVJUKCFtX3Nlc3Npb25XcmFwcGVy
LmRhdGFUYXNrTWFwLmNvbnRhaW5zKFttX3Rhc2sgdGFza0lkZW50aWZpZXJdKSk7CiAgICAgbV9z
ZXNzaW9uV3JhcHBlci5kYXRhVGFza01hcC5hZGQoW21fdGFzayB0YXNrSWRlbnRpZmllcl0sIHRo
aXMpOwogICAgIExPRyhOZXR3b3JrU2Vzc2lvbiwgIiVsbHUgQ3JlYXRpbmcgTmV0d29ya0RhdGFU
YXNrIHdpdGggVVJMICVzIiwgW21fdGFzayB0YXNrSWRlbnRpZmllcl0sIG5zUmVxdWVzdC5VUkwu
YWJzb2x1dGVTdHJpbmcuVVRGOFN0cmluZyk7CkBAIC0yNzMsMTIgKzMyMCwxNiBAQCB2b2lkIE5l
dHdvcmtEYXRhVGFza0NvY29hOjpyZXN0cmljdFJlcXVlc3RSZWZlcnJlclRvT3JpZ2luSWZOZWVk
ZWQoV2ViQ29yZTo6UmVzbwogCiB2b2lkIE5ldHdvcmtEYXRhVGFza0NvY29hOjpkaWRTZW5kRGF0
YSh1aW50NjRfdCB0b3RhbEJ5dGVzU2VudCwgdWludDY0X3QgdG90YWxCeXRlc0V4cGVjdGVkVG9T
ZW5kKQogeworICAgIEVNSVRfU0lHTlBPU1QobV90YXNrLCAic2VudCAlbGx1IGJ5dGVzIChleHBl
Y3RlZCAlbGx1IGJ5dGVzKSIsIHRvdGFsQnl0ZXNTZW50LCB0b3RhbEJ5dGVzRXhwZWN0ZWRUb1Nl
bmQpOworCiAgICAgaWYgKG1fY2xpZW50KQogICAgICAgICBtX2NsaWVudC0+ZGlkU2VuZERhdGEo
dG90YWxCeXRlc1NlbnQsIHRvdGFsQnl0ZXNFeHBlY3RlZFRvU2VuZCk7CiB9CiAKIHZvaWQgTmV0
d29ya0RhdGFUYXNrQ29jb2E6OmRpZFJlY2VpdmVDaGFsbGVuZ2UoV2ViQ29yZTo6QXV0aGVudGlj
YXRpb25DaGFsbGVuZ2UmJiBjaGFsbGVuZ2UsIENoYWxsZW5nZUNvbXBsZXRpb25IYW5kbGVyJiYg
Y29tcGxldGlvbkhhbmRsZXIpCiB7CisgICAgRU1JVF9TSUdOUE9TVChtX3Rhc2ssICJyZWNlaXZl
ZCBjaGFsbGVuZ2UiKTsKKwogICAgIGlmICh0cnlQYXNzd29yZEJhc2VkQXV0aGVudGljYXRpb24o
Y2hhbGxlbmdlLCBjb21wbGV0aW9uSGFuZGxlcikpCiAgICAgICAgIHJldHVybjsKIApAQCAtMjky
LDE4ICszNDMsMzMgQEAgdm9pZCBOZXR3b3JrRGF0YVRhc2tDb2NvYTo6ZGlkUmVjZWl2ZUNoYWxs
ZW5nZShXZWJDb3JlOjpBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSYKIAogdm9pZCBOZXR3b3JrRGF0
YVRhc2tDb2NvYTo6ZGlkQ29tcGxldGVXaXRoRXJyb3IoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VF
cnJvciYgZXJyb3IsIGNvbnN0IFdlYkNvcmU6Ok5ldHdvcmtMb2FkTWV0cmljcyYgbmV0d29ya0xv
YWRNZXRyaWNzKQogeworICAgIGlmIChlcnJvci5pc051bGwoKSkKKyAgICAgICAgRU5EX1NJR05Q
T1NUKG1fdGFzaywgImNvbXBsZXRlZCIpOworICAgIGVsc2UKKyAgICAgICAgRU5EX1NJR05QT1NU
KG1fdGFzaywgImZhaWxlZCIpOworCiAgICAgaWYgKG1fY2xpZW50KQogICAgICAgICBtX2NsaWVu
dC0+ZGlkQ29tcGxldGVXaXRoRXJyb3IoZXJyb3IsIG5ldHdvcmtMb2FkTWV0cmljcyk7CiB9CiAK
IHZvaWQgTmV0d29ya0RhdGFUYXNrQ29jb2E6OmRpZFJlY2VpdmVEYXRhKFJlZjxXZWJDb3JlOjpT
aGFyZWRCdWZmZXI+JiYgZGF0YSkKIHsKKyAgICBFTUlUX1NJR05QT1NUKG1fdGFzaywgInJlY2Vp
dmVkICV6ZCBieXRlcyIsIGRhdGEtPnNpemUoKSk7CisKICAgICBpZiAobV9jbGllbnQpCiAgICAg
ICAgIG1fY2xpZW50LT5kaWRSZWNlaXZlRGF0YShXVEZNb3ZlKGRhdGEpKTsKIH0KIAordm9pZCBO
ZXR3b3JrRGF0YVRhc2tDb2NvYTo6ZGlkUmVjZWl2ZVJlc3BvbnNlKFdlYkNvcmU6OlJlc291cmNl
UmVzcG9uc2UmJiByZXNwb25zZSwgV2ViS2l0OjpSZXNwb25zZUNvbXBsZXRpb25IYW5kbGVyJiYg
Y29tcGxldGlvbkhhbmRsZXIpCit7CisgICAgRU1JVF9TSUdOUE9TVChtX3Rhc2ssICJyZWNlaXZl
ZCByZXNwb25zZSBoZWFkZXJzIik7CisgICAgTmV0d29ya0RhdGFUYXNrOjpkaWRSZWNlaXZlUmVz
cG9uc2UoV1RGTW92ZShyZXNwb25zZSksIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKK30K
Kwogdm9pZCBOZXR3b3JrRGF0YVRhc2tDb2NvYTo6d2lsbFBlcmZvcm1IVFRQUmVkaXJlY3Rpb24o
V2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYmIHJlZGlyZWN0UmVzcG9uc2UsIFdlYkNvcmU6OlJl
c291cmNlUmVxdWVzdCYmIHJlcXVlc3QsIFJlZGlyZWN0Q29tcGxldGlvbkhhbmRsZXImJiBjb21w
bGV0aW9uSGFuZGxlcikKIHsKKyAgICBFTUlUX1NJR05QT1NUKG1fdGFzaywgInJlZGlyZWN0Iik7
CisKICAgICBpZiAocmVkaXJlY3RSZXNwb25zZS5odHRwU3RhdHVzQ29kZSgpID09IDMwNyB8fCBy
ZWRpcmVjdFJlc3BvbnNlLmh0dHBTdGF0dXNDb2RlKCkgPT0gMzA4KSB7CiAgICAgICAgIEFTU0VS
VChtX2xhc3RIVFRQTWV0aG9kID09IHJlcXVlc3QuaHR0cE1ldGhvZCgpKTsKICAgICAgICAgV2Vi
Q29yZTo6Rm9ybURhdGEqIGJvZHkgPSBtX2ZpcnN0UmVxdWVzdC5odHRwQm9keSgpOwpAQCAtNDU2
LDExICs1MjIsMTQgQEAgU3RyaW5nIE5ldHdvcmtEYXRhVGFza0NvY29hOjpzdWdnZXN0ZWRGaWxl
bmFtZSgpIGNvbnN0CiAKIHZvaWQgTmV0d29ya0RhdGFUYXNrQ29jb2E6OmNhbmNlbCgpCiB7Cisg
ICAgRU1JVF9TSUdOUE9TVChtX3Rhc2ssICJjYW5jZWwiKTsKICAgICBbbV90YXNrIGNhbmNlbF07
CiB9CiAKIHZvaWQgTmV0d29ya0RhdGFUYXNrQ29jb2E6OnJlc3VtZSgpCiB7CisgICAgRU1JVF9T
SUdOUE9TVChtX3Rhc2ssICJyZXN1bWUiKTsKKwogICAgIGlmIChtX3NjaGVkdWxlZEZhaWx1cmVU
eXBlICE9IE5vRmFpbHVyZSkKICAgICAgICAgbV9mYWlsdXJlVGltZXIuc3RhcnRPbmVTaG90KDBf
cyk7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>384785</attachid>
            <date>2019-12-03 20:58:02 -0800</date>
            <delta_ts>2019-12-04 10:39:17 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-204822-20191203205802.patch</filename>
            <type>text/plain</type>
            <size>14892</size>
            <attacher name="Ben Nham">nham</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUyOTgyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Q
QUwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwppbmRleCBiZDJmYjUz
ODVkYTRmY2Y5YmI3ZTE3ZGEwYjhiMDQxNTFkZWYxNjg0Li4zMTgwMjhjN2NkYWY3NTIwMDhlYjc4
ZjQwM2Y1YTM0OGU2YmY4ZDBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAor
MjAxOS0xMi0wMyAgQmVuIE5oYW0gIDxuaGFtQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgbmV0
d29yayBsb2FkaW5nIHNpZ25wb3N0cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjA0ODIyCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81NzYwODgyND4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIGFk
ZHMgb3Nfc2lnbnBvc3RzIHJlbGF0ZWQgdG8gbmV0d29yayBsb2FkcyB0byBhaWQgaW4gZGVidWdn
aW5nIG5ldHdvcmtpbmcgcGVyZm9ybWFuY2UKKyAgICAgICAgaXNzdWVzLiBTaW5jZSBVUkxzIGFy
ZSBsb2dnZWQgaW4gdGhlIHNpZ25wb3N0cywgdGhpcyBjYXBhYmlsaXR5IGlzIG9ubHkgZW5hYmxl
ZCBvbiBBcHBsZQorICAgICAgICBpbnRlcm5hbCBidWlsZHMgd2hlbiBhbiBlbnZpcm9ubWVudCB2
YXJpYWJsZSBpcyBzZXQuCisKKyAgICAgICAgKiBQQUwueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
ajoKKyAgICAgICAgKiBwYWwvUGxhdGZvcm1NYWMuY21ha2U6CisgICAgICAgICogcGFsL3NwaS9j
b2NvYS9PU1ZhcmlhbnRTUEkuaDogQWRkZWQuCisKIDIwMTktMTEtMjggIEZ1amlpIEhpcm9ub3Jp
ICA8SGlyb25vcmkuRnVqaWlAc29ueS5jb20+CiAKICAgICAgICAgUmVtb3ZlIEVOQUJMRV9LRVlC
T0FSRF9DT0RFX0FUVFJJQlVURSBhbmQgRU5BQkxFX0tFWUJPQVJEX0tFWV9BVFRSSUJVVEUgbWFj
cm9zCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nCmluZGV4IGJiZWExYThjZGZhMDFmYTM1ZWVjMDU5NmFlMGIzMjg5ODM2YWMzY2Yu
LmZjNGEyYWRmOWYwMWU3MWRkNGYyODhmOTMwYzBjMjg1NGM0YTllODAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMjkgQEAKKzIwMTktMTItMDMgIEJlbiBOaGFtICA8bmhhbUBhcHBsZS5jb20+CisKKyAg
ICAgICAgQWRkIG5ldHdvcmsgbG9hZGluZyBzaWducG9zdHMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNDgyMgorICAgICAgICA8cmRhcjovL3Byb2Js
ZW0vNTc2MDg4MjQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgVGhpcyBhZGRzIG9zX3NpZ25wb3N0cyByZWxhdGVkIHRvIG5ldHdvcmsgbG9hZHMgdG8g
YWlkIGluIGRlYnVnZ2luZyBuZXR3b3JraW5nIHBlcmZvcm1hbmNlCisgICAgICAgIGlzc3Vlcy4g
U2luY2UgVVJMcyBhcmUgbG9nZ2VkIGluIHRoZSBzaWducG9zdHMsIHRoaXMgY2FwYWJpbGl0eSBp
cyBvbmx5IGVuYWJsZWQgb24gQXBwbGUKKyAgICAgICAgaW50ZXJuYWwgYnVpbGRzIHdoZW4gYW4g
ZW52aXJvbm1lbnQgdmFyaWFibGUgaXMgc2V0LgorCisgICAgICAgICogTmV0d29ya1Byb2Nlc3Mv
Y29jb2EvTmV0d29ya0RhdGFUYXNrQ29jb2EuaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9j
b2NvYS9OZXR3b3JrRGF0YVRhc2tDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6c2lnbnBvc3RM
b2dIYW5kbGUpOgorICAgICAgICAoV2ViS2l0OjpzaWducG9zdHNFbmFibGVkKToKKyAgICAgICAg
KFdlYktpdDo6TmV0d29ya0RhdGFUYXNrQ29jb2E6Ok5ldHdvcmtEYXRhVGFza0NvY29hKToKKyAg
ICAgICAgKFdlYktpdDo6TmV0d29ya0RhdGFUYXNrQ29jb2E6OmRpZFNlbmREYXRhKToKKyAgICAg
ICAgKFdlYktpdDo6TmV0d29ya0RhdGFUYXNrQ29jb2E6OmRpZFJlY2VpdmVDaGFsbGVuZ2UpOgor
ICAgICAgICAoV2ViS2l0OjpOZXR3b3JrRGF0YVRhc2tDb2NvYTo6ZGlkQ29tcGxldGVXaXRoRXJy
b3IpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrRGF0YVRhc2tDb2NvYTo6ZGlkUmVjZWl2ZURh
dGEpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrRGF0YVRhc2tDb2NvYTo6ZGlkUmVjZWl2ZVJl
c3BvbnNlKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0RhdGFUYXNrQ29jb2E6OndpbGxQZXJm
b3JtSFRUUFJlZGlyZWN0aW9uKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0RhdGFUYXNrQ29j
b2E6OmNhbmNlbCk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtEYXRhVGFza0NvY29hOjpyZXN1
bWUpOgorCiAyMDE5LTEyLTAyICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlh
LmNvbT4KIAogICAgICAgICBbR1RLXVtQU09OXSBDcmFzaCBpbiBOZXR3b3JrUHJvY2Vzc1Byb3h5
OjpvcGVuTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9QQUwvUEFMLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9QQUwv
UEFMLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggMGI2MTBjN2JkYWUxN2RiN2JkYjI2
MDM3OTAwN2E4NDFmNGY0Yjg3Ni4uODljOTM0MTFhZWU4MTEyODYwZmM5NTRhMDBlNGMyZmI0Zjk1
ZGVhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML1BBTC54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9QQUwueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagpAQCAtMTY4LDYgKzE2OCw3IEBACiAJCUNFNTY3Mzg3MjE1MUE3QjkwMDJGOTJENyAv
KiBJT0tpdFNQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQ0U1NjczODYyMTUxQTdCOTAwMkY5MkQ3IC8qIElPS2l0U1BJLmggKi87IH07CiAJCUU1RDQ1
RDEyMjEwNkEwNzQwMEQyQjczOCAvKiBOU0NvbG9yV2VsbFNQSS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTVENDVEMTEyMTA2QTA3NDAwRDJCNzM4IC8q
IE5TQ29sb3JXZWxsU1BJLmggKi87IH07CiAJCUU1RDQ1RDE0MjEwNkExODcwMEQyQjczOCAvKiBO
U1BvcG92ZXJDb2xvcldlbGxTUEkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEU1RDQ1RDEzMjEwNkExODcwMEQyQjczOCAvKiBOU1BvcG92ZXJDb2xvcldl
bGxTUEkuaCAqLzsgfTsKKwkJRUI3MDdGQTUyMzk3MzdGODAwNTkwNTNBIC8qIE9TVmFyaWFudFNQ
SS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRUI3MDdG
QTQyMzk3MzdGODAwNTkwNTNBIC8qIE9TVmFyaWFudFNQSS5oICovOyB9OwogCQlGNDQyOTE1RTFG
QTUyNDczMDAyQ0M5M0UgLyogTlNGaWxlU2l6ZUZvcm1hdHRlclNQSS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjQ0MjkxNUQxRkE1MjQ3MzAwMkNDOTNF
IC8qIE5TRmlsZVNpemVGb3JtYXR0ZXJTUEkuaCAqLzsgfTsKIAkJRjQ0MjkxNjAxRkE1MjYxRTAw
MkNDOTNFIC8qIEZpbGVTaXplRm9ybWF0dGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBGNDQyOTE1RjFGQTUyNjFFMDAyQ0M5M0UgLyogRmlsZVNpemVG
b3JtYXR0ZXIuaCAqLzsgfTsKIAkJRjQ0MjkxNjQxRkE1MjY3MDAwMkNDOTNFIC8qIEZpbGVTaXpl
Rm9ybWF0dGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEY0NDI5MTYyMUZBNTI2NzAwMDJDQzkzRSAvKiBGaWxlU2l6ZUZvcm1hdHRlci5jcHAgKi87
IH07CkBAIC0zNDIsNiArMzQzLDcgQEAKIAkJQ0U1NjczODYyMTUxQTdCOTAwMkY5MkQ3IC8qIElP
S2l0U1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IElPS2l0U1BJLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUU1RDQ1RDExMjEwNkEwNzQwMEQyQjczOCAvKiBO
U0NvbG9yV2VsbFNQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBOU0NvbG9y
V2VsbFNQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFNUQ0NUQxMzIxMDZBMTg3
MDBEMkI3MzggLyogTlNQb3BvdmVyQ29sb3JXZWxsU1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IE5TUG9wb3ZlckNvbG9yV2VsbFNQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQlFQjcwN0ZBNDIzOTczN0Y4MDA1OTA1M0EgLyogT1NWYXJpYW50U1BJLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE9TVmFyaWFudFNQSS5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlGNDQyOTE1RDFGQTUyNDczMDAyQ0M5M0UgLyogTlNGaWxlU2l6
ZUZvcm1hdHRlclNQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBOU0ZpbGVTaXplRm9ybWF0dGVyU1BJLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY0NDI5MTVGMUZBNTI2MUUwMDJDQzkzRSAv
KiBGaWxlU2l6ZUZvcm1hdHRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBGaWxlU2l6ZUZvcm1hdHRlci5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGNDQyOTE2MjFGQTUyNjcwMDAyQ0M5M0Ug
LyogRmlsZVNpemVGb3JtYXR0ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRmlsZVNpemVGb3Jt
YXR0ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNDM4LDYgKzQ0MCw3IEBA
CiAJCQkJMEMyREExMzcxRjNCRUI0OTAwREJDMzE3IC8qIE5TVVJMRG93bmxvYWRTUEkuaCAqLywK
IAkJCQkwQzJEQTEzODFGM0JFQjQ5MDBEQkMzMTcgLyogTlNVUkxGaWxlVHlwZU1hcHBpbmdzU1BJ
LmggKi8sCiAJCQkJNTcwQUI4RjgyMEFGNkUzRDAwQjhCRTg3IC8qIE5TWFBDQ29ubmVjdGlvblNQ
SS5oICovLAorCQkJCUVCNzA3RkE0MjM5NzM3RjgwMDU5MDUzQSAvKiBPU1ZhcmlhbnRTUEkuaCAq
LywKIAkJCQkwQzJEQTEzOTFGM0JFQjQ5MDBEQkMzMTcgLyogUGFzc0tpdFNQSS5oICovLAogCQkJ
CTBDMkRBMTNBMUYzQkVCNDkwMERCQzMxNyAvKiBwdGhyZWFkU1BJLmggKi8sCiAJCQkJMEMyREEx
M0IxRjNCRUI0OTAwREJDMzE3IC8qIFF1YXJ0ekNvcmVTUEkuaCAqLywKQEAgLTc5Nyw2ICs4MDAs
NyBAQAogCQkJCTBDNzc4NTlEMUY0NTEzMEYwMEY0RUJCNiAvKiBOU1dpbmRvd1NQSS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJNTcwQUI4RjkyMEFGNkUzRDAwQjhCRTg3IC8qIE5TWFBDQ29ubmVjdGlv
blNQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEM1QUY5MUYxRjQzQTRDNzAwMkVBQzAyIC8qIE9w
ZW5HTEVTU1BJLmggaW4gSGVhZGVycyAqLywKKwkJCQlFQjcwN0ZBNTIzOTczN0Y4MDA1OTA1M0Eg
LyogT1NWYXJpYW50U1BJLmggaW4gSGVhZGVycyAqLywKIAkJCQlBMUY2M0M5RjIxQTREQkY3MDA2
RkI0M0IgLyogUGFzc0tpdFNvZnRMaW5rLmggaW4gSGVhZGVycyAqLywKIAkJCQkwQzJEQTE1NTFG
M0JFQjQ5MDBEQkMzMTcgLyogUGFzc0tpdFNQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEM3Nzg1
OUUxRjQ1MTMwRjAwRjRFQkI2IC8qIFBJUFNQSS5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL1BsYXRmb3JtTWFjLmNtYWtlIGIvU291cmNlL1dlYkNv
cmUvUEFML3BhbC9QbGF0Zm9ybU1hYy5jbWFrZQppbmRleCBlM2Y3YTMyOGM2MTc1MzY0NTI1OTlj
OGRmYmUwMGRlMjEzZmFlNjk1Li4yMTk3MjRkNGU4ZmQ2NTRiMDg0Mjg0ODBkYzEzZmE2Zjc2MWE4
YTFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL1BsYXRmb3JtTWFjLmNtYWtl
CisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvUGxhdGZvcm1NYWMuY21ha2UKQEAgLTUyLDYg
KzUyLDcgQEAgbGlzdChBUFBFTkQgUEFMX1BVQkxJQ19IRUFERVJTCiAgICAgc3BpL2NvY29hL05T
VVJMRG93bmxvYWRTUEkuaAogICAgIHNwaS9jb2NvYS9OU1VSTEZpbGVUeXBlTWFwcGluZ3NTUEku
aAogICAgIHNwaS9jb2NvYS9OU1hQQ0Nvbm5lY3Rpb25TUEkuaAorICAgIHNwaS9jb2NvYS9PU1Zh
cmlhbnRTUEkuaAogICAgIHNwaS9jb2NvYS9QYXNzS2l0U1BJLmgKICAgICBzcGkvY29jb2EvUXVh
cnR6Q29yZVNQSS5oCiAgICAgc3BpL2NvY29hL1NlY0tleVByb3h5U1BJLmgKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL09TVmFyaWFudFNQSS5oIGIvU291cmNl
L1dlYkNvcmUvUEFML3BhbC9zcGkvY29jb2EvT1NWYXJpYW50U1BJLmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmRm
ZGIyYzEyM2JmNmUzODFiNGQ2NWY0MDVjZDFiNWFiMWUzZjY0MgotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL09TVmFyaWFudFNQSS5oCkBAIC0wLDAg
KzEsMzIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQtMjAxNyBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgVVNFKEFQUExF
X0lOVEVSTkFMX1NESykKKyNpbXBvcnQgPG9zL3ZhcmlhbnRfcHJpdmF0ZS5oPgorI2Vsc2UKK2Jv
b2wgb3NfdmFyaWFudF9hbGxvd3NfaW50ZXJuYWxfc2VjdXJpdHlfcG9saWNpZXMoY29uc3QgY2hh
ciAqKTsKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9j
b2NvYS9OZXR3b3JrRGF0YVRhc2tDb2NvYS5oIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9jb2NvYS9OZXR3b3JrRGF0YVRhc2tDb2NvYS5oCmluZGV4IDFlZjQ4NDY5Mzk0MzgyNjBkNTk1
OWQ5ZGY0ZWIyNTRjYjNmNmEzZTQuLmUzZGI1MTQ5MWM2MTMyMmRmOWI0MzA3YWJiOGU2OTE5MWRj
MjQ5MTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0
d29ya0RhdGFUYXNrQ29jb2EuaAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2Nv
Y29hL05ldHdvcmtEYXRhVGFza0NvY29hLmgKQEAgLTU1LDYgKzU1LDcgQEAgcHVibGljOgogICAg
IHZvaWQgZGlkU2VuZERhdGEodWludDY0X3QgdG90YWxCeXRlc1NlbnQsIHVpbnQ2NF90IHRvdGFs
Qnl0ZXNFeHBlY3RlZFRvU2VuZCk7CiAgICAgdm9pZCBkaWRSZWNlaXZlQ2hhbGxlbmdlKFdlYkNv
cmU6OkF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlJiYsIENoYWxsZW5nZUNvbXBsZXRpb25IYW5kbGVy
JiYpOwogICAgIHZvaWQgZGlkQ29tcGxldGVXaXRoRXJyb3IoY29uc3QgV2ViQ29yZTo6UmVzb3Vy
Y2VFcnJvciYsIGNvbnN0IFdlYkNvcmU6Ok5ldHdvcmtMb2FkTWV0cmljcyYpOworICAgIHZvaWQg
ZGlkUmVjZWl2ZVJlc3BvbnNlKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmJiwgUmVzcG9uc2VD
b21wbGV0aW9uSGFuZGxlciYmKTsKICAgICB2b2lkIGRpZFJlY2VpdmVEYXRhKFJlZjxXZWJDb3Jl
OjpTaGFyZWRCdWZmZXI+JiYpOwogCiAgICAgdm9pZCB3aWxsUGVyZm9ybUhUVFBSZWRpcmVjdGlv
bihXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJiYsIFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYm
LCBSZWRpcmVjdENvbXBsZXRpb25IYW5kbGVyJiYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrRGF0YVRhc2tDb2NvYS5tbSBiL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya0RhdGFUYXNrQ29jb2EubW0KaW5kZXgg
MWQwYWNmYjgyMzE1ZjhiZGEyYmU4ZTE2Mzc3Y2ExMDM1ZjUwMDdhZi4uNjU2ZDZkYmE4NDYyYTc3
MmEyZmNiMjk3Y2JkNDZkZTExMzg1NTEyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3
b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrRGF0YVRhc2tDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtEYXRhVGFza0NvY29hLm1tCkBAIC00MSw2
ICs0MSw3IEBACiAjaW1wb3J0IDxXZWJDb3JlL1JlZ2lzdHJhYmxlRG9tYWluLmg+CiAjaW1wb3J0
IDxXZWJDb3JlL1Jlc291cmNlUmVxdWVzdC5oPgogI2ltcG9ydCA8cGFsL3NwaS9jZi9DRk5ldHdv
cmtTUEkuaD4KKyNpbXBvcnQgPHBhbC9zcGkvY29jb2EvT1NWYXJpYW50U1BJLmg+CiAjaW1wb3J0
IDx3dGYvQmxvY2tQdHIuaD4KICNpbXBvcnQgPHd0Zi9GaWxlU3lzdGVtLmg+CiAjaW1wb3J0IDx3
dGYvTWFpblRocmVhZC5oPgpAQCAtNTEsNiArNTIsNjEgQEAKICNpbXBvcnQgPENGTmV0d29yay9D
Rk5TVVJMQ29ubmVjdGlvbi5oPgogI2VuZGlmCiAKKyNpZiBfX2hhc19pbmNsdWRlKDxvcy9zaWdu
cG9zdC5oPikKKworI2ltcG9ydCA8b3Mvc2lnbnBvc3QuaD4KKworc3RhdGljIG9zX2xvZ190IHNp
Z25wb3N0TG9nSGFuZGxlKCkKK3sKKyAgICBzdGF0aWMgZGlzcGF0Y2hfb25jZV90IG9uY2U7Cisg
ICAgc3RhdGljIG9zX2xvZ190IGhhbmRsZTsKKworICAgIGRpc3BhdGNoX29uY2UoJm9uY2UsIF57
CisgICAgICAgIGhhbmRsZSA9IG9zX2xvZ19jcmVhdGUoTE9HX0NIQU5ORUxfV0VCS0lUX1NVQlNZ
U1RFTSwgIkRhdGFUYXNrIik7CisgICAgfSk7CisKKyAgICByZXR1cm4gaGFuZGxlOworfQorCitz
dGF0aWMgYm9vbCBzaWducG9zdHNFbmFibGVkKCkKK3sKKyAgICBzdGF0aWMgZGlzcGF0Y2hfb25j
ZV90IG9uY2U7CisgICAgc3RhdGljIGJvb2wgZW5hYmxlZDsKKworICAgIGRpc3BhdGNoX29uY2Uo
Jm9uY2UsIF57CisgICAgICAgIGlmIChvc192YXJpYW50X2FsbG93c19pbnRlcm5hbF9zZWN1cml0
eV9wb2xpY2llcygiY29tLmFwcGxlLldlYktpdCIpKQorICAgICAgICAgICAgZW5hYmxlZCA9ICFz
dHJjbXAoZ2V0ZW52KCJXRUJLSVRfREFUQV9UQVNLX1NJR05QT1NUUyIpID86ICIwIiwgIjEiKTsK
KyAgICB9KTsKKworICAgIHJldHVybiBlbmFibGVkOworfQorCisjZGVmaW5lIEVNSVRfU0lHTlBP
U1RfV0lUSF9GVU5DVElPTihlbWl0RnVuYywgdGFzaywgLi4uKSBcCisgICAgZG8geyBcCisgICAg
ICAgIGlmIChzaWducG9zdHNFbmFibGVkKCkpIHsgXAorICAgICAgICAgICAgb3NfbG9nX3QgaGFu
ZGxlID0gc2lnbnBvc3RMb2dIYW5kbGUoKTsgXAorICAgICAgICAgICAgb3Nfc2lnbnBvc3RfaWRf
dCBzaWducG9zdElEID0gb3Nfc2lnbnBvc3RfaWRfbWFrZV93aXRoX3BvaW50ZXIoc2lnbnBvc3RM
b2dIYW5kbGUoKSwgKHRhc2spLmdldCgpKTsgXAorICAgICAgICAgICAgZW1pdEZ1bmMoaGFuZGxl
LCBzaWducG9zdElELCAiRGF0YVRhc2siLCAjI19fVkFfQVJHU19fKTsgXAorICAgICAgICB9IFwK
KyAgICB9IHdoaWxlICgwKQorCisjZGVmaW5lIEJFR0lOX1NJR05QT1NUKHRhc2ssIC4uLikgXAor
ICAgIEVNSVRfU0lHTlBPU1RfV0lUSF9GVU5DVElPTihvc19zaWducG9zdF9pbnRlcnZhbF9iZWdp
biwgKHRhc2spLCAjI19fVkFfQVJHU19fKQorCisjZGVmaW5lIEVORF9TSUdOUE9TVCh0YXNrLCAu
Li4pIFwKKyAgICBFTUlUX1NJR05QT1NUX1dJVEhfRlVOQ1RJT04ob3Nfc2lnbnBvc3RfaW50ZXJ2
YWxfZW5kLCAodGFzayksICMjX19WQV9BUkdTX18pCisKKyNkZWZpbmUgRU1JVF9TSUdOUE9TVCh0
YXNrLCAuLi4pIFwKKyAgICBFTUlUX1NJR05QT1NUX1dJVEhfRlVOQ1RJT04ob3Nfc2lnbnBvc3Rf
ZXZlbnRfZW1pdCwgKHRhc2spLCAjI19fVkFfQVJHU19fKQorCisjZWxzZQorCisjZGVmaW5lIEJF
R0lOX1NJR05QT1NUKHRhc2ssIC4uLikKKyNkZWZpbmUgRU5EX1NJR05QT1NUKHRhc2ssIC4uLikK
KyNkZWZpbmUgRU1JVF9TSUdOUE9TVCh0YXNrLCAuLi4pCisKKyNlbmRpZgorCiBuYW1lc3BhY2Ug
V2ViS2l0IHsKIAogI2lmIFVTRShDUkVERU5USUFMX1NUT1JBR0VfV0lUSF9ORVRXT1JLX1NFU1NJ
T04pCkBAIC0yMjEsNiArMjc3LDggQEAgTmV0d29ya0RhdGFUYXNrQ29jb2E6Ok5ldHdvcmtEYXRh
VGFza0NvY29hKE5ldHdvcmtTZXNzaW9uJiBzZXNzaW9uLCBOZXR3b3JrRGF0YVQKIAogICAgIG1f
dGFzayA9IFttX3Nlc3Npb25XcmFwcGVyLnNlc3Npb24gZGF0YVRhc2tXaXRoUmVxdWVzdDpuc1Jl
cXVlc3RdOwogCisgICAgQkVHSU5fU0lHTlBPU1QobV90YXNrLCAiJXtwdWJsaWN9cyBwcmk6ICVm
IHByZWNvbm5lY3Q6ICVkIiwgdXJsLnN0cmluZygpLmFzY2lpKCkuZGF0YSgpLCB0b05TVVJMU2Vz
c2lvblRhc2tQcmlvcml0eShyZXF1ZXN0LnByaW9yaXR5KCkpLCBzaG91bGRQcmVjb25uZWN0T25s
eSA9PSBQcmVjb25uZWN0T25seTo6WWVzKTsKKwogICAgIFJFTEVBU0VfQVNTRVJUKCFtX3Nlc3Np
b25XcmFwcGVyLmRhdGFUYXNrTWFwLmNvbnRhaW5zKFttX3Rhc2sgdGFza0lkZW50aWZpZXJdKSk7
CiAgICAgbV9zZXNzaW9uV3JhcHBlci5kYXRhVGFza01hcC5hZGQoW21fdGFzayB0YXNrSWRlbnRp
Zmllcl0sIHRoaXMpOwogICAgIExPRyhOZXR3b3JrU2Vzc2lvbiwgIiVsbHUgQ3JlYXRpbmcgTmV0
d29ya0RhdGFUYXNrIHdpdGggVVJMICVzIiwgW21fdGFzayB0YXNrSWRlbnRpZmllcl0sIG5zUmVx
dWVzdC5VUkwuYWJzb2x1dGVTdHJpbmcuVVRGOFN0cmluZyk7CkBAIC0yNzMsMTIgKzMzMSwxNiBA
QCB2b2lkIE5ldHdvcmtEYXRhVGFza0NvY29hOjpyZXN0cmljdFJlcXVlc3RSZWZlcnJlclRvT3Jp
Z2luSWZOZWVkZWQoV2ViQ29yZTo6UmVzbwogCiB2b2lkIE5ldHdvcmtEYXRhVGFza0NvY29hOjpk
aWRTZW5kRGF0YSh1aW50NjRfdCB0b3RhbEJ5dGVzU2VudCwgdWludDY0X3QgdG90YWxCeXRlc0V4
cGVjdGVkVG9TZW5kKQogeworICAgIEVNSVRfU0lHTlBPU1QobV90YXNrLCAic2VudCAlbGx1IGJ5
dGVzIChleHBlY3RlZCAlbGx1IGJ5dGVzKSIsIHRvdGFsQnl0ZXNTZW50LCB0b3RhbEJ5dGVzRXhw
ZWN0ZWRUb1NlbmQpOworCiAgICAgaWYgKG1fY2xpZW50KQogICAgICAgICBtX2NsaWVudC0+ZGlk
U2VuZERhdGEodG90YWxCeXRlc1NlbnQsIHRvdGFsQnl0ZXNFeHBlY3RlZFRvU2VuZCk7CiB9CiAK
IHZvaWQgTmV0d29ya0RhdGFUYXNrQ29jb2E6OmRpZFJlY2VpdmVDaGFsbGVuZ2UoV2ViQ29yZTo6
QXV0aGVudGljYXRpb25DaGFsbGVuZ2UmJiBjaGFsbGVuZ2UsIENoYWxsZW5nZUNvbXBsZXRpb25I
YW5kbGVyJiYgY29tcGxldGlvbkhhbmRsZXIpCiB7CisgICAgRU1JVF9TSUdOUE9TVChtX3Rhc2ss
ICJyZWNlaXZlZCBjaGFsbGVuZ2UiKTsKKwogICAgIGlmICh0cnlQYXNzd29yZEJhc2VkQXV0aGVu
dGljYXRpb24oY2hhbGxlbmdlLCBjb21wbGV0aW9uSGFuZGxlcikpCiAgICAgICAgIHJldHVybjsK
IApAQCAtMjkyLDE4ICszNTQsMzMgQEAgdm9pZCBOZXR3b3JrRGF0YVRhc2tDb2NvYTo6ZGlkUmVj
ZWl2ZUNoYWxsZW5nZShXZWJDb3JlOjpBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSYKIAogdm9pZCBO
ZXR3b3JrRGF0YVRhc2tDb2NvYTo6ZGlkQ29tcGxldGVXaXRoRXJyb3IoY29uc3QgV2ViQ29yZTo6
UmVzb3VyY2VFcnJvciYgZXJyb3IsIGNvbnN0IFdlYkNvcmU6Ok5ldHdvcmtMb2FkTWV0cmljcyYg
bmV0d29ya0xvYWRNZXRyaWNzKQogeworICAgIGlmIChlcnJvci5pc051bGwoKSkKKyAgICAgICAg
RU5EX1NJR05QT1NUKG1fdGFzaywgImNvbXBsZXRlZCIpOworICAgIGVsc2UKKyAgICAgICAgRU5E
X1NJR05QT1NUKG1fdGFzaywgImZhaWxlZCIpOworCiAgICAgaWYgKG1fY2xpZW50KQogICAgICAg
ICBtX2NsaWVudC0+ZGlkQ29tcGxldGVXaXRoRXJyb3IoZXJyb3IsIG5ldHdvcmtMb2FkTWV0cmlj
cyk7CiB9CiAKIHZvaWQgTmV0d29ya0RhdGFUYXNrQ29jb2E6OmRpZFJlY2VpdmVEYXRhKFJlZjxX
ZWJDb3JlOjpTaGFyZWRCdWZmZXI+JiYgZGF0YSkKIHsKKyAgICBFTUlUX1NJR05QT1NUKG1fdGFz
aywgInJlY2VpdmVkICV6ZCBieXRlcyIsIGRhdGEtPnNpemUoKSk7CisKICAgICBpZiAobV9jbGll
bnQpCiAgICAgICAgIG1fY2xpZW50LT5kaWRSZWNlaXZlRGF0YShXVEZNb3ZlKGRhdGEpKTsKIH0K
IAordm9pZCBOZXR3b3JrRGF0YVRhc2tDb2NvYTo6ZGlkUmVjZWl2ZVJlc3BvbnNlKFdlYkNvcmU6
OlJlc291cmNlUmVzcG9uc2UmJiByZXNwb25zZSwgV2ViS2l0OjpSZXNwb25zZUNvbXBsZXRpb25I
YW5kbGVyJiYgY29tcGxldGlvbkhhbmRsZXIpCit7CisgICAgRU1JVF9TSUdOUE9TVChtX3Rhc2ss
ICJyZWNlaXZlZCByZXNwb25zZSBoZWFkZXJzIik7CisgICAgTmV0d29ya0RhdGFUYXNrOjpkaWRS
ZWNlaXZlUmVzcG9uc2UoV1RGTW92ZShyZXNwb25zZSksIFdURk1vdmUoY29tcGxldGlvbkhhbmRs
ZXIpKTsKK30KKwogdm9pZCBOZXR3b3JrRGF0YVRhc2tDb2NvYTo6d2lsbFBlcmZvcm1IVFRQUmVk
aXJlY3Rpb24oV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYmIHJlZGlyZWN0UmVzcG9uc2UsIFdl
YkNvcmU6OlJlc291cmNlUmVxdWVzdCYmIHJlcXVlc3QsIFJlZGlyZWN0Q29tcGxldGlvbkhhbmRs
ZXImJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKKyAgICBFTUlUX1NJR05QT1NUKG1fdGFzaywgInJl
ZGlyZWN0Iik7CisKICAgICBpZiAocmVkaXJlY3RSZXNwb25zZS5odHRwU3RhdHVzQ29kZSgpID09
IDMwNyB8fCByZWRpcmVjdFJlc3BvbnNlLmh0dHBTdGF0dXNDb2RlKCkgPT0gMzA4KSB7CiAgICAg
ICAgIEFTU0VSVChtX2xhc3RIVFRQTWV0aG9kID09IHJlcXVlc3QuaHR0cE1ldGhvZCgpKTsKICAg
ICAgICAgV2ViQ29yZTo6Rm9ybURhdGEqIGJvZHkgPSBtX2ZpcnN0UmVxdWVzdC5odHRwQm9keSgp
OwpAQCAtNDU2LDExICs1MzMsMTQgQEAgU3RyaW5nIE5ldHdvcmtEYXRhVGFza0NvY29hOjpzdWdn
ZXN0ZWRGaWxlbmFtZSgpIGNvbnN0CiAKIHZvaWQgTmV0d29ya0RhdGFUYXNrQ29jb2E6OmNhbmNl
bCgpCiB7CisgICAgRU1JVF9TSUdOUE9TVChtX3Rhc2ssICJjYW5jZWwiKTsKICAgICBbbV90YXNr
IGNhbmNlbF07CiB9CiAKIHZvaWQgTmV0d29ya0RhdGFUYXNrQ29jb2E6OnJlc3VtZSgpCiB7Cisg
ICAgRU1JVF9TSUdOUE9TVChtX3Rhc2ssICJyZXN1bWUiKTsKKwogICAgIGlmIChtX3NjaGVkdWxl
ZEZhaWx1cmVUeXBlICE9IE5vRmFpbHVyZSkKICAgICAgICAgbV9mYWlsdXJlVGltZXIuc3RhcnRP
bmVTaG90KDBfcyk7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>384827</attachid>
            <date>2019-12-04 10:39:18 -0800</date>
            <delta_ts>2019-12-16 12:44:20 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-204822-20191204103918.patch</filename>
            <type>text/plain</type>
            <size>14938</size>
            <attacher name="Ben Nham">nham</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUyOTgyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Q
QUwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwppbmRleCBiZDJmYjUz
ODVkYTRmY2Y5YmI3ZTE3ZGEwYjhiMDQxNTFkZWYxNjg0Li4zMTgwMjhjN2NkYWY3NTIwMDhlYjc4
ZjQwM2Y1YTM0OGU2YmY4ZDBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAor
MjAxOS0xMi0wMyAgQmVuIE5oYW0gIDxuaGFtQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgbmV0
d29yayBsb2FkaW5nIHNpZ25wb3N0cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjA0ODIyCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81NzYwODgyND4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIGFk
ZHMgb3Nfc2lnbnBvc3RzIHJlbGF0ZWQgdG8gbmV0d29yayBsb2FkcyB0byBhaWQgaW4gZGVidWdn
aW5nIG5ldHdvcmtpbmcgcGVyZm9ybWFuY2UKKyAgICAgICAgaXNzdWVzLiBTaW5jZSBVUkxzIGFy
ZSBsb2dnZWQgaW4gdGhlIHNpZ25wb3N0cywgdGhpcyBjYXBhYmlsaXR5IGlzIG9ubHkgZW5hYmxl
ZCBvbiBBcHBsZQorICAgICAgICBpbnRlcm5hbCBidWlsZHMgd2hlbiBhbiBlbnZpcm9ubWVudCB2
YXJpYWJsZSBpcyBzZXQuCisKKyAgICAgICAgKiBQQUwueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
ajoKKyAgICAgICAgKiBwYWwvUGxhdGZvcm1NYWMuY21ha2U6CisgICAgICAgICogcGFsL3NwaS9j
b2NvYS9PU1ZhcmlhbnRTUEkuaDogQWRkZWQuCisKIDIwMTktMTEtMjggIEZ1amlpIEhpcm9ub3Jp
ICA8SGlyb25vcmkuRnVqaWlAc29ueS5jb20+CiAKICAgICAgICAgUmVtb3ZlIEVOQUJMRV9LRVlC
T0FSRF9DT0RFX0FUVFJJQlVURSBhbmQgRU5BQkxFX0tFWUJPQVJEX0tFWV9BVFRSSUJVVEUgbWFj
cm9zCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nCmluZGV4IGJiZWExYThjZGZhMDFmYTM1ZWVjMDU5NmFlMGIzMjg5ODM2YWMzY2Yu
LmZjNGEyYWRmOWYwMWU3MWRkNGYyODhmOTMwYzBjMjg1NGM0YTllODAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMjkgQEAKKzIwMTktMTItMDMgIEJlbiBOaGFtICA8bmhhbUBhcHBsZS5jb20+CisKKyAg
ICAgICAgQWRkIG5ldHdvcmsgbG9hZGluZyBzaWducG9zdHMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNDgyMgorICAgICAgICA8cmRhcjovL3Byb2Js
ZW0vNTc2MDg4MjQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgVGhpcyBhZGRzIG9zX3NpZ25wb3N0cyByZWxhdGVkIHRvIG5ldHdvcmsgbG9hZHMgdG8g
YWlkIGluIGRlYnVnZ2luZyBuZXR3b3JraW5nIHBlcmZvcm1hbmNlCisgICAgICAgIGlzc3Vlcy4g
U2luY2UgVVJMcyBhcmUgbG9nZ2VkIGluIHRoZSBzaWducG9zdHMsIHRoaXMgY2FwYWJpbGl0eSBp
cyBvbmx5IGVuYWJsZWQgb24gQXBwbGUKKyAgICAgICAgaW50ZXJuYWwgYnVpbGRzIHdoZW4gYW4g
ZW52aXJvbm1lbnQgdmFyaWFibGUgaXMgc2V0LgorCisgICAgICAgICogTmV0d29ya1Byb2Nlc3Mv
Y29jb2EvTmV0d29ya0RhdGFUYXNrQ29jb2EuaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9j
b2NvYS9OZXR3b3JrRGF0YVRhc2tDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6c2lnbnBvc3RM
b2dIYW5kbGUpOgorICAgICAgICAoV2ViS2l0OjpzaWducG9zdHNFbmFibGVkKToKKyAgICAgICAg
KFdlYktpdDo6TmV0d29ya0RhdGFUYXNrQ29jb2E6Ok5ldHdvcmtEYXRhVGFza0NvY29hKToKKyAg
ICAgICAgKFdlYktpdDo6TmV0d29ya0RhdGFUYXNrQ29jb2E6OmRpZFNlbmREYXRhKToKKyAgICAg
ICAgKFdlYktpdDo6TmV0d29ya0RhdGFUYXNrQ29jb2E6OmRpZFJlY2VpdmVDaGFsbGVuZ2UpOgor
ICAgICAgICAoV2ViS2l0OjpOZXR3b3JrRGF0YVRhc2tDb2NvYTo6ZGlkQ29tcGxldGVXaXRoRXJy
b3IpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrRGF0YVRhc2tDb2NvYTo6ZGlkUmVjZWl2ZURh
dGEpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrRGF0YVRhc2tDb2NvYTo6ZGlkUmVjZWl2ZVJl
c3BvbnNlKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0RhdGFUYXNrQ29jb2E6OndpbGxQZXJm
b3JtSFRUUFJlZGlyZWN0aW9uKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0RhdGFUYXNrQ29j
b2E6OmNhbmNlbCk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtEYXRhVGFza0NvY29hOjpyZXN1
bWUpOgorCiAyMDE5LTEyLTAyICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlh
LmNvbT4KIAogICAgICAgICBbR1RLXVtQU09OXSBDcmFzaCBpbiBOZXR3b3JrUHJvY2Vzc1Byb3h5
OjpvcGVuTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9QQUwvUEFMLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9QQUwv
UEFMLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggMGI2MTBjN2JkYWUxN2RiN2JkYjI2
MDM3OTAwN2E4NDFmNGY0Yjg3Ni4uODljOTM0MTFhZWU4MTEyODYwZmM5NTRhMDBlNGMyZmI0Zjk1
ZGVhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML1BBTC54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9QQUwueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagpAQCAtMTY4LDYgKzE2OCw3IEBACiAJCUNFNTY3Mzg3MjE1MUE3QjkwMDJGOTJENyAv
KiBJT0tpdFNQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQ0U1NjczODYyMTUxQTdCOTAwMkY5MkQ3IC8qIElPS2l0U1BJLmggKi87IH07CiAJCUU1RDQ1
RDEyMjEwNkEwNzQwMEQyQjczOCAvKiBOU0NvbG9yV2VsbFNQSS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTVENDVEMTEyMTA2QTA3NDAwRDJCNzM4IC8q
IE5TQ29sb3JXZWxsU1BJLmggKi87IH07CiAJCUU1RDQ1RDE0MjEwNkExODcwMEQyQjczOCAvKiBO
U1BvcG92ZXJDb2xvcldlbGxTUEkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEU1RDQ1RDEzMjEwNkExODcwMEQyQjczOCAvKiBOU1BvcG92ZXJDb2xvcldl
bGxTUEkuaCAqLzsgfTsKKwkJRUI3MDdGQTUyMzk3MzdGODAwNTkwNTNBIC8qIE9TVmFyaWFudFNQ
SS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRUI3MDdG
QTQyMzk3MzdGODAwNTkwNTNBIC8qIE9TVmFyaWFudFNQSS5oICovOyB9OwogCQlGNDQyOTE1RTFG
QTUyNDczMDAyQ0M5M0UgLyogTlNGaWxlU2l6ZUZvcm1hdHRlclNQSS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjQ0MjkxNUQxRkE1MjQ3MzAwMkNDOTNF
IC8qIE5TRmlsZVNpemVGb3JtYXR0ZXJTUEkuaCAqLzsgfTsKIAkJRjQ0MjkxNjAxRkE1MjYxRTAw
MkNDOTNFIC8qIEZpbGVTaXplRm9ybWF0dGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBGNDQyOTE1RjFGQTUyNjFFMDAyQ0M5M0UgLyogRmlsZVNpemVG
b3JtYXR0ZXIuaCAqLzsgfTsKIAkJRjQ0MjkxNjQxRkE1MjY3MDAwMkNDOTNFIC8qIEZpbGVTaXpl
Rm9ybWF0dGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEY0NDI5MTYyMUZBNTI2NzAwMDJDQzkzRSAvKiBGaWxlU2l6ZUZvcm1hdHRlci5jcHAgKi87
IH07CkBAIC0zNDIsNiArMzQzLDcgQEAKIAkJQ0U1NjczODYyMTUxQTdCOTAwMkY5MkQ3IC8qIElP
S2l0U1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IElPS2l0U1BJLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUU1RDQ1RDExMjEwNkEwNzQwMEQyQjczOCAvKiBO
U0NvbG9yV2VsbFNQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBOU0NvbG9y
V2VsbFNQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFNUQ0NUQxMzIxMDZBMTg3
MDBEMkI3MzggLyogTlNQb3BvdmVyQ29sb3JXZWxsU1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IE5TUG9wb3ZlckNvbG9yV2VsbFNQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQlFQjcwN0ZBNDIzOTczN0Y4MDA1OTA1M0EgLyogT1NWYXJpYW50U1BJLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE9TVmFyaWFudFNQSS5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlGNDQyOTE1RDFGQTUyNDczMDAyQ0M5M0UgLyogTlNGaWxlU2l6
ZUZvcm1hdHRlclNQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBOU0ZpbGVTaXplRm9ybWF0dGVyU1BJLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY0NDI5MTVGMUZBNTI2MUUwMDJDQzkzRSAv
KiBGaWxlU2l6ZUZvcm1hdHRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBGaWxlU2l6ZUZvcm1hdHRlci5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGNDQyOTE2MjFGQTUyNjcwMDAyQ0M5M0Ug
LyogRmlsZVNpemVGb3JtYXR0ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRmlsZVNpemVGb3Jt
YXR0ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNDM4LDYgKzQ0MCw3IEBA
CiAJCQkJMEMyREExMzcxRjNCRUI0OTAwREJDMzE3IC8qIE5TVVJMRG93bmxvYWRTUEkuaCAqLywK
IAkJCQkwQzJEQTEzODFGM0JFQjQ5MDBEQkMzMTcgLyogTlNVUkxGaWxlVHlwZU1hcHBpbmdzU1BJ
LmggKi8sCiAJCQkJNTcwQUI4RjgyMEFGNkUzRDAwQjhCRTg3IC8qIE5TWFBDQ29ubmVjdGlvblNQ
SS5oICovLAorCQkJCUVCNzA3RkE0MjM5NzM3RjgwMDU5MDUzQSAvKiBPU1ZhcmlhbnRTUEkuaCAq
LywKIAkJCQkwQzJEQTEzOTFGM0JFQjQ5MDBEQkMzMTcgLyogUGFzc0tpdFNQSS5oICovLAogCQkJ
CTBDMkRBMTNBMUYzQkVCNDkwMERCQzMxNyAvKiBwdGhyZWFkU1BJLmggKi8sCiAJCQkJMEMyREEx
M0IxRjNCRUI0OTAwREJDMzE3IC8qIFF1YXJ0ekNvcmVTUEkuaCAqLywKQEAgLTc5Nyw2ICs4MDAs
NyBAQAogCQkJCTBDNzc4NTlEMUY0NTEzMEYwMEY0RUJCNiAvKiBOU1dpbmRvd1NQSS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJNTcwQUI4RjkyMEFGNkUzRDAwQjhCRTg3IC8qIE5TWFBDQ29ubmVjdGlv
blNQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEM1QUY5MUYxRjQzQTRDNzAwMkVBQzAyIC8qIE9w
ZW5HTEVTU1BJLmggaW4gSGVhZGVycyAqLywKKwkJCQlFQjcwN0ZBNTIzOTczN0Y4MDA1OTA1M0Eg
LyogT1NWYXJpYW50U1BJLmggaW4gSGVhZGVycyAqLywKIAkJCQlBMUY2M0M5RjIxQTREQkY3MDA2
RkI0M0IgLyogUGFzc0tpdFNvZnRMaW5rLmggaW4gSGVhZGVycyAqLywKIAkJCQkwQzJEQTE1NTFG
M0JFQjQ5MDBEQkMzMTcgLyogUGFzc0tpdFNQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEM3Nzg1
OUUxRjQ1MTMwRjAwRjRFQkI2IC8qIFBJUFNQSS5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL1BsYXRmb3JtTWFjLmNtYWtlIGIvU291cmNlL1dlYkNv
cmUvUEFML3BhbC9QbGF0Zm9ybU1hYy5jbWFrZQppbmRleCBlM2Y3YTMyOGM2MTc1MzY0NTI1OTlj
OGRmYmUwMGRlMjEzZmFlNjk1Li4yMTk3MjRkNGU4ZmQ2NTRiMDg0Mjg0ODBkYzEzZmE2Zjc2MWE4
YTFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL1BsYXRmb3JtTWFjLmNtYWtl
CisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvUGxhdGZvcm1NYWMuY21ha2UKQEAgLTUyLDYg
KzUyLDcgQEAgbGlzdChBUFBFTkQgUEFMX1BVQkxJQ19IRUFERVJTCiAgICAgc3BpL2NvY29hL05T
VVJMRG93bmxvYWRTUEkuaAogICAgIHNwaS9jb2NvYS9OU1VSTEZpbGVUeXBlTWFwcGluZ3NTUEku
aAogICAgIHNwaS9jb2NvYS9OU1hQQ0Nvbm5lY3Rpb25TUEkuaAorICAgIHNwaS9jb2NvYS9PU1Zh
cmlhbnRTUEkuaAogICAgIHNwaS9jb2NvYS9QYXNzS2l0U1BJLmgKICAgICBzcGkvY29jb2EvUXVh
cnR6Q29yZVNQSS5oCiAgICAgc3BpL2NvY29hL1NlY0tleVByb3h5U1BJLmgKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL09TVmFyaWFudFNQSS5oIGIvU291cmNl
L1dlYkNvcmUvUEFML3BhbC9zcGkvY29jb2EvT1NWYXJpYW50U1BJLmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmM2
OGQyNDJhMmNjMTgyNDE5ZjM0NDEzYzRiNjE0N2UxMmFiMzg1MwotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL09TVmFyaWFudFNQSS5oCkBAIC0wLDAg
KzEsMzggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQtMjAxNyBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgVVNFKEFQUExF
X0lOVEVSTkFMX1NESykKKworI2ltcG9ydCA8b3MvdmFyaWFudF9wcml2YXRlLmg+CisKKyNlbHNl
CisKK1dURl9FWFRFUk5fQ19CRUdJTgorYm9vbCBvc192YXJpYW50X2FsbG93c19pbnRlcm5hbF9z
ZWN1cml0eV9wb2xpY2llcyhjb25zdCBjaGFyICopOworV1RGX0VYVEVSTl9DX0VORAorCisjZW5k
aWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29y
a0RhdGFUYXNrQ29jb2EuaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0
d29ya0RhdGFUYXNrQ29jb2EuaAppbmRleCAxZWY0ODQ2OTM5NDM4MjYwZDU5NTlkOWRmNGViMjU0
Y2IzZjZhM2U0Li5lM2RiNTE0OTFjNjEzMjJkZjliNDMwN2FiYjhlNjkxOTFkYzI0OTE0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtEYXRhVGFz
a0NvY29hLmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3Jr
RGF0YVRhc2tDb2NvYS5oCkBAIC01NSw2ICs1NSw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGRpZFNl
bmREYXRhKHVpbnQ2NF90IHRvdGFsQnl0ZXNTZW50LCB1aW50NjRfdCB0b3RhbEJ5dGVzRXhwZWN0
ZWRUb1NlbmQpOwogICAgIHZvaWQgZGlkUmVjZWl2ZUNoYWxsZW5nZShXZWJDb3JlOjpBdXRoZW50
aWNhdGlvbkNoYWxsZW5nZSYmLCBDaGFsbGVuZ2VDb21wbGV0aW9uSGFuZGxlciYmKTsKICAgICB2
b2lkIGRpZENvbXBsZXRlV2l0aEVycm9yKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlRXJyb3ImLCBj
b25zdCBXZWJDb3JlOjpOZXR3b3JrTG9hZE1ldHJpY3MmKTsKKyAgICB2b2lkIGRpZFJlY2VpdmVS
ZXNwb25zZShXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJiYsIFJlc3BvbnNlQ29tcGxldGlvbkhh
bmRsZXImJik7CiAgICAgdm9pZCBkaWRSZWNlaXZlRGF0YShSZWY8V2ViQ29yZTo6U2hhcmVkQnVm
ZmVyPiYmKTsKIAogICAgIHZvaWQgd2lsbFBlcmZvcm1IVFRQUmVkaXJlY3Rpb24oV2ViQ29yZTo6
UmVzb3VyY2VSZXNwb25zZSYmLCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmJiwgUmVkaXJlY3RD
b21wbGV0aW9uSGFuZGxlciYmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1By
b2Nlc3MvY29jb2EvTmV0d29ya0RhdGFUYXNrQ29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL2NvY29hL05ldHdvcmtEYXRhVGFza0NvY29hLm1tCmluZGV4IDFkMGFjZmI4MjMx
NWY4YmRhMmJlOGUxNjM3N2NhMTAzNWY1MDA3YWYuLjY1NmQ2ZGJhODQ2MmE3NzJhMmZjYjI5N2Ni
ZDQ2ZGUxMTM4NTUxMjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
Y29jb2EvTmV0d29ya0RhdGFUYXNrQ29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9jb2NvYS9OZXR3b3JrRGF0YVRhc2tDb2NvYS5tbQpAQCAtNDEsNiArNDEsNyBAQAog
I2ltcG9ydCA8V2ViQ29yZS9SZWdpc3RyYWJsZURvbWFpbi5oPgogI2ltcG9ydCA8V2ViQ29yZS9S
ZXNvdXJjZVJlcXVlc3QuaD4KICNpbXBvcnQgPHBhbC9zcGkvY2YvQ0ZOZXR3b3JrU1BJLmg+Cisj
aW1wb3J0IDxwYWwvc3BpL2NvY29hL09TVmFyaWFudFNQSS5oPgogI2ltcG9ydCA8d3RmL0Jsb2Nr
UHRyLmg+CiAjaW1wb3J0IDx3dGYvRmlsZVN5c3RlbS5oPgogI2ltcG9ydCA8d3RmL01haW5UaHJl
YWQuaD4KQEAgLTUxLDYgKzUyLDYxIEBACiAjaW1wb3J0IDxDRk5ldHdvcmsvQ0ZOU1VSTENvbm5l
Y3Rpb24uaD4KICNlbmRpZgogCisjaWYgX19oYXNfaW5jbHVkZSg8b3Mvc2lnbnBvc3QuaD4pCisK
KyNpbXBvcnQgPG9zL3NpZ25wb3N0Lmg+CisKK3N0YXRpYyBvc19sb2dfdCBzaWducG9zdExvZ0hh
bmRsZSgpCit7CisgICAgc3RhdGljIGRpc3BhdGNoX29uY2VfdCBvbmNlOworICAgIHN0YXRpYyBv
c19sb2dfdCBoYW5kbGU7CisKKyAgICBkaXNwYXRjaF9vbmNlKCZvbmNlLCBeeworICAgICAgICBo
YW5kbGUgPSBvc19sb2dfY3JlYXRlKExPR19DSEFOTkVMX1dFQktJVF9TVUJTWVNURU0sICJEYXRh
VGFzayIpOworICAgIH0pOworCisgICAgcmV0dXJuIGhhbmRsZTsKK30KKworc3RhdGljIGJvb2wg
c2lnbnBvc3RzRW5hYmxlZCgpCit7CisgICAgc3RhdGljIGRpc3BhdGNoX29uY2VfdCBvbmNlOwor
ICAgIHN0YXRpYyBib29sIGVuYWJsZWQ7CisKKyAgICBkaXNwYXRjaF9vbmNlKCZvbmNlLCBeewor
ICAgICAgICBpZiAob3NfdmFyaWFudF9hbGxvd3NfaW50ZXJuYWxfc2VjdXJpdHlfcG9saWNpZXMo
ImNvbS5hcHBsZS5XZWJLaXQiKSkKKyAgICAgICAgICAgIGVuYWJsZWQgPSAhc3RyY21wKGdldGVu
digiV0VCS0lUX0RBVEFfVEFTS19TSUdOUE9TVFMiKSA/OiAiMCIsICIxIik7CisgICAgfSk7CisK
KyAgICByZXR1cm4gZW5hYmxlZDsKK30KKworI2RlZmluZSBFTUlUX1NJR05QT1NUX1dJVEhfRlVO
Q1RJT04oZW1pdEZ1bmMsIHRhc2ssIC4uLikgXAorICAgIGRvIHsgXAorICAgICAgICBpZiAoc2ln
bnBvc3RzRW5hYmxlZCgpKSB7IFwKKyAgICAgICAgICAgIG9zX2xvZ190IGhhbmRsZSA9IHNpZ25w
b3N0TG9nSGFuZGxlKCk7IFwKKyAgICAgICAgICAgIG9zX3NpZ25wb3N0X2lkX3Qgc2lnbnBvc3RJ
RCA9IG9zX3NpZ25wb3N0X2lkX21ha2Vfd2l0aF9wb2ludGVyKHNpZ25wb3N0TG9nSGFuZGxlKCks
ICh0YXNrKS5nZXQoKSk7IFwKKyAgICAgICAgICAgIGVtaXRGdW5jKGhhbmRsZSwgc2lnbnBvc3RJ
RCwgIkRhdGFUYXNrIiwgIyNfX1ZBX0FSR1NfXyk7IFwKKyAgICAgICAgfSBcCisgICAgfSB3aGls
ZSAoMCkKKworI2RlZmluZSBCRUdJTl9TSUdOUE9TVCh0YXNrLCAuLi4pIFwKKyAgICBFTUlUX1NJ
R05QT1NUX1dJVEhfRlVOQ1RJT04ob3Nfc2lnbnBvc3RfaW50ZXJ2YWxfYmVnaW4sICh0YXNrKSwg
IyNfX1ZBX0FSR1NfXykKKworI2RlZmluZSBFTkRfU0lHTlBPU1QodGFzaywgLi4uKSBcCisgICAg
RU1JVF9TSUdOUE9TVF9XSVRIX0ZVTkNUSU9OKG9zX3NpZ25wb3N0X2ludGVydmFsX2VuZCwgKHRh
c2spLCAjI19fVkFfQVJHU19fKQorCisjZGVmaW5lIEVNSVRfU0lHTlBPU1QodGFzaywgLi4uKSBc
CisgICAgRU1JVF9TSUdOUE9TVF9XSVRIX0ZVTkNUSU9OKG9zX3NpZ25wb3N0X2V2ZW50X2VtaXQs
ICh0YXNrKSwgIyNfX1ZBX0FSR1NfXykKKworI2Vsc2UKKworI2RlZmluZSBCRUdJTl9TSUdOUE9T
VCh0YXNrLCAuLi4pCisjZGVmaW5lIEVORF9TSUdOUE9TVCh0YXNrLCAuLi4pCisjZGVmaW5lIEVN
SVRfU0lHTlBPU1QodGFzaywgLi4uKQorCisjZW5kaWYKKwogbmFtZXNwYWNlIFdlYktpdCB7CiAK
ICNpZiBVU0UoQ1JFREVOVElBTF9TVE9SQUdFX1dJVEhfTkVUV09SS19TRVNTSU9OKQpAQCAtMjIx
LDYgKzI3Nyw4IEBAIE5ldHdvcmtEYXRhVGFza0NvY29hOjpOZXR3b3JrRGF0YVRhc2tDb2NvYShO
ZXR3b3JrU2Vzc2lvbiYgc2Vzc2lvbiwgTmV0d29ya0RhdGFUCiAKICAgICBtX3Rhc2sgPSBbbV9z
ZXNzaW9uV3JhcHBlci5zZXNzaW9uIGRhdGFUYXNrV2l0aFJlcXVlc3Q6bnNSZXF1ZXN0XTsKIAor
ICAgIEJFR0lOX1NJR05QT1NUKG1fdGFzaywgIiV7cHVibGljfXMgcHJpOiAlZiBwcmVjb25uZWN0
OiAlZCIsIHVybC5zdHJpbmcoKS5hc2NpaSgpLmRhdGEoKSwgdG9OU1VSTFNlc3Npb25UYXNrUHJp
b3JpdHkocmVxdWVzdC5wcmlvcml0eSgpKSwgc2hvdWxkUHJlY29ubmVjdE9ubHkgPT0gUHJlY29u
bmVjdE9ubHk6Olllcyk7CisKICAgICBSRUxFQVNFX0FTU0VSVCghbV9zZXNzaW9uV3JhcHBlci5k
YXRhVGFza01hcC5jb250YWlucyhbbV90YXNrIHRhc2tJZGVudGlmaWVyXSkpOwogICAgIG1fc2Vz
c2lvbldyYXBwZXIuZGF0YVRhc2tNYXAuYWRkKFttX3Rhc2sgdGFza0lkZW50aWZpZXJdLCB0aGlz
KTsKICAgICBMT0coTmV0d29ya1Nlc3Npb24sICIlbGx1IENyZWF0aW5nIE5ldHdvcmtEYXRhVGFz
ayB3aXRoIFVSTCAlcyIsIFttX3Rhc2sgdGFza0lkZW50aWZpZXJdLCBuc1JlcXVlc3QuVVJMLmFi
c29sdXRlU3RyaW5nLlVURjhTdHJpbmcpOwpAQCAtMjczLDEyICszMzEsMTYgQEAgdm9pZCBOZXR3
b3JrRGF0YVRhc2tDb2NvYTo6cmVzdHJpY3RSZXF1ZXN0UmVmZXJyZXJUb09yaWdpbklmTmVlZGVk
KFdlYkNvcmU6OlJlc28KIAogdm9pZCBOZXR3b3JrRGF0YVRhc2tDb2NvYTo6ZGlkU2VuZERhdGEo
dWludDY0X3QgdG90YWxCeXRlc1NlbnQsIHVpbnQ2NF90IHRvdGFsQnl0ZXNFeHBlY3RlZFRvU2Vu
ZCkKIHsKKyAgICBFTUlUX1NJR05QT1NUKG1fdGFzaywgInNlbnQgJWxsdSBieXRlcyAoZXhwZWN0
ZWQgJWxsdSBieXRlcykiLCB0b3RhbEJ5dGVzU2VudCwgdG90YWxCeXRlc0V4cGVjdGVkVG9TZW5k
KTsKKwogICAgIGlmIChtX2NsaWVudCkKICAgICAgICAgbV9jbGllbnQtPmRpZFNlbmREYXRhKHRv
dGFsQnl0ZXNTZW50LCB0b3RhbEJ5dGVzRXhwZWN0ZWRUb1NlbmQpOwogfQogCiB2b2lkIE5ldHdv
cmtEYXRhVGFza0NvY29hOjpkaWRSZWNlaXZlQ2hhbGxlbmdlKFdlYkNvcmU6OkF1dGhlbnRpY2F0
aW9uQ2hhbGxlbmdlJiYgY2hhbGxlbmdlLCBDaGFsbGVuZ2VDb21wbGV0aW9uSGFuZGxlciYmIGNv
bXBsZXRpb25IYW5kbGVyKQogeworICAgIEVNSVRfU0lHTlBPU1QobV90YXNrLCAicmVjZWl2ZWQg
Y2hhbGxlbmdlIik7CisKICAgICBpZiAodHJ5UGFzc3dvcmRCYXNlZEF1dGhlbnRpY2F0aW9uKGNo
YWxsZW5nZSwgY29tcGxldGlvbkhhbmRsZXIpKQogICAgICAgICByZXR1cm47CiAKQEAgLTI5Miwx
OCArMzU0LDMzIEBAIHZvaWQgTmV0d29ya0RhdGFUYXNrQ29jb2E6OmRpZFJlY2VpdmVDaGFsbGVu
Z2UoV2ViQ29yZTo6QXV0aGVudGljYXRpb25DaGFsbGVuZ2UmCiAKIHZvaWQgTmV0d29ya0RhdGFU
YXNrQ29jb2E6OmRpZENvbXBsZXRlV2l0aEVycm9yKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlRXJy
b3ImIGVycm9yLCBjb25zdCBXZWJDb3JlOjpOZXR3b3JrTG9hZE1ldHJpY3MmIG5ldHdvcmtMb2Fk
TWV0cmljcykKIHsKKyAgICBpZiAoZXJyb3IuaXNOdWxsKCkpCisgICAgICAgIEVORF9TSUdOUE9T
VChtX3Rhc2ssICJjb21wbGV0ZWQiKTsKKyAgICBlbHNlCisgICAgICAgIEVORF9TSUdOUE9TVCht
X3Rhc2ssICJmYWlsZWQiKTsKKwogICAgIGlmIChtX2NsaWVudCkKICAgICAgICAgbV9jbGllbnQt
PmRpZENvbXBsZXRlV2l0aEVycm9yKGVycm9yLCBuZXR3b3JrTG9hZE1ldHJpY3MpOwogfQogCiB2
b2lkIE5ldHdvcmtEYXRhVGFza0NvY29hOjpkaWRSZWNlaXZlRGF0YShSZWY8V2ViQ29yZTo6U2hh
cmVkQnVmZmVyPiYmIGRhdGEpCiB7CisgICAgRU1JVF9TSUdOUE9TVChtX3Rhc2ssICJyZWNlaXZl
ZCAlemQgYnl0ZXMiLCBkYXRhLT5zaXplKCkpOworCiAgICAgaWYgKG1fY2xpZW50KQogICAgICAg
ICBtX2NsaWVudC0+ZGlkUmVjZWl2ZURhdGEoV1RGTW92ZShkYXRhKSk7CiB9CiAKK3ZvaWQgTmV0
d29ya0RhdGFUYXNrQ29jb2E6OmRpZFJlY2VpdmVSZXNwb25zZShXZWJDb3JlOjpSZXNvdXJjZVJl
c3BvbnNlJiYgcmVzcG9uc2UsIFdlYktpdDo6UmVzcG9uc2VDb21wbGV0aW9uSGFuZGxlciYmIGNv
bXBsZXRpb25IYW5kbGVyKQoreworICAgIEVNSVRfU0lHTlBPU1QobV90YXNrLCAicmVjZWl2ZWQg
cmVzcG9uc2UgaGVhZGVycyIpOworICAgIE5ldHdvcmtEYXRhVGFzazo6ZGlkUmVjZWl2ZVJlc3Bv
bnNlKFdURk1vdmUocmVzcG9uc2UpLCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7Cit9CisK
IHZvaWQgTmV0d29ya0RhdGFUYXNrQ29jb2E6OndpbGxQZXJmb3JtSFRUUFJlZGlyZWN0aW9uKFdl
YkNvcmU6OlJlc291cmNlUmVzcG9uc2UmJiByZWRpcmVjdFJlc3BvbnNlLCBXZWJDb3JlOjpSZXNv
dXJjZVJlcXVlc3QmJiByZXF1ZXN0LCBSZWRpcmVjdENvbXBsZXRpb25IYW5kbGVyJiYgY29tcGxl
dGlvbkhhbmRsZXIpCiB7CisgICAgRU1JVF9TSUdOUE9TVChtX3Rhc2ssICJyZWRpcmVjdCIpOwor
CiAgICAgaWYgKHJlZGlyZWN0UmVzcG9uc2UuaHR0cFN0YXR1c0NvZGUoKSA9PSAzMDcgfHwgcmVk
aXJlY3RSZXNwb25zZS5odHRwU3RhdHVzQ29kZSgpID09IDMwOCkgewogICAgICAgICBBU1NFUlQo
bV9sYXN0SFRUUE1ldGhvZCA9PSByZXF1ZXN0Lmh0dHBNZXRob2QoKSk7CiAgICAgICAgIFdlYkNv
cmU6OkZvcm1EYXRhKiBib2R5ID0gbV9maXJzdFJlcXVlc3QuaHR0cEJvZHkoKTsKQEAgLTQ1Niwx
MSArNTMzLDE0IEBAIFN0cmluZyBOZXR3b3JrRGF0YVRhc2tDb2NvYTo6c3VnZ2VzdGVkRmlsZW5h
bWUoKSBjb25zdAogCiB2b2lkIE5ldHdvcmtEYXRhVGFza0NvY29hOjpjYW5jZWwoKQogeworICAg
IEVNSVRfU0lHTlBPU1QobV90YXNrLCAiY2FuY2VsIik7CiAgICAgW21fdGFzayBjYW5jZWxdOwog
fQogCiB2b2lkIE5ldHdvcmtEYXRhVGFza0NvY29hOjpyZXN1bWUoKQogeworICAgIEVNSVRfU0lH
TlBPU1QobV90YXNrLCAicmVzdW1lIik7CisKICAgICBpZiAobV9zY2hlZHVsZWRGYWlsdXJlVHlw
ZSAhPSBOb0ZhaWx1cmUpCiAgICAgICAgIG1fZmFpbHVyZVRpbWVyLnN0YXJ0T25lU2hvdCgwX3Mp
OwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>385796</attachid>
            <date>2019-12-16 12:44:22 -0800</date>
            <delta_ts>2019-12-16 12:49:55 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-204822-20191216124421.patch</filename>
            <type>text/plain</type>
            <size>14919</size>
            <attacher name="Ben Nham">nham</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUzNTcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Q
QUwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwppbmRleCA4ZWJlNjU4
YTc1MDA3Mzc4ZmVmOWFkZjVlNzFiNzgyZmZjNzgzMzljLi42NDE4YWYyNzk1ZmRlMTlhZGIzMzFj
OTI3ZmJjZmVlOTk2ZTgzNTlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAor
MjAxOS0xMi0xNiAgQmVuIE5oYW0gIDxuaGFtQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgbmV0
d29yayBsb2FkaW5nIHNpZ25wb3N0cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjA0ODIyCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81NzYwODgyND4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIGFk
ZHMgb3Nfc2lnbnBvc3RzIHJlbGF0ZWQgdG8gbmV0d29yayBsb2FkcyB0byBhaWQgaW4gZGVidWdn
aW5nIG5ldHdvcmtpbmcgcGVyZm9ybWFuY2UKKyAgICAgICAgaXNzdWVzLiBTaW5jZSBVUkxzIGFy
ZSBsb2dnZWQgaW4gdGhlIHNpZ25wb3N0cywgdGhpcyBjYXBhYmlsaXR5IGlzIG9ubHkgZW5hYmxl
ZCBvbiBBcHBsZQorICAgICAgICBpbnRlcm5hbCBidWlsZHMgd2hlbiBhbiBlbnZpcm9ubWVudCB2
YXJpYWJsZSBpcyBzZXQuCisKKyAgICAgICAgKiBQQUwueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
ajoKKyAgICAgICAgKiBwYWwvUGxhdGZvcm1NYWMuY21ha2U6CisgICAgICAgICogcGFsL3NwaS9j
b2NvYS9PU1ZhcmlhbnRTUEkuaDogQWRkZWQuCisKIDIwMTktMTItMDUgIENocmlzIER1bWV6ICA8
Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBbSVBDXSBGYWlsIFBBTDo6U2Vzc2lvbklEIGRl
Y29kaW5nIGlmIHRoZSBkZWNvZGVkIGludGVnZXIgaXMgbm90IGEgdmFsaWQgc2Vzc2lvbiBJRApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZwppbmRleCAyMTBhYWEzZTU3NWFiZTY0OTRjZjkwOTE3NWFmNjlhMjgxMmVkYjYyLi4wYTMx
NmNjNGE0NWZkMzQ4NjAwYzE1MTJhNTBjOThkN2RiOWEzOTlhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsx
LDI5IEBACisyMDE5LTEyLTE2ICBCZW4gTmhhbSAgPG5oYW1AYXBwbGUuY29tPgorCisgICAgICAg
IEFkZCBuZXR3b3JrIGxvYWRpbmcgc2lnbnBvc3RzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDQ4MjIKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzU3
NjA4ODI0PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFRoaXMgYWRkcyBvc19zaWducG9zdHMgcmVsYXRlZCB0byBuZXR3b3JrIGxvYWRzIHRvIGFpZCBp
biBkZWJ1Z2dpbmcgbmV0d29ya2luZyBwZXJmb3JtYW5jZQorICAgICAgICBpc3N1ZXMuIFNpbmNl
IFVSTHMgYXJlIGxvZ2dlZCBpbiB0aGUgc2lnbnBvc3RzLCB0aGlzIGNhcGFiaWxpdHkgaXMgb25s
eSBlbmFibGVkIG9uIEFwcGxlCisgICAgICAgIGludGVybmFsIGJ1aWxkcyB3aGVuIGFuIGVudmly
b25tZW50IHZhcmlhYmxlIGlzIHNldC4KKworICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL2NvY29h
L05ldHdvcmtEYXRhVGFza0NvY29hLmg6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvY29jb2Ev
TmV0d29ya0RhdGFUYXNrQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OnNpZ25wb3N0TG9nSGFu
ZGxlKToKKyAgICAgICAgKFdlYktpdDo6c2lnbnBvc3RzRW5hYmxlZCk6CisgICAgICAgIChXZWJL
aXQ6Ok5ldHdvcmtEYXRhVGFza0NvY29hOjpOZXR3b3JrRGF0YVRhc2tDb2NvYSk6CisgICAgICAg
IChXZWJLaXQ6Ok5ldHdvcmtEYXRhVGFza0NvY29hOjpkaWRTZW5kRGF0YSk6CisgICAgICAgIChX
ZWJLaXQ6Ok5ldHdvcmtEYXRhVGFza0NvY29hOjpkaWRSZWNlaXZlQ2hhbGxlbmdlKToKKyAgICAg
ICAgKFdlYktpdDo6TmV0d29ya0RhdGFUYXNrQ29jb2E6OmRpZENvbXBsZXRlV2l0aEVycm9yKToK
KyAgICAgICAgKFdlYktpdDo6TmV0d29ya0RhdGFUYXNrQ29jb2E6OmRpZFJlY2VpdmVEYXRhKToK
KyAgICAgICAgKFdlYktpdDo6TmV0d29ya0RhdGFUYXNrQ29jb2E6OmRpZFJlY2VpdmVSZXNwb25z
ZSk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtEYXRhVGFza0NvY29hOjp3aWxsUGVyZm9ybUhU
VFBSZWRpcmVjdGlvbik6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtEYXRhVGFza0NvY29hOjpj
YW5jZWwpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrRGF0YVRhc2tDb2NvYTo6cmVzdW1lKToK
KwogMjAxOS0xMi0xNiAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBsZS5jb20+CiAKICAgICAg
ICAgUmVtb3ZlIGRpc3BsYXk6Y29udGVudHMgZmVhdHVyZSBmbGFnCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9QQUwvUEFMLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2Vi
Q29yZS9QQUwvUEFMLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggMGI2MTBjN2JkYWUx
N2RiN2JkYjI2MDM3OTAwN2E4NDFmNGY0Yjg3Ni4uODljOTM0MTFhZWU4MTEyODYwZmM5NTRhMDBl
NGMyZmI0Zjk1ZGVhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML1BBTC54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9QQUwueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagpAQCAtMTY4LDYgKzE2OCw3IEBACiAJCUNFNTY3Mzg3MjE1MUE3Qjkw
MDJGOTJENyAvKiBJT0tpdFNQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQ0U1NjczODYyMTUxQTdCOTAwMkY5MkQ3IC8qIElPS2l0U1BJLmggKi87IH07
CiAJCUU1RDQ1RDEyMjEwNkEwNzQwMEQyQjczOCAvKiBOU0NvbG9yV2VsbFNQSS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTVENDVEMTEyMTA2QTA3NDAw
RDJCNzM4IC8qIE5TQ29sb3JXZWxsU1BJLmggKi87IH07CiAJCUU1RDQ1RDE0MjEwNkExODcwMEQy
QjczOCAvKiBOU1BvcG92ZXJDb2xvcldlbGxTUEkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU1RDQ1RDEzMjEwNkExODcwMEQyQjczOCAvKiBOU1BvcG92
ZXJDb2xvcldlbGxTUEkuaCAqLzsgfTsKKwkJRUI3MDdGQTUyMzk3MzdGODAwNTkwNTNBIC8qIE9T
VmFyaWFudFNQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gRUI3MDdGQTQyMzk3MzdGODAwNTkwNTNBIC8qIE9TVmFyaWFudFNQSS5oICovOyB9OwogCQlG
NDQyOTE1RTFGQTUyNDczMDAyQ0M5M0UgLyogTlNGaWxlU2l6ZUZvcm1hdHRlclNQSS5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjQ0MjkxNUQxRkE1MjQ3
MzAwMkNDOTNFIC8qIE5TRmlsZVNpemVGb3JtYXR0ZXJTUEkuaCAqLzsgfTsKIAkJRjQ0MjkxNjAx
RkE1MjYxRTAwMkNDOTNFIC8qIEZpbGVTaXplRm9ybWF0dGVyLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNDQyOTE1RjFGQTUyNjFFMDAyQ0M5M0UgLyog
RmlsZVNpemVGb3JtYXR0ZXIuaCAqLzsgfTsKIAkJRjQ0MjkxNjQxRkE1MjY3MDAwMkNDOTNFIC8q
IEZpbGVTaXplRm9ybWF0dGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEY0NDI5MTYyMUZBNTI2NzAwMDJDQzkzRSAvKiBGaWxlU2l6ZUZvcm1hdHRl
ci5jcHAgKi87IH07CkBAIC0zNDIsNiArMzQzLDcgQEAKIAkJQ0U1NjczODYyMTUxQTdCOTAwMkY5
MkQ3IC8qIElPS2l0U1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IElPS2l0
U1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUU1RDQ1RDExMjEwNkEwNzQwMEQy
QjczOCAvKiBOU0NvbG9yV2VsbFNQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBOU0NvbG9yV2VsbFNQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFNUQ0NUQx
MzIxMDZBMTg3MDBEMkI3MzggLyogTlNQb3BvdmVyQ29sb3JXZWxsU1BJLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE5TUG9wb3ZlckNvbG9yV2VsbFNQSS5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQlFQjcwN0ZBNDIzOTczN0Y4MDA1OTA1M0EgLyogT1NWYXJpYW50
U1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE9TVmFyaWFudFNQSS5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGNDQyOTE1RDFGQTUyNDczMDAyQ0M5M0UgLyog
TlNGaWxlU2l6ZUZvcm1hdHRlclNQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBOU0ZpbGVTaXplRm9ybWF0
dGVyU1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY0NDI5MTVGMUZBNTI2MUUw
MDJDQzkzRSAvKiBGaWxlU2l6ZUZvcm1hdHRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBGaWxlU2l6ZUZv
cm1hdHRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGNDQyOTE2MjFGQTUyNjcw
MDAyQ0M5M0UgLyogRmlsZVNpemVGb3JtYXR0ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRmls
ZVNpemVGb3JtYXR0ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNDM4LDYg
KzQ0MCw3IEBACiAJCQkJMEMyREExMzcxRjNCRUI0OTAwREJDMzE3IC8qIE5TVVJMRG93bmxvYWRT
UEkuaCAqLywKIAkJCQkwQzJEQTEzODFGM0JFQjQ5MDBEQkMzMTcgLyogTlNVUkxGaWxlVHlwZU1h
cHBpbmdzU1BJLmggKi8sCiAJCQkJNTcwQUI4RjgyMEFGNkUzRDAwQjhCRTg3IC8qIE5TWFBDQ29u
bmVjdGlvblNQSS5oICovLAorCQkJCUVCNzA3RkE0MjM5NzM3RjgwMDU5MDUzQSAvKiBPU1Zhcmlh
bnRTUEkuaCAqLywKIAkJCQkwQzJEQTEzOTFGM0JFQjQ5MDBEQkMzMTcgLyogUGFzc0tpdFNQSS5o
ICovLAogCQkJCTBDMkRBMTNBMUYzQkVCNDkwMERCQzMxNyAvKiBwdGhyZWFkU1BJLmggKi8sCiAJ
CQkJMEMyREExM0IxRjNCRUI0OTAwREJDMzE3IC8qIFF1YXJ0ekNvcmVTUEkuaCAqLywKQEAgLTc5
Nyw2ICs4MDAsNyBAQAogCQkJCTBDNzc4NTlEMUY0NTEzMEYwMEY0RUJCNiAvKiBOU1dpbmRvd1NQ
SS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTcwQUI4RjkyMEFGNkUzRDAwQjhCRTg3IC8qIE5TWFBD
Q29ubmVjdGlvblNQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEM1QUY5MUYxRjQzQTRDNzAwMkVB
QzAyIC8qIE9wZW5HTEVTU1BJLmggaW4gSGVhZGVycyAqLywKKwkJCQlFQjcwN0ZBNTIzOTczN0Y4
MDA1OTA1M0EgLyogT1NWYXJpYW50U1BJLmggaW4gSGVhZGVycyAqLywKIAkJCQlBMUY2M0M5RjIx
QTREQkY3MDA2RkI0M0IgLyogUGFzc0tpdFNvZnRMaW5rLmggaW4gSGVhZGVycyAqLywKIAkJCQkw
QzJEQTE1NTFGM0JFQjQ5MDBEQkMzMTcgLyogUGFzc0tpdFNQSS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJMEM3Nzg1OUUxRjQ1MTMwRjAwRjRFQkI2IC8qIFBJUFNQSS5oIGluIEhlYWRlcnMgKi8sCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL1BsYXRmb3JtTWFjLmNtYWtlIGIvU291
cmNlL1dlYkNvcmUvUEFML3BhbC9QbGF0Zm9ybU1hYy5jbWFrZQppbmRleCBlM2Y3YTMyOGM2MTc1
MzY0NTI1OTljOGRmYmUwMGRlMjEzZmFlNjk1Li4yMTk3MjRkNGU4ZmQ2NTRiMDg0Mjg0ODBkYzEz
ZmE2Zjc2MWE4YTFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL1BsYXRmb3Jt
TWFjLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvUGxhdGZvcm1NYWMuY21ha2UK
QEAgLTUyLDYgKzUyLDcgQEAgbGlzdChBUFBFTkQgUEFMX1BVQkxJQ19IRUFERVJTCiAgICAgc3Bp
L2NvY29hL05TVVJMRG93bmxvYWRTUEkuaAogICAgIHNwaS9jb2NvYS9OU1VSTEZpbGVUeXBlTWFw
cGluZ3NTUEkuaAogICAgIHNwaS9jb2NvYS9OU1hQQ0Nvbm5lY3Rpb25TUEkuaAorICAgIHNwaS9j
b2NvYS9PU1ZhcmlhbnRTUEkuaAogICAgIHNwaS9jb2NvYS9QYXNzS2l0U1BJLmgKICAgICBzcGkv
Y29jb2EvUXVhcnR6Q29yZVNQSS5oCiAgICAgc3BpL2NvY29hL1NlY0tleVByb3h5U1BJLmgKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL09TVmFyaWFudFNQSS5o
IGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY29jb2EvT1NWYXJpYW50U1BJLmgKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uOWU5NGE2OWUyMzNjNjRlYTVjMTI4NTQxYWIzNTUxNWRiYWNhYzIzMAotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL09TVmFyaWFudFNQSS5o
CkBAIC0wLDAgKzEsMzggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQtMjAxOSBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwor
ICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAq
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYg
VVNFKEFQUExFX0lOVEVSTkFMX1NESykKKworI2ltcG9ydCA8b3MvdmFyaWFudF9wcml2YXRlLmg+
CisKKyNlbHNlCisKK1dURl9FWFRFUk5fQ19CRUdJTgorYm9vbCBvc192YXJpYW50X2FsbG93c19p
bnRlcm5hbF9zZWN1cml0eV9wb2xpY2llcyhjb25zdCBjaGFyICopOworV1RGX0VYVEVSTl9DX0VO
RAorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29j
b2EvTmV0d29ya0RhdGFUYXNrQ29jb2EuaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
Y29jb2EvTmV0d29ya0RhdGFUYXNrQ29jb2EuaAppbmRleCBlYzYwMDQ4ZTk2ZTAyMGUwNmIwNjlm
ZGZjNGY3YWJhNzFiYzFlY2UyLi40MWYwNzllOTJkNGI5ZjVhMDUxMzhlNjgzMDNjZjc4MzNjNmYy
Yjk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdv
cmtEYXRhVGFza0NvY29hLmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2Nv
YS9OZXR3b3JrRGF0YVRhc2tDb2NvYS5oCkBAIC01NCw2ICs1NCw3IEBAIHB1YmxpYzoKICAgICB2
b2lkIGRpZFNlbmREYXRhKHVpbnQ2NF90IHRvdGFsQnl0ZXNTZW50LCB1aW50NjRfdCB0b3RhbEJ5
dGVzRXhwZWN0ZWRUb1NlbmQpOwogICAgIHZvaWQgZGlkUmVjZWl2ZUNoYWxsZW5nZShXZWJDb3Jl
OjpBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSYmLCBDaGFsbGVuZ2VDb21wbGV0aW9uSGFuZGxlciYm
KTsKICAgICB2b2lkIGRpZENvbXBsZXRlV2l0aEVycm9yKGNvbnN0IFdlYkNvcmU6OlJlc291cmNl
RXJyb3ImLCBjb25zdCBXZWJDb3JlOjpOZXR3b3JrTG9hZE1ldHJpY3MmKTsKKyAgICB2b2lkIGRp
ZFJlY2VpdmVSZXNwb25zZShXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJiYsIFJlc3BvbnNlQ29t
cGxldGlvbkhhbmRsZXImJik7CiAgICAgdm9pZCBkaWRSZWNlaXZlRGF0YShSZWY8V2ViQ29yZTo6
U2hhcmVkQnVmZmVyPiYmKTsKIAogICAgIHZvaWQgd2lsbFBlcmZvcm1IVFRQUmVkaXJlY3Rpb24o
V2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYmLCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmJiwg
UmVkaXJlY3RDb21wbGV0aW9uSGFuZGxlciYmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya0RhdGFUYXNrQ29jb2EubW0gYi9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtEYXRhVGFza0NvY29hLm1tCmluZGV4IDcz
ZTZiOWU5NzQzZTljYTJiZGE2NTgzNGQ3Y2E2N2MxOTUyM2JiNWQuLmQ2YmEyMTk3YjAwOGU5Mjlk
NDk5NGJmMTM1Njg0NGY1ZTViYmFmNmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvY29jb2EvTmV0d29ya0RhdGFUYXNrQ29jb2EubW0KKysrIGIvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrRGF0YVRhc2tDb2NvYS5tbQpAQCAtNDEsNiAr
NDEsNyBAQAogI2ltcG9ydCA8V2ViQ29yZS9SZWdpc3RyYWJsZURvbWFpbi5oPgogI2ltcG9ydCA8
V2ViQ29yZS9SZXNvdXJjZVJlcXVlc3QuaD4KICNpbXBvcnQgPHBhbC9zcGkvY2YvQ0ZOZXR3b3Jr
U1BJLmg+CisjaW1wb3J0IDxwYWwvc3BpL2NvY29hL09TVmFyaWFudFNQSS5oPgogI2ltcG9ydCA8
d3RmL0Jsb2NrUHRyLmg+CiAjaW1wb3J0IDx3dGYvRmlsZVN5c3RlbS5oPgogI2ltcG9ydCA8d3Rm
L01haW5UaHJlYWQuaD4KQEAgLTU4LDYgKzU5LDYxIEBACiAjZGVmaW5lIE5FVFdPUktfREFUQV9U
QVNLX0NPQ09BX0FERElUSU9OU18yCiAjZW5kaWYKIAorI2lmIF9faGFzX2luY2x1ZGUoPG9zL3Np
Z25wb3N0Lmg+KQorCisjaW1wb3J0IDxvcy9zaWducG9zdC5oPgorCitzdGF0aWMgb3NfbG9nX3Qg
c2lnbnBvc3RMb2dIYW5kbGUoKQoreworICAgIHN0YXRpYyBkaXNwYXRjaF9vbmNlX3Qgb25jZTsK
KyAgICBzdGF0aWMgb3NfbG9nX3QgaGFuZGxlOworCisgICAgZGlzcGF0Y2hfb25jZSgmb25jZSwg
XnsKKyAgICAgICAgaGFuZGxlID0gb3NfbG9nX2NyZWF0ZShMT0dfQ0hBTk5FTF9XRUJLSVRfU1VC
U1lTVEVNLCAiRGF0YVRhc2siKTsKKyAgICB9KTsKKworICAgIHJldHVybiBoYW5kbGU7Cit9CisK
K3N0YXRpYyBib29sIHNpZ25wb3N0c0VuYWJsZWQoKQoreworICAgIHN0YXRpYyBkaXNwYXRjaF9v
bmNlX3Qgb25jZTsKKyAgICBzdGF0aWMgYm9vbCBlbmFibGVkOworCisgICAgZGlzcGF0Y2hfb25j
ZSgmb25jZSwgXnsKKyAgICAgICAgaWYgKG9zX3ZhcmlhbnRfYWxsb3dzX2ludGVybmFsX3NlY3Vy
aXR5X3BvbGljaWVzKCJjb20uYXBwbGUuV2ViS2l0IikpCisgICAgICAgICAgICBlbmFibGVkID0g
IXN0cmNtcChnZXRlbnYoIldFQktJVF9EQVRBX1RBU0tfU0lHTlBPU1RTIikgPzogIjAiLCAiMSIp
OworICAgIH0pOworCisgICAgcmV0dXJuIGVuYWJsZWQ7Cit9CisKKyNkZWZpbmUgRU1JVF9TSUdO
UE9TVF9XSVRIX0ZVTkNUSU9OKGVtaXRGdW5jLCB0YXNrLCAuLi4pIFwKKyAgICBkbyB7IFwKKyAg
ICAgICAgaWYgKHNpZ25wb3N0c0VuYWJsZWQoKSkgeyBcCisgICAgICAgICAgICBvc19sb2dfdCBo
YW5kbGUgPSBzaWducG9zdExvZ0hhbmRsZSgpOyBcCisgICAgICAgICAgICBvc19zaWducG9zdF9p
ZF90IHNpZ25wb3N0SUQgPSBvc19zaWducG9zdF9pZF9tYWtlX3dpdGhfcG9pbnRlcihzaWducG9z
dExvZ0hhbmRsZSgpLCAodGFzaykuZ2V0KCkpOyBcCisgICAgICAgICAgICBlbWl0RnVuYyhoYW5k
bGUsIHNpZ25wb3N0SUQsICJEYXRhVGFzayIsICMjX19WQV9BUkdTX18pOyBcCisgICAgICAgIH0g
XAorICAgIH0gd2hpbGUgKDApCisKKyNkZWZpbmUgQkVHSU5fU0lHTlBPU1QodGFzaywgLi4uKSBc
CisgICAgRU1JVF9TSUdOUE9TVF9XSVRIX0ZVTkNUSU9OKG9zX3NpZ25wb3N0X2ludGVydmFsX2Jl
Z2luLCAodGFzayksICMjX19WQV9BUkdTX18pCisKKyNkZWZpbmUgRU5EX1NJR05QT1NUKHRhc2ss
IC4uLikgXAorICAgIEVNSVRfU0lHTlBPU1RfV0lUSF9GVU5DVElPTihvc19zaWducG9zdF9pbnRl
cnZhbF9lbmQsICh0YXNrKSwgIyNfX1ZBX0FSR1NfXykKKworI2RlZmluZSBFTUlUX1NJR05QT1NU
KHRhc2ssIC4uLikgXAorICAgIEVNSVRfU0lHTlBPU1RfV0lUSF9GVU5DVElPTihvc19zaWducG9z
dF9ldmVudF9lbWl0LCAodGFzayksICMjX19WQV9BUkdTX18pCisKKyNlbHNlCisKKyNkZWZpbmUg
QkVHSU5fU0lHTlBPU1QodGFzaywgLi4uKSBkbyB7IH0gd2hpbGUgKDApCisjZGVmaW5lIEVORF9T
SUdOUE9TVCh0YXNrLCAuLi4pIGRvIHsgfSB3aGlsZSAoMCkKKyNkZWZpbmUgRU1JVF9TSUdOUE9T
VCh0YXNrLCAuLi4pIGRvIHsgfSB3aGlsZSAoMCkKKworI2VuZGlmCisKIG5hbWVzcGFjZSBXZWJL
aXQgewogCiAjaWYgVVNFKENSRURFTlRJQUxfU1RPUkFHRV9XSVRIX05FVFdPUktfU0VTU0lPTikK
QEAgLTIzMiw2ICsyODgsOCBAQCBOZXR3b3JrRGF0YVRhc2tDb2NvYTo6TmV0d29ya0RhdGFUYXNr
Q29jb2EoTmV0d29ya1Nlc3Npb24mIHNlc3Npb24sIE5ldHdvcmtEYXRhVAogICAgIAogICAgIE5F
VFdPUktfREFUQV9UQVNLX0NPQ09BX0FERElUSU9OU18xOwogCisgICAgQkVHSU5fU0lHTlBPU1Qo
bV90YXNrLCAiJXtwdWJsaWN9cyBwcmk6ICVmIHByZWNvbm5lY3Q6ICVkIiwgdXJsLnN0cmluZygp
LmFzY2lpKCkuZGF0YSgpLCB0b05TVVJMU2Vzc2lvblRhc2tQcmlvcml0eShyZXF1ZXN0LnByaW9y
aXR5KCkpLCBzaG91bGRQcmVjb25uZWN0T25seSA9PSBQcmVjb25uZWN0T25seTo6WWVzKTsKKwog
ICAgIFJFTEVBU0VfQVNTRVJUKCFtX3Nlc3Npb25XcmFwcGVyLmRhdGFUYXNrTWFwLmNvbnRhaW5z
KFttX3Rhc2sgdGFza0lkZW50aWZpZXJdKSk7CiAgICAgbV9zZXNzaW9uV3JhcHBlci5kYXRhVGFz
a01hcC5hZGQoW21fdGFzayB0YXNrSWRlbnRpZmllcl0sIHRoaXMpOwogICAgIExPRyhOZXR3b3Jr
U2Vzc2lvbiwgIiVsbHUgQ3JlYXRpbmcgTmV0d29ya0RhdGFUYXNrIHdpdGggVVJMICVzIiwgW21f
dGFzayB0YXNrSWRlbnRpZmllcl0sIG5zUmVxdWVzdC5VUkwuYWJzb2x1dGVTdHJpbmcuVVRGOFN0
cmluZyk7CkBAIC0yODQsMTIgKzM0MiwxNiBAQCB2b2lkIE5ldHdvcmtEYXRhVGFza0NvY29hOjpy
ZXN0cmljdFJlcXVlc3RSZWZlcnJlclRvT3JpZ2luSWZOZWVkZWQoV2ViQ29yZTo6UmVzbwogCiB2
b2lkIE5ldHdvcmtEYXRhVGFza0NvY29hOjpkaWRTZW5kRGF0YSh1aW50NjRfdCB0b3RhbEJ5dGVz
U2VudCwgdWludDY0X3QgdG90YWxCeXRlc0V4cGVjdGVkVG9TZW5kKQogeworICAgIEVNSVRfU0lH
TlBPU1QobV90YXNrLCAic2VudCAlbGx1IGJ5dGVzIChleHBlY3RlZCAlbGx1IGJ5dGVzKSIsIHRv
dGFsQnl0ZXNTZW50LCB0b3RhbEJ5dGVzRXhwZWN0ZWRUb1NlbmQpOworCiAgICAgaWYgKG1fY2xp
ZW50KQogICAgICAgICBtX2NsaWVudC0+ZGlkU2VuZERhdGEodG90YWxCeXRlc1NlbnQsIHRvdGFs
Qnl0ZXNFeHBlY3RlZFRvU2VuZCk7CiB9CiAKIHZvaWQgTmV0d29ya0RhdGFUYXNrQ29jb2E6OmRp
ZFJlY2VpdmVDaGFsbGVuZ2UoV2ViQ29yZTo6QXV0aGVudGljYXRpb25DaGFsbGVuZ2UmJiBjaGFs
bGVuZ2UsIENoYWxsZW5nZUNvbXBsZXRpb25IYW5kbGVyJiYgY29tcGxldGlvbkhhbmRsZXIpCiB7
CisgICAgRU1JVF9TSUdOUE9TVChtX3Rhc2ssICJyZWNlaXZlZCBjaGFsbGVuZ2UiKTsKKwogICAg
IGlmICh0cnlQYXNzd29yZEJhc2VkQXV0aGVudGljYXRpb24oY2hhbGxlbmdlLCBjb21wbGV0aW9u
SGFuZGxlcikpCiAgICAgICAgIHJldHVybjsKIApAQCAtMzAzLDE4ICszNjUsMzMgQEAgdm9pZCBO
ZXR3b3JrRGF0YVRhc2tDb2NvYTo6ZGlkUmVjZWl2ZUNoYWxsZW5nZShXZWJDb3JlOjpBdXRoZW50
aWNhdGlvbkNoYWxsZW5nZSYKIAogdm9pZCBOZXR3b3JrRGF0YVRhc2tDb2NvYTo6ZGlkQ29tcGxl
dGVXaXRoRXJyb3IoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VFcnJvciYgZXJyb3IsIGNvbnN0IFdl
YkNvcmU6Ok5ldHdvcmtMb2FkTWV0cmljcyYgbmV0d29ya0xvYWRNZXRyaWNzKQogeworICAgIGlm
IChlcnJvci5pc051bGwoKSkKKyAgICAgICAgRU5EX1NJR05QT1NUKG1fdGFzaywgImNvbXBsZXRl
ZCIpOworICAgIGVsc2UKKyAgICAgICAgRU5EX1NJR05QT1NUKG1fdGFzaywgImZhaWxlZCIpOwor
CiAgICAgaWYgKG1fY2xpZW50KQogICAgICAgICBtX2NsaWVudC0+ZGlkQ29tcGxldGVXaXRoRXJy
b3IoZXJyb3IsIG5ldHdvcmtMb2FkTWV0cmljcyk7CiB9CiAKIHZvaWQgTmV0d29ya0RhdGFUYXNr
Q29jb2E6OmRpZFJlY2VpdmVEYXRhKFJlZjxXZWJDb3JlOjpTaGFyZWRCdWZmZXI+JiYgZGF0YSkK
IHsKKyAgICBFTUlUX1NJR05QT1NUKG1fdGFzaywgInJlY2VpdmVkICV6ZCBieXRlcyIsIGRhdGEt
PnNpemUoKSk7CisKICAgICBpZiAobV9jbGllbnQpCiAgICAgICAgIG1fY2xpZW50LT5kaWRSZWNl
aXZlRGF0YShXVEZNb3ZlKGRhdGEpKTsKIH0KIAordm9pZCBOZXR3b3JrRGF0YVRhc2tDb2NvYTo6
ZGlkUmVjZWl2ZVJlc3BvbnNlKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmJiByZXNwb25zZSwg
V2ViS2l0OjpSZXNwb25zZUNvbXBsZXRpb25IYW5kbGVyJiYgY29tcGxldGlvbkhhbmRsZXIpCit7
CisgICAgRU1JVF9TSUdOUE9TVChtX3Rhc2ssICJyZWNlaXZlZCByZXNwb25zZSBoZWFkZXJzIik7
CisgICAgTmV0d29ya0RhdGFUYXNrOjpkaWRSZWNlaXZlUmVzcG9uc2UoV1RGTW92ZShyZXNwb25z
ZSksIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKK30KKwogdm9pZCBOZXR3b3JrRGF0YVRh
c2tDb2NvYTo6d2lsbFBlcmZvcm1IVFRQUmVkaXJlY3Rpb24oV2ViQ29yZTo6UmVzb3VyY2VSZXNw
b25zZSYmIHJlZGlyZWN0UmVzcG9uc2UsIFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYmIHJlcXVl
c3QsIFJlZGlyZWN0Q29tcGxldGlvbkhhbmRsZXImJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKKyAg
ICBFTUlUX1NJR05QT1NUKG1fdGFzaywgInJlZGlyZWN0Iik7CisKICAgICBpZiAocmVkaXJlY3RS
ZXNwb25zZS5odHRwU3RhdHVzQ29kZSgpID09IDMwNyB8fCByZWRpcmVjdFJlc3BvbnNlLmh0dHBT
dGF0dXNDb2RlKCkgPT0gMzA4KSB7CiAgICAgICAgIEFTU0VSVChtX2xhc3RIVFRQTWV0aG9kID09
IHJlcXVlc3QuaHR0cE1ldGhvZCgpKTsKICAgICAgICAgV2ViQ29yZTo6Rm9ybURhdGEqIGJvZHkg
PSBtX2ZpcnN0UmVxdWVzdC5odHRwQm9keSgpOwpAQCAtNDcwLDExICs1NDcsMTQgQEAgU3RyaW5n
IE5ldHdvcmtEYXRhVGFza0NvY29hOjpzdWdnZXN0ZWRGaWxlbmFtZSgpIGNvbnN0CiAKIHZvaWQg
TmV0d29ya0RhdGFUYXNrQ29jb2E6OmNhbmNlbCgpCiB7CisgICAgRU1JVF9TSUdOUE9TVChtX3Rh
c2ssICJjYW5jZWwiKTsKICAgICBbbV90YXNrIGNhbmNlbF07CiB9CiAKIHZvaWQgTmV0d29ya0Rh
dGFUYXNrQ29jb2E6OnJlc3VtZSgpCiB7CisgICAgRU1JVF9TSUdOUE9TVChtX3Rhc2ssICJyZXN1
bWUiKTsKKwogICAgIGlmIChtX3NjaGVkdWxlZEZhaWx1cmVUeXBlICE9IE5vRmFpbHVyZSkKICAg
ICAgICAgbV9mYWlsdXJlVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>385798</attachid>
            <date>2019-12-16 12:49:56 -0800</date>
            <delta_ts>2019-12-17 14:36:16 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-204822-20191216124956.patch</filename>
            <type>text/plain</type>
            <size>14918</size>
            <attacher name="Ben Nham">nham</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUzNTcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Q
QUwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwppbmRleCA4ZWJlNjU4
YTc1MDA3Mzc4ZmVmOWFkZjVlNzFiNzgyZmZjNzgzMzljLi45MzQ0Yzg5ZDE0NjVkMjk0NDVkNWRl
OTZmNTRmOTA2MjE4OTBhZDMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAor
MjAxOS0xMi0xNiAgQmVuIE5oYW0gIDxuaGFtQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgbmV0
d29yayBsb2FkaW5nIHNpZ25wb3N0cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjA0ODIyCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81NzYwODgyND4K
KworICAgICAgICBSZXZpZXdlZCBieSBBbGV4IENocmlzdGVuc2VuLgorCisgICAgICAgIFRoaXMg
YWRkcyBvc19zaWducG9zdHMgcmVsYXRlZCB0byBuZXR3b3JrIGxvYWRzIHRvIGFpZCBpbiBkZWJ1
Z2dpbmcgbmV0d29ya2luZyBwZXJmb3JtYW5jZQorICAgICAgICBpc3N1ZXMuIFNpbmNlIFVSTHMg
YXJlIGxvZ2dlZCBpbiB0aGUgc2lnbnBvc3RzLCB0aGlzIGNhcGFiaWxpdHkgaXMgb25seSBlbmFi
bGVkIG9uIEFwcGxlCisgICAgICAgIGludGVybmFsIGJ1aWxkcyB3aGVuIGFuIGVudmlyb25tZW50
IHZhcmlhYmxlIGlzIHNldC4KKworICAgICAgICAqIFBBTC54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qOgorICAgICAgICAqIHBhbC9QbGF0Zm9ybU1hYy5jbWFrZToKKyAgICAgICAgKiBwYWwvc3Bp
L2NvY29hL09TVmFyaWFudFNQSS5oOiBBZGRlZC4KKwogMjAxOS0xMi0wNSAgQ2hyaXMgRHVtZXog
IDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFtJUENdIEZhaWwgUEFMOjpTZXNzaW9uSUQg
ZGVjb2RpbmcgaWYgdGhlIGRlY29kZWQgaW50ZWdlciBpcyBub3QgYSB2YWxpZCBzZXNzaW9uIElE
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hh
bmdlTG9nCmluZGV4IDIxMGFhYTNlNTc1YWJlNjQ5NGNmOTA5MTc1YWY2OWEyODEyZWRiNjIuLmRm
NWFhN2JmNjQzOTBmNGZmODM5NDEyYmVlZTY0ZWJhMzA0N2U1YTIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMjkgQEAKKzIwMTktMTItMTYgIEJlbiBOaGFtICA8bmhhbUBhcHBsZS5jb20+CisKKyAgICAg
ICAgQWRkIG5ldHdvcmsgbG9hZGluZyBzaWducG9zdHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNDgyMgorICAgICAgICA8cmRhcjovL3Byb2JsZW0v
NTc2MDg4MjQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQWxleCBDaHJpc3RlbnNlbi4KKworICAg
ICAgICBUaGlzIGFkZHMgb3Nfc2lnbnBvc3RzIHJlbGF0ZWQgdG8gbmV0d29yayBsb2FkcyB0byBh
aWQgaW4gZGVidWdnaW5nIG5ldHdvcmtpbmcgcGVyZm9ybWFuY2UKKyAgICAgICAgaXNzdWVzLiBT
aW5jZSBVUkxzIGFyZSBsb2dnZWQgaW4gdGhlIHNpZ25wb3N0cywgdGhpcyBjYXBhYmlsaXR5IGlz
IG9ubHkgZW5hYmxlZCBvbiBBcHBsZQorICAgICAgICBpbnRlcm5hbCBidWlsZHMgd2hlbiBhbiBl
bnZpcm9ubWVudCB2YXJpYWJsZSBpcyBzZXQuCisKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9j
b2NvYS9OZXR3b3JrRGF0YVRhc2tDb2NvYS5oOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL2Nv
Y29hL05ldHdvcmtEYXRhVGFza0NvY29hLm1tOgorICAgICAgICAoV2ViS2l0OjpzaWducG9zdExv
Z0hhbmRsZSk6CisgICAgICAgIChXZWJLaXQ6OnNpZ25wb3N0c0VuYWJsZWQpOgorICAgICAgICAo
V2ViS2l0OjpOZXR3b3JrRGF0YVRhc2tDb2NvYTo6TmV0d29ya0RhdGFUYXNrQ29jb2EpOgorICAg
ICAgICAoV2ViS2l0OjpOZXR3b3JrRGF0YVRhc2tDb2NvYTo6ZGlkU2VuZERhdGEpOgorICAgICAg
ICAoV2ViS2l0OjpOZXR3b3JrRGF0YVRhc2tDb2NvYTo6ZGlkUmVjZWl2ZUNoYWxsZW5nZSk6Cisg
ICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtEYXRhVGFza0NvY29hOjpkaWRDb21wbGV0ZVdpdGhFcnJv
cik6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtEYXRhVGFza0NvY29hOjpkaWRSZWNlaXZlRGF0
YSk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtEYXRhVGFza0NvY29hOjpkaWRSZWNlaXZlUmVz
cG9uc2UpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrRGF0YVRhc2tDb2NvYTo6d2lsbFBlcmZv
cm1IVFRQUmVkaXJlY3Rpb24pOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrRGF0YVRhc2tDb2Nv
YTo6Y2FuY2VsKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0RhdGFUYXNrQ29jb2E6OnJlc3Vt
ZSk6CisKIDIwMTktMTItMTYgIEFudHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgogCiAg
ICAgICAgIFJlbW92ZSBkaXNwbGF5OmNvbnRlbnRzIGZlYXR1cmUgZmxhZwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvUEFML1BBTC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNl
L1dlYkNvcmUvUEFML1BBTC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDBiNjEwYzdi
ZGFlMTdkYjdiZGIyNjAzNzkwMDdhODQxZjRmNGI4NzYuLjg5YzkzNDExYWVlODExMjg2MGZjOTU0
YTAwZTRjMmZiNGY5NWRlYTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9QQUwueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvUEFMLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTE2OCw2ICsxNjgsNyBAQAogCQlDRTU2NzM4NzIxNTFB
N0I5MDAyRjkyRDcgLyogSU9LaXRTUEkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IENFNTY3Mzg2MjE1MUE3QjkwMDJGOTJENyAvKiBJT0tpdFNQSS5oICov
OyB9OwogCQlFNUQ0NUQxMjIxMDZBMDc0MDBEMkI3MzggLyogTlNDb2xvcldlbGxTUEkuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU1RDQ1RDExMjEwNkEw
NzQwMEQyQjczOCAvKiBOU0NvbG9yV2VsbFNQSS5oICovOyB9OwogCQlFNUQ0NUQxNDIxMDZBMTg3
MDBEMkI3MzggLyogTlNQb3BvdmVyQ29sb3JXZWxsU1BJLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFNUQ0NUQxMzIxMDZBMTg3MDBEMkI3MzggLyogTlNQ
b3BvdmVyQ29sb3JXZWxsU1BJLmggKi87IH07CisJCUVCNzA3RkE1MjM5NzM3RjgwMDU5MDUzQSAv
KiBPU1ZhcmlhbnRTUEkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEVCNzA3RkE0MjM5NzM3RjgwMDU5MDUzQSAvKiBPU1ZhcmlhbnRTUEkuaCAqLzsgfTsK
IAkJRjQ0MjkxNUUxRkE1MjQ3MzAwMkNDOTNFIC8qIE5TRmlsZVNpemVGb3JtYXR0ZXJTUEkuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY0NDI5MTVEMUZB
NTI0NzMwMDJDQzkzRSAvKiBOU0ZpbGVTaXplRm9ybWF0dGVyU1BJLmggKi87IH07CiAJCUY0NDI5
MTYwMUZBNTI2MUUwMDJDQzkzRSAvKiBGaWxlU2l6ZUZvcm1hdHRlci5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjQ0MjkxNUYxRkE1MjYxRTAwMkNDOTNF
IC8qIEZpbGVTaXplRm9ybWF0dGVyLmggKi87IH07CiAJCUY0NDI5MTY0MUZBNTI2NzAwMDJDQzkz
RSAvKiBGaWxlU2l6ZUZvcm1hdHRlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBGNDQyOTE2MjFGQTUyNjcwMDAyQ0M5M0UgLyogRmlsZVNpemVGb3Jt
YXR0ZXIuY3BwICovOyB9OwpAQCAtMzQyLDYgKzM0Myw3IEBACiAJCUNFNTY3Mzg2MjE1MUE3Qjkw
MDJGOTJENyAvKiBJT0tpdFNQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJ
T0tpdFNQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFNUQ0NUQxMTIxMDZBMDc0
MDBEMkI3MzggLyogTlNDb2xvcldlbGxTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gTlNDb2xvcldlbGxTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTVE
NDVEMTMyMTA2QTE4NzAwRDJCNzM4IC8qIE5TUG9wb3ZlckNvbG9yV2VsbFNQSS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBOU1BvcG92ZXJDb2xvcldlbGxTUEkuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRUI3MDdGQTQyMzk3MzdGODAwNTkwNTNBIC8qIE9TVmFy
aWFudFNQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBPU1ZhcmlhbnRTUEku
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjQ0MjkxNUQxRkE1MjQ3MzAwMkNDOTNF
IC8qIE5TRmlsZVNpemVGb3JtYXR0ZXJTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTlNGaWxlU2l6ZUZv
cm1hdHRlclNQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGNDQyOTE1RjFGQTUy
NjFFMDAyQ0M5M0UgLyogRmlsZVNpemVGb3JtYXR0ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRmlsZVNp
emVGb3JtYXR0ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjQ0MjkxNjIxRkE1
MjY3MDAwMkNDOTNFIC8qIEZpbGVTaXplRm9ybWF0dGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IEZpbGVTaXplRm9ybWF0dGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTQz
OCw2ICs0NDAsNyBAQAogCQkJCTBDMkRBMTM3MUYzQkVCNDkwMERCQzMxNyAvKiBOU1VSTERvd25s
b2FkU1BJLmggKi8sCiAJCQkJMEMyREExMzgxRjNCRUI0OTAwREJDMzE3IC8qIE5TVVJMRmlsZVR5
cGVNYXBwaW5nc1NQSS5oICovLAogCQkJCTU3MEFCOEY4MjBBRjZFM0QwMEI4QkU4NyAvKiBOU1hQ
Q0Nvbm5lY3Rpb25TUEkuaCAqLywKKwkJCQlFQjcwN0ZBNDIzOTczN0Y4MDA1OTA1M0EgLyogT1NW
YXJpYW50U1BJLmggKi8sCiAJCQkJMEMyREExMzkxRjNCRUI0OTAwREJDMzE3IC8qIFBhc3NLaXRT
UEkuaCAqLywKIAkJCQkwQzJEQTEzQTFGM0JFQjQ5MDBEQkMzMTcgLyogcHRocmVhZFNQSS5oICov
LAogCQkJCTBDMkRBMTNCMUYzQkVCNDkwMERCQzMxNyAvKiBRdWFydHpDb3JlU1BJLmggKi8sCkBA
IC03OTcsNiArODAwLDcgQEAKIAkJCQkwQzc3ODU5RDFGNDUxMzBGMDBGNEVCQjYgLyogTlNXaW5k
b3dTUEkuaCBpbiBIZWFkZXJzICovLAogCQkJCTU3MEFCOEY5MjBBRjZFM0QwMEI4QkU4NyAvKiBO
U1hQQ0Nvbm5lY3Rpb25TUEkuaCBpbiBIZWFkZXJzICovLAogCQkJCTBDNUFGOTFGMUY0M0E0Qzcw
MDJFQUMwMiAvKiBPcGVuR0xFU1NQSS5oIGluIEhlYWRlcnMgKi8sCisJCQkJRUI3MDdGQTUyMzk3
MzdGODAwNTkwNTNBIC8qIE9TVmFyaWFudFNQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTFGNjND
OUYyMUE0REJGNzAwNkZCNDNCIC8qIFBhc3NLaXRTb2Z0TGluay5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJMEMyREExNTUxRjNCRUI0OTAwREJDMzE3IC8qIFBhc3NLaXRTUEkuaCBpbiBIZWFkZXJzICov
LAogCQkJCTBDNzc4NTlFMUY0NTEzMEYwMEY0RUJCNiAvKiBQSVBTUEkuaCBpbiBIZWFkZXJzICov
LApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9QbGF0Zm9ybU1hYy5jbWFrZSBi
L1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvUGxhdGZvcm1NYWMuY21ha2UKaW5kZXggZTNmN2EzMjhj
NjE3NTM2NDUyNTk5YzhkZmJlMDBkZTIxM2ZhZTY5NS4uMjE5NzI0ZDRlOGZkNjU0YjA4NDI4NDgw
ZGMxM2ZhNmY3NjFhOGExZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9QbGF0
Zm9ybU1hYy5jbWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL1BsYXRmb3JtTWFjLmNt
YWtlCkBAIC01Miw2ICs1Miw3IEBAIGxpc3QoQVBQRU5EIFBBTF9QVUJMSUNfSEVBREVSUwogICAg
IHNwaS9jb2NvYS9OU1VSTERvd25sb2FkU1BJLmgKICAgICBzcGkvY29jb2EvTlNVUkxGaWxlVHlw
ZU1hcHBpbmdzU1BJLmgKICAgICBzcGkvY29jb2EvTlNYUENDb25uZWN0aW9uU1BJLmgKKyAgICBz
cGkvY29jb2EvT1NWYXJpYW50U1BJLmgKICAgICBzcGkvY29jb2EvUGFzc0tpdFNQSS5oCiAgICAg
c3BpL2NvY29hL1F1YXJ0ekNvcmVTUEkuaAogICAgIHNwaS9jb2NvYS9TZWNLZXlQcm94eVNQSS5o
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jb2NvYS9PU1ZhcmlhbnRT
UEkuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL09TVmFyaWFudFNQSS5oCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjg5YjgwMmVhYmM4ZWFhOTA0OWIyNzYzZjk5Y2Y5MWNiYzhlZTIyYzYKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jb2NvYS9PU1ZhcmlhbnRT
UEkuaApAQCAtMCwwICsxLDM4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisg
KiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICog
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBV
U0UoQVBQTEVfSU5URVJOQUxfU0RLKQorCisjaW1wb3J0IDxvcy92YXJpYW50X3ByaXZhdGUuaD4K
KworI2Vsc2UKKworV1RGX0VYVEVSTl9DX0JFR0lOCitib29sIG9zX3ZhcmlhbnRfYWxsb3dzX2lu
dGVybmFsX3NlY3VyaXR5X3BvbGljaWVzKGNvbnN0IGNoYXIgKik7CitXVEZfRVhURVJOX0NfRU5E
CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2Nv
YS9OZXR3b3JrRGF0YVRhc2tDb2NvYS5oIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9j
b2NvYS9OZXR3b3JrRGF0YVRhc2tDb2NvYS5oCmluZGV4IGVjNjAwNDhlOTZlMDIwZTA2YjA2OWZk
ZmM0ZjdhYmE3MWJjMWVjZTIuLjQxZjA3OWU5MmQ0YjlmNWEwNTEzOGU2ODMwM2NmNzgzM2M2ZjJi
OTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29y
a0RhdGFUYXNrQ29jb2EuaAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29h
L05ldHdvcmtEYXRhVGFza0NvY29hLmgKQEAgLTU0LDYgKzU0LDcgQEAgcHVibGljOgogICAgIHZv
aWQgZGlkU2VuZERhdGEodWludDY0X3QgdG90YWxCeXRlc1NlbnQsIHVpbnQ2NF90IHRvdGFsQnl0
ZXNFeHBlY3RlZFRvU2VuZCk7CiAgICAgdm9pZCBkaWRSZWNlaXZlQ2hhbGxlbmdlKFdlYkNvcmU6
OkF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlJiYsIENoYWxsZW5nZUNvbXBsZXRpb25IYW5kbGVyJiYp
OwogICAgIHZvaWQgZGlkQ29tcGxldGVXaXRoRXJyb3IoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VF
cnJvciYsIGNvbnN0IFdlYkNvcmU6Ok5ldHdvcmtMb2FkTWV0cmljcyYpOworICAgIHZvaWQgZGlk
UmVjZWl2ZVJlc3BvbnNlKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmJiwgUmVzcG9uc2VDb21w
bGV0aW9uSGFuZGxlciYmKTsKICAgICB2b2lkIGRpZFJlY2VpdmVEYXRhKFJlZjxXZWJDb3JlOjpT
aGFyZWRCdWZmZXI+JiYpOwogCiAgICAgdm9pZCB3aWxsUGVyZm9ybUhUVFBSZWRpcmVjdGlvbihX
ZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJiYsIFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYmLCBS
ZWRpcmVjdENvbXBsZXRpb25IYW5kbGVyJiYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrRGF0YVRhc2tDb2NvYS5tbSBiL1NvdXJjZS9XZWJL
aXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya0RhdGFUYXNrQ29jb2EubW0KaW5kZXggNzNl
NmI5ZTk3NDNlOWNhMmJkYTY1ODM0ZDdjYTY3YzE5NTIzYmI1ZC4uZDZiYTIxOTdiMDA4ZTkyOWQ0
OTk0YmYxMzU2ODQ0ZjVlNWJiYWY2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9jb2NvYS9OZXR3b3JrRGF0YVRhc2tDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtEYXRhVGFza0NvY29hLm1tCkBAIC00MSw2ICs0
MSw3IEBACiAjaW1wb3J0IDxXZWJDb3JlL1JlZ2lzdHJhYmxlRG9tYWluLmg+CiAjaW1wb3J0IDxX
ZWJDb3JlL1Jlc291cmNlUmVxdWVzdC5oPgogI2ltcG9ydCA8cGFsL3NwaS9jZi9DRk5ldHdvcmtT
UEkuaD4KKyNpbXBvcnQgPHBhbC9zcGkvY29jb2EvT1NWYXJpYW50U1BJLmg+CiAjaW1wb3J0IDx3
dGYvQmxvY2tQdHIuaD4KICNpbXBvcnQgPHd0Zi9GaWxlU3lzdGVtLmg+CiAjaW1wb3J0IDx3dGYv
TWFpblRocmVhZC5oPgpAQCAtNTgsNiArNTksNjEgQEAKICNkZWZpbmUgTkVUV09SS19EQVRBX1RB
U0tfQ09DT0FfQURESVRJT05TXzIKICNlbmRpZgogCisjaWYgX19oYXNfaW5jbHVkZSg8b3Mvc2ln
bnBvc3QuaD4pCisKKyNpbXBvcnQgPG9zL3NpZ25wb3N0Lmg+CisKK3N0YXRpYyBvc19sb2dfdCBz
aWducG9zdExvZ0hhbmRsZSgpCit7CisgICAgc3RhdGljIGRpc3BhdGNoX29uY2VfdCBvbmNlOwor
ICAgIHN0YXRpYyBvc19sb2dfdCBoYW5kbGU7CisKKyAgICBkaXNwYXRjaF9vbmNlKCZvbmNlLCBe
eworICAgICAgICBoYW5kbGUgPSBvc19sb2dfY3JlYXRlKExPR19DSEFOTkVMX1dFQktJVF9TVUJT
WVNURU0sICJEYXRhVGFzayIpOworICAgIH0pOworCisgICAgcmV0dXJuIGhhbmRsZTsKK30KKwor
c3RhdGljIGJvb2wgc2lnbnBvc3RzRW5hYmxlZCgpCit7CisgICAgc3RhdGljIGRpc3BhdGNoX29u
Y2VfdCBvbmNlOworICAgIHN0YXRpYyBib29sIGVuYWJsZWQ7CisKKyAgICBkaXNwYXRjaF9vbmNl
KCZvbmNlLCBeeworICAgICAgICBpZiAob3NfdmFyaWFudF9hbGxvd3NfaW50ZXJuYWxfc2VjdXJp
dHlfcG9saWNpZXMoImNvbS5hcHBsZS5XZWJLaXQiKSkKKyAgICAgICAgICAgIGVuYWJsZWQgPSAh
c3RyY21wKGdldGVudigiV0VCS0lUX0RBVEFfVEFTS19TSUdOUE9TVFMiKSA/OiAiMCIsICIxIik7
CisgICAgfSk7CisKKyAgICByZXR1cm4gZW5hYmxlZDsKK30KKworI2RlZmluZSBFTUlUX1NJR05Q
T1NUX1dJVEhfRlVOQ1RJT04oZW1pdEZ1bmMsIHRhc2ssIC4uLikgXAorICAgIGRvIHsgXAorICAg
ICAgICBpZiAoc2lnbnBvc3RzRW5hYmxlZCgpKSB7IFwKKyAgICAgICAgICAgIG9zX2xvZ190IGhh
bmRsZSA9IHNpZ25wb3N0TG9nSGFuZGxlKCk7IFwKKyAgICAgICAgICAgIG9zX3NpZ25wb3N0X2lk
X3Qgc2lnbnBvc3RJRCA9IG9zX3NpZ25wb3N0X2lkX21ha2Vfd2l0aF9wb2ludGVyKHNpZ25wb3N0
TG9nSGFuZGxlKCksICh0YXNrKS5nZXQoKSk7IFwKKyAgICAgICAgICAgIGVtaXRGdW5jKGhhbmRs
ZSwgc2lnbnBvc3RJRCwgIkRhdGFUYXNrIiwgIyNfX1ZBX0FSR1NfXyk7IFwKKyAgICAgICAgfSBc
CisgICAgfSB3aGlsZSAoMCkKKworI2RlZmluZSBCRUdJTl9TSUdOUE9TVCh0YXNrLCAuLi4pIFwK
KyAgICBFTUlUX1NJR05QT1NUX1dJVEhfRlVOQ1RJT04ob3Nfc2lnbnBvc3RfaW50ZXJ2YWxfYmVn
aW4sICh0YXNrKSwgIyNfX1ZBX0FSR1NfXykKKworI2RlZmluZSBFTkRfU0lHTlBPU1QodGFzaywg
Li4uKSBcCisgICAgRU1JVF9TSUdOUE9TVF9XSVRIX0ZVTkNUSU9OKG9zX3NpZ25wb3N0X2ludGVy
dmFsX2VuZCwgKHRhc2spLCAjI19fVkFfQVJHU19fKQorCisjZGVmaW5lIEVNSVRfU0lHTlBPU1Qo
dGFzaywgLi4uKSBcCisgICAgRU1JVF9TSUdOUE9TVF9XSVRIX0ZVTkNUSU9OKG9zX3NpZ25wb3N0
X2V2ZW50X2VtaXQsICh0YXNrKSwgIyNfX1ZBX0FSR1NfXykKKworI2Vsc2UKKworI2RlZmluZSBC
RUdJTl9TSUdOUE9TVCh0YXNrLCAuLi4pIGRvIHsgfSB3aGlsZSAoMCkKKyNkZWZpbmUgRU5EX1NJ
R05QT1NUKHRhc2ssIC4uLikgZG8geyB9IHdoaWxlICgwKQorI2RlZmluZSBFTUlUX1NJR05QT1NU
KHRhc2ssIC4uLikgZG8geyB9IHdoaWxlICgwKQorCisjZW5kaWYKKwogbmFtZXNwYWNlIFdlYktp
dCB7CiAKICNpZiBVU0UoQ1JFREVOVElBTF9TVE9SQUdFX1dJVEhfTkVUV09SS19TRVNTSU9OKQpA
QCAtMjMyLDYgKzI4OCw4IEBAIE5ldHdvcmtEYXRhVGFza0NvY29hOjpOZXR3b3JrRGF0YVRhc2tD
b2NvYShOZXR3b3JrU2Vzc2lvbiYgc2Vzc2lvbiwgTmV0d29ya0RhdGFUCiAgICAgCiAgICAgTkVU
V09SS19EQVRBX1RBU0tfQ09DT0FfQURESVRJT05TXzE7CiAKKyAgICBCRUdJTl9TSUdOUE9TVCht
X3Rhc2ssICIle3B1YmxpY31zIHByaTogJWYgcHJlY29ubmVjdDogJWQiLCB1cmwuc3RyaW5nKCku
YXNjaWkoKS5kYXRhKCksIHRvTlNVUkxTZXNzaW9uVGFza1ByaW9yaXR5KHJlcXVlc3QucHJpb3Jp
dHkoKSksIHNob3VsZFByZWNvbm5lY3RPbmx5ID09IFByZWNvbm5lY3RPbmx5OjpZZXMpOworCiAg
ICAgUkVMRUFTRV9BU1NFUlQoIW1fc2Vzc2lvbldyYXBwZXIuZGF0YVRhc2tNYXAuY29udGFpbnMo
W21fdGFzayB0YXNrSWRlbnRpZmllcl0pKTsKICAgICBtX3Nlc3Npb25XcmFwcGVyLmRhdGFUYXNr
TWFwLmFkZChbbV90YXNrIHRhc2tJZGVudGlmaWVyXSwgdGhpcyk7CiAgICAgTE9HKE5ldHdvcmtT
ZXNzaW9uLCAiJWxsdSBDcmVhdGluZyBOZXR3b3JrRGF0YVRhc2sgd2l0aCBVUkwgJXMiLCBbbV90
YXNrIHRhc2tJZGVudGlmaWVyXSwgbnNSZXF1ZXN0LlVSTC5hYnNvbHV0ZVN0cmluZy5VVEY4U3Ry
aW5nKTsKQEAgLTI4NCwxMiArMzQyLDE2IEBAIHZvaWQgTmV0d29ya0RhdGFUYXNrQ29jb2E6OnJl
c3RyaWN0UmVxdWVzdFJlZmVycmVyVG9PcmlnaW5JZk5lZWRlZChXZWJDb3JlOjpSZXNvCiAKIHZv
aWQgTmV0d29ya0RhdGFUYXNrQ29jb2E6OmRpZFNlbmREYXRhKHVpbnQ2NF90IHRvdGFsQnl0ZXNT
ZW50LCB1aW50NjRfdCB0b3RhbEJ5dGVzRXhwZWN0ZWRUb1NlbmQpCiB7CisgICAgRU1JVF9TSUdO
UE9TVChtX3Rhc2ssICJzZW50ICVsbHUgYnl0ZXMgKGV4cGVjdGVkICVsbHUgYnl0ZXMpIiwgdG90
YWxCeXRlc1NlbnQsIHRvdGFsQnl0ZXNFeHBlY3RlZFRvU2VuZCk7CisKICAgICBpZiAobV9jbGll
bnQpCiAgICAgICAgIG1fY2xpZW50LT5kaWRTZW5kRGF0YSh0b3RhbEJ5dGVzU2VudCwgdG90YWxC
eXRlc0V4cGVjdGVkVG9TZW5kKTsKIH0KIAogdm9pZCBOZXR3b3JrRGF0YVRhc2tDb2NvYTo6ZGlk
UmVjZWl2ZUNoYWxsZW5nZShXZWJDb3JlOjpBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSYmIGNoYWxs
ZW5nZSwgQ2hhbGxlbmdlQ29tcGxldGlvbkhhbmRsZXImJiBjb21wbGV0aW9uSGFuZGxlcikKIHsK
KyAgICBFTUlUX1NJR05QT1NUKG1fdGFzaywgInJlY2VpdmVkIGNoYWxsZW5nZSIpOworCiAgICAg
aWYgKHRyeVBhc3N3b3JkQmFzZWRBdXRoZW50aWNhdGlvbihjaGFsbGVuZ2UsIGNvbXBsZXRpb25I
YW5kbGVyKSkKICAgICAgICAgcmV0dXJuOwogCkBAIC0zMDMsMTggKzM2NSwzMyBAQCB2b2lkIE5l
dHdvcmtEYXRhVGFza0NvY29hOjpkaWRSZWNlaXZlQ2hhbGxlbmdlKFdlYkNvcmU6OkF1dGhlbnRp
Y2F0aW9uQ2hhbGxlbmdlJgogCiB2b2lkIE5ldHdvcmtEYXRhVGFza0NvY29hOjpkaWRDb21wbGV0
ZVdpdGhFcnJvcihjb25zdCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yJiBlcnJvciwgY29uc3QgV2Vi
Q29yZTo6TmV0d29ya0xvYWRNZXRyaWNzJiBuZXR3b3JrTG9hZE1ldHJpY3MpCiB7CisgICAgaWYg
KGVycm9yLmlzTnVsbCgpKQorICAgICAgICBFTkRfU0lHTlBPU1QobV90YXNrLCAiY29tcGxldGVk
Iik7CisgICAgZWxzZQorICAgICAgICBFTkRfU0lHTlBPU1QobV90YXNrLCAiZmFpbGVkIik7CisK
ICAgICBpZiAobV9jbGllbnQpCiAgICAgICAgIG1fY2xpZW50LT5kaWRDb21wbGV0ZVdpdGhFcnJv
cihlcnJvciwgbmV0d29ya0xvYWRNZXRyaWNzKTsKIH0KIAogdm9pZCBOZXR3b3JrRGF0YVRhc2tD
b2NvYTo6ZGlkUmVjZWl2ZURhdGEoUmVmPFdlYkNvcmU6OlNoYXJlZEJ1ZmZlcj4mJiBkYXRhKQog
eworICAgIEVNSVRfU0lHTlBPU1QobV90YXNrLCAicmVjZWl2ZWQgJXpkIGJ5dGVzIiwgZGF0YS0+
c2l6ZSgpKTsKKwogICAgIGlmIChtX2NsaWVudCkKICAgICAgICAgbV9jbGllbnQtPmRpZFJlY2Vp
dmVEYXRhKFdURk1vdmUoZGF0YSkpOwogfQogCit2b2lkIE5ldHdvcmtEYXRhVGFza0NvY29hOjpk
aWRSZWNlaXZlUmVzcG9uc2UoV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYmIHJlc3BvbnNlLCBX
ZWJLaXQ6OlJlc3BvbnNlQ29tcGxldGlvbkhhbmRsZXImJiBjb21wbGV0aW9uSGFuZGxlcikKK3sK
KyAgICBFTUlUX1NJR05QT1NUKG1fdGFzaywgInJlY2VpdmVkIHJlc3BvbnNlIGhlYWRlcnMiKTsK
KyAgICBOZXR3b3JrRGF0YVRhc2s6OmRpZFJlY2VpdmVSZXNwb25zZShXVEZNb3ZlKHJlc3BvbnNl
KSwgV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpOworfQorCiB2b2lkIE5ldHdvcmtEYXRhVGFz
a0NvY29hOjp3aWxsUGVyZm9ybUhUVFBSZWRpcmVjdGlvbihXZWJDb3JlOjpSZXNvdXJjZVJlc3Bv
bnNlJiYgcmVkaXJlY3RSZXNwb25zZSwgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiYgcmVxdWVz
dCwgUmVkaXJlY3RDb21wbGV0aW9uSGFuZGxlciYmIGNvbXBsZXRpb25IYW5kbGVyKQogeworICAg
IEVNSVRfU0lHTlBPU1QobV90YXNrLCAicmVkaXJlY3QiKTsKKwogICAgIGlmIChyZWRpcmVjdFJl
c3BvbnNlLmh0dHBTdGF0dXNDb2RlKCkgPT0gMzA3IHx8IHJlZGlyZWN0UmVzcG9uc2UuaHR0cFN0
YXR1c0NvZGUoKSA9PSAzMDgpIHsKICAgICAgICAgQVNTRVJUKG1fbGFzdEhUVFBNZXRob2QgPT0g
cmVxdWVzdC5odHRwTWV0aG9kKCkpOwogICAgICAgICBXZWJDb3JlOjpGb3JtRGF0YSogYm9keSA9
IG1fZmlyc3RSZXF1ZXN0Lmh0dHBCb2R5KCk7CkBAIC00NzAsMTEgKzU0NywxNCBAQCBTdHJpbmcg
TmV0d29ya0RhdGFUYXNrQ29jb2E6OnN1Z2dlc3RlZEZpbGVuYW1lKCkgY29uc3QKIAogdm9pZCBO
ZXR3b3JrRGF0YVRhc2tDb2NvYTo6Y2FuY2VsKCkKIHsKKyAgICBFTUlUX1NJR05QT1NUKG1fdGFz
aywgImNhbmNlbCIpOwogICAgIFttX3Rhc2sgY2FuY2VsXTsKIH0KIAogdm9pZCBOZXR3b3JrRGF0
YVRhc2tDb2NvYTo6cmVzdW1lKCkKIHsKKyAgICBFTUlUX1NJR05QT1NUKG1fdGFzaywgInJlc3Vt
ZSIpOworCiAgICAgaWYgKG1fc2NoZWR1bGVkRmFpbHVyZVR5cGUgIT0gTm9GYWlsdXJlKQogICAg
ICAgICBtX2ZhaWx1cmVUaW1lci5zdGFydE9uZVNob3QoMF9zKTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>385921</attachid>
            <date>2019-12-17 14:36:18 -0800</date>
            <delta_ts>2019-12-18 11:29:02 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-204822-20191217143617.patch</filename>
            <type>text/plain</type>
            <size>16374</size>
            <attacher name="Ben Nham">nham</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUzNjQ3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDhhM2M4NmRlZWE3NzI3YjQwZWE1ZTI2
ODE5NzMxMDFjZGJhZGNlYTEuLmM1MDY4ODI2ZWM1YWI2MTRlYmFkM2Y2YWY1YWM4NTFlMDQ4M2Vl
MzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTktMTItMTcgIEJlbiBOaGFtICA8bmhhbUBhcHBs
ZS5jb20+CisKKyAgICAgICAgQWRkIG5ldHdvcmsgbG9hZGluZyBzaWducG9zdHMKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNDgyMgorICAgICAgICA8
cmRhcjovL3Byb2JsZW0vNTc2MDg4MjQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQWxleCBDaHJp
c3RlbnNlbi4KKworICAgICAgICBUaGlzIGFkZHMgb3Nfc2lnbnBvc3RzIHJlbGF0ZWQgdG8gbmV0
d29yayBsb2FkcyB0byBhaWQgaW4gZGVidWdnaW5nIG5ldHdvcmtpbmcgcGVyZm9ybWFuY2UKKyAg
ICAgICAgaXNzdWVzLiBTaW5jZSBVUkxzIGFyZSBsb2dnZWQgaW4gdGhlIHNpZ25wb3N0cywgdGhp
cyBjYXBhYmlsaXR5IGlzIG9ubHkgZW5hYmxlZCBvbiBBcHBsZQorICAgICAgICBpbnRlcm5hbCBi
dWlsZHMgd2hlbiBhbiBlbnZpcm9ubWVudCB2YXJpYWJsZSBpcyBzZXQuCisKKyAgICAgICAgKiB3
dGYvUGxhdGZvcm0uaDoKKyAgICAgICAgQWRkIEhBVkVfT1NfU0lHTlBPU1QuCisKIDIwMTktMTIt
MTcgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CiAKICAgICAgICAgbWFj
Q2F0YWx5c3Q6IEN1cnNvciBzaG91bGQgdXBkYXRlIG9uIG1vdXNlIG1vdmVtZW50IGFuZCBzdHls
ZSBjaGFuZ2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCmluZGV4IDhlYmU2NThhNzUwMDczNzhmZWY5YWRmNWU3
MWI3ODJmZmM3ODMzOWMuLmFhYTU2ZjBiYTdkZTg4NGVmNjc3NGY1ZDk3OGNkNzJkOWNlMDkyYjIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YkNvcmUvUEFML0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDE5LTEyLTE3ICBCZW4gTmhh
bSAgPG5oYW1AYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBuZXR3b3JrIGxvYWRpbmcgc2lnbnBv
c3RzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDQ4
MjIKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzU3NjA4ODI0PgorCisgICAgICAgIFJldmlld2Vk
IGJ5IEFsZXggQ2hyaXN0ZW5zZW4uCisKKyAgICAgICAgVGhpcyBhZGRzIG9zX3NpZ25wb3N0cyBy
ZWxhdGVkIHRvIG5ldHdvcmsgbG9hZHMgdG8gYWlkIGluIGRlYnVnZ2luZyBuZXR3b3JraW5nIHBl
cmZvcm1hbmNlCisgICAgICAgIGlzc3Vlcy4gU2luY2UgVVJMcyBhcmUgbG9nZ2VkIGluIHRoZSBz
aWducG9zdHMsIHRoaXMgY2FwYWJpbGl0eSBpcyBvbmx5IGVuYWJsZWQgb24gQXBwbGUKKyAgICAg
ICAgaW50ZXJuYWwgYnVpbGRzIHdoZW4gYW4gZW52aXJvbm1lbnQgdmFyaWFibGUgaXMgc2V0Lgor
CisgICAgICAgICogUEFMLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogcGFs
L1BsYXRmb3JtTWFjLmNtYWtlOgorICAgICAgICAqIHBhbC9zcGkvY29jb2EvT1NWYXJpYW50U1BJ
Lmg6IEFkZGVkLgorCiAyMDE5LTEyLTA1ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+
CiAKICAgICAgICAgW0lQQ10gRmFpbCBQQUw6OlNlc3Npb25JRCBkZWNvZGluZyBpZiB0aGUgZGVj
b2RlZCBpbnRlZ2VyIGlzIG5vdCBhIHZhbGlkIHNlc3Npb24gSUQKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggYTcyYjE2
MTNhY2RlNjljN2QyZTMyZTViNzkyZjBmMWIyNGJkZjdhYy4uZGY5NmNiYzVjM2NhNDFlODNhMmI2
M2VhYjg2NjUxNDVjYzAyYjAxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyOSBAQAorMjAxOS0xMi0x
NyAgQmVuIE5oYW0gIDxuaGFtQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgbmV0d29yayBsb2Fk
aW5nIHNpZ25wb3N0cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjA0ODIyCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81NzYwODgyND4KKworICAgICAg
ICBSZXZpZXdlZCBieSBBbGV4IENocmlzdGVuc2VuLgorCisgICAgICAgIFRoaXMgYWRkcyBvc19z
aWducG9zdHMgcmVsYXRlZCB0byBuZXR3b3JrIGxvYWRzIHRvIGFpZCBpbiBkZWJ1Z2dpbmcgbmV0
d29ya2luZyBwZXJmb3JtYW5jZQorICAgICAgICBpc3N1ZXMuIFNpbmNlIFVSTHMgYXJlIGxvZ2dl
ZCBpbiB0aGUgc2lnbnBvc3RzLCB0aGlzIGNhcGFiaWxpdHkgaXMgb25seSBlbmFibGVkIG9uIEFw
cGxlCisgICAgICAgIGludGVybmFsIGJ1aWxkcyB3aGVuIGFuIGVudmlyb25tZW50IHZhcmlhYmxl
IGlzIHNldC4KKworICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtEYXRhVGFz
a0NvY29hLmg6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya0RhdGFUYXNr
Q29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OnNpZ25wb3N0TG9nSGFuZGxlKToKKyAgICAgICAg
KFdlYktpdDo6c2lnbnBvc3RzRW5hYmxlZCk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtEYXRh
VGFza0NvY29hOjpOZXR3b3JrRGF0YVRhc2tDb2NvYSk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdv
cmtEYXRhVGFza0NvY29hOjpkaWRTZW5kRGF0YSk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtE
YXRhVGFza0NvY29hOjpkaWRSZWNlaXZlQ2hhbGxlbmdlKToKKyAgICAgICAgKFdlYktpdDo6TmV0
d29ya0RhdGFUYXNrQ29jb2E6OmRpZENvbXBsZXRlV2l0aEVycm9yKToKKyAgICAgICAgKFdlYktp
dDo6TmV0d29ya0RhdGFUYXNrQ29jb2E6OmRpZFJlY2VpdmVEYXRhKToKKyAgICAgICAgKFdlYktp
dDo6TmV0d29ya0RhdGFUYXNrQ29jb2E6OmRpZFJlY2VpdmVSZXNwb25zZSk6CisgICAgICAgIChX
ZWJLaXQ6Ok5ldHdvcmtEYXRhVGFza0NvY29hOjp3aWxsUGVyZm9ybUhUVFBSZWRpcmVjdGlvbik6
CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtEYXRhVGFza0NvY29hOjpjYW5jZWwpOgorICAgICAg
ICAoV2ViS2l0OjpOZXR3b3JrRGF0YVRhc2tDb2NvYTo6cmVzdW1lKToKKwogMjAxOS0xMi0xNyAg
QmVuIE5oYW0gIDxuaGFtQGFwcGxlLmNvbT4KIAogICAgICAgICBOYXZpZ2F0aW9uIGZyb20gZW1w
dHkgcGFnZSBkb2Vzbid0IHVzZSBjYWNoZWQgd2ViIHByb2Nlc3MKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XVEYvd3RmL1BsYXRmb3JtLmggYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oCmluZGV4IDAw
NDc1MDE5ZTJmZTc0Y2M2ZjJmNjc3MDU5MDgwOTA4Y2MyNWYyMzYuLmM4NmNjYTQ1ODEyYTYxZTU2
N2MwZWNhNThhMWMzYmRlNjQ2NTliYmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1BsYXRm
b3JtLmgKKysrIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm0uaApAQCAtMTY2NiwzICsxNjY2LDcg
QEAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKSB8fCAoIShkZWZpbmVkKFVTRV9TWVNURU1fTUFM
TE9DKSAmJiBVU0VfU1lTVEVNX01BTExPQykgJiYgKE9TKExJTlVYKSAmJiAoUExBVEZPUk0oR1RL
KSB8fCBQTEFURk9STShXUEUpKSkpCiAjZGVmaW5lIFVTRV9CTUFMTE9DX01FTU9SWV9GT09UUFJJ
TlRfQVBJIDEKICNlbmRpZgorCisjaWYgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJT
SU9OX01JTl9SRVFVSVJFRCA+PSAxMDE0MDApIHx8IFBMQVRGT1JNKElPU19GQU1JTFkpCisjZGVm
aW5lIEhBVkVfT1NfU0lHTlBPU1QgMQorI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9QQUwvUEFMLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9QQUwv
UEFMLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggMGI2MTBjN2JkYWUxN2RiN2JkYjI2
MDM3OTAwN2E4NDFmNGY0Yjg3Ni4uODljOTM0MTFhZWU4MTEyODYwZmM5NTRhMDBlNGMyZmI0Zjk1
ZGVhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML1BBTC54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9QQUwueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagpAQCAtMTY4LDYgKzE2OCw3IEBACiAJCUNFNTY3Mzg3MjE1MUE3QjkwMDJGOTJENyAv
KiBJT0tpdFNQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQ0U1NjczODYyMTUxQTdCOTAwMkY5MkQ3IC8qIElPS2l0U1BJLmggKi87IH07CiAJCUU1RDQ1
RDEyMjEwNkEwNzQwMEQyQjczOCAvKiBOU0NvbG9yV2VsbFNQSS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTVENDVEMTEyMTA2QTA3NDAwRDJCNzM4IC8q
IE5TQ29sb3JXZWxsU1BJLmggKi87IH07CiAJCUU1RDQ1RDE0MjEwNkExODcwMEQyQjczOCAvKiBO
U1BvcG92ZXJDb2xvcldlbGxTUEkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEU1RDQ1RDEzMjEwNkExODcwMEQyQjczOCAvKiBOU1BvcG92ZXJDb2xvcldl
bGxTUEkuaCAqLzsgfTsKKwkJRUI3MDdGQTUyMzk3MzdGODAwNTkwNTNBIC8qIE9TVmFyaWFudFNQ
SS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRUI3MDdG
QTQyMzk3MzdGODAwNTkwNTNBIC8qIE9TVmFyaWFudFNQSS5oICovOyB9OwogCQlGNDQyOTE1RTFG
QTUyNDczMDAyQ0M5M0UgLyogTlNGaWxlU2l6ZUZvcm1hdHRlclNQSS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjQ0MjkxNUQxRkE1MjQ3MzAwMkNDOTNF
IC8qIE5TRmlsZVNpemVGb3JtYXR0ZXJTUEkuaCAqLzsgfTsKIAkJRjQ0MjkxNjAxRkE1MjYxRTAw
MkNDOTNFIC8qIEZpbGVTaXplRm9ybWF0dGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBGNDQyOTE1RjFGQTUyNjFFMDAyQ0M5M0UgLyogRmlsZVNpemVG
b3JtYXR0ZXIuaCAqLzsgfTsKIAkJRjQ0MjkxNjQxRkE1MjY3MDAwMkNDOTNFIC8qIEZpbGVTaXpl
Rm9ybWF0dGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEY0NDI5MTYyMUZBNTI2NzAwMDJDQzkzRSAvKiBGaWxlU2l6ZUZvcm1hdHRlci5jcHAgKi87
IH07CkBAIC0zNDIsNiArMzQzLDcgQEAKIAkJQ0U1NjczODYyMTUxQTdCOTAwMkY5MkQ3IC8qIElP
S2l0U1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IElPS2l0U1BJLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUU1RDQ1RDExMjEwNkEwNzQwMEQyQjczOCAvKiBO
U0NvbG9yV2VsbFNQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBOU0NvbG9y
V2VsbFNQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFNUQ0NUQxMzIxMDZBMTg3
MDBEMkI3MzggLyogTlNQb3BvdmVyQ29sb3JXZWxsU1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IE5TUG9wb3ZlckNvbG9yV2VsbFNQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQlFQjcwN0ZBNDIzOTczN0Y4MDA1OTA1M0EgLyogT1NWYXJpYW50U1BJLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE9TVmFyaWFudFNQSS5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlGNDQyOTE1RDFGQTUyNDczMDAyQ0M5M0UgLyogTlNGaWxlU2l6
ZUZvcm1hdHRlclNQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBOU0ZpbGVTaXplRm9ybWF0dGVyU1BJLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY0NDI5MTVGMUZBNTI2MUUwMDJDQzkzRSAv
KiBGaWxlU2l6ZUZvcm1hdHRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBGaWxlU2l6ZUZvcm1hdHRlci5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGNDQyOTE2MjFGQTUyNjcwMDAyQ0M5M0Ug
LyogRmlsZVNpemVGb3JtYXR0ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRmlsZVNpemVGb3Jt
YXR0ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNDM4LDYgKzQ0MCw3IEBA
CiAJCQkJMEMyREExMzcxRjNCRUI0OTAwREJDMzE3IC8qIE5TVVJMRG93bmxvYWRTUEkuaCAqLywK
IAkJCQkwQzJEQTEzODFGM0JFQjQ5MDBEQkMzMTcgLyogTlNVUkxGaWxlVHlwZU1hcHBpbmdzU1BJ
LmggKi8sCiAJCQkJNTcwQUI4RjgyMEFGNkUzRDAwQjhCRTg3IC8qIE5TWFBDQ29ubmVjdGlvblNQ
SS5oICovLAorCQkJCUVCNzA3RkE0MjM5NzM3RjgwMDU5MDUzQSAvKiBPU1ZhcmlhbnRTUEkuaCAq
LywKIAkJCQkwQzJEQTEzOTFGM0JFQjQ5MDBEQkMzMTcgLyogUGFzc0tpdFNQSS5oICovLAogCQkJ
CTBDMkRBMTNBMUYzQkVCNDkwMERCQzMxNyAvKiBwdGhyZWFkU1BJLmggKi8sCiAJCQkJMEMyREEx
M0IxRjNCRUI0OTAwREJDMzE3IC8qIFF1YXJ0ekNvcmVTUEkuaCAqLywKQEAgLTc5Nyw2ICs4MDAs
NyBAQAogCQkJCTBDNzc4NTlEMUY0NTEzMEYwMEY0RUJCNiAvKiBOU1dpbmRvd1NQSS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJNTcwQUI4RjkyMEFGNkUzRDAwQjhCRTg3IC8qIE5TWFBDQ29ubmVjdGlv
blNQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEM1QUY5MUYxRjQzQTRDNzAwMkVBQzAyIC8qIE9w
ZW5HTEVTU1BJLmggaW4gSGVhZGVycyAqLywKKwkJCQlFQjcwN0ZBNTIzOTczN0Y4MDA1OTA1M0Eg
LyogT1NWYXJpYW50U1BJLmggaW4gSGVhZGVycyAqLywKIAkJCQlBMUY2M0M5RjIxQTREQkY3MDA2
RkI0M0IgLyogUGFzc0tpdFNvZnRMaW5rLmggaW4gSGVhZGVycyAqLywKIAkJCQkwQzJEQTE1NTFG
M0JFQjQ5MDBEQkMzMTcgLyogUGFzc0tpdFNQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEM3Nzg1
OUUxRjQ1MTMwRjAwRjRFQkI2IC8qIFBJUFNQSS5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL1BsYXRmb3JtTWFjLmNtYWtlIGIvU291cmNlL1dlYkNv
cmUvUEFML3BhbC9QbGF0Zm9ybU1hYy5jbWFrZQppbmRleCBlM2Y3YTMyOGM2MTc1MzY0NTI1OTlj
OGRmYmUwMGRlMjEzZmFlNjk1Li4yMTk3MjRkNGU4ZmQ2NTRiMDg0Mjg0ODBkYzEzZmE2Zjc2MWE4
YTFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL1BsYXRmb3JtTWFjLmNtYWtl
CisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvUGxhdGZvcm1NYWMuY21ha2UKQEAgLTUyLDYg
KzUyLDcgQEAgbGlzdChBUFBFTkQgUEFMX1BVQkxJQ19IRUFERVJTCiAgICAgc3BpL2NvY29hL05T
VVJMRG93bmxvYWRTUEkuaAogICAgIHNwaS9jb2NvYS9OU1VSTEZpbGVUeXBlTWFwcGluZ3NTUEku
aAogICAgIHNwaS9jb2NvYS9OU1hQQ0Nvbm5lY3Rpb25TUEkuaAorICAgIHNwaS9jb2NvYS9PU1Zh
cmlhbnRTUEkuaAogICAgIHNwaS9jb2NvYS9QYXNzS2l0U1BJLmgKICAgICBzcGkvY29jb2EvUXVh
cnR6Q29yZVNQSS5oCiAgICAgc3BpL2NvY29hL1NlY0tleVByb3h5U1BJLmgKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL09TVmFyaWFudFNQSS5oIGIvU291cmNl
L1dlYkNvcmUvUEFML3BhbC9zcGkvY29jb2EvT1NWYXJpYW50U1BJLmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODli
ODAyZWFiYzhlYWE5MDQ5YjI3NjNmOTljZjkxY2JjOGVlMjJjNgotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL09TVmFyaWFudFNQSS5oCkBAIC0wLDAg
KzEsMzggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
CisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgor
ICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIFVTRShBUFBMRV9JTlRF
Uk5BTF9TREspCisKKyNpbXBvcnQgPG9zL3ZhcmlhbnRfcHJpdmF0ZS5oPgorCisjZWxzZQorCitX
VEZfRVhURVJOX0NfQkVHSU4KK2Jvb2wgb3NfdmFyaWFudF9hbGxvd3NfaW50ZXJuYWxfc2VjdXJp
dHlfcG9saWNpZXMoY29uc3QgY2hhciAqKTsKK1dURl9FWFRFUk5fQ19FTkQKKworI2VuZGlmCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtEYXRh
VGFza0NvY29hLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtE
YXRhVGFza0NvY29hLmgKaW5kZXggZWM2MDA0OGU5NmUwMjBlMDZiMDY5ZmRmYzRmN2FiYTcxYmMx
ZWNlMi4uNDFmMDc5ZTkyZDRiOWY1YTA1MTM4ZTY4MzAzY2Y3ODMzYzZmMmI5OSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrRGF0YVRhc2tDb2Nv
YS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya0RhdGFU
YXNrQ29jb2EuaApAQCAtNTQsNiArNTQsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBkaWRTZW5kRGF0
YSh1aW50NjRfdCB0b3RhbEJ5dGVzU2VudCwgdWludDY0X3QgdG90YWxCeXRlc0V4cGVjdGVkVG9T
ZW5kKTsKICAgICB2b2lkIGRpZFJlY2VpdmVDaGFsbGVuZ2UoV2ViQ29yZTo6QXV0aGVudGljYXRp
b25DaGFsbGVuZ2UmJiwgQ2hhbGxlbmdlQ29tcGxldGlvbkhhbmRsZXImJik7CiAgICAgdm9pZCBk
aWRDb21wbGV0ZVdpdGhFcnJvcihjb25zdCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yJiwgY29uc3Qg
V2ViQ29yZTo6TmV0d29ya0xvYWRNZXRyaWNzJik7CisgICAgdm9pZCBkaWRSZWNlaXZlUmVzcG9u
c2UoV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYmLCBSZXNwb25zZUNvbXBsZXRpb25IYW5kbGVy
JiYpOwogICAgIHZvaWQgZGlkUmVjZWl2ZURhdGEoUmVmPFdlYkNvcmU6OlNoYXJlZEJ1ZmZlcj4m
Jik7CiAKICAgICB2b2lkIHdpbGxQZXJmb3JtSFRUUFJlZGlyZWN0aW9uKFdlYkNvcmU6OlJlc291
cmNlUmVzcG9uc2UmJiwgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiYsIFJlZGlyZWN0Q29tcGxl
dGlvbkhhbmRsZXImJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L2NvY29hL05ldHdvcmtEYXRhVGFza0NvY29hLm1tIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9jb2NvYS9OZXR3b3JrRGF0YVRhc2tDb2NvYS5tbQppbmRleCA3M2U2YjllOTc0M2U5Y2Ey
YmRhNjU4MzRkN2NhNjdjMTk1MjNiYjVkLi41YTg0YjdjODBmODNjYjk3NWI0ODhkNTczOWVlMGUw
YWM3ZTNkNTg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29h
L05ldHdvcmtEYXRhVGFza0NvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3MvY29jb2EvTmV0d29ya0RhdGFUYXNrQ29jb2EubW0KQEAgLTQxLDYgKzQxLDcgQEAKICNpbXBv
cnQgPFdlYkNvcmUvUmVnaXN0cmFibGVEb21haW4uaD4KICNpbXBvcnQgPFdlYkNvcmUvUmVzb3Vy
Y2VSZXF1ZXN0Lmg+CiAjaW1wb3J0IDxwYWwvc3BpL2NmL0NGTmV0d29ya1NQSS5oPgorI2ltcG9y
dCA8cGFsL3NwaS9jb2NvYS9PU1ZhcmlhbnRTUEkuaD4KICNpbXBvcnQgPHd0Zi9CbG9ja1B0ci5o
PgogI2ltcG9ydCA8d3RmL0ZpbGVTeXN0ZW0uaD4KICNpbXBvcnQgPHd0Zi9NYWluVGhyZWFkLmg+
CkBAIC01OCw2ICs1OSw2MSBAQAogI2RlZmluZSBORVRXT1JLX0RBVEFfVEFTS19DT0NPQV9BRERJ
VElPTlNfMgogI2VuZGlmCiAKKyNpZiBIQVZFKE9TX1NJR05QT1NUKQorCisjaW1wb3J0IDxvcy9z
aWducG9zdC5oPgorCitzdGF0aWMgb3NfbG9nX3Qgc2lnbnBvc3RMb2dIYW5kbGUoKQoreworICAg
IHN0YXRpYyBkaXNwYXRjaF9vbmNlX3Qgb25jZTsKKyAgICBzdGF0aWMgb3NfbG9nX3QgaGFuZGxl
OworCisgICAgZGlzcGF0Y2hfb25jZSgmb25jZSwgXnsKKyAgICAgICAgaGFuZGxlID0gb3NfbG9n
X2NyZWF0ZShMT0dfQ0hBTk5FTF9XRUJLSVRfU1VCU1lTVEVNLCAiRGF0YVRhc2siKTsKKyAgICB9
KTsKKworICAgIHJldHVybiBoYW5kbGU7Cit9CisKK3N0YXRpYyBib29sIHNpZ25wb3N0c0VuYWJs
ZWQoKQoreworICAgIHN0YXRpYyBkaXNwYXRjaF9vbmNlX3Qgb25jZTsKKyAgICBzdGF0aWMgYm9v
bCBlbmFibGVkOworCisgICAgZGlzcGF0Y2hfb25jZSgmb25jZSwgXnsKKyAgICAgICAgaWYgKG9z
X3ZhcmlhbnRfYWxsb3dzX2ludGVybmFsX3NlY3VyaXR5X3BvbGljaWVzKCJjb20uYXBwbGUuV2Vi
S2l0IikpCisgICAgICAgICAgICBlbmFibGVkID0gIXN0cmNtcChnZXRlbnYoIldFQktJVF9EQVRB
X1RBU0tfU0lHTlBPU1RTIikgPzogIjAiLCAiMSIpOworICAgIH0pOworCisgICAgcmV0dXJuIGVu
YWJsZWQ7Cit9CisKKyNkZWZpbmUgRU1JVF9TSUdOUE9TVF9XSVRIX0ZVTkNUSU9OKGVtaXRGdW5j
LCB0YXNrLCAuLi4pIFwKKyAgICBkbyB7IFwKKyAgICAgICAgaWYgKHNpZ25wb3N0c0VuYWJsZWQo
KSkgeyBcCisgICAgICAgICAgICBvc19sb2dfdCBoYW5kbGUgPSBzaWducG9zdExvZ0hhbmRsZSgp
OyBcCisgICAgICAgICAgICBvc19zaWducG9zdF9pZF90IHNpZ25wb3N0SUQgPSBvc19zaWducG9z
dF9pZF9tYWtlX3dpdGhfcG9pbnRlcihzaWducG9zdExvZ0hhbmRsZSgpLCAodGFzaykuZ2V0KCkp
OyBcCisgICAgICAgICAgICBlbWl0RnVuYyhoYW5kbGUsIHNpZ25wb3N0SUQsICJEYXRhVGFzayIs
ICMjX19WQV9BUkdTX18pOyBcCisgICAgICAgIH0gXAorICAgIH0gd2hpbGUgKDApCisKKyNkZWZp
bmUgQkVHSU5fU0lHTlBPU1QodGFzaywgLi4uKSBcCisgICAgRU1JVF9TSUdOUE9TVF9XSVRIX0ZV
TkNUSU9OKG9zX3NpZ25wb3N0X2ludGVydmFsX2JlZ2luLCAodGFzayksICMjX19WQV9BUkdTX18p
CisKKyNkZWZpbmUgRU5EX1NJR05QT1NUKHRhc2ssIC4uLikgXAorICAgIEVNSVRfU0lHTlBPU1Rf
V0lUSF9GVU5DVElPTihvc19zaWducG9zdF9pbnRlcnZhbF9lbmQsICh0YXNrKSwgIyNfX1ZBX0FS
R1NfXykKKworI2RlZmluZSBFTUlUX1NJR05QT1NUKHRhc2ssIC4uLikgXAorICAgIEVNSVRfU0lH
TlBPU1RfV0lUSF9GVU5DVElPTihvc19zaWducG9zdF9ldmVudF9lbWl0LCAodGFzayksICMjX19W
QV9BUkdTX18pCisKKyNlbHNlCisKKyNkZWZpbmUgQkVHSU5fU0lHTlBPU1QodGFzaywgLi4uKSBk
byB7IH0gd2hpbGUgKDApCisjZGVmaW5lIEVORF9TSUdOUE9TVCh0YXNrLCAuLi4pIGRvIHsgfSB3
aGlsZSAoMCkKKyNkZWZpbmUgRU1JVF9TSUdOUE9TVCh0YXNrLCAuLi4pIGRvIHsgfSB3aGlsZSAo
MCkKKworI2VuZGlmCisKIG5hbWVzcGFjZSBXZWJLaXQgewogCiAjaWYgVVNFKENSRURFTlRJQUxf
U1RPUkFHRV9XSVRIX05FVFdPUktfU0VTU0lPTikKQEAgLTIzMiw2ICsyODgsOCBAQCBOZXR3b3Jr
RGF0YVRhc2tDb2NvYTo6TmV0d29ya0RhdGFUYXNrQ29jb2EoTmV0d29ya1Nlc3Npb24mIHNlc3Np
b24sIE5ldHdvcmtEYXRhVAogICAgIAogICAgIE5FVFdPUktfREFUQV9UQVNLX0NPQ09BX0FERElU
SU9OU18xOwogCisgICAgQkVHSU5fU0lHTlBPU1QobV90YXNrLCAiJXtwdWJsaWN9cyBwcmk6ICVm
IHByZWNvbm5lY3Q6ICVkIiwgdXJsLnN0cmluZygpLmFzY2lpKCkuZGF0YSgpLCB0b05TVVJMU2Vz
c2lvblRhc2tQcmlvcml0eShyZXF1ZXN0LnByaW9yaXR5KCkpLCBzaG91bGRQcmVjb25uZWN0T25s
eSA9PSBQcmVjb25uZWN0T25seTo6WWVzKTsKKwogICAgIFJFTEVBU0VfQVNTRVJUKCFtX3Nlc3Np
b25XcmFwcGVyLmRhdGFUYXNrTWFwLmNvbnRhaW5zKFttX3Rhc2sgdGFza0lkZW50aWZpZXJdKSk7
CiAgICAgbV9zZXNzaW9uV3JhcHBlci5kYXRhVGFza01hcC5hZGQoW21fdGFzayB0YXNrSWRlbnRp
Zmllcl0sIHRoaXMpOwogICAgIExPRyhOZXR3b3JrU2Vzc2lvbiwgIiVsbHUgQ3JlYXRpbmcgTmV0
d29ya0RhdGFUYXNrIHdpdGggVVJMICVzIiwgW21fdGFzayB0YXNrSWRlbnRpZmllcl0sIG5zUmVx
dWVzdC5VUkwuYWJzb2x1dGVTdHJpbmcuVVRGOFN0cmluZyk7CkBAIC0yODQsMTIgKzM0MiwxNiBA
QCB2b2lkIE5ldHdvcmtEYXRhVGFza0NvY29hOjpyZXN0cmljdFJlcXVlc3RSZWZlcnJlclRvT3Jp
Z2luSWZOZWVkZWQoV2ViQ29yZTo6UmVzbwogCiB2b2lkIE5ldHdvcmtEYXRhVGFza0NvY29hOjpk
aWRTZW5kRGF0YSh1aW50NjRfdCB0b3RhbEJ5dGVzU2VudCwgdWludDY0X3QgdG90YWxCeXRlc0V4
cGVjdGVkVG9TZW5kKQogeworICAgIEVNSVRfU0lHTlBPU1QobV90YXNrLCAic2VudCAlbGx1IGJ5
dGVzIChleHBlY3RlZCAlbGx1IGJ5dGVzKSIsIHRvdGFsQnl0ZXNTZW50LCB0b3RhbEJ5dGVzRXhw
ZWN0ZWRUb1NlbmQpOworCiAgICAgaWYgKG1fY2xpZW50KQogICAgICAgICBtX2NsaWVudC0+ZGlk
U2VuZERhdGEodG90YWxCeXRlc1NlbnQsIHRvdGFsQnl0ZXNFeHBlY3RlZFRvU2VuZCk7CiB9CiAK
IHZvaWQgTmV0d29ya0RhdGFUYXNrQ29jb2E6OmRpZFJlY2VpdmVDaGFsbGVuZ2UoV2ViQ29yZTo6
QXV0aGVudGljYXRpb25DaGFsbGVuZ2UmJiBjaGFsbGVuZ2UsIENoYWxsZW5nZUNvbXBsZXRpb25I
YW5kbGVyJiYgY29tcGxldGlvbkhhbmRsZXIpCiB7CisgICAgRU1JVF9TSUdOUE9TVChtX3Rhc2ss
ICJyZWNlaXZlZCBjaGFsbGVuZ2UiKTsKKwogICAgIGlmICh0cnlQYXNzd29yZEJhc2VkQXV0aGVu
dGljYXRpb24oY2hhbGxlbmdlLCBjb21wbGV0aW9uSGFuZGxlcikpCiAgICAgICAgIHJldHVybjsK
IApAQCAtMzAzLDE4ICszNjUsMzMgQEAgdm9pZCBOZXR3b3JrRGF0YVRhc2tDb2NvYTo6ZGlkUmVj
ZWl2ZUNoYWxsZW5nZShXZWJDb3JlOjpBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSYKIAogdm9pZCBO
ZXR3b3JrRGF0YVRhc2tDb2NvYTo6ZGlkQ29tcGxldGVXaXRoRXJyb3IoY29uc3QgV2ViQ29yZTo6
UmVzb3VyY2VFcnJvciYgZXJyb3IsIGNvbnN0IFdlYkNvcmU6Ok5ldHdvcmtMb2FkTWV0cmljcyYg
bmV0d29ya0xvYWRNZXRyaWNzKQogeworICAgIGlmIChlcnJvci5pc051bGwoKSkKKyAgICAgICAg
RU5EX1NJR05QT1NUKG1fdGFzaywgImNvbXBsZXRlZCIpOworICAgIGVsc2UKKyAgICAgICAgRU5E
X1NJR05QT1NUKG1fdGFzaywgImZhaWxlZCIpOworCiAgICAgaWYgKG1fY2xpZW50KQogICAgICAg
ICBtX2NsaWVudC0+ZGlkQ29tcGxldGVXaXRoRXJyb3IoZXJyb3IsIG5ldHdvcmtMb2FkTWV0cmlj
cyk7CiB9CiAKIHZvaWQgTmV0d29ya0RhdGFUYXNrQ29jb2E6OmRpZFJlY2VpdmVEYXRhKFJlZjxX
ZWJDb3JlOjpTaGFyZWRCdWZmZXI+JiYgZGF0YSkKIHsKKyAgICBFTUlUX1NJR05QT1NUKG1fdGFz
aywgInJlY2VpdmVkICV6ZCBieXRlcyIsIGRhdGEtPnNpemUoKSk7CisKICAgICBpZiAobV9jbGll
bnQpCiAgICAgICAgIG1fY2xpZW50LT5kaWRSZWNlaXZlRGF0YShXVEZNb3ZlKGRhdGEpKTsKIH0K
IAordm9pZCBOZXR3b3JrRGF0YVRhc2tDb2NvYTo6ZGlkUmVjZWl2ZVJlc3BvbnNlKFdlYkNvcmU6
OlJlc291cmNlUmVzcG9uc2UmJiByZXNwb25zZSwgV2ViS2l0OjpSZXNwb25zZUNvbXBsZXRpb25I
YW5kbGVyJiYgY29tcGxldGlvbkhhbmRsZXIpCit7CisgICAgRU1JVF9TSUdOUE9TVChtX3Rhc2ss
ICJyZWNlaXZlZCByZXNwb25zZSBoZWFkZXJzIik7CisgICAgTmV0d29ya0RhdGFUYXNrOjpkaWRS
ZWNlaXZlUmVzcG9uc2UoV1RGTW92ZShyZXNwb25zZSksIFdURk1vdmUoY29tcGxldGlvbkhhbmRs
ZXIpKTsKK30KKwogdm9pZCBOZXR3b3JrRGF0YVRhc2tDb2NvYTo6d2lsbFBlcmZvcm1IVFRQUmVk
aXJlY3Rpb24oV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYmIHJlZGlyZWN0UmVzcG9uc2UsIFdl
YkNvcmU6OlJlc291cmNlUmVxdWVzdCYmIHJlcXVlc3QsIFJlZGlyZWN0Q29tcGxldGlvbkhhbmRs
ZXImJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKKyAgICBFTUlUX1NJR05QT1NUKG1fdGFzaywgInJl
ZGlyZWN0Iik7CisKICAgICBpZiAocmVkaXJlY3RSZXNwb25zZS5odHRwU3RhdHVzQ29kZSgpID09
IDMwNyB8fCByZWRpcmVjdFJlc3BvbnNlLmh0dHBTdGF0dXNDb2RlKCkgPT0gMzA4KSB7CiAgICAg
ICAgIEFTU0VSVChtX2xhc3RIVFRQTWV0aG9kID09IHJlcXVlc3QuaHR0cE1ldGhvZCgpKTsKICAg
ICAgICAgV2ViQ29yZTo6Rm9ybURhdGEqIGJvZHkgPSBtX2ZpcnN0UmVxdWVzdC5odHRwQm9keSgp
OwpAQCAtNDcwLDExICs1NDcsMTQgQEAgU3RyaW5nIE5ldHdvcmtEYXRhVGFza0NvY29hOjpzdWdn
ZXN0ZWRGaWxlbmFtZSgpIGNvbnN0CiAKIHZvaWQgTmV0d29ya0RhdGFUYXNrQ29jb2E6OmNhbmNl
bCgpCiB7CisgICAgRU1JVF9TSUdOUE9TVChtX3Rhc2ssICJjYW5jZWwiKTsKICAgICBbbV90YXNr
IGNhbmNlbF07CiB9CiAKIHZvaWQgTmV0d29ya0RhdGFUYXNrQ29jb2E6OnJlc3VtZSgpCiB7Cisg
ICAgRU1JVF9TSUdOUE9TVChtX3Rhc2ssICJyZXN1bWUiKTsKKwogICAgIGlmIChtX3NjaGVkdWxl
ZEZhaWx1cmVUeXBlICE9IE5vRmFpbHVyZSkKICAgICAgICAgbV9mYWlsdXJlVGltZXIuc3RhcnRP
bmVTaG90KDBfcyk7CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>