<?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>72886</bug_id>
          
          <creation_ts>2011-11-21 07:52:38 -0800</creation_ts>
          <short_desc>Web Inspector: strip unused InspectorController methods.</short_desc>
          <delta_ts>2011-11-22 01:52:28 -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>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Pavel Feldman">pfeldman</reporter>
          <assigned_to name="Pavel Feldman">pfeldman</assigned_to>
          <cc>apavlov</cc>
    
    <cc>bweinstein</cc>
    
    <cc>gustavo.noronha</cc>
    
    <cc>gustavo</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
    
    <cc>xan.lopez</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>506964</commentid>
    <comment_count>0</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-11-21 07:52:38 -0800</bug_when>
    <thetext>This is a follow up to https://bugs.webkit.org/show_bug.cgi?id=63009. I am now able to remove following InspectorController methods:
::startUserInitiatedProfiling,
::isRecordingUserInitiatedProfile,
::stopUserInitiatedProfiling,
::showAndEnableDebugger,
::debuggerEnabled,
::disableDebugger,
::startTimelineProfiler,
::stopTimelineProfiler,
::timelineProfilerEnabled,
::showConsole.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>506969</commentid>
    <comment_count>1</comment_count>
      <attachid>116090</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-11-21 08:04:15 -0800</bug_when>
    <thetext>Created attachment 116090
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>506973</commentid>
    <comment_count>2</comment_count>
      <attachid>116090</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2011-11-21 08:09:13 -0800</bug_when>
    <thetext>Comment on attachment 116090
Patch

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

&gt; Source/WebCore/inspector/InspectorController.h:109
&gt; +

Remove this line.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>506978</commentid>
    <comment_count>3</comment_count>
      <attachid>116090</attachid>
    <who name="Collabora GTK+ EWS bot">gustavo.noronha</who>
    <bug_when>2011-11-21 08:15:11 -0800</bug_when>
    <thetext>Comment on attachment 116090
Patch

Attachment 116090 did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/10534283</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>507048</commentid>
    <comment_count>4</comment_count>
      <attachid>116103</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-11-21 10:09:09 -0800</bug_when>
    <thetext>Created attachment 116103
[Patch] with GTK bot fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>507444</commentid>
    <comment_count>5</comment_count>
      <attachid>116103</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2011-11-22 00:45:18 -0800</bug_when>
    <thetext>Comment on attachment 116103
[Patch] with GTK bot fixed.

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

&gt; Source/WebKit/gtk/webkit/webkitwebinspector.cpp:93
&gt; +    PROP_TIMELINE_PROFILING_ENABLED

The constant should be removed as well, please discuss it with the Gtk folks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>507476</commentid>
    <comment_count>6</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-11-22 01:52:28 -0800</bug_when>
    <thetext>Committed r100985: &lt;http://trac.webkit.org/changeset/100985&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>116090</attachid>
            <date>2011-11-21 08:04:15 -0800</date>
            <delta_ts>2011-11-21 10:08:59 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-72886-20111121200412.patch</filename>
            <type>text/plain</type>
            <size>28380</size>
            <attacher name="Pavel Feldman">pfeldman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAwOTE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTM4YjU2YTgyZTkzNzQx
YmY4M2M3NGZkNjViNjAwOTMyOGQ5MzdmZi4uYjA2ZjBhZjU2NzQ4YTg4OWQyNmYzMjhlYjdlZWVk
YTFiN2IxNjZiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYwIEBACisyMDExLTExLTIxICBQYXZl
bCBGZWxkbWFuICA8cGZlbGRtYW5AZ29vZ2xlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9y
OiBzdHJpcCB1bnVzZWQgSW5zcGVjdG9yQ29udHJvbGxlciBtZXRob2RzLgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4ODYKKworICAgICAgICBUaGlz
IGlzIGEgZm9sbG93IHVwIHRvIHRoZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NjMwMDkuCisgICAgICAgIEkgYW0gbm93IGFibGUgdG8gcmVtb3ZlIGZvbGxvd2luZyBJ
bnNwZWN0b3JDb250cm9sbGVyIG1ldGhvZHM6CisgICAgICAgIDo6c3RhcnRVc2VySW5pdGlhdGVk
UHJvZmlsaW5nLAorICAgICAgICA6OmlzUmVjb3JkaW5nVXNlckluaXRpYXRlZFByb2ZpbGUsCisg
ICAgICAgIDo6c3RvcFVzZXJJbml0aWF0ZWRQcm9maWxpbmcsCisgICAgICAgIDo6c2hvd0FuZEVu
YWJsZURlYnVnZ2VyLAorICAgICAgICA6OmRlYnVnZ2VyRW5hYmxlZCwKKyAgICAgICAgOjpkaXNh
YmxlRGVidWdnZXIsCisgICAgICAgIDo6c3RhcnRUaW1lbGluZVByb2ZpbGVyLAorICAgICAgICA6
OnN0b3BUaW1lbGluZVByb2ZpbGVyLAorICAgICAgICA6OnRpbWVsaW5lUHJvZmlsZXJFbmFibGVk
LAorICAgICAgICA6OnNob3dDb25zb2xlLgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogV2ViQ29yZS5leHAuaW46CisgICAgICAgICogV2ViQ29yZS5v
cmRlcjoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yLmpzb246CisgICAgICAgICogaW5z
cGVjdG9yL0luc3BlY3RvckFnZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckFn
ZW50OjpzZXRGcm9udGVuZCk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckFnZW50Lmg6
CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6SW5zcGVjdG9yQ29udHJvbGxlcjo6SW5zcGVjdG9yQ29udHJvbGxlcik6CisgICAg
ICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDb250cm9sbGVyOjpjb25uZWN0RnJvbnRlbmQpOgorICAg
ICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmg6CisgICAgICAgICogaW5zcGVj
dG9yL0luc3BlY3RvckRlYnVnZ2VyQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVj
dG9yRGVidWdnZXJBZ2VudDo6ZW5hYmxlKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckRl
YnVnZ2VyQWdlbnQ6OmRpc2FibGUpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JEZWJ1
Z2dlckFnZW50Lmg6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlv
bi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZENv
bW1pdExvYWRJbXBsKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yUHJvZmlsZXJBZ2Vu
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JQcm9maWxlckFnZW50OjpyZXNldFN0
YXRlKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclByb2ZpbGVyQWdlbnQ6OmNsZWFyRnJv
bnRlbmQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yUHJvZmlsZXJBZ2VudDo6cmVzdG9y
ZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JQcm9maWxlckFnZW50OjpzdGFydCk6Cisg
ICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JQcm9maWxlckFnZW50OjpzdG9wKToKKyAgICAgICAg
KiBpbnNwZWN0b3IvSW5zcGVjdG9yUHJvZmlsZXJBZ2VudC5oOgorICAgICAgICAqIGluc3BlY3Rv
ci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rv
clRpbWVsaW5lQWdlbnQ6OnN0YXJ0KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclRpbWVs
aW5lQWdlbnQ6OnN0b3ApOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFn
ZW50Lmg6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9EZWJ1Z2dlck1vZGVsLmpzOgor
ICAgICAgICAoV2ViSW5zcGVjdG9yLkRlYnVnZ2VyTW9kZWwucHJvdG90eXBlLmVuYWJsZURlYnVn
Z2VyKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5EZWJ1Z2dlck1vZGVsLnByb3RvdHlwZS5kaXNh
YmxlRGVidWdnZXIpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvVGltZWxpbmVNYW5h
Z2VyLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lTWFuYWdlci5wcm90b3R5cGUu
c3RhcnQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lTWFuYWdlci5wcm90b3R5cGUu
c3RvcCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVNYW5hZ2VyLnByb3RvdHlwZS5f
c3RhcnRlZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVNYW5hZ2VyLnByb3RvdHlw
ZS5fc3RvcHBlZCk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuanM6
CisKIDIwMTEtMTEtMjEgIEJhbGF6cyBLZWxlbWVuICA8a2JhbGF6c0B3ZWJraXQub3JnPgogCiAg
ICAgICAgIEVuYWJsZSBQYXJhbGxlbEpvYnMgYnkgZGVmYXVsdApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS5leHAuaW4gYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgpp
bmRleCA2ZThjMzVlMDI3M2YxMGFmNjA4YTMxMmJlYmZiYWU4NjZlYzNmMWUzLi44MjliMjYwMjk2
OWIwOTBmM2I4ZDc3NzA1ZDdkOGNiNDBiNmY0Y2YxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLmV4cC5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgpAQCAt
MTY0MCwyMCArMTY0MCwxMSBAQCBfX1pON1dlYkNvcmUyMkdlb2xvY2F0aW9uU2VydmljZU1vY2s4
c2V0RXJyb3JFTjNXVEYxMFBhc3NSZWZQdHJJTlNfMTNQb3NpdGlvbkVycgogI2lmIEVOQUJMRShJ
TlNQRUNUT1IpCiBfX1pON1dlYkNvcmUxNUluc3BlY3RvckNsaWVudDMxZG9EaXNwYXRjaE1lc3Nh
Z2VPbkZyb250ZW5kUGFnZUVQTlNfNFBhZ2VFUktOM1dURjZTdHJpbmdFCiBfX1pON1dlYkNvcmUx
OUluc3BlY3RvckNvbnRyb2xsZXIxNGVuYWJsZVByb2ZpbGVyRXYKLV9fWk43V2ViQ29yZTE5SW5z
cGVjdG9yQ29udHJvbGxlcjE1ZGVidWdnZXJFbmFibGVkRXYKLV9fWk43V2ViQ29yZTE5SW5zcGVj
dG9yQ29udHJvbGxlcjE1ZGlzYWJsZURlYnVnZ2VyRXYKIF9fWk43V2ViQ29yZTE5SW5zcGVjdG9y
Q29udHJvbGxlcjE1ZGlzYWJsZVByb2ZpbGVyRXYKIF9fWk43V2ViQ29yZTE5SW5zcGVjdG9yQ29u
dHJvbGxlcjE1cHJvZmlsZXJFbmFibGVkRXYKIF9fWk43V2ViQ29yZTE5SW5zcGVjdG9yQ29udHJv
bGxlcjE4ZGlzY29ubmVjdEZyb250ZW5kRXYKLV9fWk43V2ViQ29yZTE5SW5zcGVjdG9yQ29udHJv
bGxlcjIwc3RvcFRpbWVsaW5lUHJvZmlsZXJFdgotX19aTjdXZWJDb3JlMTlJbnNwZWN0b3JDb250
cm9sbGVyMjFzaG93QW5kRW5hYmxlRGVidWdnZXJFdgotX19aTjdXZWJDb3JlMTlJbnNwZWN0b3JD
b250cm9sbGVyMTFzaG93Q29uc29sZUV2Ci1fX1pON1dlYkNvcmUxOUluc3BlY3RvckNvbnRyb2xs
ZXIyMXN0YXJ0VGltZWxpbmVQcm9maWxlckV2Ci1fX1pON1dlYkNvcmUxOUluc3BlY3RvckNvbnRy
b2xsZXIyM3RpbWVsaW5lUHJvZmlsZXJFbmFibGVkRXYKIF9fWk43V2ViQ29yZTE5SW5zcGVjdG9y
Q29udHJvbGxlcjI1ZXZhbHVhdGVGb3JUZXN0SW5Gcm9udGVuZEVsUktOM1dURjZTdHJpbmdFCiBf
X1pON1dlYkNvcmUxOUluc3BlY3RvckNvbnRyb2xsZXIyNnNldEluc3BlY3RvckZyb250ZW5kQ2xp
ZW50RU4zV1RGMTBQYXNzT3duUHRySU5TXzIzSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRFRUUKLV9f
Wk43V2ViQ29yZTE5SW5zcGVjdG9yQ29udHJvbGxlcjI2c3RvcFVzZXJJbml0aWF0ZWRQcm9maWxp
bmdFdgotX19aTjdXZWJDb3JlMTlJbnNwZWN0b3JDb250cm9sbGVyMjdzdGFydFVzZXJJbml0aWF0
ZWRQcm9maWxpbmdFdgogX19aTjdXZWJDb3JlMTlJbnNwZWN0b3JDb250cm9sbGVyMzlzZXRSZXNv
dXJjZXNEYXRhU2l6ZUxpbWl0c0Zyb21JbnRlcm5hbHNFaWkKIF9fWk43V2ViQ29yZTE5SW5zcGVj
dG9yQ29udHJvbGxlcjRzaG93RXYKIF9fWk43V2ViQ29yZTE5SW5zcGVjdG9yQ29udHJvbGxlcjVj
bG9zZUV2CkBAIC0xNjcxLDcgKzE2NjIsNiBAQCBfX1pON1dlYkNvcmUyOEluc3BlY3RvckZyb250
ZW5kQ2xpZW50TG9jYWwzMWNvbnN0cmFpbmVkQXR0YWNoZWRXaW5kb3dIZWlnaHRFamoKIF9fWk43
V2ViQ29yZTI4SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbEMyRVBOU18xOUluc3BlY3RvckNv
bnRyb2xsZXJFUE5TXzRQYWdlRU4zV1RGMTBQYXNzT3duUHRySU5TMF84U2V0dGluZ3NFRUUKIF9f
Wk43V2ViQ29yZTI4SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbEQyRXYKIF9fWk5LN1dlYkNv
cmUxOUluc3BlY3RvckNvbnRyb2xsZXIxM2RyYXdIaWdobGlnaHRFUk5TXzE1R3JhcGhpY3NDb250
ZXh0RQotX19aTks3V2ViQ29yZTE5SW5zcGVjdG9yQ29udHJvbGxlcjMxaXNSZWNvcmRpbmdVc2Vy
SW5pdGlhdGVkUHJvZmlsZUV2CiAjZW5kaWYKIAogI2lmIEVOQUJMRShKQVZBX0JSSURHRSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUub3JkZXIgYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLm9yZGVyCmluZGV4IGVhY2NmZTUyY2Q5MjcwYTQ5Y2Q4MjJiMzdiMWFkYzU0YWI0ODY4
NmEuLjIwZmJjYzBiMzY5MmFiOGQ0NjdhOTk2OGIxMmMwMWZmMTc1ZmUxMWMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUub3JkZXIKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS5vcmRlcgpAQCAtMjY1Miw3ICsyNjUyLDYgQEAgX19aTjdXZWJDb3JlMjFJbnNwZWN0b3JDb25z
b2xlQWdlbnQ1cmVzZXRFdgogX19aTjdXZWJDb3JlMjFJbnNwZWN0b3JDb25zb2xlQWdlbnQyMGNs
ZWFyQ29uc29sZU1lc3NhZ2VzRVBOM1dURjZTdHJpbmdFCiBfX1pOM1dURjZWZWN0b3JJTlNfNk93
blB0cklON1dlYkNvcmUxNENvbnNvbGVNZXNzYWdlRUVFTG0wRUUxNHNocmlua0NhcGFjaXR5RW0K
IF9fWk43V2ViQ29yZTE3SW5zcGVjdG9yRE9NQWdlbnQyMHJlbGVhc2VEYW5nbGluZ05vZGVzRXYK
LV9fWk43V2ViQ29yZTIySW5zcGVjdG9yUHJvZmlsZXJBZ2VudDI2c3RvcFVzZXJJbml0aWF0ZWRQ
cm9maWxpbmdFYgogX19aTjdXZWJDb3JlMjJJbnNwZWN0b3JQcm9maWxlckFnZW50MTByZXNldFN0
YXRlRXYKIF9fWk43V2ViQ29yZTIySW5zcGVjdG9yRGF0YWJhc2VBZ2VudDE0Y2xlYXJSZXNvdXJj
ZXNFdgogX19aTjdXZWJDb3JlMjRJbnNwZWN0b3JET01TdG9yYWdlQWdlbnQxNGNsZWFyUmVzb3Vy
Y2VzRXYKQEAgLTI2MzU3LDggKzI2MzU2LDYgQEAgX19aTjdXZWJDb3JlMjRKU1NjcmlwdFByb2Zp
bGVQcm90b3R5cGVEMUV2CiBfX1pON1dlYkNvcmUyOEpTU2NyaXB0UHJvZmlsZU5vZGVQcm90b3R5
cGVEMUV2CiBfX1pOM1dURjZSZWZQdHJJTjNKU0MxMVByb2ZpbGVOb2RlRUVEMUV2CiBfX1pOM0pT
QzE0Q2FsbElkZW50aWZpZXJEMUV2Ci1fX1pON1dlYkNvcmUyNEluc3BlY3Rvckluc3RydW1lbnRh
dGlvbjM4Z2V0Q3VycmVudFVzZXJJbml0aWF0ZWRQcm9maWxlTmFtZUltcGxFUE5TXzE5SW5zdHJ1
bWVudGluZ0FnZW50c0ViCi1fX1pON1dlYkNvcmUyMkluc3BlY3RvclByb2ZpbGVyQWdlbnQzNGdl
dEN1cnJlbnRVc2VySW5pdGlhdGVkUHJvZmlsZU5hbWVFYgogX19aTjNXVEYxMG1ha2VTdHJpbmdJ
UEtjY05TXzZTdHJpbmdFRUVTM19UX1QwX1QxXwogX19aTjNXVEYxM3RyeU1ha2VTdHJpbmdJUEtj
Y05TXzZTdHJpbmdFRUVOU18xMFBhc3NSZWZQdHJJTlNfMTBTdHJpbmdJbXBsRUVFVF9UMF9UMV8K
IF9fWk5LN1dlYkNvcmUxNUdyYXBoaWNzQ29udGV4dDI1aW1hZ2VJbnRlcnBvbGF0aW9uUXVhbGl0
eUV2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpzb24g
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpzb24KaW5kZXggOWU4YTk2NDA3
MTY5ZGYwYjkzYzdmYmUyOTM2OTY2YjY5NTE0NzY4Ny4uZTgyZTcxZThkMTBiOTU1ODg4MTY4MGM1
OWFhMmM5YzhmYWFmNDY2MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3Rvci5qc29uCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNv
bgpAQCAtMTcsMTUgKzE3LDYgQEAKICAgICAgICAgICAgICAgICAibmFtZSI6ICJkaXNjb25uZWN0
RnJvbUJhY2tlbmQiCiAgICAgICAgICAgICB9LAogICAgICAgICAgICAgewotICAgICAgICAgICAg
ICAgICJuYW1lIjogInNob3dQYW5lbCIsCi0gICAgICAgICAgICAgICAgInBhcmFtZXRlcnMiOiBb
Ci0gICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAicGFuZWwiLCAidHlwZSI6ICJzdHJpbmci
IH0KLSAgICAgICAgICAgICAgICBdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAg
ICAgICAgICAgICAgICJuYW1lIjogInN0YXJ0VXNlckluaXRpYXRlZERlYnVnZ2luZyIKLSAgICAg
ICAgICAgIH0sCi0gICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgIm5hbWUiOiAiZXZhbHVh
dGVGb3JUZXN0SW5Gcm9udGVuZCIsCiAgICAgICAgICAgICAgICAgInBhcmFtZXRlcnMiOiBbCiAg
ICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAidGVzdENhbGxJZCIsICJ0eXBlIjogImludGVn
ZXIiIH0sCkBAIC0xNzEwLDE2ICsxNzAxLDYgQEAKICAgICAgICAgXSwKICAgICAgICAgImV2ZW50
cyI6IFsKICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJzdGFydGVkIiwK
LSAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiRmlyZWQgd2hlbiB0aW1lbGluZSBoYXMg
YmVlbiBzdGFydGVkLiIsCi0gICAgICAgICAgICAgICAgImhpZGRlbiI6IHRydWUKLSAgICAgICAg
ICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgIm5hbWUiOiAic3RvcHBlZCIs
Ci0gICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkZpcmVkIHdoZW4gdGltZWxpbmUgaGFz
IGJlZW4gc3RvcHBlZC4iLAotICAgICAgICAgICAgICAgICJoaWRkZW4iOiB0cnVlCi0gICAgICAg
ICAgICB9LAotICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICJuYW1lIjogImV2ZW50UmVj
b3JkZWQiLAogICAgICAgICAgICAgICAgICJwYXJhbWV0ZXJzIjogWwogICAgICAgICAgICAgICAg
ICAgICB7ICJuYW1lIjogInJlY29yZCIsICIkcmVmIjogIlRpbWVsaW5lRXZlbnQiLCAiZGVzY3Jp
cHRpb24iOiAiVGltZWxpbmUgZXZlbnQgcmVjb3JkIGRhdGEuIiB9CkBAIC0xOTM5LDE2ICsxOTIw
LDYgQEAKICAgICAgICAgXSwKICAgICAgICAgImV2ZW50cyI6IFsKICAgICAgICAgICAgIHsKLSAg
ICAgICAgICAgICAgICAibmFtZSI6ICJkZWJ1Z2dlcldhc0VuYWJsZWQiLAotICAgICAgICAgICAg
ICAgICJkZXNjcmlwdGlvbiI6ICJGaXJlZCB3aGVuIGRlYnVnZ2VyIGdldHMgZW5hYmxlZCAoZGVw
cmVjYXRlZCkuIiwKLSAgICAgICAgICAgICAgICAiaGlkZGVuIjogdHJ1ZQotICAgICAgICAgICAg
fSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJkZWJ1Z2dlcldhc0Rp
c2FibGVkIiwKLSAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiRmlyZWQgd2hlbiBkZWJ1
Z2dlciBnZXRzIGRpc2FibGVkIChkZXByZWNhdGVkKS4iLAotICAgICAgICAgICAgICAgICJoaWRk
ZW4iOiB0cnVlCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewogICAgICAgICAgICAgICAg
ICJuYW1lIjogImdsb2JhbE9iamVjdENsZWFyZWQiLAogICAgICAgICAgICAgICAgICJkZXNjcmlw
dGlvbiI6ICJDYWxsZWQgd2hlbiBnbG9iYWwgaGFzIGJlZW4gY2xlYXJlZCBhbmQgZGVidWdnZXIg
Y2xpZW50IHNob3VsZCByZXNldCBpdHMgc3RhdGUuIEhhcHBlbnMgdXBvbiBuYXZpZ2F0aW9uIG9y
IHJlbG9hZC4iCiAgICAgICAgICAgICB9LApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JBZ2VudC5jcHAKaW5kZXggN2UxNTU0YzA4ZWNiM2ZkMzYxYWVhOWE0Njc2NjFiNTYwYzAz
NGI0Yi4uMmU5MDcwN2M2YjVkNjY4NGJlMGI0NjY4YzQzMDUyYTNkZmIzYTU1MyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFnZW50LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQWdlbnQuY3BwCkBAIC0xMDgsMTAgKzEwOCw2
IEBAIHZvaWQgSW5zcGVjdG9yQWdlbnQ6OnNldEZyb250ZW5kKEluc3BlY3RvckZyb250ZW5kKiBp
bnNwZWN0b3JGcm9udGVuZCkKIHsKICAgICBtX2Zyb250ZW5kID0gaW5zcGVjdG9yRnJvbnRlbmQ7
CiAKLSAgICBpZiAoIW1fc2hvd1BhbmVsQWZ0ZXJWaXNpYmxlLmlzRW1wdHkoKSkgewotICAgICAg
ICBtX2Zyb250ZW5kLT5pbnNwZWN0b3IoKS0+c2hvd1BhbmVsKG1fc2hvd1BhbmVsQWZ0ZXJWaXNp
YmxlKTsKLSAgICAgICAgbV9zaG93UGFuZWxBZnRlclZpc2libGUgPSBTdHJpbmcoKTsKLSAgICB9
CiAjaWYgRU5BQkxFKEpBVkFTQ1JJUFRfREVCVUdHRVIpICYmIEVOQUJMRShXT1JLRVJTKQogICAg
IFdvcmtlcnNNYXA6Oml0ZXJhdG9yIHdvcmtlcnNFbmQgPSBtX3dvcmtlcnMuZW5kKCk7CiAgICAg
Zm9yIChXb3JrZXJzTWFwOjppdGVyYXRvciBpdCA9IG1fd29ya2Vycy5iZWdpbigpOyBpdCAhPSB3
b3JrZXJzRW5kOyArK2l0KSB7CkBAIC0yMjEsMTMgKzIxNyw2IEBAIHZvaWQgSW5zcGVjdG9yQWdl
bnQ6OmRpZERlc3Ryb3lXb3JrZXIoaW50cHRyX3QgaWQpCiB9CiAjZW5kaWYgLy8gRU5BQkxFKFdP
UktFUlMpCiAKLSNpZiBFTkFCTEUoSkFWQVNDUklQVF9ERUJVR0dFUikKLXZvaWQgSW5zcGVjdG9y
QWdlbnQ6OnNob3dQcm9maWxlc1BhbmVsKCkKLXsKLSAgICBzaG93UGFuZWwocHJvZmlsZXNQYW5l
bE5hbWUpOwotfQotI2VuZGlmCi0KIHZvaWQgSW5zcGVjdG9yQWdlbnQ6OmV2YWx1YXRlRm9yVGVz
dEluRnJvbnRlbmQobG9uZyBjYWxsSWQsIGNvbnN0IFN0cmluZyYgc2NyaXB0KQogewogICAgIG1f
cGVuZGluZ0V2YWx1YXRlVGVzdENvbW1hbmRzLmFwcGVuZChwYWlyPGxvbmcsIFN0cmluZz4oY2Fs
bElkLCBzY3JpcHQpKTsKQEAgLTI1OSwyMCArMjQ4LDYgQEAgYm9vbCBJbnNwZWN0b3JBZ2VudDo6
ZW5hYmxlZCgpIGNvbnN0CiAgICAgcmV0dXJuIG1faW5zcGVjdGVkUGFnZS0+c2V0dGluZ3MoKS0+
ZGV2ZWxvcGVyRXh0cmFzRW5hYmxlZCgpOwogfQogCi12b2lkIEluc3BlY3RvckFnZW50OjpzaG93
Q29uc29sZSgpCi17Ci0gICAgc2hvd1BhbmVsKGNvbnNvbGVQYW5lbE5hbWUpOwotfQotCi12b2lk
IEluc3BlY3RvckFnZW50OjpzaG93UGFuZWwoY29uc3QgU3RyaW5nJiBwYW5lbCkKLXsKLSAgICBp
ZiAoIW1fZnJvbnRlbmQpIHsKLSAgICAgICAgbV9zaG93UGFuZWxBZnRlclZpc2libGUgPSBwYW5l
bDsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLSAgICBtX2Zyb250ZW5kLT5pbnNwZWN0b3IoKS0+
c2hvd1BhbmVsKHBhbmVsKTsKLX0KLQogdm9pZCBJbnNwZWN0b3JBZ2VudDo6aXNzdWVFdmFsdWF0
ZUZvclRlc3RDb21tYW5kcygpCiB7CiAgICAgaWYgKG1fZnJvbnRlbmQpIHsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBZ2VudC5oIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvckFnZW50LmgKaW5kZXggMDczZjhmNjhiODMzZTc2MWQzMzVk
M2I4NDM0OWRlNGM1Yjk4YTFjNy4uNDlmZGY2ZGQ4ZGQ5YzIwYzBiMzNhOWY2ZjhhMTBlZmY4NWFh
NDEwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFnZW50
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFnZW50LmgKQEAgLTYz
LDcgKzYzLDYgQEAgcHVibGljOgogCiAgICAgS1VSTCBpbnNwZWN0ZWRVUkwoKSBjb25zdDsKICAg
ICBLVVJMIGluc3BlY3RlZFVSTFdpdGhvdXRGcmFnbWVudCgpIGNvbnN0OwotICAgIHZvaWQgc2hv
d0NvbnNvbGUoKTsKIAogICAgIHZvaWQgc2V0RnJvbnRlbmQoSW5zcGVjdG9yRnJvbnRlbmQqKTsK
ICAgICBJbnNwZWN0b3JGcm9udGVuZCogZnJvbnRlbmQoKSBjb25zdCB7IHJldHVybiBtX2Zyb250
ZW5kOyB9CkBAIC04NSwxOCArODQsMTIgQEAgcHVibGljOgogCiAgICAgYm9vbCBoYXNGcm9udGVu
ZCgpIGNvbnN0IHsgcmV0dXJuIG1fZnJvbnRlbmQ7IH0KIAotCi0jaWYgRU5BQkxFKEpBVkFTQ1JJ
UFRfREVCVUdHRVIpCi0gICAgdm9pZCBzaG93UHJvZmlsZXNQYW5lbCgpOwotI2VuZGlmCi0KICAg
ICAvLyBHZW5lcmljIGNvZGUgY2FsbGVkIGZyb20gY3VzdG9tIGltcGxlbWVudGF0aW9ucy4KICAg
ICB2b2lkIGV2YWx1YXRlRm9yVGVzdEluRnJvbnRlbmQobG9uZyB0ZXN0Q2FsbElkLCBjb25zdCBT
dHJpbmcmIHNjcmlwdCk7CiAKICAgICB2b2lkIHNldEluc3BlY3RvckV4dGVuc2lvbkFQSShjb25z
dCBTdHJpbmcmIHNvdXJjZSk7CiAKIHByaXZhdGU6Ci0gICAgdm9pZCBzaG93UGFuZWwoY29uc3Qg
U3RyaW5nJiBwYW5lbCk7CiAgICAgdm9pZCB1bmJpbmRBbGxSZXNvdXJjZXMoKTsKIAogI2lmIEVO
QUJMRShKQVZBU0NSSVBUX0RFQlVHR0VSKQpAQCAtMTEyLDcgKzEwNSw2IEBAIHByaXZhdGU6CiAg
ICAgSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKiBtX2luamVjdGVkU2NyaXB0TWFuYWdlcjsKIAogICAg
IFZlY3RvcjxwYWlyPGxvbmcsIFN0cmluZz4gPiBtX3BlbmRpbmdFdmFsdWF0ZVRlc3RDb21tYW5k
czsKLSAgICBTdHJpbmcgbV9zaG93UGFuZWxBZnRlclZpc2libGU7CiAgICAgU3RyaW5nIG1faW5z
cGVjdG9yRXh0ZW5zaW9uQVBJOwogI2lmIEVOQUJMRShXT1JLRVJTKQogICAgIHR5cGVkZWYgSGFz
aE1hcDxpbnRwdHJfdCwgUmVmUHRyPEluc3BlY3RvcldvcmtlclJlc291cmNlPiA+IFdvcmtlcnNN
YXA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJv
bGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5j
cHAKaW5kZXggMTRhMmFmOTIwMDViYzI5YTRlODUwZGY0YTVlMzA5YTBiYjliOGRlNi4uNzM2MmFj
ODg0MjAwZWYxYmNmOWNjYzJkYWRlODhkNGIzZjdmOTNkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcApAQCAtMTIxLDcgKzEyMSw2IEBA
IEluc3BlY3RvckNvbnRyb2xsZXI6Okluc3BlY3RvckNvbnRyb2xsZXIoUGFnZSogcGFnZSwgSW5z
cGVjdG9yQ2xpZW50KiBpbnNwZWN0b3JDCiAgICAgLCBtX3BhZ2UocGFnZSkKICAgICAsIG1faW5z
cGVjdG9yQ2xpZW50KGluc3BlY3RvckNsaWVudCkKICAgICAsIG1fb3BlbmluZ0Zyb250ZW5kKGZh
bHNlKQotICAgICwgbV9zdGFydFVzZXJJbml0aWF0ZWREZWJ1Z2dpbmdXaGVuRnJvbnRlZElzQ29u
bmVjdGVkKGZhbHNlKQogewogICAgIEFTU0VSVF9BUkcoaW5zcGVjdG9yQ2xpZW50LCBpbnNwZWN0
b3JDbGllbnQpOwogICAgIG1faW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLT5pbmplY3RlZFNjcmlwdEhv
c3QoKS0+aW5pdChtX2luc3BlY3RvckFnZW50LmdldCgpCkBAIC0xNzYsMTggKzE3NSw2IEBAIHZv
aWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6ZGlkQ2xlYXJXaW5kb3dPYmplY3RJbldvcmxkKEZyYW1l
KiBmcmFtZSwgRE9NV3JhcHBlcldvCiAgICAgICAgIG1faW5zcGVjdG9yRnJvbnRlbmRDbGllbnQt
PndpbmRvd09iamVjdENsZWFyZWQoKTsKIH0KIAotdm9pZCBJbnNwZWN0b3JDb250cm9sbGVyOjpz
dGFydFRpbWVsaW5lUHJvZmlsZXIoKQotewotICAgIEVycm9yU3RyaW5nIGVycm9yOwotICAgIG1f
dGltZWxpbmVBZ2VudC0+c3RhcnQoJmVycm9yLCAwKTsKLX0KLQotdm9pZCBJbnNwZWN0b3JDb250
cm9sbGVyOjpzdG9wVGltZWxpbmVQcm9maWxlcigpCi17Ci0gICAgRXJyb3JTdHJpbmcgZXJyb3I7
Ci0gICAgbV90aW1lbGluZUFnZW50LT5zdG9wKCZlcnJvcik7Ci19Ci0KIHZvaWQgSW5zcGVjdG9y
Q29udHJvbGxlcjo6Y29ubmVjdEZyb250ZW5kKCkKIHsKICAgICBtX29wZW5pbmdGcm9udGVuZCA9
IGZhbHNlOwpAQCAtMjQ3LDExICsyMzQsNiBAQCB2b2lkIEluc3BlY3RvckNvbnRyb2xsZXI6OmNv
bm5lY3RGcm9udGVuZCgpCiAgICAgICAgICwgbV93b3JrZXJBZ2VudC5nZXQoKQogI2VuZGlmCiAg
ICAgKSk7Ci0KLSAgICBpZiAobV9zdGFydFVzZXJJbml0aWF0ZWREZWJ1Z2dpbmdXaGVuRnJvbnRl
ZElzQ29ubmVjdGVkKSB7Ci0gICAgICAgIG1faW5zcGVjdG9yRnJvbnRlbmQtPmluc3BlY3Rvcigp
LT5zdGFydFVzZXJJbml0aWF0ZWREZWJ1Z2dpbmcoKTsKLSAgICAgICAgbV9zdGFydFVzZXJJbml0
aWF0ZWREZWJ1Z2dpbmdXaGVuRnJvbnRlZElzQ29ubmVjdGVkID0gZmFsc2U7Ci0gICAgfQogfQog
CiB2b2lkIEluc3BlY3RvckNvbnRyb2xsZXI6OmRpc2Nvbm5lY3RGcm9udGVuZCgpCkBAIC0zNTks
MTQgKzM0MSw2IEBAIHZvaWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6ZHJhd0hpZ2hsaWdodChHcmFw
aGljc0NvbnRleHQmIGNvbnRleHQpIGNvbnN0CiAgICAgbV9kb21BZ2VudC0+ZHJhd0hpZ2hsaWdo
dChjb250ZXh0KTsKIH0KIAotdm9pZCBJbnNwZWN0b3JDb250cm9sbGVyOjpzaG93Q29uc29sZSgp
Ci17Ci0gICAgaWYgKCFlbmFibGVkKCkpCi0gICAgICAgIHJldHVybjsKLSAgICBzaG93KCk7Ci0g
ICAgbV9pbnNwZWN0b3JBZ2VudC0+c2hvd0NvbnNvbGUoKTsKLX0KLQogdm9pZCBJbnNwZWN0b3JD
b250cm9sbGVyOjppbnNwZWN0KE5vZGUqIG5vZGUpCiB7CiAgICAgaWYgKCFlbmFibGVkKCkpCkBA
IC0zODcsMTEgKzM2MSw2IEBAIFBhZ2UqIEluc3BlY3RvckNvbnRyb2xsZXI6Omluc3BlY3RlZFBh
Z2UoKSBjb25zdAogICAgIHJldHVybiBtX3BhZ2U7CiB9CiAKLWJvb2wgSW5zcGVjdG9yQ29udHJv
bGxlcjo6dGltZWxpbmVQcm9maWxlckVuYWJsZWQoKQotewotICAgIHJldHVybiBtX3RpbWVsaW5l
QWdlbnQtPnN0YXJ0ZWQoKTsKLX0KLQogdm9pZCBJbnNwZWN0b3JDb250cm9sbGVyOjpzZXRJbnNw
ZWN0b3JFeHRlbnNpb25BUEkoY29uc3QgU3RyaW5nJiBzb3VyY2UpCiB7CiAgICAgbV9pbnNwZWN0
b3JBZ2VudC0+c2V0SW5zcGVjdG9yRXh0ZW5zaW9uQVBJKHNvdXJjZSk7CkBAIC00MzIsNDggKzQw
MSw2IEBAIGJvb2wgSW5zcGVjdG9yQ29udHJvbGxlcjo6cHJvZmlsZXJFbmFibGVkKCkKICAgICBy
ZXR1cm4gbV9wcm9maWxlckFnZW50LT5lbmFibGVkKCk7CiB9CiAKLWJvb2wgSW5zcGVjdG9yQ29u
dHJvbGxlcjo6ZGVidWdnZXJFbmFibGVkKCkKLXsKLSAgICByZXR1cm4gbV9kZWJ1Z2dlckFnZW50
LT5lbmFibGVkKCk7Ci19Ci0KLXZvaWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6c2hvd0FuZEVuYWJs
ZURlYnVnZ2VyKCkKLXsKLSAgICBpZiAoIWVuYWJsZWQoKSkKLSAgICAgICAgcmV0dXJuOwotICAg
IHNob3coKTsKLQotICAgIGlmIChtX2luc3BlY3RvckZyb250ZW5kKQotICAgICAgICBtX2luc3Bl
Y3RvckZyb250ZW5kLT5pbnNwZWN0b3IoKS0+c3RhcnRVc2VySW5pdGlhdGVkRGVidWdnaW5nKCk7
Ci0gICAgZWxzZQotICAgICAgICBtX3N0YXJ0VXNlckluaXRpYXRlZERlYnVnZ2luZ1doZW5Gcm9u
dGVkSXNDb25uZWN0ZWQgPSB0cnVlOwotfQotCi12b2lkIEluc3BlY3RvckNvbnRyb2xsZXI6OmRp
c2FibGVEZWJ1Z2dlcigpCi17Ci0gICAgRXJyb3JTdHJpbmcgZXJyb3I7Ci0gICAgbV9kZWJ1Z2dl
ckFnZW50LT5kaXNhYmxlKCZlcnJvcik7Ci19Ci0KLXZvaWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6
c3RhcnRVc2VySW5pdGlhdGVkUHJvZmlsaW5nKCkKLXsKLSAgICBtX3Byb2ZpbGVyQWdlbnQtPnN0
YXJ0VXNlckluaXRpYXRlZFByb2ZpbGluZygpOwotfQotCi12b2lkIEluc3BlY3RvckNvbnRyb2xs
ZXI6OnN0b3BVc2VySW5pdGlhdGVkUHJvZmlsaW5nKCkKLXsKLSAgICBpZiAoIWVuYWJsZWQoKSkK
LSAgICAgICAgcmV0dXJuOwotICAgIHNob3coKTsKLSAgICBtX3Byb2ZpbGVyQWdlbnQtPnN0b3BV
c2VySW5pdGlhdGVkUHJvZmlsaW5nKCk7Ci0gICAgbV9pbnNwZWN0b3JBZ2VudC0+c2hvd1Byb2Zp
bGVzUGFuZWwoKTsKLX0KLQotYm9vbCBJbnNwZWN0b3JDb250cm9sbGVyOjppc1JlY29yZGluZ1Vz
ZXJJbml0aWF0ZWRQcm9maWxlKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV9wcm9maWxlckFnZW50
LT5pc1JlY29yZGluZ1VzZXJJbml0aWF0ZWRQcm9maWxlKCk7Ci19Ci0KIHZvaWQgSW5zcGVjdG9y
Q29udHJvbGxlcjo6cmVzdW1lKCkKIHsKICAgICBpZiAobV9kZWJ1Z2dlckFnZW50KSB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuaAppbmRleCA3NjVj
YWRmYzJmNzRkNWQ2MDk5MmU2YzI3MmZjZWM0Zjk1YWZlZWE2Li5iMDU3OTNiNzgxYjg4ZGE3ODZi
Y2NjMTk1NzAzMWIyOTA4MjQwZWY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JDb250cm9sbGVyLmgKQEAgLTk1LDcgKzk1LDYgQEAgcHVibGljOgogICAgIHZvaWQg
cmVzdG9yZUluc3BlY3RvclN0YXRlRnJvbUNvb2tpZShjb25zdCBTdHJpbmcmIGluc3BlY3RvckNv
b2tpZSk7CiAgICAgdm9pZCBzZXRQcm9jZXNzSWQobG9uZyk7CiAKLSAgICB2b2lkIHNob3dDb25z
b2xlKCk7CiAgICAgdm9pZCBpbnNwZWN0KE5vZGUqKTsKICAgICB2b2lkIGRyYXdIaWdobGlnaHQo
R3JhcGhpY3NDb250ZXh0JikgY29uc3Q7CiAgICAgdm9pZCBoaWRlSGlnaGxpZ2h0KCk7CkBAIC0x
MDMsMjAgKzEwMiwxMSBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGV2YWx1YXRlRm9yVGVzdEluRnJv
bnRlbmQobG9uZyBjYWxsSWQsIGNvbnN0IFN0cmluZyYgc2NyaXB0KTsKIAotICAgIHZvaWQgc3Rh
cnRUaW1lbGluZVByb2ZpbGVyKCk7Ci0gICAgdm9pZCBzdG9wVGltZWxpbmVQcm9maWxlcigpOwot
ICAgIGJvb2wgdGltZWxpbmVQcm9maWxlckVuYWJsZWQoKTsKLQogI2lmIEVOQUJMRShKQVZBU0NS
SVBUX0RFQlVHR0VSKQogICAgIGJvb2wgcHJvZmlsZXJFbmFibGVkKCk7CiAgICAgdm9pZCBlbmFi
bGVQcm9maWxlcigpOwotICAgIHZvaWQgc3RhcnRVc2VySW5pdGlhdGVkUHJvZmlsaW5nKCk7Ci0g
ICAgYm9vbCBpc1JlY29yZGluZ1VzZXJJbml0aWF0ZWRQcm9maWxlKCkgY29uc3Q7Ci0gICAgdm9p
ZCBzdG9wVXNlckluaXRpYXRlZFByb2ZpbGluZygpOwogICAgIHZvaWQgZGlzYWJsZVByb2ZpbGVy
KCk7Ci0gICAgdm9pZCBzaG93QW5kRW5hYmxlRGVidWdnZXIoKTsKLSAgICBib29sIGRlYnVnZ2Vy
RW5hYmxlZCgpOwotICAgIHZvaWQgZGlzYWJsZURlYnVnZ2VyKCk7CisKICAgICB2b2lkIHJlc3Vt
ZSgpOwogI2VuZGlmCiAKQEAgLTE1OCw3ICsxNDgsNiBAQCBwcml2YXRlOgogICAgIFBhZ2UqIG1f
cGFnZTsKICAgICBJbnNwZWN0b3JDbGllbnQqIG1faW5zcGVjdG9yQ2xpZW50OwogICAgIGJvb2wg
bV9vcGVuaW5nRnJvbnRlbmQ7Ci0gICAgYm9vbCBtX3N0YXJ0VXNlckluaXRpYXRlZERlYnVnZ2lu
Z1doZW5Gcm9udGVkSXNDb25uZWN0ZWQ7CiB9OwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5jcHAKaW5kZXggZjcyNWRhODQ0N2M0
N2U0NDI0ZDAyOWFkNDZlYmU2ODFkZDlmZGQ3ZC4uNmYxMWNiMDhjZWQxMDNlYzk5N2QzNTVkYTky
NjlkM2YyYTFmYjEyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvckRlYnVnZ2VyQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JEZWJ1Z2dlckFnZW50LmNwcApAQCAtMTE1LDcgKzExNSw2IEBAIHZvaWQgSW5zcGVjdG9y
RGVidWdnZXJBZ2VudDo6ZW5hYmxlKEVycm9yU3RyaW5nKikKICAgICBtX2luc3BlY3RvclN0YXRl
LT5zZXRCb29sZWFuKERlYnVnZ2VyQWdlbnRTdGF0ZTo6ZGVidWdnZXJFbmFibGVkLCB0cnVlKTsK
IAogICAgIEFTU0VSVChtX2Zyb250ZW5kKTsKLSAgICBtX2Zyb250ZW5kLT5kZWJ1Z2dlcldhc0Vu
YWJsZWQoKTsKIH0KIAogdm9pZCBJbnNwZWN0b3JEZWJ1Z2dlckFnZW50OjpkaXNhYmxlKEVycm9y
U3RyaW5nKikKQEAgLTEyNSw5ICsxMjQsNiBAQCB2b2lkIEluc3BlY3RvckRlYnVnZ2VyQWdlbnQ6
OmRpc2FibGUoRXJyb3JTdHJpbmcqKQogCiAgICAgZGlzYWJsZSgpOwogICAgIG1faW5zcGVjdG9y
U3RhdGUtPnNldEJvb2xlYW4oRGVidWdnZXJBZ2VudFN0YXRlOjpkZWJ1Z2dlckVuYWJsZWQsIGZh
bHNlKTsKLQotICAgIGlmIChtX2Zyb250ZW5kKQotICAgICAgICBtX2Zyb250ZW5kLT5kZWJ1Z2dl
cldhc0Rpc2FibGVkKCk7CiB9CiAKIHZvaWQgSW5zcGVjdG9yRGVidWdnZXJBZ2VudDo6cmVzdG9y
ZSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGVidWdn
ZXJBZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRlYnVnZ2VyQWdl
bnQuaAppbmRleCBmZThmNDJjMGMxMzg2MjdjY2UxYTdiM2VhMDJmNzNjZTlmMDg5ZWFkLi41MzI1
MzdlMWIyOWJiMTYwZGY0NmFlYzMyNTZhYzZhNDRlZThmYTkyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmgKQEAgLTY3LDcgKzY3LDYg
QEAgcHVibGljOgogICAgIHZvaWQgZ2V0Q2FwYWJpbGl0aWVzKEVycm9yU3RyaW5nKiwgUmVmUHRy
PEluc3BlY3RvckFycmF5PiopOwogICAgIHZvaWQgZW5hYmxlKEVycm9yU3RyaW5nKik7CiAgICAg
dm9pZCBkaXNhYmxlKEVycm9yU3RyaW5nKik7Ci0gICAgYm9vbCBlbmFibGVkKCk7CiAgICAgdm9p
ZCByZXN0b3JlKCk7CiAgICAgdm9pZCBzZXRGcm9udGVuZChJbnNwZWN0b3JGcm9udGVuZCopOwog
ICAgIHZvaWQgY2xlYXJGcm9udGVuZCgpOwpAQCAtMTIzLDYgKzEyMiw3IEBAIHByb3RlY3RlZDoK
IHByaXZhdGU6CiAgICAgdm9pZCBlbmFibGUoKTsKICAgICB2b2lkIGRpc2FibGUoKTsKKyAgICBi
b29sIGVuYWJsZWQoKTsKIAogICAgIFBhc3NSZWZQdHI8SW5zcGVjdG9yQXJyYXk+IGN1cnJlbnRD
YWxsRnJhbWVzKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbi5jcHAKaW5kZXggNGNiOGRjN2ZiMTEyMjVlNzEyYzA3YmMzNzA2
MDRlNWNhMjZhOTExNi4uNzEzMjk0MzE2ZTAyYjk5YTY3M2VkOWMxMDE0ZWViNjZlN2Y2MWIyZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRh
dGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1l
bnRhdGlvbi5jcHAKQEAgLTY0NiwxMCArNjQ2LDggQEAgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50
YXRpb246OmRpZENvbW1pdExvYWRJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnQK
ICAgICAgICAgaWYgKEluc3BlY3RvclJlc291cmNlQWdlbnQqIHJlc291cmNlQWdlbnQgPSBpbnN0
cnVtZW50aW5nQWdlbnRzLT5pbnNwZWN0b3JSZXNvdXJjZUFnZW50KCkpCiAgICAgICAgICAgICBy
ZXNvdXJjZUFnZW50LT5tYWluRnJhbWVOYXZpZ2F0ZWQobG9hZGVyKTsKICNpZiBFTkFCTEUoSkFW
QVNDUklQVF9ERUJVR0dFUikgJiYgVVNFKEpTQykKLSAgICAgICAgaWYgKEluc3BlY3RvclByb2Zp
bGVyQWdlbnQqIHByb2ZpbGVyQWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnRzLT5pbnNwZWN0b3JQ
cm9maWxlckFnZW50KCkpIHsKLSAgICAgICAgICAgIHByb2ZpbGVyQWdlbnQtPnN0b3BVc2VySW5p
dGlhdGVkUHJvZmlsaW5nKHRydWUpOworICAgICAgICBpZiAoSW5zcGVjdG9yUHJvZmlsZXJBZ2Vu
dCogcHJvZmlsZXJBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMtPmluc3BlY3RvclByb2ZpbGVy
QWdlbnQoKSkKICAgICAgICAgICAgIHByb2ZpbGVyQWdlbnQtPnJlc2V0U3RhdGUoKTsKLSAgICAg
ICAgfQogI2VuZGlmCiAgICAgICAgIGlmIChJbnNwZWN0b3JDU1NBZ2VudCogY3NzQWdlbnQgPSBp
bnN0cnVtZW50aW5nQWdlbnRzLT5pbnNwZWN0b3JDU1NBZ2VudCgpKQogICAgICAgICAgICAgY3Nz
QWdlbnQtPnJlc2V0KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yUHJvZmlsZXJBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yUHJvZmlsZXJBZ2VudC5jcHAKaW5kZXggNTAzNDQyZmU0NzdkMzYzNWVjZTYyMmUxY2JjYjVi
YThlZTJlYTE2ZC4uYzk2YWVkNDM3YzFkMGExNDdhMjkwZGNjOGMxN2RkYjg2NmJmODM0YSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclByb2ZpbGVyQWdlbnQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQcm9maWxlckFnZW50
LmNwcApAQCAtMjQyLDcgKzI0Miw3IEBAIHZvaWQgSW5zcGVjdG9yUHJvZmlsZXJBZ2VudDo6cmVt
b3ZlUHJvZmlsZShFcnJvclN0cmluZyosIGNvbnN0IFN0cmluZyYgdHlwZSwgdW5zCiAKIHZvaWQg
SW5zcGVjdG9yUHJvZmlsZXJBZ2VudDo6cmVzZXRTdGF0ZSgpCiB7Ci0gICAgc3RvcFVzZXJJbml0
aWF0ZWRQcm9maWxpbmcoKTsKKyAgICBzdG9wKCk7CiAgICAgbV9wcm9maWxlcy5jbGVhcigpOwog
ICAgIG1fc25hcHNob3RzLmNsZWFyKCk7CiAgICAgbV9jdXJyZW50VXNlckluaXRpYXRlZFByb2Zp
bGVOdW1iZXIgPSAxOwpAQCAtMjY4LDcgKzI2OCw3IEBAIHZvaWQgSW5zcGVjdG9yUHJvZmlsZXJB
Z2VudDo6c2V0RnJvbnRlbmQoSW5zcGVjdG9yRnJvbnRlbmQqIGZyb250ZW5kKQogdm9pZCBJbnNw
ZWN0b3JQcm9maWxlckFnZW50OjpjbGVhckZyb250ZW5kKCkKIHsKICAgICBtX2Zyb250ZW5kID0g
MDsKLSAgICBzdG9wVXNlckluaXRpYXRlZFByb2ZpbGluZygpOworICAgIHN0b3AoKTsKIH0KIAog
dm9pZCBJbnNwZWN0b3JQcm9maWxlckFnZW50OjpyZXN0b3JlKCkKQEAgLTI3OSw3ICsyNzksNyBA
QCB2b2lkIEluc3BlY3RvclByb2ZpbGVyQWdlbnQ6OnJlc3RvcmUoKQogICAgIC8vIFJldmlzaXQg
dGhpcy4KICAgICByZXNldEZyb250ZW5kUHJvZmlsZXMoKTsKICAgICBpZiAobV9pbnNwZWN0b3JT
dGF0ZS0+Z2V0Qm9vbGVhbihQcm9maWxlckFnZW50U3RhdGU6OnVzZXJJbml0aWF0ZWRQcm9maWxp
bmcpKQotICAgICAgICBzdGFydFVzZXJJbml0aWF0ZWRQcm9maWxpbmcoKTsKKyAgICAgICAgc3Rh
cnQoKTsKIH0KIAogdm9pZCBJbnNwZWN0b3JQcm9maWxlckFnZW50OjpyZXN0b3JlRW5hYmxlbWVu
dCgpCkBAIC0yOTAsNyArMjkwLDcgQEAgdm9pZCBJbnNwZWN0b3JQcm9maWxlckFnZW50OjpyZXN0
b3JlRW5hYmxlbWVudCgpCiAgICAgfQogfQogCi12b2lkIEluc3BlY3RvclByb2ZpbGVyQWdlbnQ6
OnN0YXJ0VXNlckluaXRpYXRlZFByb2ZpbGluZygpCit2b2lkIEluc3BlY3RvclByb2ZpbGVyQWdl
bnQ6OnN0YXJ0KEVycm9yU3RyaW5nKikKIHsKICAgICBpZiAobV9yZWNvcmRpbmdVc2VySW5pdGlh
dGVkUHJvZmlsZSkKICAgICAgICAgcmV0dXJuOwpAQCAtMzExLDcgKzMxMSw3IEBAIHZvaWQgSW5z
cGVjdG9yUHJvZmlsZXJBZ2VudDo6c3RhcnRVc2VySW5pdGlhdGVkUHJvZmlsaW5nKCkKICAgICBt
X2luc3BlY3RvclN0YXRlLT5zZXRCb29sZWFuKFByb2ZpbGVyQWdlbnRTdGF0ZTo6dXNlckluaXRp
YXRlZFByb2ZpbGluZywgdHJ1ZSk7CiB9CiAKLXZvaWQgSW5zcGVjdG9yUHJvZmlsZXJBZ2VudDo6
c3RvcFVzZXJJbml0aWF0ZWRQcm9maWxpbmcoYm9vbCBpZ25vcmVQcm9maWxlKQordm9pZCBJbnNw
ZWN0b3JQcm9maWxlckFnZW50OjpzdG9wKEVycm9yU3RyaW5nKikKIHsKICAgICBpZiAoIW1fcmVj
b3JkaW5nVXNlckluaXRpYXRlZFByb2ZpbGUpCiAgICAgICAgIHJldHVybjsKQEAgLTMyNSwxMiAr
MzI1LDggQEAgdm9pZCBJbnNwZWN0b3JQcm9maWxlckFnZW50OjpzdG9wVXNlckluaXRpYXRlZFBy
b2ZpbGluZyhib29sIGlnbm9yZVByb2ZpbGUpCiAgICAgU2NyaXB0U3RhdGUqIHNjcmlwdFN0YXRl
ID0gMDsKICNlbmRpZgogICAgIFJlZlB0cjxTY3JpcHRQcm9maWxlPiBwcm9maWxlID0gU2NyaXB0
UHJvZmlsZXI6OnN0b3Aoc2NyaXB0U3RhdGUsIHRpdGxlKTsKLSAgICBpZiAocHJvZmlsZSkgewot
ICAgICAgICBpZiAoIWlnbm9yZVByb2ZpbGUpCi0gICAgICAgICAgICBhZGRQcm9maWxlKHByb2Zp
bGUsIDAsIFN0cmluZygpKTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgYWRkUHJvZmlsZUZp
bmlzaGVkTWVzc2FnZVRvQ29uc29sZShwcm9maWxlLCAwLCBTdHJpbmcoKSk7Ci0gICAgfQorICAg
IGlmIChwcm9maWxlKQorICAgICAgICBhZGRQcm9maWxlKHByb2ZpbGUsIDAsIFN0cmluZygpKTsK
ICAgICB0b2dnbGVSZWNvcmRCdXR0b24oZmFsc2UpOwogICAgIG1faW5zcGVjdG9yU3RhdGUtPnNl
dEJvb2xlYW4oUHJvZmlsZXJBZ2VudFN0YXRlOjp1c2VySW5pdGlhdGVkUHJvZmlsaW5nLCBmYWxz
ZSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUHJv
ZmlsZXJBZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclByb2ZpbGVy
QWdlbnQuaAppbmRleCBlZWQ3ZTIxNjdiYjEzZjY3MDgzZDU5MzY5MTM0NzUyN2YxNTgyODg2Li40
ODY5MzcxNjVmNTJmMmYxMjNhODQ4MTFkN2U5NDUxNjUxMDg2ZGYxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUHJvZmlsZXJBZ2VudC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQcm9maWxlckFnZW50LmgKQEAgLTcwLDggKzcw
LDggQEAgcHVibGljOgogICAgIHZvaWQgZW5hYmxlKEVycm9yU3RyaW5nKik7CiAgICAgdm9pZCBk
aXNhYmxlKEVycm9yU3RyaW5nKik7CiAgICAgdm9pZCBpc0VuYWJsZWQoRXJyb3JTdHJpbmcqLCBi
b29sKiByZXN1bHQpIHsgKnJlc3VsdCA9IGVuYWJsZWQoKTsgfQotICAgIHZvaWQgc3RhcnQoRXJy
b3JTdHJpbmcqKSB7IHN0YXJ0VXNlckluaXRpYXRlZFByb2ZpbGluZygpOyB9Ci0gICAgdm9pZCBz
dG9wKEVycm9yU3RyaW5nKikgeyBzdG9wVXNlckluaXRpYXRlZFByb2ZpbGluZygpOyB9CisgICAg
dm9pZCBzdGFydChFcnJvclN0cmluZyogPSAwKTsKKyAgICB2b2lkIHN0b3AoRXJyb3JTdHJpbmcq
ID0gMCk7CiAKICAgICB2b2lkIGRpc2FibGUoKTsKICAgICB2b2lkIGVuYWJsZShib29sIHNraXBS
ZWNvbXBpbGUpOwpAQCAtNzksMTUgKzc5LDEyIEBAIHB1YmxpYzoKICAgICBTdHJpbmcgZ2V0Q3Vy
cmVudFVzZXJJbml0aWF0ZWRQcm9maWxlTmFtZShib29sIGluY3JlbWVudFByb2ZpbGVOdW1iZXIg
PSBmYWxzZSk7CiAgICAgdm9pZCBnZXRQcm9maWxlSGVhZGVycyhFcnJvclN0cmluZyogZXJyb3Is
IFJlZlB0cjxJbnNwZWN0b3JBcnJheT4qIGhlYWRlcnMpOwogICAgIHZvaWQgZ2V0UHJvZmlsZShF
cnJvclN0cmluZyogZXJyb3IsIGNvbnN0IFN0cmluZyYgdHlwZSwgdW5zaWduZWQgdWlkLCBSZWZQ
dHI8SW5zcGVjdG9yT2JqZWN0PiogcHJvZmlsZU9iamVjdCk7Ci0gICAgYm9vbCBpc1JlY29yZGlu
Z1VzZXJJbml0aWF0ZWRQcm9maWxlKCkgeyByZXR1cm4gbV9yZWNvcmRpbmdVc2VySW5pdGlhdGVk
UHJvZmlsZTsgfQogICAgIHZvaWQgcmVtb3ZlUHJvZmlsZShFcnJvclN0cmluZyogZXJyb3IsIGNv
bnN0IFN0cmluZyYgdHlwZSwgdW5zaWduZWQgdWlkKTsKIAogICAgIHZvaWQgc2V0RnJvbnRlbmQo
SW5zcGVjdG9yRnJvbnRlbmQqKTsKICAgICB2b2lkIGNsZWFyRnJvbnRlbmQoKTsKICAgICB2b2lk
IHJlc3RvcmUoKTsKIAotICAgIHZvaWQgc3RhcnRVc2VySW5pdGlhdGVkUHJvZmlsaW5nKCk7Ci0g
ICAgdm9pZCBzdG9wVXNlckluaXRpYXRlZFByb2ZpbGluZyhib29sIGlnbm9yZVByb2ZpbGUgPSBm
YWxzZSk7CiAgICAgdm9pZCB0YWtlSGVhcFNuYXBzaG90KEVycm9yU3RyaW5nKik7CiAgICAgdm9p
ZCB0b2dnbGVSZWNvcmRCdXR0b24oYm9vbCBpc1Byb2ZpbGluZyk7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcAppbmRleCBkZDI5
MzZhMjg4ZTE1Y2JlMDViYjQwNzI0NjM5MDAzMTZkNmRiYThkLi4wNWZjNjZkN2FkZmM5OTEyNGU5
OTEyOWY1MjczNDQwNmQ0ODBiYjQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuY3BwCkBAIC0xNDcsMTcgKzE0NywxNCBAQCB2b2lk
IEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OnN0YXJ0KEVycm9yU3RyaW5nKiwgaW50KiBtYXhDYWxs
U3RhY2tEZXB0aCkKIAogICAgIG1faW5zdHJ1bWVudGluZ0FnZW50cy0+c2V0SW5zcGVjdG9yVGlt
ZWxpbmVBZ2VudCh0aGlzKTsKICAgICBTY3JpcHRHQ0V2ZW50OjphZGRFdmVudExpc3RlbmVyKHRo
aXMpOwotICAgIG1fZnJvbnRlbmQtPnN0YXJ0ZWQoKTsKICAgICBtX3N0YXRlLT5zZXRCb29sZWFu
KFRpbWVsaW5lQWdlbnRTdGF0ZTo6dGltZWxpbmVBZ2VudEVuYWJsZWQsIHRydWUpOwogfQogCiB2
b2lkIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OnN0b3AoRXJyb3JTdHJpbmcqKQogewotICAgIGlm
ICghc3RhcnRlZCgpKQorICAgIGlmICghbV9zdGF0ZS0+Z2V0Qm9vbGVhbihUaW1lbGluZUFnZW50
U3RhdGU6OnRpbWVsaW5lQWdlbnRFbmFibGVkKSkKICAgICAgICAgcmV0dXJuOwogICAgIG1faW5z
dHJ1bWVudGluZ0FnZW50cy0+c2V0SW5zcGVjdG9yVGltZWxpbmVBZ2VudCgwKTsKLSAgICBpZiAo
bV9mcm9udGVuZCkKLSAgICAgICAgbV9mcm9udGVuZC0+c3RvcHBlZCgpOwogICAgIFNjcmlwdEdD
RXZlbnQ6OnJlbW92ZUV2ZW50TGlzdGVuZXIodGhpcyk7CiAKICAgICBjbGVhclJlY29yZFN0YWNr
KCk7CkBAIC0xNjYsMTEgKzE2Myw2IEBAIHZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6c3Rv
cChFcnJvclN0cmluZyopCiAgICAgbV9zdGF0ZS0+c2V0Qm9vbGVhbihUaW1lbGluZUFnZW50U3Rh
dGU6OnRpbWVsaW5lQWdlbnRFbmFibGVkLCBmYWxzZSk7CiB9CiAKLWJvb2wgSW5zcGVjdG9yVGlt
ZWxpbmVBZ2VudDo6c3RhcnRlZCgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG1fc3RhdGUtPmdldEJv
b2xlYW4oVGltZWxpbmVBZ2VudFN0YXRlOjp0aW1lbGluZUFnZW50RW5hYmxlZCk7Ci19Ci0KIHZv
aWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6d2lsbENhbGxGdW5jdGlvbihjb25zdCBTdHJpbmcm
IHNjcmlwdE5hbWUsIGludCBzY3JpcHRMaW5lKQogewogICAgIHB1c2hDdXJyZW50UmVjb3JkKFRp
bWVsaW5lUmVjb3JkRmFjdG9yeTo6Y3JlYXRlRnVuY3Rpb25DYWxsRGF0YShzY3JpcHROYW1lLCBz
Y3JpcHRMaW5lKSwgVGltZWxpbmVSZWNvcmRUeXBlOjpGdW5jdGlvbkNhbGwpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaCBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmgKaW5kZXggZWNi
MTc3ZjMxYzdkOTZlY2IyMmExZTBhOWM4ZGQ2NWYwOWM4YzgyOC4uZjc0NTgwZWJiZTk0YTM0YjAz
ZTM0MTU1MzAzNDdiMWQ5NDUxYTQ1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oCkBAIC02OCw3ICs2OCw2IEBAIHB1YmxpYzoKIAog
ICAgIHZvaWQgc3RhcnQoRXJyb3JTdHJpbmcqLCBpbnQqIG1heENhbGxTdGFja0RlcHRoKTsKICAg
ICB2b2lkIHN0b3AoRXJyb3JTdHJpbmcqKTsKLSAgICBib29sIHN0YXJ0ZWQoKSBjb25zdDsKIAog
ICAgIGludCBpZCgpIGNvbnN0IHsgcmV0dXJuIG1faWQ7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9EZWJ1Z2dlck1vZGVsLmpzIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9EZWJ1Z2dlck1vZGVsLmpzCmluZGV4IGY2Y2Y1MWVk
MzdhZDFhMDA0ZTEzMWNkZGZkZjYzMDI1NDc1NzlmOTIuLjUxNzI3MmIxMGI0OWViOWY0NmVlYWMz
ZDIwZjM5NWE3YjM4MTY5MjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvRGVidWdnZXJNb2RlbC5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL0RlYnVnZ2VyTW9kZWwuanMKQEAgLTk3LDEyICs5NywxMiBAQCBXZWJJbnNwZWN0
b3IuRGVidWdnZXJNb2RlbC5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICAgICAgdGhpcy5fY2Fw
YWJpbGl0aWVzT2JqZWN0W2NhcGFiaWxpdGllc1tpXV0gPSB0cnVlOwogICAgICAgICB9CiAgICAg
ICAgIERlYnVnZ2VyQWdlbnQuZ2V0Q2FwYWJpbGl0aWVzKGNhbGxiYWNrLmJpbmQodGhpcykpOwot
ICAgICAgICBEZWJ1Z2dlckFnZW50LmVuYWJsZSgpOworICAgICAgICBEZWJ1Z2dlckFnZW50LmVu
YWJsZSh0aGlzLl9kZWJ1Z2dlcldhc0VuYWJsZWQuYmluZCh0aGlzKSk7CiAgICAgfSwKIAogICAg
IGRpc2FibGVEZWJ1Z2dlcjogZnVuY3Rpb24oKQogICAgIHsKLSAgICAgICAgRGVidWdnZXJBZ2Vu
dC5kaXNhYmxlKCk7CisgICAgICAgIERlYnVnZ2VyQWdlbnQuZGlzYWJsZSh0aGlzLl9kZWJ1Z2dl
cldhc0Rpc2FibGVkLmJpbmQodGhpcykpOwogICAgIH0sCiAKICAgICAvKioKQEAgLTM4NSwxNiAr
Mzg1LDYgQEAgV2ViSW5zcGVjdG9yLkRlYnVnZ2VyRGlzcGF0Y2hlci5wcm90b3R5cGUgPSB7CiAg
ICAgICAgIHRoaXMuX2RlYnVnZ2VyTW9kZWwuX3Jlc3VtZWRTY3JpcHQoKTsKICAgICB9LAogCi0g
ICAgZGVidWdnZXJXYXNFbmFibGVkOiBmdW5jdGlvbigpCi0gICAgewotICAgICAgICB0aGlzLl9k
ZWJ1Z2dlck1vZGVsLl9kZWJ1Z2dlcldhc0VuYWJsZWQoKTsKLSAgICB9LAotCi0gICAgZGVidWdn
ZXJXYXNEaXNhYmxlZDogZnVuY3Rpb24oKQotICAgIHsKLSAgICAgICAgdGhpcy5fZGVidWdnZXJN
b2RlbC5fZGVidWdnZXJXYXNEaXNhYmxlZCgpOwotICAgIH0sCi0KICAgICBnbG9iYWxPYmplY3RD
bGVhcmVkOiBmdW5jdGlvbigpCiAgICAgewogICAgICAgICB0aGlzLl9kZWJ1Z2dlck1vZGVsLl9n
bG9iYWxPYmplY3RDbGVhcmVkKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL1RpbWVsaW5lTWFuYWdlci5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9mcm9udC1lbmQvVGltZWxpbmVNYW5hZ2VyLmpzCmluZGV4IDFkMjllZTg4N2RkMmJhZDU1OGU3
OWFmYWMxYzI0MjlhNjI4MjI4MDMuLjA1MmJkZmU3OWQ0NWI5Mzg5Mzc4YmVkMmNmMzJjNzhlYjFm
ZTg1M2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVGlt
ZWxpbmVNYW5hZ2VyLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
VGltZWxpbmVNYW5hZ2VyLmpzCkBAIC01MCw3ICs1MCw3IEBAIFdlYkluc3BlY3Rvci5UaW1lbGlu
ZU1hbmFnZXIucHJvdG90eXBlID0gewogICAgIHsKICAgICAgICAgdGhpcy5fZW5hYmxlbWVudENv
dW50Kys7CiAgICAgICAgIGlmICh0aGlzLl9lbmFibGVtZW50Q291bnQgPT09IDEpCi0gICAgICAg
ICAgICBUaW1lbGluZUFnZW50LnN0YXJ0KG1heENhbGxTdGFja0RlcHRoKTsKKyAgICAgICAgICAg
IFRpbWVsaW5lQWdlbnQuc3RhcnQobWF4Q2FsbFN0YWNrRGVwdGgsIHRoaXMuX3N0YXJ0ZWQuYmlu
ZCh0aGlzKSk7CiAgICAgfSwKIAogICAgIHN0b3A6IGZ1bmN0aW9uKCkKQEAgLTYxLDcgKzYxLDE3
IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZU1hbmFnZXIucHJvdG90eXBlID0gewogICAgICAgICB9
CiAgICAgICAgIHRoaXMuX2VuYWJsZW1lbnRDb3VudC0tOwogICAgICAgICBpZiAoIXRoaXMuX2Vu
YWJsZW1lbnRDb3VudCkKLSAgICAgICAgICAgIFRpbWVsaW5lQWdlbnQuc3RvcCgpOworICAgICAg
ICAgICAgVGltZWxpbmVBZ2VudC5zdG9wKHRoaXMuX3N0b3BwZWQuYmluZCh0aGlzKSk7CisgICAg
fSwKKworICAgIF9zdGFydGVkOiBmdW5jdGlvbigpCisgICAgeworICAgICAgICB0aGlzLmRpc3Bh
dGNoRXZlbnRUb0xpc3RlbmVycyhXZWJJbnNwZWN0b3IuVGltZWxpbmVNYW5hZ2VyLkV2ZW50VHlw
ZXMuVGltZWxpbmVTdGFydGVkKTsKKyAgICB9LAorCisgICAgX3N0b3BwZWQ6IGZ1bmN0aW9uKCkK
KyAgICB7CisgICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdlYkluc3BlY3Rv
ci5UaW1lbGluZU1hbmFnZXIuRXZlbnRUeXBlcy5UaW1lbGluZVN0b3BwZWQpOwogICAgIH0KIH0K
IApAQCAtNzgsMTYgKzg4LDYgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lRGlzcGF0Y2hlciA9IGZ1
bmN0aW9uKG1hbmFnZXIpCiB9CiAKIFdlYkluc3BlY3Rvci5UaW1lbGluZURpc3BhdGNoZXIucHJv
dG90eXBlID0gewotICAgIHN0YXJ0ZWQ6IGZ1bmN0aW9uKCkKLSAgICB7Ci0gICAgICAgIHRoaXMu
X21hbmFnZXIuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdlYkluc3BlY3Rvci5UaW1lbGluZU1h
bmFnZXIuRXZlbnRUeXBlcy5UaW1lbGluZVN0YXJ0ZWQpOwotICAgIH0sCi0KLSAgICBzdG9wcGVk
OiBmdW5jdGlvbigpCi0gICAgewotICAgICAgICB0aGlzLl9tYW5hZ2VyLmRpc3BhdGNoRXZlbnRU
b0xpc3RlbmVycyhXZWJJbnNwZWN0b3IuVGltZWxpbmVNYW5hZ2VyLkV2ZW50VHlwZXMuVGltZWxp
bmVTdG9wcGVkKTsKLSAgICB9LAotCiAgICAgZXZlbnRSZWNvcmRlZDogZnVuY3Rpb24ocmVjb3Jk
KQogICAgIHsKICAgICAgICAgdGhpcy5fbWFuYWdlci5kaXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMo
V2ViSW5zcGVjdG9yLlRpbWVsaW5lTWFuYWdlci5FdmVudFR5cGVzLlRpbWVsaW5lRXZlbnRSZWNv
cmRlZCwgcmVjb3JkKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvaW5zcGVjdG9yLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9p
bnNwZWN0b3IuanMKaW5kZXggNTc4Yzc5ODIzMWYxMGY0ZTZjMzdhZTZiN2UwNDNiMzc4M2RhNDBj
Yy4uMzI0MmMxYTVjYzlmNTJiYTNhOWZkNWU2NDI1YjhlMTZhNTQ1OThhZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuanMKKysrIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuanMKQEAgLTY2NSwxMiAr
NjY1LDYgQEAgV2ViSW5zcGVjdG9yLnNob3dQYW5lbCA9IGZ1bmN0aW9uKHBhbmVsKQogICAgIFdl
Ykluc3BlY3Rvci5pbnNwZWN0b3JWaWV3LnNldEN1cnJlbnRQYW5lbCh0aGlzLnBhbmVsc1twYW5l
bF0pOwogfQogCi1XZWJJbnNwZWN0b3Iuc3RhcnRVc2VySW5pdGlhdGVkRGVidWdnaW5nID0gZnVu
Y3Rpb24oKQotewotICAgIFdlYkluc3BlY3Rvci5pbnNwZWN0b3JWaWV3LnNldEN1cnJlbnRQYW5l
bCh0aGlzLnBhbmVscy5zY3JpcHRzKTsKLSAgICBXZWJJbnNwZWN0b3IuZGVidWdnZXJNb2RlbC5l
bmFibGVEZWJ1Z2dlcigpOwotfQotCiBXZWJJbnNwZWN0b3IuYnJpbmdUb0Zyb250ID0gZnVuY3Rp
b24oKQogewogICAgIEluc3BlY3RvckZyb250ZW5kSG9zdC5icmluZ1RvRnJvbnQoKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>116103</attachid>
            <date>2011-11-21 10:09:09 -0800</date>
            <delta_ts>2011-11-22 00:45:18 -0800</delta_ts>
            <desc>[Patch] with GTK bot fixed.</desc>
            <filename>bug-72886-20111121220907.patch</filename>
            <type>text/plain</type>
            <size>29982</size>
            <attacher name="Pavel Feldman">pfeldman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAwOTI5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDcyZmYyZGVhYTY4Mzhi
MDMwZjZkMzEyMDQzNGU2ZjI4NjY4Njg5NC4uYWRjN2E3ZjI2Y2UyNjBhZGU1MDc0YmVkY2JiNDhl
ODA5MWE1NWFkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYwIEBACisyMDExLTExLTIxICBQYXZl
bCBGZWxkbWFuICA8cGZlbGRtYW5AZ29vZ2xlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9y
OiBzdHJpcCB1bnVzZWQgSW5zcGVjdG9yQ29udHJvbGxlciBtZXRob2RzLgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4ODYKKworICAgICAgICBUaGlz
IGlzIGEgZm9sbG93IHVwIHRvIHRoZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NjMwMDkuCisgICAgICAgIEkgYW0gbm93IGFibGUgdG8gcmVtb3ZlIGZvbGxvd2luZyBJ
bnNwZWN0b3JDb250cm9sbGVyIG1ldGhvZHM6CisgICAgICAgIDo6c3RhcnRVc2VySW5pdGlhdGVk
UHJvZmlsaW5nLAorICAgICAgICA6OmlzUmVjb3JkaW5nVXNlckluaXRpYXRlZFByb2ZpbGUsCisg
ICAgICAgIDo6c3RvcFVzZXJJbml0aWF0ZWRQcm9maWxpbmcsCisgICAgICAgIDo6c2hvd0FuZEVu
YWJsZURlYnVnZ2VyLAorICAgICAgICA6OmRlYnVnZ2VyRW5hYmxlZCwKKyAgICAgICAgOjpkaXNh
YmxlRGVidWdnZXIsCisgICAgICAgIDo6c3RhcnRUaW1lbGluZVByb2ZpbGVyLAorICAgICAgICA6
OnN0b3BUaW1lbGluZVByb2ZpbGVyLAorICAgICAgICA6OnRpbWVsaW5lUHJvZmlsZXJFbmFibGVk
LAorICAgICAgICA6OnNob3dDb25zb2xlLgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogV2ViQ29yZS5leHAuaW46CisgICAgICAgICogV2ViQ29yZS5v
cmRlcjoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yLmpzb246CisgICAgICAgICogaW5z
cGVjdG9yL0luc3BlY3RvckFnZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckFn
ZW50OjpzZXRGcm9udGVuZCk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckFnZW50Lmg6
CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6SW5zcGVjdG9yQ29udHJvbGxlcjo6SW5zcGVjdG9yQ29udHJvbGxlcik6CisgICAg
ICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDb250cm9sbGVyOjpjb25uZWN0RnJvbnRlbmQpOgorICAg
ICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmg6CisgICAgICAgICogaW5zcGVj
dG9yL0luc3BlY3RvckRlYnVnZ2VyQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVj
dG9yRGVidWdnZXJBZ2VudDo6ZW5hYmxlKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckRl
YnVnZ2VyQWdlbnQ6OmRpc2FibGUpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JEZWJ1
Z2dlckFnZW50Lmg6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlv
bi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZENv
bW1pdExvYWRJbXBsKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yUHJvZmlsZXJBZ2Vu
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JQcm9maWxlckFnZW50OjpyZXNldFN0
YXRlKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclByb2ZpbGVyQWdlbnQ6OmNsZWFyRnJv
bnRlbmQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yUHJvZmlsZXJBZ2VudDo6cmVzdG9y
ZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JQcm9maWxlckFnZW50OjpzdGFydCk6Cisg
ICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JQcm9maWxlckFnZW50OjpzdG9wKToKKyAgICAgICAg
KiBpbnNwZWN0b3IvSW5zcGVjdG9yUHJvZmlsZXJBZ2VudC5oOgorICAgICAgICAqIGluc3BlY3Rv
ci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rv
clRpbWVsaW5lQWdlbnQ6OnN0YXJ0KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclRpbWVs
aW5lQWdlbnQ6OnN0b3ApOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFn
ZW50Lmg6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9EZWJ1Z2dlck1vZGVsLmpzOgor
ICAgICAgICAoV2ViSW5zcGVjdG9yLkRlYnVnZ2VyTW9kZWwucHJvdG90eXBlLmVuYWJsZURlYnVn
Z2VyKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5EZWJ1Z2dlck1vZGVsLnByb3RvdHlwZS5kaXNh
YmxlRGVidWdnZXIpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvVGltZWxpbmVNYW5h
Z2VyLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lTWFuYWdlci5wcm90b3R5cGUu
c3RhcnQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lTWFuYWdlci5wcm90b3R5cGUu
c3RvcCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVNYW5hZ2VyLnByb3RvdHlwZS5f
c3RhcnRlZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVNYW5hZ2VyLnByb3RvdHlw
ZS5fc3RvcHBlZCk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuanM6
CisKIDIwMTEtMTEtMjEgIEFuZHJlYXMgS2xpbmcgIDxrbGluZ0B3ZWJraXQub3JnPgogCiAgICAg
ICAgIEpTQy9DU1NPTTogTWVyZ2Ugcm9vdCgpIGZvciBzdHlsZSBkZWNsYXJhdGlvbiBvYmplY3Rz
LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4gYi9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLmV4cC5pbgppbmRleCA2ZThjMzVlMDI3M2YxMGFmNjA4YTMxMmJlYmZiYWU4
NjZlYzNmMWUzLi44MjliMjYwMjk2OWIwOTBmM2I4ZDc3NzA1ZDdkOGNiNDBiNmY0Y2YxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLmV4cC5pbgpAQCAtMTY0MCwyMCArMTY0MCwxMSBAQCBfX1pON1dlYkNvcmUyMkdl
b2xvY2F0aW9uU2VydmljZU1vY2s4c2V0RXJyb3JFTjNXVEYxMFBhc3NSZWZQdHJJTlNfMTNQb3Np
dGlvbkVycgogI2lmIEVOQUJMRShJTlNQRUNUT1IpCiBfX1pON1dlYkNvcmUxNUluc3BlY3RvckNs
aWVudDMxZG9EaXNwYXRjaE1lc3NhZ2VPbkZyb250ZW5kUGFnZUVQTlNfNFBhZ2VFUktOM1dURjZT
dHJpbmdFCiBfX1pON1dlYkNvcmUxOUluc3BlY3RvckNvbnRyb2xsZXIxNGVuYWJsZVByb2ZpbGVy
RXYKLV9fWk43V2ViQ29yZTE5SW5zcGVjdG9yQ29udHJvbGxlcjE1ZGVidWdnZXJFbmFibGVkRXYK
LV9fWk43V2ViQ29yZTE5SW5zcGVjdG9yQ29udHJvbGxlcjE1ZGlzYWJsZURlYnVnZ2VyRXYKIF9f
Wk43V2ViQ29yZTE5SW5zcGVjdG9yQ29udHJvbGxlcjE1ZGlzYWJsZVByb2ZpbGVyRXYKIF9fWk43
V2ViQ29yZTE5SW5zcGVjdG9yQ29udHJvbGxlcjE1cHJvZmlsZXJFbmFibGVkRXYKIF9fWk43V2Vi
Q29yZTE5SW5zcGVjdG9yQ29udHJvbGxlcjE4ZGlzY29ubmVjdEZyb250ZW5kRXYKLV9fWk43V2Vi
Q29yZTE5SW5zcGVjdG9yQ29udHJvbGxlcjIwc3RvcFRpbWVsaW5lUHJvZmlsZXJFdgotX19aTjdX
ZWJDb3JlMTlJbnNwZWN0b3JDb250cm9sbGVyMjFzaG93QW5kRW5hYmxlRGVidWdnZXJFdgotX19a
TjdXZWJDb3JlMTlJbnNwZWN0b3JDb250cm9sbGVyMTFzaG93Q29uc29sZUV2Ci1fX1pON1dlYkNv
cmUxOUluc3BlY3RvckNvbnRyb2xsZXIyMXN0YXJ0VGltZWxpbmVQcm9maWxlckV2Ci1fX1pON1dl
YkNvcmUxOUluc3BlY3RvckNvbnRyb2xsZXIyM3RpbWVsaW5lUHJvZmlsZXJFbmFibGVkRXYKIF9f
Wk43V2ViQ29yZTE5SW5zcGVjdG9yQ29udHJvbGxlcjI1ZXZhbHVhdGVGb3JUZXN0SW5Gcm9udGVu
ZEVsUktOM1dURjZTdHJpbmdFCiBfX1pON1dlYkNvcmUxOUluc3BlY3RvckNvbnRyb2xsZXIyNnNl
dEluc3BlY3RvckZyb250ZW5kQ2xpZW50RU4zV1RGMTBQYXNzT3duUHRySU5TXzIzSW5zcGVjdG9y
RnJvbnRlbmRDbGllbnRFRUUKLV9fWk43V2ViQ29yZTE5SW5zcGVjdG9yQ29udHJvbGxlcjI2c3Rv
cFVzZXJJbml0aWF0ZWRQcm9maWxpbmdFdgotX19aTjdXZWJDb3JlMTlJbnNwZWN0b3JDb250cm9s
bGVyMjdzdGFydFVzZXJJbml0aWF0ZWRQcm9maWxpbmdFdgogX19aTjdXZWJDb3JlMTlJbnNwZWN0
b3JDb250cm9sbGVyMzlzZXRSZXNvdXJjZXNEYXRhU2l6ZUxpbWl0c0Zyb21JbnRlcm5hbHNFaWkK
IF9fWk43V2ViQ29yZTE5SW5zcGVjdG9yQ29udHJvbGxlcjRzaG93RXYKIF9fWk43V2ViQ29yZTE5
SW5zcGVjdG9yQ29udHJvbGxlcjVjbG9zZUV2CkBAIC0xNjcxLDcgKzE2NjIsNiBAQCBfX1pON1dl
YkNvcmUyOEluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwzMWNvbnN0cmFpbmVkQXR0YWNoZWRX
aW5kb3dIZWlnaHRFamoKIF9fWk43V2ViQ29yZTI4SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2Nh
bEMyRVBOU18xOUluc3BlY3RvckNvbnRyb2xsZXJFUE5TXzRQYWdlRU4zV1RGMTBQYXNzT3duUHRy
SU5TMF84U2V0dGluZ3NFRUUKIF9fWk43V2ViQ29yZTI4SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRM
b2NhbEQyRXYKIF9fWk5LN1dlYkNvcmUxOUluc3BlY3RvckNvbnRyb2xsZXIxM2RyYXdIaWdobGln
aHRFUk5TXzE1R3JhcGhpY3NDb250ZXh0RQotX19aTks3V2ViQ29yZTE5SW5zcGVjdG9yQ29udHJv
bGxlcjMxaXNSZWNvcmRpbmdVc2VySW5pdGlhdGVkUHJvZmlsZUV2CiAjZW5kaWYKIAogI2lmIEVO
QUJMRShKQVZBX0JSSURHRSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUub3Jk
ZXIgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLm9yZGVyCmluZGV4IGVhY2NmZTUyY2Q5MjcwYTQ5
Y2Q4MjJiMzdiMWFkYzU0YWI0ODY4NmEuLjIwZmJjYzBiMzY5MmFiOGQ0NjdhOTk2OGIxMmMwMWZm
MTc1ZmUxMWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUub3JkZXIKKysrIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS5vcmRlcgpAQCAtMjY1Miw3ICsyNjUyLDYgQEAgX19aTjdX
ZWJDb3JlMjFJbnNwZWN0b3JDb25zb2xlQWdlbnQ1cmVzZXRFdgogX19aTjdXZWJDb3JlMjFJbnNw
ZWN0b3JDb25zb2xlQWdlbnQyMGNsZWFyQ29uc29sZU1lc3NhZ2VzRVBOM1dURjZTdHJpbmdFCiBf
X1pOM1dURjZWZWN0b3JJTlNfNk93blB0cklON1dlYkNvcmUxNENvbnNvbGVNZXNzYWdlRUVFTG0w
RUUxNHNocmlua0NhcGFjaXR5RW0KIF9fWk43V2ViQ29yZTE3SW5zcGVjdG9yRE9NQWdlbnQyMHJl
bGVhc2VEYW5nbGluZ05vZGVzRXYKLV9fWk43V2ViQ29yZTIySW5zcGVjdG9yUHJvZmlsZXJBZ2Vu
dDI2c3RvcFVzZXJJbml0aWF0ZWRQcm9maWxpbmdFYgogX19aTjdXZWJDb3JlMjJJbnNwZWN0b3JQ
cm9maWxlckFnZW50MTByZXNldFN0YXRlRXYKIF9fWk43V2ViQ29yZTIySW5zcGVjdG9yRGF0YWJh
c2VBZ2VudDE0Y2xlYXJSZXNvdXJjZXNFdgogX19aTjdXZWJDb3JlMjRJbnNwZWN0b3JET01TdG9y
YWdlQWdlbnQxNGNsZWFyUmVzb3VyY2VzRXYKQEAgLTI2MzU3LDggKzI2MzU2LDYgQEAgX19aTjdX
ZWJDb3JlMjRKU1NjcmlwdFByb2ZpbGVQcm90b3R5cGVEMUV2CiBfX1pON1dlYkNvcmUyOEpTU2Ny
aXB0UHJvZmlsZU5vZGVQcm90b3R5cGVEMUV2CiBfX1pOM1dURjZSZWZQdHJJTjNKU0MxMVByb2Zp
bGVOb2RlRUVEMUV2CiBfX1pOM0pTQzE0Q2FsbElkZW50aWZpZXJEMUV2Ci1fX1pON1dlYkNvcmUy
NEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjM4Z2V0Q3VycmVudFVzZXJJbml0aWF0ZWRQcm9maWxl
TmFtZUltcGxFUE5TXzE5SW5zdHJ1bWVudGluZ0FnZW50c0ViCi1fX1pON1dlYkNvcmUyMkluc3Bl
Y3RvclByb2ZpbGVyQWdlbnQzNGdldEN1cnJlbnRVc2VySW5pdGlhdGVkUHJvZmlsZU5hbWVFYgog
X19aTjNXVEYxMG1ha2VTdHJpbmdJUEtjY05TXzZTdHJpbmdFRUVTM19UX1QwX1QxXwogX19aTjNX
VEYxM3RyeU1ha2VTdHJpbmdJUEtjY05TXzZTdHJpbmdFRUVOU18xMFBhc3NSZWZQdHJJTlNfMTBT
dHJpbmdJbXBsRUVFVF9UMF9UMV8KIF9fWk5LN1dlYkNvcmUxNUdyYXBoaWNzQ29udGV4dDI1aW1h
Z2VJbnRlcnBvbGF0aW9uUXVhbGl0eUV2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yLmpzb24gYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
Lmpzb24KaW5kZXggOWU4YTk2NDA3MTY5ZGYwYjkzYzdmYmUyOTM2OTY2YjY5NTE0NzY4Ny4uZTgy
ZTcxZThkMTBiOTU1ODg4MTY4MGM1OWFhMmM5YzhmYWFmNDY2MCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uCisrKyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3IuanNvbgpAQCAtMTcsMTUgKzE3LDYgQEAKICAgICAgICAgICAgICAg
ICAibmFtZSI6ICJkaXNjb25uZWN0RnJvbUJhY2tlbmQiCiAgICAgICAgICAgICB9LAogICAgICAg
ICAgICAgewotICAgICAgICAgICAgICAgICJuYW1lIjogInNob3dQYW5lbCIsCi0gICAgICAgICAg
ICAgICAgInBhcmFtZXRlcnMiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAicGFu
ZWwiLCAidHlwZSI6ICJzdHJpbmciIH0KLSAgICAgICAgICAgICAgICBdCi0gICAgICAgICAgICB9
LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJuYW1lIjogInN0YXJ0VXNlckluaXRp
YXRlZERlYnVnZ2luZyIKLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7CiAgICAgICAgICAg
ICAgICAgIm5hbWUiOiAiZXZhbHVhdGVGb3JUZXN0SW5Gcm9udGVuZCIsCiAgICAgICAgICAgICAg
ICAgInBhcmFtZXRlcnMiOiBbCiAgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAidGVzdENh
bGxJZCIsICJ0eXBlIjogImludGVnZXIiIH0sCkBAIC0xNzEwLDE2ICsxNzAxLDYgQEAKICAgICAg
ICAgXSwKICAgICAgICAgImV2ZW50cyI6IFsKICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAg
ICAibmFtZSI6ICJzdGFydGVkIiwKLSAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiRmly
ZWQgd2hlbiB0aW1lbGluZSBoYXMgYmVlbiBzdGFydGVkLiIsCi0gICAgICAgICAgICAgICAgImhp
ZGRlbiI6IHRydWUKLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgIm5hbWUiOiAic3RvcHBlZCIsCi0gICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkZp
cmVkIHdoZW4gdGltZWxpbmUgaGFzIGJlZW4gc3RvcHBlZC4iLAotICAgICAgICAgICAgICAgICJo
aWRkZW4iOiB0cnVlCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewogICAgICAgICAgICAg
ICAgICJuYW1lIjogImV2ZW50UmVjb3JkZWQiLAogICAgICAgICAgICAgICAgICJwYXJhbWV0ZXJz
IjogWwogICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogInJlY29yZCIsICIkcmVmIjogIlRp
bWVsaW5lRXZlbnQiLCAiZGVzY3JpcHRpb24iOiAiVGltZWxpbmUgZXZlbnQgcmVjb3JkIGRhdGEu
IiB9CkBAIC0xOTM5LDE2ICsxOTIwLDYgQEAKICAgICAgICAgXSwKICAgICAgICAgImV2ZW50cyI6
IFsKICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJkZWJ1Z2dlcldhc0Vu
YWJsZWQiLAotICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJGaXJlZCB3aGVuIGRlYnVn
Z2VyIGdldHMgZW5hYmxlZCAoZGVwcmVjYXRlZCkuIiwKLSAgICAgICAgICAgICAgICAiaGlkZGVu
IjogdHJ1ZQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAi
bmFtZSI6ICJkZWJ1Z2dlcldhc0Rpc2FibGVkIiwKLSAgICAgICAgICAgICAgICAiZGVzY3JpcHRp
b24iOiAiRmlyZWQgd2hlbiBkZWJ1Z2dlciBnZXRzIGRpc2FibGVkIChkZXByZWNhdGVkKS4iLAot
ICAgICAgICAgICAgICAgICJoaWRkZW4iOiB0cnVlCi0gICAgICAgICAgICB9LAotICAgICAgICAg
ICAgewogICAgICAgICAgICAgICAgICJuYW1lIjogImdsb2JhbE9iamVjdENsZWFyZWQiLAogICAg
ICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJDYWxsZWQgd2hlbiBnbG9iYWwgaGFzIGJlZW4g
Y2xlYXJlZCBhbmQgZGVidWdnZXIgY2xpZW50IHNob3VsZCByZXNldCBpdHMgc3RhdGUuIEhhcHBl
bnMgdXBvbiBuYXZpZ2F0aW9uIG9yIHJlbG9hZC4iCiAgICAgICAgICAgICB9LApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFnZW50LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBZ2VudC5jcHAKaW5kZXggN2UxNTU0YzA4ZWNiM2Zk
MzYxYWVhOWE0Njc2NjFiNTYwYzAzNGI0Yi4uMmU5MDcwN2M2YjVkNjY4NGJlMGI0NjY4YzQzMDUy
YTNkZmIzYTU1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQWdlbnQu
Y3BwCkBAIC0xMDgsMTAgKzEwOCw2IEBAIHZvaWQgSW5zcGVjdG9yQWdlbnQ6OnNldEZyb250ZW5k
KEluc3BlY3RvckZyb250ZW5kKiBpbnNwZWN0b3JGcm9udGVuZCkKIHsKICAgICBtX2Zyb250ZW5k
ID0gaW5zcGVjdG9yRnJvbnRlbmQ7CiAKLSAgICBpZiAoIW1fc2hvd1BhbmVsQWZ0ZXJWaXNpYmxl
LmlzRW1wdHkoKSkgewotICAgICAgICBtX2Zyb250ZW5kLT5pbnNwZWN0b3IoKS0+c2hvd1BhbmVs
KG1fc2hvd1BhbmVsQWZ0ZXJWaXNpYmxlKTsKLSAgICAgICAgbV9zaG93UGFuZWxBZnRlclZpc2li
bGUgPSBTdHJpbmcoKTsKLSAgICB9CiAjaWYgRU5BQkxFKEpBVkFTQ1JJUFRfREVCVUdHRVIpICYm
IEVOQUJMRShXT1JLRVJTKQogICAgIFdvcmtlcnNNYXA6Oml0ZXJhdG9yIHdvcmtlcnNFbmQgPSBt
X3dvcmtlcnMuZW5kKCk7CiAgICAgZm9yIChXb3JrZXJzTWFwOjppdGVyYXRvciBpdCA9IG1fd29y
a2Vycy5iZWdpbigpOyBpdCAhPSB3b3JrZXJzRW5kOyArK2l0KSB7CkBAIC0yMjEsMTMgKzIxNyw2
IEBAIHZvaWQgSW5zcGVjdG9yQWdlbnQ6OmRpZERlc3Ryb3lXb3JrZXIoaW50cHRyX3QgaWQpCiB9
CiAjZW5kaWYgLy8gRU5BQkxFKFdPUktFUlMpCiAKLSNpZiBFTkFCTEUoSkFWQVNDUklQVF9ERUJV
R0dFUikKLXZvaWQgSW5zcGVjdG9yQWdlbnQ6OnNob3dQcm9maWxlc1BhbmVsKCkKLXsKLSAgICBz
aG93UGFuZWwocHJvZmlsZXNQYW5lbE5hbWUpOwotfQotI2VuZGlmCi0KIHZvaWQgSW5zcGVjdG9y
QWdlbnQ6OmV2YWx1YXRlRm9yVGVzdEluRnJvbnRlbmQobG9uZyBjYWxsSWQsIGNvbnN0IFN0cmlu
ZyYgc2NyaXB0KQogewogICAgIG1fcGVuZGluZ0V2YWx1YXRlVGVzdENvbW1hbmRzLmFwcGVuZChw
YWlyPGxvbmcsIFN0cmluZz4oY2FsbElkLCBzY3JpcHQpKTsKQEAgLTI1OSwyMCArMjQ4LDYgQEAg
Ym9vbCBJbnNwZWN0b3JBZ2VudDo6ZW5hYmxlZCgpIGNvbnN0CiAgICAgcmV0dXJuIG1faW5zcGVj
dGVkUGFnZS0+c2V0dGluZ3MoKS0+ZGV2ZWxvcGVyRXh0cmFzRW5hYmxlZCgpOwogfQogCi12b2lk
IEluc3BlY3RvckFnZW50OjpzaG93Q29uc29sZSgpCi17Ci0gICAgc2hvd1BhbmVsKGNvbnNvbGVQ
YW5lbE5hbWUpOwotfQotCi12b2lkIEluc3BlY3RvckFnZW50OjpzaG93UGFuZWwoY29uc3QgU3Ry
aW5nJiBwYW5lbCkKLXsKLSAgICBpZiAoIW1fZnJvbnRlbmQpIHsKLSAgICAgICAgbV9zaG93UGFu
ZWxBZnRlclZpc2libGUgPSBwYW5lbDsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLSAgICBtX2Zy
b250ZW5kLT5pbnNwZWN0b3IoKS0+c2hvd1BhbmVsKHBhbmVsKTsKLX0KLQogdm9pZCBJbnNwZWN0
b3JBZ2VudDo6aXNzdWVFdmFsdWF0ZUZvclRlc3RDb21tYW5kcygpCiB7CiAgICAgaWYgKG1fZnJv
bnRlbmQpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JB
Z2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFnZW50LmgKaW5kZXgg
MDczZjhmNjhiODMzZTc2MWQzMzVkM2I4NDM0OWRlNGM1Yjk4YTFjNy4uNDlmZGY2ZGQ4ZGQ5YzIw
YzBiMzNhOWY2ZjhhMTBlZmY4NWFhNDEwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckFnZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvckFnZW50LmgKQEAgLTYzLDcgKzYzLDYgQEAgcHVibGljOgogCiAgICAgS1VSTCBpbnNw
ZWN0ZWRVUkwoKSBjb25zdDsKICAgICBLVVJMIGluc3BlY3RlZFVSTFdpdGhvdXRGcmFnbWVudCgp
IGNvbnN0OwotICAgIHZvaWQgc2hvd0NvbnNvbGUoKTsKIAogICAgIHZvaWQgc2V0RnJvbnRlbmQo
SW5zcGVjdG9yRnJvbnRlbmQqKTsKICAgICBJbnNwZWN0b3JGcm9udGVuZCogZnJvbnRlbmQoKSBj
b25zdCB7IHJldHVybiBtX2Zyb250ZW5kOyB9CkBAIC04NSwxOCArODQsMTIgQEAgcHVibGljOgog
CiAgICAgYm9vbCBoYXNGcm9udGVuZCgpIGNvbnN0IHsgcmV0dXJuIG1fZnJvbnRlbmQ7IH0KIAot
Ci0jaWYgRU5BQkxFKEpBVkFTQ1JJUFRfREVCVUdHRVIpCi0gICAgdm9pZCBzaG93UHJvZmlsZXNQ
YW5lbCgpOwotI2VuZGlmCi0KICAgICAvLyBHZW5lcmljIGNvZGUgY2FsbGVkIGZyb20gY3VzdG9t
IGltcGxlbWVudGF0aW9ucy4KICAgICB2b2lkIGV2YWx1YXRlRm9yVGVzdEluRnJvbnRlbmQobG9u
ZyB0ZXN0Q2FsbElkLCBjb25zdCBTdHJpbmcmIHNjcmlwdCk7CiAKICAgICB2b2lkIHNldEluc3Bl
Y3RvckV4dGVuc2lvbkFQSShjb25zdCBTdHJpbmcmIHNvdXJjZSk7CiAKIHByaXZhdGU6Ci0gICAg
dm9pZCBzaG93UGFuZWwoY29uc3QgU3RyaW5nJiBwYW5lbCk7CiAgICAgdm9pZCB1bmJpbmRBbGxS
ZXNvdXJjZXMoKTsKIAogI2lmIEVOQUJMRShKQVZBU0NSSVBUX0RFQlVHR0VSKQpAQCAtMTEyLDcg
KzEwNSw2IEBAIHByaXZhdGU6CiAgICAgSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKiBtX2luamVjdGVk
U2NyaXB0TWFuYWdlcjsKIAogICAgIFZlY3RvcjxwYWlyPGxvbmcsIFN0cmluZz4gPiBtX3BlbmRp
bmdFdmFsdWF0ZVRlc3RDb21tYW5kczsKLSAgICBTdHJpbmcgbV9zaG93UGFuZWxBZnRlclZpc2li
bGU7CiAgICAgU3RyaW5nIG1faW5zcGVjdG9yRXh0ZW5zaW9uQVBJOwogI2lmIEVOQUJMRShXT1JL
RVJTKQogICAgIHR5cGVkZWYgSGFzaE1hcDxpbnRwdHJfdCwgUmVmUHRyPEluc3BlY3Rvcldvcmtl
clJlc291cmNlPiA+IFdvcmtlcnNNYXA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yQ29udHJvbGxlci5jcHAKaW5kZXggMTRhMmFmOTIwMDViYzI5YTRlODUwZGY0YTVl
MzA5YTBiYjliOGRlNi4uNzM2MmFjODg0MjAwZWYxYmNmOWNjYzJkYWRlODhkNGIzZjdmOTNkMCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNw
cApAQCAtMTIxLDcgKzEyMSw2IEBAIEluc3BlY3RvckNvbnRyb2xsZXI6Okluc3BlY3RvckNvbnRy
b2xsZXIoUGFnZSogcGFnZSwgSW5zcGVjdG9yQ2xpZW50KiBpbnNwZWN0b3JDCiAgICAgLCBtX3Bh
Z2UocGFnZSkKICAgICAsIG1faW5zcGVjdG9yQ2xpZW50KGluc3BlY3RvckNsaWVudCkKICAgICAs
IG1fb3BlbmluZ0Zyb250ZW5kKGZhbHNlKQotICAgICwgbV9zdGFydFVzZXJJbml0aWF0ZWREZWJ1
Z2dpbmdXaGVuRnJvbnRlZElzQ29ubmVjdGVkKGZhbHNlKQogewogICAgIEFTU0VSVF9BUkcoaW5z
cGVjdG9yQ2xpZW50LCBpbnNwZWN0b3JDbGllbnQpOwogICAgIG1faW5qZWN0ZWRTY3JpcHRNYW5h
Z2VyLT5pbmplY3RlZFNjcmlwdEhvc3QoKS0+aW5pdChtX2luc3BlY3RvckFnZW50LmdldCgpCkBA
IC0xNzYsMTggKzE3NSw2IEBAIHZvaWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6ZGlkQ2xlYXJXaW5k
b3dPYmplY3RJbldvcmxkKEZyYW1lKiBmcmFtZSwgRE9NV3JhcHBlcldvCiAgICAgICAgIG1faW5z
cGVjdG9yRnJvbnRlbmRDbGllbnQtPndpbmRvd09iamVjdENsZWFyZWQoKTsKIH0KIAotdm9pZCBJ
bnNwZWN0b3JDb250cm9sbGVyOjpzdGFydFRpbWVsaW5lUHJvZmlsZXIoKQotewotICAgIEVycm9y
U3RyaW5nIGVycm9yOwotICAgIG1fdGltZWxpbmVBZ2VudC0+c3RhcnQoJmVycm9yLCAwKTsKLX0K
LQotdm9pZCBJbnNwZWN0b3JDb250cm9sbGVyOjpzdG9wVGltZWxpbmVQcm9maWxlcigpCi17Ci0g
ICAgRXJyb3JTdHJpbmcgZXJyb3I7Ci0gICAgbV90aW1lbGluZUFnZW50LT5zdG9wKCZlcnJvcik7
Ci19Ci0KIHZvaWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6Y29ubmVjdEZyb250ZW5kKCkKIHsKICAg
ICBtX29wZW5pbmdGcm9udGVuZCA9IGZhbHNlOwpAQCAtMjQ3LDExICsyMzQsNiBAQCB2b2lkIElu
c3BlY3RvckNvbnRyb2xsZXI6OmNvbm5lY3RGcm9udGVuZCgpCiAgICAgICAgICwgbV93b3JrZXJB
Z2VudC5nZXQoKQogI2VuZGlmCiAgICAgKSk7Ci0KLSAgICBpZiAobV9zdGFydFVzZXJJbml0aWF0
ZWREZWJ1Z2dpbmdXaGVuRnJvbnRlZElzQ29ubmVjdGVkKSB7Ci0gICAgICAgIG1faW5zcGVjdG9y
RnJvbnRlbmQtPmluc3BlY3RvcigpLT5zdGFydFVzZXJJbml0aWF0ZWREZWJ1Z2dpbmcoKTsKLSAg
ICAgICAgbV9zdGFydFVzZXJJbml0aWF0ZWREZWJ1Z2dpbmdXaGVuRnJvbnRlZElzQ29ubmVjdGVk
ID0gZmFsc2U7Ci0gICAgfQogfQogCiB2b2lkIEluc3BlY3RvckNvbnRyb2xsZXI6OmRpc2Nvbm5l
Y3RGcm9udGVuZCgpCkBAIC0zNTksMTQgKzM0MSw2IEBAIHZvaWQgSW5zcGVjdG9yQ29udHJvbGxl
cjo6ZHJhd0hpZ2hsaWdodChHcmFwaGljc0NvbnRleHQmIGNvbnRleHQpIGNvbnN0CiAgICAgbV9k
b21BZ2VudC0+ZHJhd0hpZ2hsaWdodChjb250ZXh0KTsKIH0KIAotdm9pZCBJbnNwZWN0b3JDb250
cm9sbGVyOjpzaG93Q29uc29sZSgpCi17Ci0gICAgaWYgKCFlbmFibGVkKCkpCi0gICAgICAgIHJl
dHVybjsKLSAgICBzaG93KCk7Ci0gICAgbV9pbnNwZWN0b3JBZ2VudC0+c2hvd0NvbnNvbGUoKTsK
LX0KLQogdm9pZCBJbnNwZWN0b3JDb250cm9sbGVyOjppbnNwZWN0KE5vZGUqIG5vZGUpCiB7CiAg
ICAgaWYgKCFlbmFibGVkKCkpCkBAIC0zODcsMTEgKzM2MSw2IEBAIFBhZ2UqIEluc3BlY3RvckNv
bnRyb2xsZXI6Omluc3BlY3RlZFBhZ2UoKSBjb25zdAogICAgIHJldHVybiBtX3BhZ2U7CiB9CiAK
LWJvb2wgSW5zcGVjdG9yQ29udHJvbGxlcjo6dGltZWxpbmVQcm9maWxlckVuYWJsZWQoKQotewot
ICAgIHJldHVybiBtX3RpbWVsaW5lQWdlbnQtPnN0YXJ0ZWQoKTsKLX0KLQogdm9pZCBJbnNwZWN0
b3JDb250cm9sbGVyOjpzZXRJbnNwZWN0b3JFeHRlbnNpb25BUEkoY29uc3QgU3RyaW5nJiBzb3Vy
Y2UpCiB7CiAgICAgbV9pbnNwZWN0b3JBZ2VudC0+c2V0SW5zcGVjdG9yRXh0ZW5zaW9uQVBJKHNv
dXJjZSk7CkBAIC00MzIsNDggKzQwMSw2IEBAIGJvb2wgSW5zcGVjdG9yQ29udHJvbGxlcjo6cHJv
ZmlsZXJFbmFibGVkKCkKICAgICByZXR1cm4gbV9wcm9maWxlckFnZW50LT5lbmFibGVkKCk7CiB9
CiAKLWJvb2wgSW5zcGVjdG9yQ29udHJvbGxlcjo6ZGVidWdnZXJFbmFibGVkKCkKLXsKLSAgICBy
ZXR1cm4gbV9kZWJ1Z2dlckFnZW50LT5lbmFibGVkKCk7Ci19Ci0KLXZvaWQgSW5zcGVjdG9yQ29u
dHJvbGxlcjo6c2hvd0FuZEVuYWJsZURlYnVnZ2VyKCkKLXsKLSAgICBpZiAoIWVuYWJsZWQoKSkK
LSAgICAgICAgcmV0dXJuOwotICAgIHNob3coKTsKLQotICAgIGlmIChtX2luc3BlY3RvckZyb250
ZW5kKQotICAgICAgICBtX2luc3BlY3RvckZyb250ZW5kLT5pbnNwZWN0b3IoKS0+c3RhcnRVc2Vy
SW5pdGlhdGVkRGVidWdnaW5nKCk7Ci0gICAgZWxzZQotICAgICAgICBtX3N0YXJ0VXNlckluaXRp
YXRlZERlYnVnZ2luZ1doZW5Gcm9udGVkSXNDb25uZWN0ZWQgPSB0cnVlOwotfQotCi12b2lkIElu
c3BlY3RvckNvbnRyb2xsZXI6OmRpc2FibGVEZWJ1Z2dlcigpCi17Ci0gICAgRXJyb3JTdHJpbmcg
ZXJyb3I7Ci0gICAgbV9kZWJ1Z2dlckFnZW50LT5kaXNhYmxlKCZlcnJvcik7Ci19Ci0KLXZvaWQg
SW5zcGVjdG9yQ29udHJvbGxlcjo6c3RhcnRVc2VySW5pdGlhdGVkUHJvZmlsaW5nKCkKLXsKLSAg
ICBtX3Byb2ZpbGVyQWdlbnQtPnN0YXJ0VXNlckluaXRpYXRlZFByb2ZpbGluZygpOwotfQotCi12
b2lkIEluc3BlY3RvckNvbnRyb2xsZXI6OnN0b3BVc2VySW5pdGlhdGVkUHJvZmlsaW5nKCkKLXsK
LSAgICBpZiAoIWVuYWJsZWQoKSkKLSAgICAgICAgcmV0dXJuOwotICAgIHNob3coKTsKLSAgICBt
X3Byb2ZpbGVyQWdlbnQtPnN0b3BVc2VySW5pdGlhdGVkUHJvZmlsaW5nKCk7Ci0gICAgbV9pbnNw
ZWN0b3JBZ2VudC0+c2hvd1Byb2ZpbGVzUGFuZWwoKTsKLX0KLQotYm9vbCBJbnNwZWN0b3JDb250
cm9sbGVyOjppc1JlY29yZGluZ1VzZXJJbml0aWF0ZWRQcm9maWxlKCkgY29uc3QKLXsKLSAgICBy
ZXR1cm4gbV9wcm9maWxlckFnZW50LT5pc1JlY29yZGluZ1VzZXJJbml0aWF0ZWRQcm9maWxlKCk7
Ci19Ci0KIHZvaWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6cmVzdW1lKCkKIHsKICAgICBpZiAobV9k
ZWJ1Z2dlckFnZW50KSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yQ29udHJvbGxlci5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNv
bnRyb2xsZXIuaAppbmRleCA3NjVjYWRmYzJmNzRkNWQ2MDk5MmU2YzI3MmZjZWM0Zjk1YWZlZWE2
Li5iMDU3OTNiNzgxYjg4ZGE3ODZiY2NjMTk1NzAzMWIyOTA4MjQwZWY3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmgKQEAgLTk1LDcgKzk1LDYg
QEAgcHVibGljOgogICAgIHZvaWQgcmVzdG9yZUluc3BlY3RvclN0YXRlRnJvbUNvb2tpZShjb25z
dCBTdHJpbmcmIGluc3BlY3RvckNvb2tpZSk7CiAgICAgdm9pZCBzZXRQcm9jZXNzSWQobG9uZyk7
CiAKLSAgICB2b2lkIHNob3dDb25zb2xlKCk7CiAgICAgdm9pZCBpbnNwZWN0KE5vZGUqKTsKICAg
ICB2b2lkIGRyYXdIaWdobGlnaHQoR3JhcGhpY3NDb250ZXh0JikgY29uc3Q7CiAgICAgdm9pZCBo
aWRlSGlnaGxpZ2h0KCk7CkBAIC0xMDMsMjAgKzEwMiwxMSBAQCBwdWJsaWM6CiAKICAgICB2b2lk
IGV2YWx1YXRlRm9yVGVzdEluRnJvbnRlbmQobG9uZyBjYWxsSWQsIGNvbnN0IFN0cmluZyYgc2Ny
aXB0KTsKIAotICAgIHZvaWQgc3RhcnRUaW1lbGluZVByb2ZpbGVyKCk7Ci0gICAgdm9pZCBzdG9w
VGltZWxpbmVQcm9maWxlcigpOwotICAgIGJvb2wgdGltZWxpbmVQcm9maWxlckVuYWJsZWQoKTsK
LQogI2lmIEVOQUJMRShKQVZBU0NSSVBUX0RFQlVHR0VSKQogICAgIGJvb2wgcHJvZmlsZXJFbmFi
bGVkKCk7CiAgICAgdm9pZCBlbmFibGVQcm9maWxlcigpOwotICAgIHZvaWQgc3RhcnRVc2VySW5p
dGlhdGVkUHJvZmlsaW5nKCk7Ci0gICAgYm9vbCBpc1JlY29yZGluZ1VzZXJJbml0aWF0ZWRQcm9m
aWxlKCkgY29uc3Q7Ci0gICAgdm9pZCBzdG9wVXNlckluaXRpYXRlZFByb2ZpbGluZygpOwogICAg
IHZvaWQgZGlzYWJsZVByb2ZpbGVyKCk7Ci0gICAgdm9pZCBzaG93QW5kRW5hYmxlRGVidWdnZXIo
KTsKLSAgICBib29sIGRlYnVnZ2VyRW5hYmxlZCgpOwotICAgIHZvaWQgZGlzYWJsZURlYnVnZ2Vy
KCk7CisKICAgICB2b2lkIHJlc3VtZSgpOwogI2VuZGlmCiAKQEAgLTE1OCw3ICsxNDgsNiBAQCBw
cml2YXRlOgogICAgIFBhZ2UqIG1fcGFnZTsKICAgICBJbnNwZWN0b3JDbGllbnQqIG1faW5zcGVj
dG9yQ2xpZW50OwogICAgIGJvb2wgbV9vcGVuaW5nRnJvbnRlbmQ7Ci0gICAgYm9vbCBtX3N0YXJ0
VXNlckluaXRpYXRlZERlYnVnZ2luZ1doZW5Gcm9udGVkSXNDb25uZWN0ZWQ7CiB9OwogCiB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGVidWdnZXJBZ2Vu
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5j
cHAKaW5kZXggZjcyNWRhODQ0N2M0N2U0NDI0ZDAyOWFkNDZlYmU2ODFkZDlmZGQ3ZC4uNmYxMWNi
MDhjZWQxMDNlYzk5N2QzNTVkYTkyNjlkM2YyYTFmYjEyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRlYnVnZ2VyQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmNwcApAQCAtMTE1LDcgKzEx
NSw2IEBAIHZvaWQgSW5zcGVjdG9yRGVidWdnZXJBZ2VudDo6ZW5hYmxlKEVycm9yU3RyaW5nKikK
ICAgICBtX2luc3BlY3RvclN0YXRlLT5zZXRCb29sZWFuKERlYnVnZ2VyQWdlbnRTdGF0ZTo6ZGVi
dWdnZXJFbmFibGVkLCB0cnVlKTsKIAogICAgIEFTU0VSVChtX2Zyb250ZW5kKTsKLSAgICBtX2Zy
b250ZW5kLT5kZWJ1Z2dlcldhc0VuYWJsZWQoKTsKIH0KIAogdm9pZCBJbnNwZWN0b3JEZWJ1Z2dl
ckFnZW50OjpkaXNhYmxlKEVycm9yU3RyaW5nKikKQEAgLTEyNSw5ICsxMjQsNiBAQCB2b2lkIElu
c3BlY3RvckRlYnVnZ2VyQWdlbnQ6OmRpc2FibGUoRXJyb3JTdHJpbmcqKQogCiAgICAgZGlzYWJs
ZSgpOwogICAgIG1faW5zcGVjdG9yU3RhdGUtPnNldEJvb2xlYW4oRGVidWdnZXJBZ2VudFN0YXRl
OjpkZWJ1Z2dlckVuYWJsZWQsIGZhbHNlKTsKLQotICAgIGlmIChtX2Zyb250ZW5kKQotICAgICAg
ICBtX2Zyb250ZW5kLT5kZWJ1Z2dlcldhc0Rpc2FibGVkKCk7CiB9CiAKIHZvaWQgSW5zcGVjdG9y
RGVidWdnZXJBZ2VudDo6cmVzdG9yZSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvckRlYnVnZ2VyQWdlbnQuaAppbmRleCBmZThmNDJjMGMxMzg2MjdjY2UxYTdiM2Vh
MDJmNzNjZTlmMDg5ZWFkLi41MzI1MzdlMWIyOWJiMTYwZGY0NmFlYzMyNTZhYzZhNDRlZThmYTky
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGVidWdnZXJB
Z2VudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JEZWJ1Z2dlckFn
ZW50LmgKQEAgLTY3LDcgKzY3LDYgQEAgcHVibGljOgogICAgIHZvaWQgZ2V0Q2FwYWJpbGl0aWVz
KEVycm9yU3RyaW5nKiwgUmVmUHRyPEluc3BlY3RvckFycmF5PiopOwogICAgIHZvaWQgZW5hYmxl
KEVycm9yU3RyaW5nKik7CiAgICAgdm9pZCBkaXNhYmxlKEVycm9yU3RyaW5nKik7Ci0gICAgYm9v
bCBlbmFibGVkKCk7CiAgICAgdm9pZCByZXN0b3JlKCk7CiAgICAgdm9pZCBzZXRGcm9udGVuZChJ
bnNwZWN0b3JGcm9udGVuZCopOwogICAgIHZvaWQgY2xlYXJGcm9udGVuZCgpOwpAQCAtMTIzLDYg
KzEyMiw3IEBAIHByb3RlY3RlZDoKIHByaXZhdGU6CiAgICAgdm9pZCBlbmFibGUoKTsKICAgICB2
b2lkIGRpc2FibGUoKTsKKyAgICBib29sIGVuYWJsZWQoKTsKIAogICAgIFBhc3NSZWZQdHI8SW5z
cGVjdG9yQXJyYXk+IGN1cnJlbnRDYWxsRnJhbWVzKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAKaW5kZXggNGNiOGRj
N2ZiMTEyMjVlNzEyYzA3YmMzNzA2MDRlNWNhMjZhOTExNi4uNzEzMjk0MzE2ZTAyYjk5YTY3M2Vk
OWMxMDE0ZWViNjZlN2Y2MWIyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAKQEAgLTY0NiwxMCArNjQ2LDggQEAgdm9p
ZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZENvbW1pdExvYWRJbXBsKEluc3RydW1lbnRp
bmdBZ2VudHMqIGluc3RydW1lbnQKICAgICAgICAgaWYgKEluc3BlY3RvclJlc291cmNlQWdlbnQq
IHJlc291cmNlQWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnRzLT5pbnNwZWN0b3JSZXNvdXJjZUFn
ZW50KCkpCiAgICAgICAgICAgICByZXNvdXJjZUFnZW50LT5tYWluRnJhbWVOYXZpZ2F0ZWQobG9h
ZGVyKTsKICNpZiBFTkFCTEUoSkFWQVNDUklQVF9ERUJVR0dFUikgJiYgVVNFKEpTQykKLSAgICAg
ICAgaWYgKEluc3BlY3RvclByb2ZpbGVyQWdlbnQqIHByb2ZpbGVyQWdlbnQgPSBpbnN0cnVtZW50
aW5nQWdlbnRzLT5pbnNwZWN0b3JQcm9maWxlckFnZW50KCkpIHsKLSAgICAgICAgICAgIHByb2Zp
bGVyQWdlbnQtPnN0b3BVc2VySW5pdGlhdGVkUHJvZmlsaW5nKHRydWUpOworICAgICAgICBpZiAo
SW5zcGVjdG9yUHJvZmlsZXJBZ2VudCogcHJvZmlsZXJBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2Vu
dHMtPmluc3BlY3RvclByb2ZpbGVyQWdlbnQoKSkKICAgICAgICAgICAgIHByb2ZpbGVyQWdlbnQt
PnJlc2V0U3RhdGUoKTsKLSAgICAgICAgfQogI2VuZGlmCiAgICAgICAgIGlmIChJbnNwZWN0b3JD
U1NBZ2VudCogY3NzQWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnRzLT5pbnNwZWN0b3JDU1NBZ2Vu
dCgpKQogICAgICAgICAgICAgY3NzQWdlbnQtPnJlc2V0KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUHJvZmlsZXJBZ2VudC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUHJvZmlsZXJBZ2VudC5jcHAKaW5kZXggNTAzNDQyZmU0
NzdkMzYzNWVjZTYyMmUxY2JjYjViYThlZTJlYTE2ZC4uYzk2YWVkNDM3YzFkMGExNDdhMjkwZGNj
OGMxN2RkYjg2NmJmODM0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvclByb2ZpbGVyQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JQcm9maWxlckFnZW50LmNwcApAQCAtMjQyLDcgKzI0Miw3IEBAIHZvaWQgSW5zcGVj
dG9yUHJvZmlsZXJBZ2VudDo6cmVtb3ZlUHJvZmlsZShFcnJvclN0cmluZyosIGNvbnN0IFN0cmlu
ZyYgdHlwZSwgdW5zCiAKIHZvaWQgSW5zcGVjdG9yUHJvZmlsZXJBZ2VudDo6cmVzZXRTdGF0ZSgp
CiB7Ci0gICAgc3RvcFVzZXJJbml0aWF0ZWRQcm9maWxpbmcoKTsKKyAgICBzdG9wKCk7CiAgICAg
bV9wcm9maWxlcy5jbGVhcigpOwogICAgIG1fc25hcHNob3RzLmNsZWFyKCk7CiAgICAgbV9jdXJy
ZW50VXNlckluaXRpYXRlZFByb2ZpbGVOdW1iZXIgPSAxOwpAQCAtMjY4LDcgKzI2OCw3IEBAIHZv
aWQgSW5zcGVjdG9yUHJvZmlsZXJBZ2VudDo6c2V0RnJvbnRlbmQoSW5zcGVjdG9yRnJvbnRlbmQq
IGZyb250ZW5kKQogdm9pZCBJbnNwZWN0b3JQcm9maWxlckFnZW50OjpjbGVhckZyb250ZW5kKCkK
IHsKICAgICBtX2Zyb250ZW5kID0gMDsKLSAgICBzdG9wVXNlckluaXRpYXRlZFByb2ZpbGluZygp
OworICAgIHN0b3AoKTsKIH0KIAogdm9pZCBJbnNwZWN0b3JQcm9maWxlckFnZW50OjpyZXN0b3Jl
KCkKQEAgLTI3OSw3ICsyNzksNyBAQCB2b2lkIEluc3BlY3RvclByb2ZpbGVyQWdlbnQ6OnJlc3Rv
cmUoKQogICAgIC8vIFJldmlzaXQgdGhpcy4KICAgICByZXNldEZyb250ZW5kUHJvZmlsZXMoKTsK
ICAgICBpZiAobV9pbnNwZWN0b3JTdGF0ZS0+Z2V0Qm9vbGVhbihQcm9maWxlckFnZW50U3RhdGU6
OnVzZXJJbml0aWF0ZWRQcm9maWxpbmcpKQotICAgICAgICBzdGFydFVzZXJJbml0aWF0ZWRQcm9m
aWxpbmcoKTsKKyAgICAgICAgc3RhcnQoKTsKIH0KIAogdm9pZCBJbnNwZWN0b3JQcm9maWxlckFn
ZW50OjpyZXN0b3JlRW5hYmxlbWVudCgpCkBAIC0yOTAsNyArMjkwLDcgQEAgdm9pZCBJbnNwZWN0
b3JQcm9maWxlckFnZW50OjpyZXN0b3JlRW5hYmxlbWVudCgpCiAgICAgfQogfQogCi12b2lkIElu
c3BlY3RvclByb2ZpbGVyQWdlbnQ6OnN0YXJ0VXNlckluaXRpYXRlZFByb2ZpbGluZygpCit2b2lk
IEluc3BlY3RvclByb2ZpbGVyQWdlbnQ6OnN0YXJ0KEVycm9yU3RyaW5nKikKIHsKICAgICBpZiAo
bV9yZWNvcmRpbmdVc2VySW5pdGlhdGVkUHJvZmlsZSkKICAgICAgICAgcmV0dXJuOwpAQCAtMzEx
LDcgKzMxMSw3IEBAIHZvaWQgSW5zcGVjdG9yUHJvZmlsZXJBZ2VudDo6c3RhcnRVc2VySW5pdGlh
dGVkUHJvZmlsaW5nKCkKICAgICBtX2luc3BlY3RvclN0YXRlLT5zZXRCb29sZWFuKFByb2ZpbGVy
QWdlbnRTdGF0ZTo6dXNlckluaXRpYXRlZFByb2ZpbGluZywgdHJ1ZSk7CiB9CiAKLXZvaWQgSW5z
cGVjdG9yUHJvZmlsZXJBZ2VudDo6c3RvcFVzZXJJbml0aWF0ZWRQcm9maWxpbmcoYm9vbCBpZ25v
cmVQcm9maWxlKQordm9pZCBJbnNwZWN0b3JQcm9maWxlckFnZW50OjpzdG9wKEVycm9yU3RyaW5n
KikKIHsKICAgICBpZiAoIW1fcmVjb3JkaW5nVXNlckluaXRpYXRlZFByb2ZpbGUpCiAgICAgICAg
IHJldHVybjsKQEAgLTMyNSwxMiArMzI1LDggQEAgdm9pZCBJbnNwZWN0b3JQcm9maWxlckFnZW50
OjpzdG9wVXNlckluaXRpYXRlZFByb2ZpbGluZyhib29sIGlnbm9yZVByb2ZpbGUpCiAgICAgU2Ny
aXB0U3RhdGUqIHNjcmlwdFN0YXRlID0gMDsKICNlbmRpZgogICAgIFJlZlB0cjxTY3JpcHRQcm9m
aWxlPiBwcm9maWxlID0gU2NyaXB0UHJvZmlsZXI6OnN0b3Aoc2NyaXB0U3RhdGUsIHRpdGxlKTsK
LSAgICBpZiAocHJvZmlsZSkgewotICAgICAgICBpZiAoIWlnbm9yZVByb2ZpbGUpCi0gICAgICAg
ICAgICBhZGRQcm9maWxlKHByb2ZpbGUsIDAsIFN0cmluZygpKTsKLSAgICAgICAgZWxzZQotICAg
ICAgICAgICAgYWRkUHJvZmlsZUZpbmlzaGVkTWVzc2FnZVRvQ29uc29sZShwcm9maWxlLCAwLCBT
dHJpbmcoKSk7Ci0gICAgfQorICAgIGlmIChwcm9maWxlKQorICAgICAgICBhZGRQcm9maWxlKHBy
b2ZpbGUsIDAsIFN0cmluZygpKTsKICAgICB0b2dnbGVSZWNvcmRCdXR0b24oZmFsc2UpOwogICAg
IG1faW5zcGVjdG9yU3RhdGUtPnNldEJvb2xlYW4oUHJvZmlsZXJBZ2VudFN0YXRlOjp1c2VySW5p
dGlhdGVkUHJvZmlsaW5nLCBmYWxzZSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yUHJvZmlsZXJBZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvclByb2ZpbGVyQWdlbnQuaAppbmRleCBlZWQ3ZTIxNjdiYjEzZjY3MDgzZDU5
MzY5MTM0NzUyN2YxNTgyODg2Li40ODY5MzcxNjVmNTJmMmYxMjNhODQ4MTFkN2U5NDUxNjUxMDg2
ZGYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUHJvZmls
ZXJBZ2VudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQcm9maWxl
ckFnZW50LmgKQEAgLTcwLDggKzcwLDggQEAgcHVibGljOgogICAgIHZvaWQgZW5hYmxlKEVycm9y
U3RyaW5nKik7CiAgICAgdm9pZCBkaXNhYmxlKEVycm9yU3RyaW5nKik7CiAgICAgdm9pZCBpc0Vu
YWJsZWQoRXJyb3JTdHJpbmcqLCBib29sKiByZXN1bHQpIHsgKnJlc3VsdCA9IGVuYWJsZWQoKTsg
fQotICAgIHZvaWQgc3RhcnQoRXJyb3JTdHJpbmcqKSB7IHN0YXJ0VXNlckluaXRpYXRlZFByb2Zp
bGluZygpOyB9Ci0gICAgdm9pZCBzdG9wKEVycm9yU3RyaW5nKikgeyBzdG9wVXNlckluaXRpYXRl
ZFByb2ZpbGluZygpOyB9CisgICAgdm9pZCBzdGFydChFcnJvclN0cmluZyogPSAwKTsKKyAgICB2
b2lkIHN0b3AoRXJyb3JTdHJpbmcqID0gMCk7CiAKICAgICB2b2lkIGRpc2FibGUoKTsKICAgICB2
b2lkIGVuYWJsZShib29sIHNraXBSZWNvbXBpbGUpOwpAQCAtNzksMTUgKzc5LDEyIEBAIHB1Ymxp
YzoKICAgICBTdHJpbmcgZ2V0Q3VycmVudFVzZXJJbml0aWF0ZWRQcm9maWxlTmFtZShib29sIGlu
Y3JlbWVudFByb2ZpbGVOdW1iZXIgPSBmYWxzZSk7CiAgICAgdm9pZCBnZXRQcm9maWxlSGVhZGVy
cyhFcnJvclN0cmluZyogZXJyb3IsIFJlZlB0cjxJbnNwZWN0b3JBcnJheT4qIGhlYWRlcnMpOwog
ICAgIHZvaWQgZ2V0UHJvZmlsZShFcnJvclN0cmluZyogZXJyb3IsIGNvbnN0IFN0cmluZyYgdHlw
ZSwgdW5zaWduZWQgdWlkLCBSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiogcHJvZmlsZU9iamVjdCk7
Ci0gICAgYm9vbCBpc1JlY29yZGluZ1VzZXJJbml0aWF0ZWRQcm9maWxlKCkgeyByZXR1cm4gbV9y
ZWNvcmRpbmdVc2VySW5pdGlhdGVkUHJvZmlsZTsgfQogICAgIHZvaWQgcmVtb3ZlUHJvZmlsZShF
cnJvclN0cmluZyogZXJyb3IsIGNvbnN0IFN0cmluZyYgdHlwZSwgdW5zaWduZWQgdWlkKTsKIAog
ICAgIHZvaWQgc2V0RnJvbnRlbmQoSW5zcGVjdG9yRnJvbnRlbmQqKTsKICAgICB2b2lkIGNsZWFy
RnJvbnRlbmQoKTsKICAgICB2b2lkIHJlc3RvcmUoKTsKIAotICAgIHZvaWQgc3RhcnRVc2VySW5p
dGlhdGVkUHJvZmlsaW5nKCk7Ci0gICAgdm9pZCBzdG9wVXNlckluaXRpYXRlZFByb2ZpbGluZyhi
b29sIGlnbm9yZVByb2ZpbGUgPSBmYWxzZSk7CiAgICAgdm9pZCB0YWtlSGVhcFNuYXBzaG90KEVy
cm9yU3RyaW5nKik7CiAgICAgdm9pZCB0b2dnbGVSZWNvcmRCdXR0b24oYm9vbCBpc1Byb2ZpbGlu
Zyk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1l
bGluZUFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGlu
ZUFnZW50LmNwcAppbmRleCBkZDI5MzZhMjg4ZTE1Y2JlMDViYjQwNzI0NjM5MDAzMTZkNmRiYThk
Li4wNWZjNjZkN2FkZmM5OTEyNGU5OTEyOWY1MjczNDQwNmQ0ODBiYjQ4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuY3BwCkBAIC0x
NDcsMTcgKzE0NywxNCBAQCB2b2lkIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OnN0YXJ0KEVycm9y
U3RyaW5nKiwgaW50KiBtYXhDYWxsU3RhY2tEZXB0aCkKIAogICAgIG1faW5zdHJ1bWVudGluZ0Fn
ZW50cy0+c2V0SW5zcGVjdG9yVGltZWxpbmVBZ2VudCh0aGlzKTsKICAgICBTY3JpcHRHQ0V2ZW50
OjphZGRFdmVudExpc3RlbmVyKHRoaXMpOwotICAgIG1fZnJvbnRlbmQtPnN0YXJ0ZWQoKTsKICAg
ICBtX3N0YXRlLT5zZXRCb29sZWFuKFRpbWVsaW5lQWdlbnRTdGF0ZTo6dGltZWxpbmVBZ2VudEVu
YWJsZWQsIHRydWUpOwogfQogCiB2b2lkIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OnN0b3AoRXJy
b3JTdHJpbmcqKQogewotICAgIGlmICghc3RhcnRlZCgpKQorICAgIGlmICghbV9zdGF0ZS0+Z2V0
Qm9vbGVhbihUaW1lbGluZUFnZW50U3RhdGU6OnRpbWVsaW5lQWdlbnRFbmFibGVkKSkKICAgICAg
ICAgcmV0dXJuOwogICAgIG1faW5zdHJ1bWVudGluZ0FnZW50cy0+c2V0SW5zcGVjdG9yVGltZWxp
bmVBZ2VudCgwKTsKLSAgICBpZiAobV9mcm9udGVuZCkKLSAgICAgICAgbV9mcm9udGVuZC0+c3Rv
cHBlZCgpOwogICAgIFNjcmlwdEdDRXZlbnQ6OnJlbW92ZUV2ZW50TGlzdGVuZXIodGhpcyk7CiAK
ICAgICBjbGVhclJlY29yZFN0YWNrKCk7CkBAIC0xNjYsMTEgKzE2Myw2IEBAIHZvaWQgSW5zcGVj
dG9yVGltZWxpbmVBZ2VudDo6c3RvcChFcnJvclN0cmluZyopCiAgICAgbV9zdGF0ZS0+c2V0Qm9v
bGVhbihUaW1lbGluZUFnZW50U3RhdGU6OnRpbWVsaW5lQWdlbnRFbmFibGVkLCBmYWxzZSk7CiB9
CiAKLWJvb2wgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6c3RhcnRlZCgpIGNvbnN0Ci17Ci0gICAg
cmV0dXJuIG1fc3RhdGUtPmdldEJvb2xlYW4oVGltZWxpbmVBZ2VudFN0YXRlOjp0aW1lbGluZUFn
ZW50RW5hYmxlZCk7Ci19Ci0KIHZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6d2lsbENhbGxG
dW5jdGlvbihjb25zdCBTdHJpbmcmIHNjcmlwdE5hbWUsIGludCBzY3JpcHRMaW5lKQogewogICAg
IHB1c2hDdXJyZW50UmVjb3JkKFRpbWVsaW5lUmVjb3JkRmFjdG9yeTo6Y3JlYXRlRnVuY3Rpb25D
YWxsRGF0YShzY3JpcHROYW1lLCBzY3JpcHRMaW5lKSwgVGltZWxpbmVSZWNvcmRUeXBlOjpGdW5j
dGlvbkNhbGwpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
clRpbWVsaW5lQWdlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1l
bGluZUFnZW50LmgKaW5kZXggZWNiMTc3ZjMxYzdkOTZlY2IyMmExZTBhOWM4ZGQ2NWYwOWM4Yzgy
OC4uZjc0NTgwZWJiZTk0YTM0YjAzZTM0MTU1MzAzNDdiMWQ5NDUxYTQ1MSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oCkBAIC02OCw3
ICs2OCw2IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgc3RhcnQoRXJyb3JTdHJpbmcqLCBpbnQqIG1h
eENhbGxTdGFja0RlcHRoKTsKICAgICB2b2lkIHN0b3AoRXJyb3JTdHJpbmcqKTsKLSAgICBib29s
IHN0YXJ0ZWQoKSBjb25zdDsKIAogICAgIGludCBpZCgpIGNvbnN0IHsgcmV0dXJuIG1faWQ7IH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9EZWJ1Z2dl
ck1vZGVsLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9EZWJ1Z2dlck1v
ZGVsLmpzCmluZGV4IGY2Y2Y1MWVkMzdhZDFhMDA0ZTEzMWNkZGZkZjYzMDI1NDc1NzlmOTIuLjUx
NzI3MmIxMGI0OWViOWY0NmVlYWMzZDIwZjM5NWE3YjM4MTY5MjEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRGVidWdnZXJNb2RlbC5qcworKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RlYnVnZ2VyTW9kZWwuanMKQEAgLTk3LDEy
ICs5NywxMiBAQCBXZWJJbnNwZWN0b3IuRGVidWdnZXJNb2RlbC5wcm90b3R5cGUgPSB7CiAgICAg
ICAgICAgICAgICAgdGhpcy5fY2FwYWJpbGl0aWVzT2JqZWN0W2NhcGFiaWxpdGllc1tpXV0gPSB0
cnVlOwogICAgICAgICB9CiAgICAgICAgIERlYnVnZ2VyQWdlbnQuZ2V0Q2FwYWJpbGl0aWVzKGNh
bGxiYWNrLmJpbmQodGhpcykpOwotICAgICAgICBEZWJ1Z2dlckFnZW50LmVuYWJsZSgpOworICAg
ICAgICBEZWJ1Z2dlckFnZW50LmVuYWJsZSh0aGlzLl9kZWJ1Z2dlcldhc0VuYWJsZWQuYmluZCh0
aGlzKSk7CiAgICAgfSwKIAogICAgIGRpc2FibGVEZWJ1Z2dlcjogZnVuY3Rpb24oKQogICAgIHsK
LSAgICAgICAgRGVidWdnZXJBZ2VudC5kaXNhYmxlKCk7CisgICAgICAgIERlYnVnZ2VyQWdlbnQu
ZGlzYWJsZSh0aGlzLl9kZWJ1Z2dlcldhc0Rpc2FibGVkLmJpbmQodGhpcykpOwogICAgIH0sCiAK
ICAgICAvKioKQEAgLTM4NSwxNiArMzg1LDYgQEAgV2ViSW5zcGVjdG9yLkRlYnVnZ2VyRGlzcGF0
Y2hlci5wcm90b3R5cGUgPSB7CiAgICAgICAgIHRoaXMuX2RlYnVnZ2VyTW9kZWwuX3Jlc3VtZWRT
Y3JpcHQoKTsKICAgICB9LAogCi0gICAgZGVidWdnZXJXYXNFbmFibGVkOiBmdW5jdGlvbigpCi0g
ICAgewotICAgICAgICB0aGlzLl9kZWJ1Z2dlck1vZGVsLl9kZWJ1Z2dlcldhc0VuYWJsZWQoKTsK
LSAgICB9LAotCi0gICAgZGVidWdnZXJXYXNEaXNhYmxlZDogZnVuY3Rpb24oKQotICAgIHsKLSAg
ICAgICAgdGhpcy5fZGVidWdnZXJNb2RlbC5fZGVidWdnZXJXYXNEaXNhYmxlZCgpOwotICAgIH0s
Ci0KICAgICBnbG9iYWxPYmplY3RDbGVhcmVkOiBmdW5jdGlvbigpCiAgICAgewogICAgICAgICB0
aGlzLl9kZWJ1Z2dlck1vZGVsLl9nbG9iYWxPYmplY3RDbGVhcmVkKCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1RpbWVsaW5lTWFuYWdlci5qcyBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVGltZWxpbmVNYW5hZ2VyLmpzCmluZGV4
IDFkMjllZTg4N2RkMmJhZDU1OGU3OWFmYWMxYzI0MjlhNjI4MjI4MDMuLjA1MmJkZmU3OWQ0NWI5
Mzg5Mzc4YmVkMmNmMzJjNzhlYjFmZTg1M2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvVGltZWxpbmVNYW5hZ2VyLmpzCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvVGltZWxpbmVNYW5hZ2VyLmpzCkBAIC01MCw3ICs1MCw3IEBA
IFdlYkluc3BlY3Rvci5UaW1lbGluZU1hbmFnZXIucHJvdG90eXBlID0gewogICAgIHsKICAgICAg
ICAgdGhpcy5fZW5hYmxlbWVudENvdW50Kys7CiAgICAgICAgIGlmICh0aGlzLl9lbmFibGVtZW50
Q291bnQgPT09IDEpCi0gICAgICAgICAgICBUaW1lbGluZUFnZW50LnN0YXJ0KG1heENhbGxTdGFj
a0RlcHRoKTsKKyAgICAgICAgICAgIFRpbWVsaW5lQWdlbnQuc3RhcnQobWF4Q2FsbFN0YWNrRGVw
dGgsIHRoaXMuX3N0YXJ0ZWQuYmluZCh0aGlzKSk7CiAgICAgfSwKIAogICAgIHN0b3A6IGZ1bmN0
aW9uKCkKQEAgLTYxLDcgKzYxLDE3IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZU1hbmFnZXIucHJv
dG90eXBlID0gewogICAgICAgICB9CiAgICAgICAgIHRoaXMuX2VuYWJsZW1lbnRDb3VudC0tOwog
ICAgICAgICBpZiAoIXRoaXMuX2VuYWJsZW1lbnRDb3VudCkKLSAgICAgICAgICAgIFRpbWVsaW5l
QWdlbnQuc3RvcCgpOworICAgICAgICAgICAgVGltZWxpbmVBZ2VudC5zdG9wKHRoaXMuX3N0b3Bw
ZWQuYmluZCh0aGlzKSk7CisgICAgfSwKKworICAgIF9zdGFydGVkOiBmdW5jdGlvbigpCisgICAg
eworICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVycyhXZWJJbnNwZWN0b3IuVGlt
ZWxpbmVNYW5hZ2VyLkV2ZW50VHlwZXMuVGltZWxpbmVTdGFydGVkKTsKKyAgICB9LAorCisgICAg
X3N0b3BwZWQ6IGZ1bmN0aW9uKCkKKyAgICB7CisgICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRv
TGlzdGVuZXJzKFdlYkluc3BlY3Rvci5UaW1lbGluZU1hbmFnZXIuRXZlbnRUeXBlcy5UaW1lbGlu
ZVN0b3BwZWQpOwogICAgIH0KIH0KIApAQCAtNzgsMTYgKzg4LDYgQEAgV2ViSW5zcGVjdG9yLlRp
bWVsaW5lRGlzcGF0Y2hlciA9IGZ1bmN0aW9uKG1hbmFnZXIpCiB9CiAKIFdlYkluc3BlY3Rvci5U
aW1lbGluZURpc3BhdGNoZXIucHJvdG90eXBlID0gewotICAgIHN0YXJ0ZWQ6IGZ1bmN0aW9uKCkK
LSAgICB7Ci0gICAgICAgIHRoaXMuX21hbmFnZXIuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdl
Ykluc3BlY3Rvci5UaW1lbGluZU1hbmFnZXIuRXZlbnRUeXBlcy5UaW1lbGluZVN0YXJ0ZWQpOwot
ICAgIH0sCi0KLSAgICBzdG9wcGVkOiBmdW5jdGlvbigpCi0gICAgewotICAgICAgICB0aGlzLl9t
YW5hZ2VyLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVycyhXZWJJbnNwZWN0b3IuVGltZWxpbmVNYW5h
Z2VyLkV2ZW50VHlwZXMuVGltZWxpbmVTdG9wcGVkKTsKLSAgICB9LAotCiAgICAgZXZlbnRSZWNv
cmRlZDogZnVuY3Rpb24ocmVjb3JkKQogICAgIHsKICAgICAgICAgdGhpcy5fbWFuYWdlci5kaXNw
YXRjaEV2ZW50VG9MaXN0ZW5lcnMoV2ViSW5zcGVjdG9yLlRpbWVsaW5lTWFuYWdlci5FdmVudFR5
cGVzLlRpbWVsaW5lRXZlbnRSZWNvcmRlZCwgcmVjb3JkKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuanMKaW5kZXggNTc4Yzc5ODIzMWYxMGY0ZTZj
MzdhZTZiN2UwNDNiMzc4M2RhNDBjYy4uMzI0MmMxYTVjYzlmNTJiYTNhOWZkNWU2NDI1YjhlMTZh
NTQ1OThhZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9p
bnNwZWN0b3IuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNw
ZWN0b3IuanMKQEAgLTY2NSwxMiArNjY1LDYgQEAgV2ViSW5zcGVjdG9yLnNob3dQYW5lbCA9IGZ1
bmN0aW9uKHBhbmVsKQogICAgIFdlYkluc3BlY3Rvci5pbnNwZWN0b3JWaWV3LnNldEN1cnJlbnRQ
YW5lbCh0aGlzLnBhbmVsc1twYW5lbF0pOwogfQogCi1XZWJJbnNwZWN0b3Iuc3RhcnRVc2VySW5p
dGlhdGVkRGVidWdnaW5nID0gZnVuY3Rpb24oKQotewotICAgIFdlYkluc3BlY3Rvci5pbnNwZWN0
b3JWaWV3LnNldEN1cnJlbnRQYW5lbCh0aGlzLnBhbmVscy5zY3JpcHRzKTsKLSAgICBXZWJJbnNw
ZWN0b3IuZGVidWdnZXJNb2RlbC5lbmFibGVEZWJ1Z2dlcigpOwotfQotCiBXZWJJbnNwZWN0b3Iu
YnJpbmdUb0Zyb250ID0gZnVuY3Rpb24oKQogewogICAgIEluc3BlY3RvckZyb250ZW5kSG9zdC5i
cmluZ1RvRnJvbnQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJr
aXR3ZWJpbnNwZWN0b3IuY3BwIGIvU291cmNlL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYmlu
c3BlY3Rvci5jcHAKaW5kZXggNDNjYWYxYWVmMmFiMzU2NzE4NzJjMjhmYWM2NmNhNTM4ODA3M2Ew
ZC4uYzkzYzJiZGIyMWI1ZmRjZmZhNmE3ZDg1OWZhOTBhZDhhNzIyMzhhZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYmluc3BlY3Rvci5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYmluc3BlY3Rvci5jcHAKQEAgLTkwLDcgKzkw
LDcgQEAgZW51bSB7CiAgICAgUFJPUF9XRUJfVklFVywKICAgICBQUk9QX0lOU1BFQ1RFRF9VUkks
CiAgICAgUFJPUF9KQVZBU0NSSVBUX1BST0ZJTElOR19FTkFCTEVELAotICAgIFBST1BfVElNRUxJ
TkVfUFJPRklMSU5HX0VOQUJMRUQgICAgCisgICAgUFJPUF9USU1FTElORV9QUk9GSUxJTkdfRU5B
QkxFRAogfTsKIAogR19ERUZJTkVfVFlQRShXZWJLaXRXZWJJbnNwZWN0b3IsIHdlYmtpdF93ZWJf
aW5zcGVjdG9yLCBHX1RZUEVfT0JKRUNUKQpAQCAtMzY0LDEyICszNjQsNyBAQCBzdGF0aWMgdm9p
ZCB3ZWJraXRfd2ViX2luc3BlY3Rvcl9zZXRfcHJvcGVydHkoR09iamVjdCogb2JqZWN0LCBndWlu
dCBwcm9wX2lkLCBjbwogICAgICAgICBicmVhazsKICAgICB9CiAgICAgY2FzZSBQUk9QX1RJTUVM
SU5FX1BST0ZJTElOR19FTkFCTEVEOiB7Ci0gICAgICAgIGJvb2wgZW5hYmxlZCA9IGdfdmFsdWVf
Z2V0X2Jvb2xlYW4odmFsdWUpOwotICAgICAgICBXZWJDb3JlOjpJbnNwZWN0b3JDb250cm9sbGVy
KiBjb250cm9sbGVyID0gcHJpdi0+cGFnZS0+aW5zcGVjdG9yQ29udHJvbGxlcigpOwotICAgICAg
ICBpZiAoZW5hYmxlZCkKLSAgICAgICAgICAgIGNvbnRyb2xsZXItPnN0YXJ0VGltZWxpbmVQcm9m
aWxlcigpOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICBjb250cm9sbGVyLT5zdG9wVGltZWxp
bmVQcm9maWxlcigpOworICAgICAgICBnX21lc3NhZ2UoIlBST1BfVElNRUxJTkVfUFJPRklMSU5H
X0VOQUJMRUQgaGFzIGJlZW4gZGVwcmVjYXRlZFxuIik7CiAgICAgICAgIGJyZWFrOwogICAgIH0K
ICAgICBkZWZhdWx0OgpAQCAtMzk4LDcgKzM5Myw3IEBAIHN0YXRpYyB2b2lkIHdlYmtpdF93ZWJf
aW5zcGVjdG9yX2dldF9wcm9wZXJ0eShHT2JqZWN0KiBvYmplY3QsIGd1aW50IHByb3BfaWQsIEdW
CiAjZW5kaWYKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBQUk9QX1RJTUVMSU5FX1BST0ZJTElO
R19FTkFCTEVEOgotICAgICAgICBnX3ZhbHVlX3NldF9ib29sZWFuKHZhbHVlLCBwcml2LT5wYWdl
LT5pbnNwZWN0b3JDb250cm9sbGVyKCktPnRpbWVsaW5lUHJvZmlsZXJFbmFibGVkKCkpOworICAg
ICAgICBnX21lc3NhZ2UoIlBST1BfVElNRUxJTkVfUFJPRklMSU5HX0VOQUJMRUQgaGFzIGJlZW4g
ZGVwcmVjYXRlZFxuIik7CiAgICAgICAgIGJyZWFrOwogICAgIGRlZmF1bHQ6CiAgICAgICAgIEdf
T0JKRUNUX1dBUk5fSU5WQUxJRF9QUk9QRVJUWV9JRChvYmplY3QsIHByb3BfaWQsIHBzcGVjKTsK
</data>
<flag name="review"
          id="115175"
          type_id="1"
          status="+"
          setter="yurys"
    />
          </attachment>
      

    </bug>

</bugzilla>