<?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>126801</bug_id>
          
          <creation_ts>2014-01-10 18:19:21 -0800</creation_ts>
          <short_desc>Move progress tracking functions from FrameLoaderClient to a new ProgressTrackerClient</short_desc>
          <delta_ts>2014-01-10 22:28:57 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Anders Carlsson">andersca</reporter>
          <assigned_to name="Anders Carlsson">andersca</assigned_to>
          <cc>bunhere</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>japhet</cc>
    
    <cc>rakuco</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>966719</commentid>
    <comment_count>0</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2014-01-10 18:19:21 -0800</bug_when>
    <thetext>Move progress tracking functions from FrameLoaderClient to a new ProgressTrackerClient</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>966721</commentid>
    <comment_count>1</comment_count>
      <attachid>220915</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2014-01-10 18:22:21 -0800</bug_when>
    <thetext>Created attachment 220915
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>966722</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-01-10 18:24:47 -0800</bug_when>
    <thetext>Attachment 220915 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCore/GNUmakefile.list.am&apos;, u&apos;Source/WebCore/WebCore.vcxproj/WebCore.vcxproj&apos;, u&apos;Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters&apos;, u&apos;Source/WebCore/WebCore.xcodeproj/project.pbxproj&apos;, u&apos;Source/WebCore/loader/EmptyClients.cpp&apos;, u&apos;Source/WebCore/loader/EmptyClients.h&apos;, u&apos;Source/WebCore/loader/FrameLoaderClient.h&apos;, u&apos;Source/WebCore/loader/ProgressTracker.cpp&apos;, u&apos;Source/WebCore/loader/ProgressTracker.h&apos;, u&apos;Source/WebCore/loader/ProgressTrackerClient.h&apos;, u&apos;Source/WebCore/page/Page.cpp&apos;, u&apos;Source/WebCore/page/Page.h&apos;, u&apos;Source/WebKit/efl/ChangeLog&apos;, u&apos;Source/WebKit/efl/WebCoreSupport/FrameLoaderClientEfl.h&apos;, u&apos;Source/WebKit/efl/ewk/ewk_view.cpp&apos;, u&apos;Source/WebKit/gtk/ChangeLog&apos;, u&apos;Source/WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.h&apos;, u&apos;Source/WebKit/gtk/webkit/webkitwebview.cpp&apos;, u&apos;Source/WebKit/mac/ChangeLog&apos;, u&apos;Source/WebKit/mac/WebCoreSupport/WebFrameLoaderClient.h&apos;, u&apos;Source/WebKit/mac/WebView/WebView.mm&apos;, u&apos;Source/WebKit/win/ChangeLog&apos;, u&apos;Source/WebKit/win/WebCoreSupport/WebFrameLoaderClient.h&apos;, u&apos;Source/WebKit/win/WebView.cpp&apos;, u&apos;Source/WebKit2/ChangeLog&apos;, u&apos;Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.h&apos;, u&apos;Source/WebKit2/WebProcess/WebPage/WebPage.cpp&apos;, &apos;--commit-queue&apos;]&quot; exit_code: 1
ERROR: Source/WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.h:46:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
Total errors found: 1 in 27 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>966755</commentid>
    <comment_count>3</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2014-01-10 22:28:57 -0800</bug_when>
    <thetext>Committed r161744: &lt;http://trac.webkit.org/changeset/161744&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>220915</attachid>
            <date>2014-01-10 18:22:21 -0800</date>
            <delta_ts>2014-01-10 21:42:04 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-126801-20140110182221.patch</filename>
            <type>text/plain</type>
            <size>32985</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYxNzAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmQzYzA1MDNhMjY2MTUw
N2QwNTc5MGE4ZGZmZGRlNGFkNWE1Yzg5Yy4uZWVmYzAwZTVhYzI3MDdhNTdmOGQ2NzFkYjA0Y2I1
MDQwN2Q0MzI5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDM4IEBACiAyMDE0LTAxLTEwICBBbmRl
cnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKKyAgICAgICAgTW92ZSBwcm9ncmVz
cyB0cmFja2luZyBmdW5jdGlvbnMgZnJvbSBGcmFtZUxvYWRlckNsaWVudCB0byBhIG5ldyBQcm9n
cmVzc1RyYWNrZXJDbGllbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTEyNjgwMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbToKKyAgICAgICAgKiBXZWJDb3JlLnZjeHBy
b2ovV2ViQ29yZS52Y3hwcm9qOgorICAgICAgICAqIFdlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZj
eHByb2ouZmlsdGVyczoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2o6CisgICAgICAgICogbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpmaWxsV2l0aEVtcHR5Q2xpZW50cyk6CisgICAgICAgICogbG9hZGVyL0VtcHR5Q2xpZW50cy5o
OgorICAgICAgICAqIGxvYWRlci9GcmFtZUxvYWRlckNsaWVudC5oOgorICAgICAgICAqIGxvYWRl
ci9Qcm9ncmVzc1RyYWNrZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UHJvZ3Jlc3NUcmFja2Vy
OjpQcm9ncmVzc1RyYWNrZXIpOgorICAgICAgICAoV2ViQ29yZTo6UHJvZ3Jlc3NUcmFja2VyOjp+
UHJvZ3Jlc3NUcmFja2VyKToKKyAgICAgICAgKFdlYkNvcmU6OlByb2dyZXNzVHJhY2tlcjo6cHJv
Z3Jlc3NTdGFydGVkKToKKyAgICAgICAgKFdlYkNvcmU6OlByb2dyZXNzVHJhY2tlcjo6cHJvZ3Jl
c3NDb21wbGV0ZWQpOgorICAgICAgICAoV2ViQ29yZTo6UHJvZ3Jlc3NUcmFja2VyOjpmaW5hbFBy
b2dyZXNzQ29tcGxldGUpOgorICAgICAgICAoV2ViQ29yZTo6UHJvZ3Jlc3NUcmFja2VyOjppbmNy
ZW1lbnRQcm9ncmVzcyk6CisgICAgICAgICogbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5oOgorICAg
ICAgICAqIGxvYWRlci9Qcm9ncmVzc1RyYWNrZXJDbGllbnQuaDogQWRkZWQuCisgICAgICAgIChX
ZWJDb3JlOjpQcm9ncmVzc1RyYWNrZXJDbGllbnQ6On5Qcm9ncmVzc1RyYWNrZXJDbGllbnQpOgor
ICAgICAgICAoV2ViQ29yZTo6UHJvZ3Jlc3NUcmFja2VyQ2xpZW50Ojpwcm9ncmVzc1RyYWNrZXJE
ZXN0cm95ZWQpOgorICAgICAgICAoV2ViQ29yZTo6UHJvZ3Jlc3NUcmFja2VyQ2xpZW50Ojp3aWxs
Q2hhbmdlRXN0aW1hdGVkUHJvZ3Jlc3MpOgorICAgICAgICAoV2ViQ29yZTo6UHJvZ3Jlc3NUcmFj
a2VyQ2xpZW50OjpkaWRDaGFuZ2VFc3RpbWF0ZWRQcm9ncmVzcyk6CisgICAgICAgICogcGFnZS9Q
YWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6OlBhZ2UpOgorICAgICAgICAoV2ViQ29y
ZTo6UGFnZTo6UGFnZUNsaWVudHM6OlBhZ2VDbGllbnRzKToKKyAgICAgICAgKiBwYWdlL1BhZ2Uu
aDoKKworMjAxNC0wMS0xMCAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgor
CiAgICAgICAgIENUVEUgRnJhbWVUcmVlCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xMjY3OTUKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwv
Q2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCmluZGV4IGU5YmRiZDAwMjQ0
NjA5NjY2NDIwNjg3ZjhmMDY0MmNlZjhmNmQ4ODIuLjhhYjFmNmUzZjAxYzU5MTU1MDk0YzE2Y2Jm
NDA1MGQ0YjgzNmIxZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxNC0w
MS0xMCAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgorCisgICAgICAgIE1v
dmUgcHJvZ3Jlc3MgdHJhY2tpbmcgZnVuY3Rpb25zIGZyb20gRnJhbWVMb2FkZXJDbGllbnQgdG8g
YSBuZXcgUHJvZ3Jlc3NUcmFja2VyQ2xpZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMjY4MDEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50RWZs
Lmg6CisgICAgICAgICogZXdrL2V3a192aWV3LmNwcDoKKyAgICAgICAgKF9ld2tfdmlld19wcml2
X25ldyk6CisKIDIwMTQtMDEtMDggIFJ5dWFuIENob2kgIDxyeXVhbi5jaG9pQHNhbXN1bmcuY29t
PgogCiAgICAgICAgIFtFRkxdIE1lcmdlIGV3a192aWV3X3NpbmdsZSBpbnRvIGV3a192aWV3CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2d0
ay9DaGFuZ2VMb2cKaW5kZXggY2VlY2UxZjQxZTk0ODAyZTE2MjBhMDBlODIwODhiMDJiOTlhNTJj
My4uZWQxZDJhODYwYzBhNDZkY2VjYjVhNmEwNTM3MDVlZGQzMTJhNDAyOSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE0LTAxLTEwICBBbmRlcnMgQ2FybHNzb24gIDxhbmRl
cnNjYUBhcHBsZS5jb20+CisKKyAgICAgICAgTW92ZSBwcm9ncmVzcyB0cmFja2luZyBmdW5jdGlv
bnMgZnJvbSBGcmFtZUxvYWRlckNsaWVudCB0byBhIG5ldyBQcm9ncmVzc1RyYWNrZXJDbGllbnQK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNjgwMQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViQ29y
ZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRHdGsuaDoKKyAgICAgICAgKiB3ZWJraXQvd2Via2l0
d2Vidmlldy5jcHA6CisgICAgICAgICh3ZWJraXRfd2ViX3ZpZXdfaW5pdCk6CisKIDIwMTQtMDEt
MDggIENsYXVkaW8gU2FhdmVkcmEgIDxjc2FhdmVkcmFAaWdhbGlhLmNvbT4KIAogICAgICAgICBb
R1RLXSBBZGQgeGRnLm9yaWdpbi51cmwgZXh0ZW5kZWQgYXR0cmlidXRlIHRvIGRvd25sb2Fkcwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9t
YWMvQ2hhbmdlTG9nCmluZGV4IGNlOWIzMTNhODAyNDc4OGJiYjdkYjNlYmUwMzkzOTVhMGExYTA1
MjAuLmI0MDExZDNiZGUzNDE2YzljOTczOWJjMGY3Njg2ZjM3NmQ5OWM4NjggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxNC0wMS0xMCAgQW5kZXJzIENhcmxzc29uICA8YW5k
ZXJzY2FAYXBwbGUuY29tPgorCisgICAgICAgIE1vdmUgcHJvZ3Jlc3MgdHJhY2tpbmcgZnVuY3Rp
b25zIGZyb20gRnJhbWVMb2FkZXJDbGllbnQgdG8gYSBuZXcgUHJvZ3Jlc3NUcmFja2VyQ2xpZW50
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjY4MDEK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNv
cmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50Lmg6CisgICAgICAgICogV2ViVmlldy9XZWJW
aWV3Lm1tOgorICAgICAgICAoLVtXZWJWaWV3IF9jb21tb25Jbml0aWFsaXphdGlvbldpdGhGcmFt
ZU5hbWU6Z3JvdXBOYW1lOl0pOgorCiAyMDE0LTAxLTEwICBZb25nanVuIFpoYW5nICA8eW9uZ2p1
bl96aGFuZ0BhcHBsZS5jb20+CiAKICAgICAgICAgQ2xlYXIgdW5wYXJlbnRlZCB0aWxlZCBsYXll
cnMgb24gbWVtb3J5IHByZXNzdXJlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vQ2hh
bmdlTG9nIGIvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCmluZGV4IDhlZWJkNDc0YzQ0YjZh
ZDkxMTE0Y2VjZjlhODBjOTU3ZTA0NmZiYzMuLjA1N2VlNzZhNWQ5MjQ1N2QzNDczMzY5Njk1MjA3
ZWIyN2I4OTVlMDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxNC0wMS0x
MCAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgorCisgICAgICAgIE1vdmUg
cHJvZ3Jlc3MgdHJhY2tpbmcgZnVuY3Rpb25zIGZyb20gRnJhbWVMb2FkZXJDbGllbnQgdG8gYSBu
ZXcgUHJvZ3Jlc3NUcmFja2VyQ2xpZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xMjY4MDEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50Lmg6
CisgICAgICAgICogV2ViVmlldy5jcHA6CisgICAgICAgIChXZWJWaWV3Ojppbml0V2l0aEZyYW1l
KToKKwogMjAxNC0wMS0wOCAgcGVhdm9Ab3V0bG9vay5jb20gIDxwZWF2b0BvdXRsb29rLmNvbT4K
IAogICAgICAgICBbV2luQ2Fpcm9dIENvbXBpbGUgZXJyb3IuCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNDAzNTZl
ZmU4N2QyNDliYmY1NTQyODFiNjVlZWMzZGRhYWYwYmI4ZS4uMzUzYWJlMGJmODc4MGRkOGE5ZTgx
OTA2MDUxNWI0Yzk3ZGYxZmI2OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDE2IEBACiAyMDE0LTAx
LTEwICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKKyAgICAgICAgTW92
ZSBwcm9ncmVzcyB0cmFja2luZyBmdW5jdGlvbnMgZnJvbSBGcmFtZUxvYWRlckNsaWVudCB0byBh
IG5ldyBQcm9ncmVzc1RyYWNrZXJDbGllbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTEyNjgwMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxv
YWRlckNsaWVudC5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoK
KyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6V2ViUGFnZSk6CisKKzIwMTQtMDEtMTAgIEFuZGVy
cyBDYXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KKwogICAgICAgICBSZW1vdmUgZGVhZCBj
b2RlCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjY3
ODIKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbSBiL1Nv
dXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5kZXggOGY4YTE0NzU1NzUxMGZmNjg4
ZjcxY2RhYjc2YjcwZDZhMDllYTA3My4uMTY2OTkzNTU5MTNiOTk1NzgwMzcxNTExYWQzYzYzZDY5
MWQ3MTBjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC00MDI5LDYgKzQwMjks
NyBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL2xvYWRlci9Qb2xpY3lD
aGVja2VyLmggXAogCVNvdXJjZS9XZWJDb3JlL2xvYWRlci9Qcm9ncmVzc1RyYWNrZXIuY3BwIFwK
IAlTb3VyY2UvV2ViQ29yZS9sb2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmggXAorCVNvdXJjZS9XZWJD
b3JlL2xvYWRlci9Qcm9ncmVzc1RyYWNrZXJDbGllbnQuaCBcCiAJU291cmNlL1dlYkNvcmUvbG9h
ZGVyL05hdmlnYXRpb25TY2hlZHVsZXIuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9sb2FkZXIvTmF2
aWdhdGlvblNjaGVkdWxlci5oIFwKIAlTb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VCdWZm
ZXIuY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJD
b3JlLnZjeHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hw
cm9qCmluZGV4IDg3NjYxYThkYjFlYWNhN2NmZjYxNjcyNzc3Nzc2OGU5NWVhMzEzN2EuLjJkMmFh
NjE4ZTE2YWRkNmI3ODljODVmMGMwZjI5OWIzYzkxMGI5MTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oKKysrIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvagpAQCAtMTg5NjYsNiArMTg5NjYsNyBA
QAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cbG9hZGVyXFBvbGljeUNhbGxiYWNrLmgiIC8+
CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxsb2FkZXJcUG9saWN5Q2hlY2tlci5oIiAvPgog
ICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cbG9hZGVyXFByb2dyZXNzVHJhY2tlci5oIiAvPgor
ICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cbG9hZGVyXFByb2dyZXNzVHJhY2tlckNsaWVudC5o
IiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cbG9hZGVyXFJlc291cmNlQnVmZmVyLmgi
IC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxsb2FkZXJcUmVzb3VyY2VMb2FkZXIuaCIg
Lz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGxvYWRlclxSZXNvdXJjZUxvYWRlck9wdGlv
bnMuaCIgLz4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJD
b3JlLnZjeHByb2ouZmlsdGVycyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJD
b3JlLnZjeHByb2ouZmlsdGVycwppbmRleCAxZDRhODMzYWNlYTEzY2UwNTFiNmJlY2VkZmYzMzQz
ZGI5YThjM2Q3Li4xNzI1NGJjMGQxMzYxNzM1ZjQ1MWVhMjdmMTRiZTUwYjlmN2E0ZTFhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZp
bHRlcnMKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJv
ai5maWx0ZXJzCkBAIC03ODQxLDYgKzc4NDEsOSBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0i
Li5cbG9hZGVyXFByb2dyZXNzVHJhY2tlci5oIj4KICAgICAgIDxGaWx0ZXI+bG9hZGVyPC9GaWx0
ZXI+CiAgICAgPC9DbEluY2x1ZGU+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxsb2FkZXJc
UHJvZ3Jlc3NUcmFja2VyQ2xpZW50LmgiPgorICAgICAgPEZpbHRlcj5sb2FkZXI8L0ZpbHRlcj4K
KyAgICA8L0NsSW5jbHVkZT4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGxvYWRlclxSZXNv
dXJjZUJ1ZmZlci5oIj4KICAgICAgIDxGaWx0ZXI+bG9hZGVyPC9GaWx0ZXI+CiAgICAgPC9DbElu
Y2x1ZGU+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKaW5kZXggNTU1Yzk5NzViYzBjNGQyYTFhYmZjMDk3YmUzMmI0NDZkNDYxODY1Ny4uZjAx
NDQwZDhkYTJkMjc3ZWM3YjM4MGYxNTllYzQ3NTM4YTAwYTI2OSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNzcwLDYgKzc3MCw3
IEBACiAJCTFBQzIyNjBEMERCNjlGMTkwMDg5QjY2OSAvKiBKU0RPTUFwcGxpY2F0aW9uQ2FjaGUu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBQzIyNjBC
MERCNjlGMTkwMDg5QjY2OSAvKiBKU0RPTUFwcGxpY2F0aW9uQ2FjaGUuaCAqLzsgfTsKIAkJMUFD
MkQ4NDUxNzE3MzRBMTAwNjUyRkMwIC8qIFN0b3JhZ2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxRTNGOUM0MERBMDU5REMwMDI1MDkxMSAvKiBTdG9y
YWdlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJ
MUFDNjk1OTMxNjFBMUU1MzAwMzczMkNCIC8qIEdyYXBoaWNzTGF5ZXJGYWN0b3J5LmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUM2OTU5MjE2MUExRTUz
MDAzNzMyQ0IgLyogR3JhcGhpY3NMYXllckZhY3RvcnkuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkxQUNBREQ3OTE4ODBEOTFDMDBEOEI3MUQgLyog
UHJvZ3Jlc3NUcmFja2VyQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAxQUNBREQ3ODE4ODBEOTFDMDBEOEI3MUQgLyogUHJvZ3Jlc3NUcmFja2Vy
Q2xpZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
IAkJMUFDRDFCNjMwQjAyOTczOTAwN0U1MDE2IC8qIERPTUNTU1N0eWxlRGVjbGFyYXRpb25JbnRl
cm5hbC5oIGluIENvcHkgR2VuZXJhdGVkIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gODVFNzExNDQwQUM1RDUzNDAwNTMyNzBGIC8qIERPTUNTU1N0eWxlRGVjbGFy
YXRpb25JbnRlcm5hbC5oICovOyB9OwogCQkxQUNFNTNERjBBOEQxODgxMDAyMjk0N0QgLyogSlNE
T01QYXJzZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMUFDRTUzREQwQThEMTg4MTAwMjI5NDdEIC8qIEpTRE9NUGFyc2VyLmNwcCAqLzsgfTsKIAkJ
MUFDRTUzRTAwQThEMTg4MTAwMjI5NDdEIC8qIEpTRE9NUGFyc2VyLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUNFNTNERTBBOEQxODgxMDAyMjk0N0Qg
LyogSlNET01QYXJzZXIuaCAqLzsgfTsKQEAgLTc1NTYsNiArNzU1Nyw3IEBACiAJCTFBQzIyNjBB
MERCNjlGMTkwMDg5QjY2OSAvKiBKU0RPTUFwcGxpY2F0aW9uQ2FjaGUuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNET01BcHBsaWNhdGlvbkNhY2hlLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUFDMjI2MEIwREI2OUYxOTAwODlCNjY5IC8qIEpT
RE9NQXBwbGljYXRpb25DYWNoZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBK
U0RPTUFwcGxpY2F0aW9uQ2FjaGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUFD
Njk1OTIxNjFBMUU1MzAwMzczMkNCIC8qIEdyYXBoaWNzTGF5ZXJGYWN0b3J5LmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEdyYXBoaWNzTGF5ZXJGYWN0b3J5Lmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTFBQ0FERDc4MTg4MEQ5MUMwMEQ4QjcxRCAvKiBQcm9ncmVz
c1RyYWNrZXJDbGllbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUHJvZ3Jl
c3NUcmFja2VyQ2xpZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFBQ0U1M0RE
MEE4RDE4ODEwMDIyOTQ3RCAvKiBKU0RPTVBhcnNlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gSlNET01QYXJzZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQkxQUNFNTNERTBBOEQxODgxMDAyMjk0N0QgLyogSlNET01QYXJzZXIuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRE9NUGFyc2VyLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTFBQ0U1M0UxMEE4RDE4RTcwMDIyOTQ3RCAvKiBET01QYXJzZXIuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IERPTVBhcnNlci5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMDYyMSw2ICsyMDYyMyw3IEBACiAJCQkJOTcw
NTk5NzYxMDdEOTc1MjAwQTUwQTdDIC8qIFBvbGljeUNoZWNrZXIuaCAqLywKIAkJCQkxQTJBNjgy
MTBCNUJFREU3MDAwMkE0ODAgLyogUHJvZ3Jlc3NUcmFja2VyLmNwcCAqLywKIAkJCQkxQTJBNjgy
MjBCNUJFREU3MDAwMkE0ODAgLyogUHJvZ3Jlc3NUcmFja2VyLmggKi8sCisJCQkJMUFDQURENzgx
ODgwRDkxQzAwRDhCNzFEIC8qIFByb2dyZXNzVHJhY2tlckNsaWVudC5oICovLAogCQkJCTUxNEJD
ODQwMTYxQ0YwNUMwMDRENTJGNCAvKiBSZXNvdXJjZUJ1ZmZlci5jcHAgKi8sCiAJCQkJNTE0QkM4
NDExNjFDRjA1QzAwNEQ1MkY0IC8qIFJlc291cmNlQnVmZmVyLmggKi8sCiAJCQkJOTNFMjI3REUw
QUY1ODlBRDAwRDQ4MzI0IC8qIFJlc291cmNlTG9hZGVyLmNwcCAqLywKQEAgLTI0NjEwLDYgKzI0
NjEzLDcgQEAKIAkJCQlFMTgyNTY5MDBFRjJCMDJEMDA5MzMyNDIgLyogSlNXb3JrZXJHbG9iYWxT
Y29wZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTFDMzZEMzUwRUIwQTA5NDAwNzQxMEJDIC8qIEpT
V29ya2VyR2xvYmFsU2NvcGVCYXNlLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMUMzNjJFRjBFQUYy
QUE5MDA3NDEwQkMgLyogSlNXb3JrZXJMb2NhdGlvbi5oIGluIEhlYWRlcnMgKi8sCisJCQkJMUFD
QURENzkxODgwRDkxQzAwRDhCNzFEIC8qIFByb2dyZXNzVHJhY2tlckNsaWVudC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJRTEyNzFBNTgwRUVFQ0RFNDAwRjYxMjEzIC8qIEpTV29ya2VyTmF2aWdhdG9y
LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzM0OEJENDBEQjdGODA0MDA0QUJBQjkgLyogSlNYTUxI
dHRwUmVxdWVzdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkM2MERBM0EwRDJBMzAyODAwQjk5MThG
IC8qIEpTWE1MSHR0cFJlcXVlc3RFeGNlcHRpb24uaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvRW1wdHlDbGllbnRzLmNwcAppbmRleCBiNjM4ZDFjMmE4ZjY4Zjk4NjY5ZTBkMzZi
M2E5NWExZmQ0NDhkNWRjLi5mYWY0Y2U4ZjNhOWZiZmExZWRhODU5NTY2ZjIyNjAzZjU3MjI2YmQ2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmNwcApAQCAtNjYsNiArNjYsOSBA
QCB2b2lkIGZpbGxXaXRoRW1wdHlDbGllbnRzKFBhZ2U6OlBhZ2VDbGllbnRzJiBwYWdlQ2xpZW50
cykKIAogICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxFbXB0eUZyYW1lTG9hZGVyQ2xpZW50PiBk
dW1teUZyYW1lTG9hZGVyQ2xpZW50OwogICAgIHBhZ2VDbGllbnRzLmxvYWRlckNsaWVudEZvck1h
aW5GcmFtZSA9ICZkdW1teUZyYW1lTG9hZGVyQ2xpZW50LmdldCgpOworICAgIAorICAgIHN0YXRp
YyBOZXZlckRlc3Ryb3llZDxFbXB0eVByb2dyZXNzVHJhY2tlckNsaWVudD4gZHVtbXlQcm9ncmVz
c1RyYWNrZXJDbGllbnQ7CisgICAgcGFnZUNsaWVudHMucHJvZ3Jlc3NUcmFja2VyQ2xpZW50ID0g
JmR1bW15UHJvZ3Jlc3NUcmFja2VyQ2xpZW50LmdldCgpOwogfQogCiBjbGFzcyBFbXB0eVBvcHVw
TWVudSA6IHB1YmxpYyBQb3B1cE1lbnUgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL0VtcHR5Q2xpZW50cy5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5o
CmluZGV4IGEyNzRmNmFhYmEzMDhiNTRlMDJmOWI1ZDkyYWI3ODBmMWQ2ZGMzOWMuLjA3NjUzYmE1
ZTNkNDM2MjM2MWI0Njk5ZjMyMmQ0M2FhNmNiZDVmMTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1w
dHlDbGllbnRzLmgKQEAgLTQxLDYgKzQxLDcgQEAKICNpbmNsdWRlICJGcmFtZUxvYWRlckNsaWVu
dC5oIgogI2luY2x1ZGUgIkluc3BlY3RvckNsaWVudC5oIgogI2luY2x1ZGUgIlBhZ2UuaCIKKyNp
bmNsdWRlICJQcm9ncmVzc1RyYWNrZXJDbGllbnQuaCIKICNpbmNsdWRlICJSZXNvdXJjZUVycm9y
LmgiCiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nVmlldy5oPgogCkBAIC0zMTYsMTIgKzMxNyw2
IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgcmV2ZXJ0VG9Qcm92aXNpb25hbFN0YXRlKERv
Y3VtZW50TG9hZGVyKikgT1ZFUlJJREUgeyB9CiAgICAgdmlydHVhbCB2b2lkIHNldE1haW5Eb2N1
bWVudEVycm9yKERvY3VtZW50TG9hZGVyKiwgY29uc3QgUmVzb3VyY2VFcnJvciYpIE9WRVJSSURF
IHsgfQogCi0gICAgdmlydHVhbCB2b2lkIHdpbGxDaGFuZ2VFc3RpbWF0ZWRQcm9ncmVzcygpIE9W
RVJSSURFIHsgfQotICAgIHZpcnR1YWwgdm9pZCBkaWRDaGFuZ2VFc3RpbWF0ZWRQcm9ncmVzcygp
IE9WRVJSSURFIHsgfQotICAgIHZpcnR1YWwgdm9pZCBwb3N0UHJvZ3Jlc3NTdGFydGVkTm90aWZp
Y2F0aW9uKCkgT1ZFUlJJREUgeyB9Ci0gICAgdmlydHVhbCB2b2lkIHBvc3RQcm9ncmVzc0VzdGlt
YXRlQ2hhbmdlZE5vdGlmaWNhdGlvbigpIE9WRVJSSURFIHsgfQotICAgIHZpcnR1YWwgdm9pZCBw
b3N0UHJvZ3Jlc3NGaW5pc2hlZE5vdGlmaWNhdGlvbigpIE9WRVJSSURFIHsgfQotCiAgICAgdmly
dHVhbCB2b2lkIHNldE1haW5GcmFtZURvY3VtZW50UmVhZHkoYm9vbCkgT1ZFUlJJREUgeyB9CiAK
ICAgICB2aXJ0dWFsIHZvaWQgc3RhcnREb3dubG9hZChjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBj
b25zdCBTdHJpbmcmIHN1Z2dlc3RlZE5hbWUgPSBTdHJpbmcoKSkgT1ZFUlJJREUgeyBVTlVTRURf
UEFSQU0oc3VnZ2VzdGVkTmFtZSk7IH0KQEAgLTYzOCw2ICs2MzMsMTQgQEAgcHVibGljOgogICAg
IHZpcnR1YWwgdm9pZCBkZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXJEZXN0cm95ZWQoKSBPVkVS
UklERSB7IH0KIH07CiAKK2NsYXNzIEVtcHR5UHJvZ3Jlc3NUcmFja2VyQ2xpZW50IDogcHVibGlj
IFByb2dyZXNzVHJhY2tlckNsaWVudCB7CisgICAgdmlydHVhbCB2b2lkIHdpbGxDaGFuZ2VFc3Rp
bWF0ZWRQcm9ncmVzcygpIE9WRVJSSURFIHsgfQorICAgIHZpcnR1YWwgdm9pZCBkaWRDaGFuZ2VF
c3RpbWF0ZWRQcm9ncmVzcygpIE9WRVJSSURFIHsgfQorICAgIHZpcnR1YWwgdm9pZCBwb3N0UHJv
Z3Jlc3NTdGFydGVkTm90aWZpY2F0aW9uKCkgT1ZFUlJJREUgeyB9CisgICAgdmlydHVhbCB2b2lk
IHBvc3RQcm9ncmVzc0VzdGltYXRlQ2hhbmdlZE5vdGlmaWNhdGlvbigpIE9WRVJSSURFIHsgfQor
ICAgIHZpcnR1YWwgdm9pZCBwb3N0UHJvZ3Jlc3NGaW5pc2hlZE5vdGlmaWNhdGlvbigpIE9WRVJS
SURFIHsgfQorfTsKKwogdm9pZCBmaWxsV2l0aEVtcHR5Q2xpZW50cyhQYWdlOjpQYWdlQ2xpZW50
cyYpOwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXJD
bGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlckNsaWVudC5oCmluZGV4
IGZjYmJjYjc3MTU2NTE1OGVhMDU0NTE3YjhlZDUyNjdmN2U1YmNiNGQuLjhkYTZiNDMxMzM3OTdi
N2E2OTVmMTJiOTE5YTIzZDcyMDdhNTM3MDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9GcmFtZUxvYWRlckNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFt
ZUxvYWRlckNsaWVudC5oCkBAIC0xODcsMTMgKzE4Nyw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICAgICAgdmlydHVhbCB2b2lkIHJldmVydFRvUHJvdmlzaW9uYWxTdGF0ZShEb2N1bWVudExv
YWRlciopID0gMDsKICAgICAgICAgdmlydHVhbCB2b2lkIHNldE1haW5Eb2N1bWVudEVycm9yKERv
Y3VtZW50TG9hZGVyKiwgY29uc3QgUmVzb3VyY2VFcnJvciYpID0gMDsKIAotICAgICAgICAvLyBN
YXliZSB0aGVzZSBzaG91bGQgZ28gaW50byBhIFByb2dyZXNzVHJhY2tlckNsaWVudCBzb21lIGRh
eQotICAgICAgICB2aXJ0dWFsIHZvaWQgd2lsbENoYW5nZUVzdGltYXRlZFByb2dyZXNzKCkgeyB9
Ci0gICAgICAgIHZpcnR1YWwgdm9pZCBkaWRDaGFuZ2VFc3RpbWF0ZWRQcm9ncmVzcygpIHsgfQot
ICAgICAgICB2aXJ0dWFsIHZvaWQgcG9zdFByb2dyZXNzU3RhcnRlZE5vdGlmaWNhdGlvbigpID0g
MDsKLSAgICAgICAgdmlydHVhbCB2b2lkIHBvc3RQcm9ncmVzc0VzdGltYXRlQ2hhbmdlZE5vdGlm
aWNhdGlvbigpID0gMDsKLSAgICAgICAgdmlydHVhbCB2b2lkIHBvc3RQcm9ncmVzc0ZpbmlzaGVk
Tm90aWZpY2F0aW9uKCkgPSAwOwotICAgICAgICAKICAgICAgICAgdmlydHVhbCB2b2lkIHNldE1h
aW5GcmFtZURvY3VtZW50UmVhZHkoYm9vbCkgPSAwOwogCiAgICAgICAgIHZpcnR1YWwgdm9pZCBz
dGFydERvd25sb2FkKGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFN0cmluZyYgc3VnZ2Vz
dGVkTmFtZSA9IFN0cmluZygpKSA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvUHJvZ3Jlc3NUcmFja2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Qcm9ncmVzc1Ry
YWNrZXIuY3BwCmluZGV4IGZiYTBjMTI5ZTRmYmQ1YjFkMmZkODg1YWYzMDA0MzliOWM0YjlhM2Qu
LmM5NDQzYTc2ZDkzNTMxYzAwNzNmOTBmYWQ2M2U1Yzg3ZTkwMzMyNGUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9Qcm9ncmVzc1RyYWNrZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9Qcm9ncmVzc1RyYWNrZXIuY3BwCkBAIC0zMyw2ICszMyw3IEBACiAjaW5jbHVk
ZSAiRnJhbWVMb2FkZXJDbGllbnQuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JJbnN0cnVtZW50YXRp
b24uaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCisjaW5jbHVkZSAiUHJvZ3Jlc3NUcmFja2VyQ2xp
ZW50LmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VSZXNwb25zZS5oIgogI2luY2x1ZGUgPHd0Zi90ZXh0
L0NTdHJpbmcuaD4KICNpbmNsdWRlIDx3dGYvQ3VycmVudFRpbWUuaD4KQEAgLTY5LDggKzcwLDkg
QEAgcHVibGljOgogCiB1bnNpZ25lZCBsb25nIFByb2dyZXNzVHJhY2tlcjo6c191bmlxdWVJZGVu
dGlmaWVyID0gMDsKIAotUHJvZ3Jlc3NUcmFja2VyOjpQcm9ncmVzc1RyYWNrZXIoKQotICAgIDog
bV90b3RhbFBhZ2VBbmRSZXNvdXJjZUJ5dGVzVG9Mb2FkKDApCitQcm9ncmVzc1RyYWNrZXI6OlBy
b2dyZXNzVHJhY2tlcihQcm9ncmVzc1RyYWNrZXJDbGllbnQmIGNsaWVudCkKKyAgICA6IG1fY2xp
ZW50KGNsaWVudCkKKyAgICAsIG1fdG90YWxQYWdlQW5kUmVzb3VyY2VCeXRlc1RvTG9hZCgwKQog
ICAgICwgbV90b3RhbEJ5dGVzUmVjZWl2ZWQoMCkKICAgICAsIG1fbGFzdE5vdGlmaWVkUHJvZ3Jl
c3NWYWx1ZSgwKQogICAgICwgbV9sYXN0Tm90aWZpZWRQcm9ncmVzc1RpbWUoMCkKQEAgLTg3LDYg
Kzg5LDcgQEAgUHJvZ3Jlc3NUcmFja2VyOjpQcm9ncmVzc1RyYWNrZXIoKQogCiBQcm9ncmVzc1Ry
YWNrZXI6On5Qcm9ncmVzc1RyYWNrZXIoKQogeworICAgIG1fY2xpZW50LnByb2dyZXNzVHJhY2tl
ckRlc3Ryb3llZCgpOwogfQogCiBkb3VibGUgUHJvZ3Jlc3NUcmFja2VyOjplc3RpbWF0ZWRQcm9n
cmVzcygpIGNvbnN0CkBAIC0xMTYsNyArMTE5LDcgQEAgdm9pZCBQcm9ncmVzc1RyYWNrZXI6OnBy
b2dyZXNzU3RhcnRlZChGcmFtZSYgZnJhbWUpCiB7CiAgICAgTE9HKFByb2dyZXNzLCAiUHJvZ3Jl
c3Mgc3RhcnRlZCAoJXApIC0gZnJhbWUgJXAoXCIlc1wiKSwgdmFsdWUgJWYsIHRyYWNrZWQgZnJh
bWVzICVkLCBvcmlnaW5hdGluZyBmcmFtZSAlcCIsIHRoaXMsICZmcmFtZSwgZnJhbWUudHJlZSgp
LnVuaXF1ZU5hbWUoKS5zdHJpbmcoKS51dGY4KCkuZGF0YSgpLCBtX3Byb2dyZXNzVmFsdWUsIG1f
bnVtUHJvZ3Jlc3NUcmFja2VkRnJhbWVzLCBtX29yaWdpbmF0aW5nUHJvZ3Jlc3NGcmFtZS5nZXQo
KSk7CiAKLSAgICBmcmFtZS5sb2FkZXIoKS5jbGllbnQoKS53aWxsQ2hhbmdlRXN0aW1hdGVkUHJv
Z3Jlc3MoKTsKKyAgICBtX2NsaWVudC53aWxsQ2hhbmdlRXN0aW1hdGVkUHJvZ3Jlc3MoKTsKICAg
ICAKICAgICBpZiAoIW1fbnVtUHJvZ3Jlc3NUcmFja2VkRnJhbWVzIHx8IG1fb3JpZ2luYXRpbmdQ
cm9ncmVzc0ZyYW1lID09ICZmcmFtZSkgewogICAgICAgICByZXNldCgpOwpAQCAtMTI2LDExICsx
MjksMTEgQEAgdm9pZCBQcm9ncmVzc1RyYWNrZXI6OnByb2dyZXNzU3RhcnRlZChGcmFtZSYgZnJh
bWUpCiAgICAgICAgIG1fcHJvZ3Jlc3NIZWFydGJlYXRUaW1lci5zdGFydFJlcGVhdGluZyhwcm9n
cmVzc0hlYXJ0YmVhdEludGVydmFsKTsKICAgICAgICAgbV9vcmlnaW5hdGluZ1Byb2dyZXNzRnJh
bWUtPmxvYWRlcigpLmxvYWRQcm9ncmVzc2luZ1N0YXR1c0NoYW5nZWQoKTsKIAotICAgICAgICBt
X29yaWdpbmF0aW5nUHJvZ3Jlc3NGcmFtZS0+bG9hZGVyKCkuY2xpZW50KCkucG9zdFByb2dyZXNz
U3RhcnRlZE5vdGlmaWNhdGlvbigpOworICAgICAgICBtX2NsaWVudC5wb3N0UHJvZ3Jlc3NTdGFy
dGVkTm90aWZpY2F0aW9uKCk7CiAgICAgfQogICAgIG1fbnVtUHJvZ3Jlc3NUcmFja2VkRnJhbWVz
Kys7CiAKLSAgICBmcmFtZS5sb2FkZXIoKS5jbGllbnQoKS5kaWRDaGFuZ2VFc3RpbWF0ZWRQcm9n
cmVzcygpOworICAgIG1fY2xpZW50LmRpZENoYW5nZUVzdGltYXRlZFByb2dyZXNzKCk7CiAgICAg
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpmcmFtZVN0YXJ0ZWRMb2FkaW5nKGZyYW1lKTsKIH0K
IApAQCAtMTQxLDEzICsxNDQsMTMgQEAgdm9pZCBQcm9ncmVzc1RyYWNrZXI6OnByb2dyZXNzQ29t
cGxldGVkKEZyYW1lJiBmcmFtZSkKICAgICBpZiAobV9udW1Qcm9ncmVzc1RyYWNrZWRGcmFtZXMg
PD0gMCkKICAgICAgICAgcmV0dXJuOwogICAgIAotICAgIGZyYW1lLmxvYWRlcigpLmNsaWVudCgp
LndpbGxDaGFuZ2VFc3RpbWF0ZWRQcm9ncmVzcygpOworICAgIG1fY2xpZW50LndpbGxDaGFuZ2VF
c3RpbWF0ZWRQcm9ncmVzcygpOwogICAgICAgICAKICAgICBtX251bVByb2dyZXNzVHJhY2tlZEZy
YW1lcy0tOwogICAgIGlmICghbV9udW1Qcm9ncmVzc1RyYWNrZWRGcmFtZXMgfHwgbV9vcmlnaW5h
dGluZ1Byb2dyZXNzRnJhbWUgPT0gJmZyYW1lKQogICAgICAgICBmaW5hbFByb2dyZXNzQ29tcGxl
dGUoKTsKICAgICAKLSAgICBmcmFtZS5sb2FkZXIoKS5jbGllbnQoKS5kaWRDaGFuZ2VFc3RpbWF0
ZWRQcm9ncmVzcygpOworICAgIG1fY2xpZW50LmRpZENoYW5nZUVzdGltYXRlZFByb2dyZXNzKCk7
CiB9CiAKIHZvaWQgUHJvZ3Jlc3NUcmFja2VyOjpmaW5hbFByb2dyZXNzQ29tcGxldGUoKQpAQCAt
MTYwLDEzICsxNjMsMTMgQEAgdm9pZCBQcm9ncmVzc1RyYWNrZXI6OmZpbmFsUHJvZ3Jlc3NDb21w
bGV0ZSgpCiAgICAgLy8gd2l0aCBmaW5hbCBwcm9ncmVzcyB2YWx1ZS4KICAgICBpZiAoIW1fZmlu
YWxQcm9ncmVzc0NoYW5nZWRTZW50KSB7CiAgICAgICAgIG1fcHJvZ3Jlc3NWYWx1ZSA9IDE7Ci0g
ICAgICAgIGZyYW1lLT5sb2FkZXIoKS5jbGllbnQoKS5wb3N0UHJvZ3Jlc3NFc3RpbWF0ZUNoYW5n
ZWROb3RpZmljYXRpb24oKTsKKyAgICAgICAgbV9jbGllbnQucG9zdFByb2dyZXNzRXN0aW1hdGVD
aGFuZ2VkTm90aWZpY2F0aW9uKCk7CiAgICAgfQogCiAgICAgcmVzZXQoKTsKIAogICAgIGZyYW1l
LT5sb2FkZXIoKS5jbGllbnQoKS5zZXRNYWluRnJhbWVEb2N1bWVudFJlYWR5KHRydWUpOwotICAg
IGZyYW1lLT5sb2FkZXIoKS5jbGllbnQoKS5wb3N0UHJvZ3Jlc3NGaW5pc2hlZE5vdGlmaWNhdGlv
bigpOworICAgIG1fY2xpZW50LnBvc3RQcm9ncmVzc0ZpbmlzaGVkTm90aWZpY2F0aW9uKCk7CiAg
ICAgZnJhbWUtPmxvYWRlcigpLmxvYWRQcm9ncmVzc2luZ1N0YXR1c0NoYW5nZWQoKTsKIAogICAg
IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZnJhbWVTdG9wcGVkTG9hZGluZygqZnJhbWUpOwpA
QCAtMjA1LDcgKzIwOCw3IEBAIHZvaWQgUHJvZ3Jlc3NUcmFja2VyOjppbmNyZW1lbnRQcm9ncmVz
cyh1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIHVuc2lnbmVkIGJ5dGVzCiAKICAgICBSZWZQdHI8
RnJhbWU+IGZyYW1lID0gbV9vcmlnaW5hdGluZ1Byb2dyZXNzRnJhbWU7CiAgICAgCi0gICAgZnJh
bWUtPmxvYWRlcigpLmNsaWVudCgpLndpbGxDaGFuZ2VFc3RpbWF0ZWRQcm9ncmVzcygpOworICAg
IG1fY2xpZW50LndpbGxDaGFuZ2VFc3RpbWF0ZWRQcm9ncmVzcygpOwogICAgIAogICAgIGRvdWJs
ZSBpbmNyZW1lbnQsIHBlcmNlbnRPZlJlbWFpbmluZ0J5dGVzOwogICAgIGxvbmcgbG9uZyByZW1h
aW5pbmdCeXRlcywgZXN0aW1hdGVkQnl0ZXNGb3JQZW5kaW5nUmVxdWVzdHM7CkBAIC0yNDgsMTQg
KzI1MSwxNCBAQCB2b2lkIFByb2dyZXNzVHJhY2tlcjo6aW5jcmVtZW50UHJvZ3Jlc3ModW5zaWdu
ZWQgbG9uZyBpZGVudGlmaWVyLCB1bnNpZ25lZCBieXRlcwogICAgICAgICAgICAgaWYgKG1fcHJv
Z3Jlc3NWYWx1ZSA9PSAxKQogICAgICAgICAgICAgICAgIG1fZmluYWxQcm9ncmVzc0NoYW5nZWRT
ZW50ID0gdHJ1ZTsKICAgICAgICAgICAgIAotICAgICAgICAgICAgZnJhbWUtPmxvYWRlcigpLmNs
aWVudCgpLnBvc3RQcm9ncmVzc0VzdGltYXRlQ2hhbmdlZE5vdGlmaWNhdGlvbigpOworICAgICAg
ICAgICAgbV9jbGllbnQucG9zdFByb2dyZXNzRXN0aW1hdGVDaGFuZ2VkTm90aWZpY2F0aW9uKCk7
CiAKICAgICAgICAgICAgIG1fbGFzdE5vdGlmaWVkUHJvZ3Jlc3NWYWx1ZSA9IG1fcHJvZ3Jlc3NW
YWx1ZTsKICAgICAgICAgICAgIG1fbGFzdE5vdGlmaWVkUHJvZ3Jlc3NUaW1lID0gbm93OwogICAg
ICAgICB9CiAgICAgfQogICAgIAotICAgIGZyYW1lLT5sb2FkZXIoKS5jbGllbnQoKS5kaWRDaGFu
Z2VFc3RpbWF0ZWRQcm9ncmVzcygpOworICAgIG1fY2xpZW50LmRpZENoYW5nZUVzdGltYXRlZFBy
b2dyZXNzKCk7CiB9CiAKIHZvaWQgUHJvZ3Jlc3NUcmFja2VyOjpjb21wbGV0ZVByb2dyZXNzKHVu
c2lnbmVkIGxvbmcgaWRlbnRpZmllcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9Qcm9ncmVzc1RyYWNrZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Qcm9ncmVzc1RyYWNr
ZXIuaAppbmRleCBlMDE3YWE4ZGU3ZDIzNWQ3MDBmYjMyZTQyMzVlOWQyOWFmMjlhMzM3Li4yNGU5
Mzc3YTFhYTljMjU4NDdkNTMzOGRjN2U1NGU1YzM2OTRhOGI1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL1Byb2dyZXNzVHJhY2tlci5oCkBAIC0zNywxMiArMzcsMTMgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogCiBjbGFzcyBGcmFtZTsKIGNsYXNzIFJlc291cmNlUmVzcG9uc2U7CitjbGFzcyBQcm9n
cmVzc1RyYWNrZXJDbGllbnQ7CiBzdHJ1Y3QgUHJvZ3Jlc3NJdGVtOwogCiBjbGFzcyBQcm9ncmVz
c1RyYWNrZXIgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFByb2dyZXNzVHJhY2tlcik7IFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgotICAgIFByb2dyZXNzVHJhY2tlcigpOwor
ICAgIGV4cGxpY2l0IFByb2dyZXNzVHJhY2tlcihQcm9ncmVzc1RyYWNrZXJDbGllbnQmKTsKICAg
ICB+UHJvZ3Jlc3NUcmFja2VyKCk7CiAKICAgICBzdGF0aWMgdW5zaWduZWQgbG9uZyBjcmVhdGVV
bmlxdWVJZGVudGlmaWVyKCk7CkBAIC02OSw2ICs3MCw3IEBAIHByaXZhdGU6CiAgICAgCiAgICAg
c3RhdGljIHVuc2lnbmVkIGxvbmcgc191bmlxdWVJZGVudGlmaWVyOwogICAgIAorICAgIFByb2dy
ZXNzVHJhY2tlckNsaWVudCYgbV9jbGllbnQ7CiAgICAgbG9uZyBsb25nIG1fdG90YWxQYWdlQW5k
UmVzb3VyY2VCeXRlc1RvTG9hZDsKICAgICBsb25nIGxvbmcgbV90b3RhbEJ5dGVzUmVjZWl2ZWQ7
CiAgICAgZG91YmxlIG1fbGFzdE5vdGlmaWVkUHJvZ3Jlc3NWYWx1ZTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9Qcm9ncmVzc1RyYWNrZXJDbGllbnQuaCBiL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9Qcm9ncmVzc1RyYWNrZXJDbGllbnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNzkwNDk4Y2E5
MjdjNTM2NTM3N2U4MmI0MzIxNmNjMTNmYjA3YWU0Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tlckNsaWVudC5oCkBAIC0wLDAgKzEsNDcgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjaWZuZGVmIFByb2dyZXNzVHJhY2tlckNsaWVudF9oCisjZGVmaW5lIFBy
b2dyZXNzVHJhY2tlckNsaWVudF9oCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgUHJv
Z3Jlc3NUcmFja2VyQ2xpZW50IHsKK3Byb3RlY3RlZDoKKyAgICB2aXJ0dWFsIH5Qcm9ncmVzc1Ry
YWNrZXJDbGllbnQoKSB7IH0KKworcHVibGljOgorICAgIHZpcnR1YWwgdm9pZCBwcm9ncmVzc1Ry
YWNrZXJEZXN0cm95ZWQoKSB7IH0KKworICAgIHZpcnR1YWwgdm9pZCB3aWxsQ2hhbmdlRXN0aW1h
dGVkUHJvZ3Jlc3MoKSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgZGlkQ2hhbmdlRXN0aW1hdGVkUHJv
Z3Jlc3MoKSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgcG9zdFByb2dyZXNzU3RhcnRlZE5vdGlmaWNh
dGlvbigpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgcG9zdFByb2dyZXNzRXN0aW1hdGVDaGFuZ2Vk
Tm90aWZpY2F0aW9uKCkgPSAwOworICAgIHZpcnR1YWwgdm9pZCBwb3N0UHJvZ3Jlc3NGaW5pc2hl
ZE5vdGlmaWNhdGlvbigpID0gMDsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2Vu
ZGlmIC8vIFByb2dyZXNzVHJhY2tlckNsaWVudF9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1BhZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAppbmRleCA3ZWRm
MzRhNmQ1YTBjZTliMDgxMDIyZjY1NTBlYzMyYmJkYjczMWUwLi5jM2VjMjczM2U4MzY1MjFmMDEw
Y2M1YzkyZmY4MDBhMjgzZDFhYjAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Bh
Z2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKQEAgLTE0Miw3ICsxNDIs
NyBAQCBQYWdlOjpQYWdlKFBhZ2VDbGllbnRzJiBwYWdlQ2xpZW50cykKICAgICAsIG1fcG9pbnRl
ckxvY2tDb250cm9sbGVyKFBvaW50ZXJMb2NrQ29udHJvbGxlcjo6Y3JlYXRlKHRoaXMpKQogI2Vu
ZGlmCiAgICAgLCBtX3NldHRpbmdzKFNldHRpbmdzOjpjcmVhdGUodGhpcykpCi0gICAgLCBtX3By
b2dyZXNzKHN0ZDo6bWFrZV91bmlxdWU8UHJvZ3Jlc3NUcmFja2VyPigpKQorICAgICwgbV9wcm9n
cmVzcyhzdGQ6Om1ha2VfdW5pcXVlPFByb2dyZXNzVHJhY2tlcj4oKnBhZ2VDbGllbnRzLnByb2dy
ZXNzVHJhY2tlckNsaWVudCkpCiAgICAgLCBtX2JhY2tGb3J3YXJkQ29udHJvbGxlcihzdGQ6Om1h
a2VfdW5pcXVlPEJhY2tGb3J3YXJkQ29udHJvbGxlcj4oKnRoaXMsIHBhZ2VDbGllbnRzLmJhY2tG
b3J3YXJkQ2xpZW50KSkKICAgICAsIG1fbWFpbkZyYW1lKE1haW5GcmFtZTo6Y3JlYXRlKCp0aGlz
LCAqcGFnZUNsaWVudHMubG9hZGVyQ2xpZW50Rm9yTWFpbkZyYW1lKSkKICAgICAsIG1fdGhlbWUo
UmVuZGVyVGhlbWU6OnRoZW1lRm9yUGFnZSh0aGlzKSkKQEAgLTE2MDEsMTcgKzE2MDEsMTggQEAg
Ym9vbCBQYWdlOjppc0FueUZyYW1lSGFuZGxpbmdCZWZvcmVVbmxvYWRFdmVudCgpCiB9CiAKIFBh
Z2U6OlBhZ2VDbGllbnRzOjpQYWdlQ2xpZW50cygpCi0gICAgOiBhbHRlcm5hdGl2ZVRleHRDbGll
bnQoMCkKLSAgICAsIGNocm9tZUNsaWVudCgwKQorICAgIDogYWx0ZXJuYXRpdmVUZXh0Q2xpZW50
KG51bGxwdHIpCisgICAgLCBjaHJvbWVDbGllbnQobnVsbHB0cikKICNpZiBFTkFCTEUoQ09OVEVY
VF9NRU5VUykKLSAgICAsIGNvbnRleHRNZW51Q2xpZW50KDApCisgICAgLCBjb250ZXh0TWVudUNs
aWVudChudWxscHRyKQogI2VuZGlmCi0gICAgLCBlZGl0b3JDbGllbnQoMCkKLSAgICAsIGRyYWdD
bGllbnQoMCkKLSAgICAsIGluc3BlY3RvckNsaWVudCgwKQotICAgICwgcGx1Z0luQ2xpZW50KDAp
Ci0gICAgLCB2YWxpZGF0aW9uTWVzc2FnZUNsaWVudCgwKQotICAgICwgbG9hZGVyQ2xpZW50Rm9y
TWFpbkZyYW1lKDApCisgICAgLCBlZGl0b3JDbGllbnQobnVsbHB0cikKKyAgICAsIGRyYWdDbGll
bnQobnVsbHB0cikKKyAgICAsIGluc3BlY3RvckNsaWVudChudWxscHRyKQorICAgICwgcGx1Z0lu
Q2xpZW50KG51bGxwdHIpCisgICAgLCBwcm9ncmVzc1RyYWNrZXJDbGllbnQobnVsbHB0cikKKyAg
ICAsIHZhbGlkYXRpb25NZXNzYWdlQ2xpZW50KG51bGxwdHIpCisgICAgLCBsb2FkZXJDbGllbnRG
b3JNYWluRnJhbWUobnVsbHB0cikKIHsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGFnZS9QYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaAppbmRleCA4MDFiYWRmMTM4
YzEyNmQ2YjA3Y2Q3ZWI5NTc2MjM5M2FhZjZjMmIwLi5jMzljMmY3ZmY4ZjNlN2M1Zjg3OGEyZjIy
ZDhiNjQyZDUyZmU2ZDk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaApAQCAtOTMsNiArOTMsNyBAQCBjbGFzcyBQ
bHVnaW5EYXRhOwogY2xhc3MgUGx1Z2luVmlld0Jhc2U7CiBjbGFzcyBQb2ludGVyTG9ja0NvbnRy
b2xsZXI7CiBjbGFzcyBQcm9ncmVzc1RyYWNrZXI7CitjbGFzcyBQcm9ncmVzc1RyYWNrZXJDbGll
bnQ7CiBjbGFzcyBSYW5nZTsKIGNsYXNzIFJlbmRlck9iamVjdDsKIGNsYXNzIFJlbmRlclRoZW1l
OwpAQCAtMTM0LDYgKzEzNSw3IEBAIHB1YmxpYzoKICAgICAgICAgRHJhZ0NsaWVudCogZHJhZ0Ns
aWVudDsKICAgICAgICAgSW5zcGVjdG9yQ2xpZW50KiBpbnNwZWN0b3JDbGllbnQ7CiAgICAgICAg
IFBsdWdJbkNsaWVudCogcGx1Z0luQ2xpZW50OworICAgICAgICBQcm9ncmVzc1RyYWNrZXJDbGll
bnQqIHByb2dyZXNzVHJhY2tlckNsaWVudDsKICAgICAgICAgUmVmUHRyPEJhY2tGb3J3YXJkQ2xp
ZW50PiBiYWNrRm9yd2FyZENsaWVudDsKICAgICAgICAgVmFsaWRhdGlvbk1lc3NhZ2VDbGllbnQq
IHZhbGlkYXRpb25NZXNzYWdlQ2xpZW50OwogICAgICAgICBGcmFtZUxvYWRlckNsaWVudCogbG9h
ZGVyQ2xpZW50Rm9yTWFpbkZyYW1lOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvV2Vi
Q29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRFZmwuaCBiL1NvdXJjZS9XZWJLaXQvZWZsL1dl
YkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50RWZsLmgKaW5kZXggODY4NmVlOTVkMjU3YWMw
YTNiZDJmYWMwNmRhOTI2ZThjZDg5MmIyOS4uOWI3YmFjN2I3ODdjNTA4ODk1NGNmZTA4MTFiMDI5
NGJkY2FhZGMxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQv
RnJhbWVMb2FkZXJDbGllbnRFZmwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3Vw
cG9ydC9GcmFtZUxvYWRlckNsaWVudEVmbC5oCkBAIC0zNiw2ICszNiw3IEBACiAjaW5jbHVkZSAi
RVdlYktpdC5oIgogI2luY2x1ZGUgIkZyYW1lTG9hZGVyQ2xpZW50LmgiCiAjaW5jbHVkZSAiUGx1
Z2luVmlldy5oIgorI2luY2x1ZGUgIlByb2dyZXNzVHJhY2tlckNsaWVudC5oIgogI2luY2x1ZGUg
IlJlc291cmNlRXJyb3IuaCIKICNpbmNsdWRlICJSZXNvdXJjZVJlc3BvbnNlLmgiCiAKQEAgLTQz
LDcgKzQ0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBGb3JtU3RhdGU7CiAKLWNs
YXNzIEZyYW1lTG9hZGVyQ2xpZW50RWZsIDogcHVibGljIEZyYW1lTG9hZGVyQ2xpZW50IHsKK2Ns
YXNzIEZyYW1lTG9hZGVyQ2xpZW50RWZsIDogcHVibGljIEZyYW1lTG9hZGVyQ2xpZW50LCBwdWJs
aWMgUHJvZ3Jlc3NUcmFja2VyQ2xpZW50IHsKICBwdWJsaWM6CiAgICAgZXhwbGljaXQgRnJhbWVM
b2FkZXJDbGllbnRFZmwoRXZhc19PYmplY3QgKnZpZXcpOwogICAgIHZpcnR1YWwgfkZyYW1lTG9h
ZGVyQ2xpZW50RWZsKCkgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdr
X3ZpZXcuY3BwIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a192aWV3LmNwcAppbmRleCAzY2Yw
ZWVjOTUzODA5MDZkNTQwYTMwMzMyNTFhNTYzNmI3OWYyMmNkLi40N2YxOWFiYzFhMmE2ZTYyMGYy
MmVhYTMwOWEyNmVlZTc1M2Y2NDIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2sv
ZXdrX3ZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlldy5jcHAKQEAg
LTY4Myw2ICs2ODMsNyBAQCBzdGF0aWMgRXdrX1ZpZXdfUHJpdmF0ZV9EYXRhKiBfZXdrX3ZpZXdf
cHJpdl9uZXcoRXdrX1ZpZXdfU21hcnRfRGF0YSogc21hcnREYXRhKQogICAgIHBhZ2VDbGllbnRz
Lmluc3BlY3RvckNsaWVudCA9IG5ldyBXZWJDb3JlOjpJbnNwZWN0b3JDbGllbnRFZmwoc21hcnRE
YXRhLT5zZWxmKTsKICNlbmRpZgogICAgIHBhZ2VDbGllbnRzLmxvYWRlckNsaWVudEZvck1haW5G
cmFtZSA9IG5ldyBXZWJDb3JlOjpGcmFtZUxvYWRlckNsaWVudEVmbChzbWFydERhdGEtPnNlbGYp
OworICAgIHBhZ2VDbGllbnRzLnByb2dyZXNzVHJhY2tlckNsaWVudCA9IHN0YXRpY19jYXN0PFdl
YkNvcmU6OkZyYW1lTG9hZGVyQ2xpZW50RWZsKj4ocGFnZUNsaWVudHMubG9hZGVyQ2xpZW50Rm9y
TWFpbkZyYW1lKTsKICAgICBwcml2LT5wYWdlID0gYWRvcHRQdHIobmV3IFdlYkNvcmU6OlBhZ2Uo
cGFnZUNsaWVudHMpKTsKIAogI2lmIEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEd0
ay5oIGIvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRH
dGsuaAppbmRleCBkYjRiNjE1OTdiNDNiZjM1NTY2NmVhMmI2ZmRiZjQzZTkxNjlkNjc3Li4yNDAy
YjliNjEwYWJhZDM2MjQ3Njc5MzkxM2IzNjE2NTA3ZDhkNjY2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEd0ay5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50R3RrLmgKQEAg
LTMxLDYgKzMxLDcgQEAKICNkZWZpbmUgRnJhbWVMb2FkZXJDbGllbnRHdGtfaAogCiAjaW5jbHVk
ZSAiRnJhbWVMb2FkZXJDbGllbnQuaCIKKyNpbmNsdWRlICJQcm9ncmVzc1RyYWNrZXJDbGllbnQu
aCIKICNpbmNsdWRlICJSZXNvdXJjZVJlc3BvbnNlLmgiCiAjaW5jbHVkZSAid2Via2l0d2VicG9s
aWN5ZGVjaXNpb24uaCIKIApAQCAtNDIsNyArNDMsNyBAQCBjbGFzcyBQbHVnaW5WaWV3OwogCiBu
YW1lc3BhY2UgV2ViS2l0IHsKIAotICAgIGNsYXNzIEZyYW1lTG9hZGVyQ2xpZW50IDogcHVibGlj
IFdlYkNvcmU6OkZyYW1lTG9hZGVyQ2xpZW50IHsKKyAgICBjbGFzcyBGcmFtZUxvYWRlckNsaWVu
dCA6IHB1YmxpYyBXZWJDb3JlOjpGcmFtZUxvYWRlckNsaWVudCwgcHVibGljIFdlYkNvcmU6OlBy
b2dyZXNzVHJhY2tlckNsaWVudCB7CiAgICAgcHVibGljOgogICAgICAgICBGcmFtZUxvYWRlckNs
aWVudChXZWJLaXRXZWJGcmFtZSogPSAwKTsKICAgICAgICAgdmlydHVhbCB+RnJhbWVMb2FkZXJD
bGllbnQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJ2
aWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJ2aWV3LmNwcAppbmRl
eCBjYzNhM2Q2NzE3NWUxYzY3YmQ0M2U1MTQ2NjdkYWYyNWMxZDMzNDY0Li40NWM1MzFjODkxZWE2
ZjkxMTYzODMwMjZkMmEyMTA5N2U0MmU1YjY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2d0
ay93ZWJraXQvd2Via2l0d2Vidmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9ndGsvd2Via2l0
L3dlYmtpdHdlYnZpZXcuY3BwCkBAIC0zODEwLDYgKzM4MTAsNyBAQCBzdGF0aWMgdm9pZCB3ZWJr
aXRfd2ViX3ZpZXdfaW5pdChXZWJLaXRXZWJWaWV3KiB3ZWJWaWV3KQogI2VuZGlmCiAgICAgcGFn
ZUNsaWVudHMuaW5zcGVjdG9yQ2xpZW50ID0gbmV3IFdlYktpdDo6SW5zcGVjdG9yQ2xpZW50KHdl
YlZpZXcpOwogICAgIHBhZ2VDbGllbnRzLmxvYWRlckNsaWVudEZvck1haW5GcmFtZSA9IG5ldyBX
ZWJLaXQ6OkZyYW1lTG9hZGVyQ2xpZW50OworICAgIHBhZ2VDbGllbnRzLnByb2dyZXNzVHJhY2tl
ckNsaWVudCA9IHN0YXRpY19jYXN0PFdlYktpdDo6RnJhbWVMb2FkZXJDbGllbnQqPihwYWdlQ2xp
ZW50cy5sb2FkZXJDbGllbnRGb3JNYWluRnJhbWUpOwogCiAgICAgcHJpdi0+Y29yZVBhZ2UgPSBu
ZXcgUGFnZShwYWdlQ2xpZW50cyk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dl
YkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L21hYy9X
ZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5oCmluZGV4IDhhZjdjODdjNDRiYzNl
MmQxMzlkMjlkMjdkZGQ0NWYxZGU2NzdmNDAuLjQ4MjZjYjY5OTMxMzcwYjIyMmQzNDQxZDk0ZTQ2
ZDhlZTZkZTFhMzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0
L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1
cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuaApAQCAtMjcsNiArMjcsNyBAQAogICovCiAKICNp
bXBvcnQgPFdlYkNvcmUvRnJhbWVMb2FkZXJDbGllbnQuaD4KKyNpbXBvcnQgPFdlYkNvcmUvUHJv
Z3Jlc3NUcmFja2VyQ2xpZW50Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL1RpbWVyLmg+CiAjaW1wb3J0
IDx3dGYvRm9yd2FyZC5oPgogI2ltcG9ydCA8d3RmL0hhc2hNYXAuaD4KQEAgLTQ5LDcgKzUwLDcg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiB0eXBlZGVmIEhhc2hNYXA8UmVmUHRyPFdlYkNvcmU6
OlJlc291cmNlTG9hZGVyPiwgUmV0YWluUHRyPFdlYlJlc291cmNlPj4gUmVzb3VyY2VNYXA7CiAK
LWNsYXNzIFdlYkZyYW1lTG9hZGVyQ2xpZW50IDogcHVibGljIFdlYkNvcmU6OkZyYW1lTG9hZGVy
Q2xpZW50IHsKK2NsYXNzIFdlYkZyYW1lTG9hZGVyQ2xpZW50IDogcHVibGljIFdlYkNvcmU6OkZy
YW1lTG9hZGVyQ2xpZW50LCBwdWJsaWMgV2ViQ29yZTo6UHJvZ3Jlc3NUcmFja2VyQ2xpZW50IHsK
IHB1YmxpYzoKICAgICBXZWJGcmFtZUxvYWRlckNsaWVudChXZWJGcmFtZSogPSAwKTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tIGIvU291cmNlL1dl
YktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCmluZGV4IDA0ODg5MDAxNzFjOTIwNmE4NGVjZjUy
MmY1M2VkMTU3ZDQ0ZjQ3OTEuLjU2MmQ2M2NkZjVhMjM3ODI0MDAyOTczY2ZjYWZjN2RkNTNkOTEw
ZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQorKysg
Yi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KQEAgLTk3OSw2ICs5NzksNyBA
QCBzdGF0aWMgYm9vbCBzaG91bGRVc2VMZWdhY3lCYWNrZ3JvdW5kU2l6ZVNob3J0aGFuZEJlaGF2
aW9yKCkKICAgICBwYWdlQ2xpZW50cy5lZGl0b3JDbGllbnQgPSBuZXcgV2ViRWRpdG9yQ2xpZW50
KHNlbGYpOwogICAgIHBhZ2VDbGllbnRzLmFsdGVybmF0aXZlVGV4dENsaWVudCA9IG5ldyBXZWJB
bHRlcm5hdGl2ZVRleHRDbGllbnQoc2VsZik7CiAgICAgcGFnZUNsaWVudHMubG9hZGVyQ2xpZW50
Rm9yTWFpbkZyYW1lID0gbmV3IFdlYkZyYW1lTG9hZGVyQ2xpZW50OworICAgIHBhZ2VDbGllbnRz
LnByb2dyZXNzVHJhY2tlckNsaWVudCA9IHN0YXRpY19jYXN0PFdlYkZyYW1lTG9hZGVyQ2xpZW50
Kj4ocGFnZUNsaWVudHMubG9hZGVyQ2xpZW50Rm9yTWFpbkZyYW1lKTsKICAgICBfcHJpdmF0ZS0+
cGFnZSA9IG5ldyBQYWdlKHBhZ2VDbGllbnRzKTsKICNpZiBFTkFCTEUoR0VPTE9DQVRJT04pCiAg
ICAgV2ViQ29yZTo6cHJvdmlkZUdlb2xvY2F0aW9uVG8oX3ByaXZhdGUtPnBhZ2UsIG5ldyBXZWJH
ZW9sb2NhdGlvbkNsaWVudChzZWxmKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9X
ZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5oIGIvU291cmNlL1dlYktpdC93aW4v
V2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuaAppbmRleCAyYzY1YTAxMzkyYTYz
Y2UwM2EyYTFjYWM1ZDE3NTE5ZjE4NTVhNjk3Li43MDJlNzdkYjQzZmFlMDExNDIzOWJhN2NkZjk5
MmNmOTkxNTQ4ZjhlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9y
dC9XZWJGcmFtZUxvYWRlckNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVT
dXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmgKQEAgLTMxLDYgKzMxLDcgQEAKIAogI2luY2x1
ZGUgPFdlYkNvcmUvQ09NUHRyLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9GcmFtZUxvYWRlckNsaWVu
dC5oPgorI2luY2x1ZGUgPFdlYkNvcmUvUHJvZ3Jlc3NUcmFja2VyQ2xpZW50Lmg+CiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBQbHVnaW5NYW51YWxMb2FkZXI7CkBAIC00MSw3ICs0
Miw3IEBAIGNsYXNzIFdlYkZyYW1lOwogY2xhc3MgV2ViRnJhbWVQb2xpY3lMaXN0ZW5lcjsKIGNs
YXNzIFdlYkhpc3Rvcnk7CiAKLWNsYXNzIFdlYkZyYW1lTG9hZGVyQ2xpZW50IDogcHVibGljIFdl
YkNvcmU6OkZyYW1lTG9hZGVyQ2xpZW50IHsKK2NsYXNzIFdlYkZyYW1lTG9hZGVyQ2xpZW50IDog
cHVibGljIFdlYkNvcmU6OkZyYW1lTG9hZGVyQ2xpZW50LCBwdWJsaWMgV2ViQ29yZTo6UHJvZ3Jl
c3NUcmFja2VyQ2xpZW50IHsKIHB1YmxpYzoKICAgICBXZWJGcmFtZUxvYWRlckNsaWVudChXZWJG
cmFtZSogPSAwKTsKICAgICB+V2ViRnJhbWVMb2FkZXJDbGllbnQoKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvd2luL1dlYlZpZXcuY3BwIGIvU291cmNlL1dlYktpdC93aW4vV2ViVmlldy5j
cHAKaW5kZXggYWE3YTk2NDNhNTBlODYxMTBjMzZlYmMzOGU2NjhlMjVhYmQ1ZGFhMS4uMGE5ZDQy
N2RkZGE5NWVjMDYyMmU5MmQ3YjdkMGIxOTA0YTIyMDUzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC93aW4vV2ViVmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdC93aW4vV2ViVmlldy5jcHAK
QEAgLTI3NzIsNiArMjc3Miw3IEBAIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgV2ViVmlldzo6
aW5pdFdpdGhGcmFtZSgKICAgICBwYWdlQ2xpZW50cy5pbnNwZWN0b3JDbGllbnQgPSBtX2luc3Bl
Y3RvckNsaWVudDsKICNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQogICAgIHBhZ2VDbGllbnRz
LmxvYWRlckNsaWVudEZvck1haW5GcmFtZSA9IG5ldyBXZWJGcmFtZUxvYWRlckNsaWVudDsKKyAg
ICBwYWdlQ2xpZW50cy5wcm9ncmVzc1RyYWNrZXJDbGllbnQgPSBzdGF0aWNfY2FzdDxXZWJGcmFt
ZUxvYWRlckNsaWVudCo+KHBhZ2VDbGllbnRzLmxvYWRlckNsaWVudEZvck1haW5GcmFtZSk7CiAK
ICAgICBtX3BhZ2UgPSBuZXcgUGFnZShwYWdlQ2xpZW50cyk7CiAgICAgcHJvdmlkZUdlb2xvY2F0
aW9uVG8obV9wYWdlLCBuZXcgV2ViR2VvbG9jYXRpb25DbGllbnQodGhpcykpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRl
ckNsaWVudC5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJG
cmFtZUxvYWRlckNsaWVudC5oCmluZGV4IDU2OWI3MzBkNzhkZmEyNjQ1YmM1YWExMjVmMzQxNzZj
MmJmOGU0MGMuLmEyYzhiY2IxODc4ZDExYTRkYzg4MDhjMTA0OWM1MTdhZmRkMWVkMjMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVM
b2FkZXJDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBw
b3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmgKQEAgLTI3LDEzICsyNywxNCBAQAogI2RlZmluZSBX
ZWJGcmFtZUxvYWRlckNsaWVudF9oCiAKICNpbmNsdWRlIDxXZWJDb3JlL0ZyYW1lTG9hZGVyQ2xp
ZW50Lmg+CisjaW5jbHVkZSA8V2ViQ29yZS9Qcm9ncmVzc1RyYWNrZXJDbGllbnQuaD4KIAogbmFt
ZXNwYWNlIFdlYktpdCB7CiAKIGNsYXNzIFBsdWdpblZpZXc7CiBjbGFzcyBXZWJGcmFtZTsKICAg
ICAKLWNsYXNzIFdlYkZyYW1lTG9hZGVyQ2xpZW50IDogcHVibGljIFdlYkNvcmU6OkZyYW1lTG9h
ZGVyQ2xpZW50IHsKK2NsYXNzIFdlYkZyYW1lTG9hZGVyQ2xpZW50IDogcHVibGljIFdlYkNvcmU6
OkZyYW1lTG9hZGVyQ2xpZW50LCBwdWJsaWMgV2ViQ29yZTo6UHJvZ3Jlc3NUcmFja2VyQ2xpZW50
IHsKIHB1YmxpYzoKICAgICBXZWJGcmFtZUxvYWRlckNsaWVudCgpOwogICAgIH5XZWJGcmFtZUxv
YWRlckNsaWVudCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UuY3BwCmluZGV4IDU2NDZhYzI2MzYxYjEyNWNkMWQ3ZWYwZDExYzk4OTNiNjY1NGJlY2EuLmFi
N2QxMmU2YzZkZTM2OGRmMzUwMTBjZjk1MWQzYjc0MDg3YzRhY2IgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTMwOSw2ICszMDksNyBAQCBX
ZWJQYWdlOjpXZWJQYWdlKHVpbnQ2NF90IHBhZ2VJRCwgY29uc3QgV2ViUGFnZUNyZWF0aW9uUGFy
YW1ldGVycyYgcGFyYW1ldGVycykKICNlbmRpZgogICAgIHBhZ2VDbGllbnRzLnBsdWdJbkNsaWVu
dCA9IG5ldyBXZWJQbHVnSW5DbGllbnQodGhpcyk7CiAgICAgcGFnZUNsaWVudHMubG9hZGVyQ2xp
ZW50Rm9yTWFpbkZyYW1lID0gbmV3IFdlYkZyYW1lTG9hZGVyQ2xpZW50OworICAgIHBhZ2VDbGll
bnRzLnByb2dyZXNzVHJhY2tlckNsaWVudCA9IHN0YXRpY19jYXN0PFdlYkZyYW1lTG9hZGVyQ2xp
ZW50Kj4ocGFnZUNsaWVudHMubG9hZGVyQ2xpZW50Rm9yTWFpbkZyYW1lKTsKIAogICAgIG1fcGFn
ZSA9IGFkb3B0UHRyKG5ldyBQYWdlKHBhZ2VDbGllbnRzKSk7CiAK
</data>
<flag name="review"
          id="244721"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>