<?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>169089</bug_id>
          
          <creation_ts>2017-03-02 12:19:02 -0800</creation_ts>
          <short_desc>Add WebKit2 hooks to notify the VM that the user has requested a debugger break.</short_desc>
          <delta_ts>2017-03-02 18:41:53 -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>JavaScriptCore</component>
          <version>WebKit Local 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="Mark Lam">mark.lam</reporter>
          <assigned_to name="Mark Lam">mark.lam</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>fpizlo</cc>
    
    <cc>ggaren</cc>
    
    <cc>jfbastien</cc>
    
    <cc>joepeck</cc>
    
    <cc>keith_miller</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1282823</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2017-03-02 12:19:02 -0800</bug_when>
    <thetext>Patch coming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1282893</commentid>
    <comment_count>1</comment_count>
      <attachid>303243</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2017-03-02 14:35:44 -0800</bug_when>
    <thetext>Created attachment 303243
proposed patch.

Let&apos;s try this on the EWS.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1282943</commentid>
    <comment_count>2</comment_count>
      <attachid>303261</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2017-03-02 15:47:31 -0800</bug_when>
    <thetext>Created attachment 303261
proposed patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1282954</commentid>
    <comment_count>3</comment_count>
      <attachid>303261</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2017-03-02 16:00:40 -0800</bug_when>
    <thetext>Comment on attachment 303261
proposed patch.

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

Patch looks fine to me. It should get a WebKit2 owner approval.

&gt; Source/WebKit2/CMakeLists.txt:622
&gt; +    UIProcess/WebInspectorInterruptDispatcher.messages.in

This should be down by: WebProcess/WebPage/WebInspector.messages.in it is not UIProcess. (Should fix GTK)

&gt; Source/WebKit2/WebKit2.xcodeproj/project.pbxproj:6460
&gt; +				FEE43FD21E67AFC60077D6D1 /* WebInspectorInterruptDispatcher.messages.in */,
&gt; +				FEE43FD01E67AFC60077D6D1 /* WebInspectorInterruptDispatcher.cpp */,
&gt; +				FEE43FD11E67AFC60077D6D1 /* WebInspectorInterruptDispatcher.h */,

Nit: Sort order, the messages file should be after the .h in the Xcode sidebar.

&gt; Source/WebKit2/WebProcess/WebPage/WebInspectorInterruptDispatcher.messages.in:24
&gt; +    NotifyNeedDebuggerBreak(uint64_t pageID)

pageID is not used and doesn&apos;t seem like it will be used anytime soon, so lets drop it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1282957</commentid>
    <comment_count>4</comment_count>
      <attachid>303261</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2017-03-02 16:04:02 -0800</bug_when>
    <thetext>Comment on attachment 303261
proposed patch.

r+ if you fix joe&apos;s things</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1282959</commentid>
    <comment_count>5</comment_count>
      <attachid>303261</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2017-03-02 16:08:58 -0800</bug_when>
    <thetext>Comment on attachment 303261
proposed patch.

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

&gt; Source/JavaScriptCore/runtime/VM.cpp:960
&gt; +#if OS(DARWIN)

Is there something special about this that needs the OS(DARWIN) guard?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1282962</commentid>
    <comment_count>6</comment_count>
      <attachid>303261</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2017-03-02 16:10:46 -0800</bug_when>
    <thetext>Comment on attachment 303261
proposed patch.

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

&gt;&gt; Source/JavaScriptCore/runtime/VM.cpp:960
&gt;&gt; +#if OS(DARWIN)
&gt; 
&gt; Is there something special about this that needs the OS(DARWIN) guard?

Oh, probably for the getpid(). WTF has getCurrentProcessID() which should work for all ports.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1282965</commentid>
    <comment_count>7</comment_count>
      <attachid>303263</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2017-03-02 16:14:09 -0800</bug_when>
    <thetext>Created attachment 303263
patch for landing.

Thanks for the reviews.  I&apos;ve applied all the requested changes.  Will wait for the EWS bots to be happy before landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1282974</commentid>
    <comment_count>8</comment_count>
      <attachid>303267</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2017-03-02 16:24:57 -0800</bug_when>
    <thetext>Created attachment 303267
patch for landing: applied one missing change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1283032</commentid>
    <comment_count>9</comment_count>
      <attachid>303267</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-03-02 18:41:48 -0800</bug_when>
    <thetext>Comment on attachment 303267
patch for landing: applied one missing change.

Clearing flags on attachment: 303267

Committed r213338: &lt;http://trac.webkit.org/changeset/213338&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1283033</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-03-02 18:41:53 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>303243</attachid>
            <date>2017-03-02 14:35:44 -0800</date>
            <delta_ts>2017-03-02 15:47:31 -0800</delta_ts>
            <desc>proposed patch.</desc>
            <filename>bug-169089.patch</filename>
            <type>text/plain</type>
            <size>21331</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjEzMzA0KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBA
CisyMDE3LTAzLTAyICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KKworICAgICAgICBB
ZGQgV2ViS2l0MiBob29rcyB0byBub3RpZnkgdGhlIFZNIHRoYXQgdGhlIHVzZXIgaGFzIHJlcXVl
c3RlZCBhIGRlYnVnZ2VyIGJyZWFrLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTY5MDg5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBydW50aW1lL1ZNLmNwcDoKKyAgICAgICAgKEpTQzo6Vk06OmhhbmRs
ZVRyYXBzKToKKyAgICAgICAgKiBydW50aW1lL1ZNLmg6CisgICAgICAgIChKU0M6OlZNOjpub3Rp
ZnlOZWVkRGVidWdnZXJCcmVhayk6CisKIDIwMTctMDMtMDIgIE1hcmsgTGFtICA8bWFyay5sYW1A
YXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBPcHRpb25zOjphbHdheXNDaGVja1RyYXBzKCkgYW5k
IE9wdGlvbnM6OnVzZVBvbGxpbmdUcmFwcygpIG9wdGlvbnMuCkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9WTS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvVk0uY3BwCShyZXZpc2lvbiAyMTMzMDIpCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9WTS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTk1Nyw3ICs5NTcsOSBAQCB2
b2lkIFZNOjpoYW5kbGVUcmFwcyhFeGVjU3RhdGUqIGV4ZWMsIFZNCiAgICAgICAgIGF1dG8gdHJh
cEV2ZW50VHlwZSA9IG1fdHJhcHMudGFrZVRvcFByaW9yaXR5VHJhcChtYXNrKTsKICAgICAgICAg
c3dpdGNoICh0cmFwRXZlbnRUeXBlKSB7CiAgICAgICAgIGNhc2UgVk1UcmFwczo6TmVlZERlYnVn
Z2VyQnJlYWs6Ci0gICAgICAgICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAg
ICAgICAgICAgaWYgKE9wdGlvbnM6OmFsd2F5c0NoZWNrVHJhcHMoKSkKKyAgICAgICAgICAgICAg
ICBkYXRhTG9nKCJWTSAiLCBSYXdQb2ludGVyKHRoaXMpLCAiIG9uIHBpZCAiLCBnZXRwaWQoKSwg
IiByZWNlaXZlZCBOZWVkRGVidWdnZXJCcmVhayB0cmFwXG4iKTsKKyAgICAgICAgICAgIHJldHVy
bjsKIAogICAgICAgICBjYXNlIFZNVHJhcHM6Ok5lZWRXYXRjaGRvZ0NoZWNrOgogICAgICAgICAg
ICAgQVNTRVJUKG1fd2F0Y2hkb2cpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvVk0uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9WTS5o
CShyZXZpc2lvbiAyMTMzMDIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9WTS5o
CSh3b3JraW5nIGNvcHkpCkBAIC02NzYsNiArNjc2LDcgQEAgcHVibGljOgogICAgIGJvb2wgbmVl
ZFRyYXBIYW5kbGluZyhWTVRyYXBzOjpNYXNrIG1hc2sgPSBWTVRyYXBzOjpNYXNrOjphbGxFdmVu
dFR5cGVzKCkpIHsgcmV0dXJuIG1fdHJhcHMubmVlZFRyYXBIYW5kbGluZyhtYXNrKTsgfQogICAg
IHZvaWQqIG5lZWRUcmFwSGFuZGxpbmdBZGRyZXNzKCkgeyByZXR1cm4gbV90cmFwcy5uZWVkVHJh
cEhhbmRsaW5nQWRkcmVzcygpOyB9CiAKKyAgICB2b2lkIG5vdGlmeU5lZWREZWJ1Z2dlckJyZWFr
KCkgeyBtX3RyYXBzLmZpcmVUcmFwKFZNVHJhcHM6Ok5lZWREZWJ1Z2dlckJyZWFrKTsgfQogICAg
IHZvaWQgbm90aWZ5TmVlZFRlcm1pbmF0aW9uKCkgeyBtX3RyYXBzLmZpcmVUcmFwKFZNVHJhcHM6
Ok5lZWRUZXJtaW5hdGlvbik7IH0KICAgICB2b2lkIG5vdGlmeU5lZWRXYXRjaGRvZ0NoZWNrKCkg
eyBtX3RyYXBzLmZpcmVUcmFwKFZNVHJhcHM6Ok5lZWRXYXRjaGRvZ0NoZWNrKTsgfQogCkluZGV4
OiBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIv
Q2hhbmdlTG9nCShyZXZpc2lvbiAyMTMzMDIpCisrKyBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cJ
KHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyNyBAQAorMjAxNy0wMy0wMiAgTWFyayBMYW0gIDxt
YXJrLmxhbUBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIFdlYktpdDIgaG9va3MgdG8gbm90aWZ5
IHRoZSBWTSB0aGF0IHRoZSB1c2VyIGhhcyByZXF1ZXN0ZWQgYSBkZWJ1Z2dlciBicmVhay4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2OTA4OQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogRGVyaXZlZFNv
dXJjZXMubWFrZToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViSW5zcGVjdG9yUHJveHkuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpXZWJJbnNwZWN0b3JQcm94eTo6Y29ubmVjdCk6CisgICAgICAgICog
V2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFdlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJJbnNwZWN0b3JJbnRlcnJ1cHREaXNwYXRjaGVyLmNwcDogQWRkZWQuCisgICAg
ICAgIChXZWJLaXQ6OldlYkluc3BlY3RvckludGVycnVwdERpc3BhdGNoZXI6OmNyZWF0ZSk6Cisg
ICAgICAgIChXZWJLaXQ6OldlYkluc3BlY3RvckludGVycnVwdERpc3BhdGNoZXI6OldlYkluc3Bl
Y3RvckludGVycnVwdERpc3BhdGNoZXIpOgorICAgICAgICAoV2ViS2l0OjpXZWJJbnNwZWN0b3JJ
bnRlcnJ1cHREaXNwYXRjaGVyOjp+V2ViSW5zcGVjdG9ySW50ZXJydXB0RGlzcGF0Y2hlcik6Cisg
ICAgICAgIChXZWJLaXQ6OldlYkluc3BlY3RvckludGVycnVwdERpc3BhdGNoZXI6OmluaXRpYWxp
emVDb25uZWN0aW9uKToKKyAgICAgICAgKFdlYktpdDo6V2ViSW5zcGVjdG9ySW50ZXJydXB0RGlz
cGF0Y2hlcjo6bm90aWZ5TmVlZERlYnVnZ2VyQnJlYWspOgorICAgICAgICAqIFdlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJJbnNwZWN0b3JJbnRlcnJ1cHREaXNwYXRjaGVyLmg6IEFkZGVkLgorICAgICAg
ICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3JJbnRlcnJ1cHREaXNwYXRjaGVyLm1l
c3NhZ2VzLmluOiBBZGRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjpXZWJQcm9jZXNzKToKKyAgICAgICAgKFdlYktp
dDo6V2ViUHJvY2Vzczo6aW5pdGlhbGl6ZUNvbm5lY3Rpb24pOgorICAgICAgICAqIFdlYlByb2Nl
c3MvV2ViUHJvY2Vzcy5oOgorCiAyMDE3LTAzLTAyICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlz
dGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgQ29udGludWUgZW5hYmxpbmcgV2ViUlRDCklu
ZGV4OiBTb3VyY2UvV2ViS2l0Mi9EZXJpdmVkU291cmNlcy5tYWtlCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQyL0Rlcml2ZWRTb3VyY2VzLm1ha2UJKHJldmlzaW9uIDIxMzMwMikKKysrIFNv
dXJjZS9XZWJLaXQyL0Rlcml2ZWRTb3VyY2VzLm1ha2UJKHdvcmtpbmcgY29weSkKQEAgLTEsNCAr
MSw0IEBACi0jIENvcHlyaWdodCAoQykgMjAxMCwgMjAxMSwgMjAxMiwgMjAxMyBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjIENvcHlyaWdodCAoQykgMjAxMC0yMDE3IEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICMKICMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAjIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAt
MTQwLDYgKzE0MCw3IEBAIE1FU1NBR0VfUkVDRUlWRVJTID0gXAogICAgIFdlYkljb25EYXRhYmFz
ZSBcCiAgICAgV2ViSWNvbkRhdGFiYXNlUHJveHkgXAogICAgIFdlYkluc3BlY3RvciBcCisgICAg
V2ViSW5zcGVjdG9ySW50ZXJydXB0RGlzcGF0Y2hlciBcCiAgICAgV2ViSW5zcGVjdG9yUHJveHkg
XAogICAgIFdlYkluc3BlY3RvclVJIFwKICAgICBXZWJOb3RpZmljYXRpb25NYW5hZ2VyIFwKSW5k
ZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJJbnNwZWN0b3JQcm94eS5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkluc3BlY3RvclByb3h5LmNwcAko
cmV2aXNpb24gMjEzMzAyKQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkluc3BlY3Rv
clByb3h5LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmln
aHQgKEMpIDIwMTAsIDIwMTQsIDIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICogQ29weXJpZ2h0IChDKSAyMDEwLTIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgogICogUG9ydGlvbnMgQ29weXJpZ2h0IChjKSAyMDExIE1vdG9yb2xhIE1vYmlsaXR5LCBJbmMu
ICBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dApAQCAtMzUsNiArMzUsNyBA
QAogI2luY2x1ZGUgIldlYkF1dG9tYXRpb25TZXNzaW9uLmgiCiAjaW5jbHVkZSAiV2ViRnJhbWVQ
b2xpY3lMaXN0ZW5lclByb3h5LmgiCiAjaW5jbHVkZSAiV2ViRnJhbWVQcm94eS5oIgorI2luY2x1
ZGUgIldlYkluc3BlY3RvckludGVycnVwdERpc3BhdGNoZXJNZXNzYWdlcy5oIgogI2luY2x1ZGUg
IldlYkluc3BlY3Rvck1lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiV2ViSW5zcGVjdG9yUHJveHlNZXNz
YWdlcy5oIgogI2luY2x1ZGUgIldlYkluc3BlY3RvclVJTWVzc2FnZXMuaCIKQEAgLTEyMSw2ICsx
MjIsNyBAQCB2b2lkIFdlYkluc3BlY3RvclByb3h5Ojpjb25uZWN0KCkKIAogICAgIGVhZ2VybHlD
cmVhdGVJbnNwZWN0b3JQYWdlKCk7CiAKKyAgICBtX2luc3BlY3RlZFBhZ2UtPnByb2Nlc3MoKS5z
ZW5kKE1lc3NhZ2VzOjpXZWJJbnNwZWN0b3JJbnRlcnJ1cHREaXNwYXRjaGVyOjpOb3RpZnlOZWVk
RGVidWdnZXJCcmVhayhtX2luc3BlY3RlZFBhZ2UtPnBhZ2VJRCgpKSwgMCk7CiAgICAgbV9pbnNw
ZWN0ZWRQYWdlLT5wcm9jZXNzKCkuc2VuZChNZXNzYWdlczo6V2ViSW5zcGVjdG9yOjpTaG93KCks
IG1faW5zcGVjdGVkUGFnZS0+cGFnZUlEKCkpOwogfQogCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9X
ZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAyMTMzMDIp
CisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdv
cmtpbmcgY29weSkKQEAgLTE5NzAsNiArMTk3MCwxMCBAQAogCQlGNkE5MDgxMzEzM0MyMDUxMDA4
MkMzRjQgLyogV2ViQ29va2llTWFuYWdlck1hYy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY2QTkwODExMTMzQzFGM0QwMDgyQzNGNCAvKiBXZWJDb29r
aWVNYW5hZ2VyTWFjLm1tICovOyB9OwogCQlGNkQ2MzJCQzEzM0QxOTgyMDA3NDNENzcgLyogV2Vi
Q29va2llTWFuYWdlclByb3h5TWFjLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gRjZENjMyQkExMzNEMTgxQjAwNzQzRDc3IC8qIFdlYkNvb2tpZU1hbmFn
ZXJQcm94eU1hYy5tbSAqLzsgfTsKIAkJRkVEM0MxREMxQjQ0N0VBQzAwRTBFQjdGIC8qIEFQSVNl
cmlhbGl6ZWRTY3JpcHRWYWx1ZUNvY29hLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gRkVEM0MxREExQjQ0N0FFODAwRTBFQjdGIC8qIEFQSVNlcmlhbGl6
ZWRTY3JpcHRWYWx1ZUNvY29hLm1tICovOyB9OworCQlGRURCRENENjFFNjhEMjAwMDBBNTlGOEYg
LyogV2ViSW5zcGVjdG9ySW50ZXJydXB0RGlzcGF0Y2hlck1lc3NhZ2VSZWNlaXZlci5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGRURCRENENDFFNjhE
MTlDMDBBNTlGOEYgLyogV2ViSW5zcGVjdG9ySW50ZXJydXB0RGlzcGF0Y2hlck1lc3NhZ2VSZWNl
aXZlci5jcHAgKi87IH07CisJCUZFREJEQ0Q3MUU2OEQyMDUwMEE1OUY4RiAvKiBXZWJJbnNwZWN0
b3JJbnRlcnJ1cHREaXNwYXRjaGVyTWVzc2FnZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZFREJEQ0Q1MUU2OEQxOUMwMEE1OUY4RiAvKiBXZWJJbnNw
ZWN0b3JJbnRlcnJ1cHREaXNwYXRjaGVyTWVzc2FnZXMuaCAqLzsgfTsKKwkJRkVFNDNGRDMxRTY3
QjAxODAwNzdENkQxIC8qIFdlYkluc3BlY3RvckludGVycnVwdERpc3BhdGNoZXIuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZFRTQzRkQxMUU2N0FGQzYw
MDc3RDZEMSAvKiBXZWJJbnNwZWN0b3JJbnRlcnJ1cHREaXNwYXRjaGVyLmggKi87IH07CisJCUZF
RTQzRkQ0MUU2N0IwMjEwMDc3RDZEMSAvKiBXZWJJbnNwZWN0b3JJbnRlcnJ1cHREaXNwYXRjaGVy
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZFRTQz
RkQwMUU2N0FGQzYwMDc3RDZEMSAvKiBXZWJJbnNwZWN0b3JJbnRlcnJ1cHREaXNwYXRjaGVyLmNw
cCAqLzsgfTsKIC8qIEVuZCBQQlhCdWlsZEZpbGUgc2VjdGlvbiAqLwogCiAvKiBCZWdpbiBQQlhD
b250YWluZXJJdGVtUHJveHkgc2VjdGlvbiAqLwpAQCAtNDIzNyw2ICs0MjQxLDExIEBACiAJCUY2
QTkwODExMTMzQzFGM0QwMDgyQzNGNCAvKiBXZWJDb29raWVNYW5hZ2VyTWFjLm1tICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gV2ViQ29va2llTWFuYWdlck1hYy5tbTsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjZENjMyQkExMzNEMTgxQjAwNzQzRDc3IC8q
IFdlYkNvb2tpZU1hbmFnZXJQcm94eU1hYy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9i
amNwcDsgcGF0aCA9IFdlYkNvb2tpZU1hbmFnZXJQcm94eU1hYy5tbTsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJRkVEM0MxREExQjQ0N0FFODAwRTBFQjdGIC8qIEFQSVNlcmlhbGl6ZWRT
Y3JpcHRWYWx1ZUNvY29hLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRo
ID0gQVBJU2VyaWFsaXplZFNjcmlwdFZhbHVlQ29jb2EubW07IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCUZFREJEQ0Q0MUU2OEQxOUMwMEE1OUY4RiAvKiBXZWJJbnNwZWN0b3JJbnRlcnJ1
cHREaXNwYXRjaGVyTWVzc2FnZVJlY2VpdmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IFdlYkluc3BlY3RvckludGVycnVwdERpc3BhdGNoZXJNZXNzYWdlUmVjZWl2
ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGRURCRENENTFFNjhEMTlDMDBB
NTlGOEYgLyogV2ViSW5zcGVjdG9ySW50ZXJydXB0RGlzcGF0Y2hlck1lc3NhZ2VzLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkluc3BlY3RvckludGVycnVwdERpc3BhdGNo
ZXJNZXNzYWdlcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGRUU0M0ZEMDFFNjdB
RkM2MDA3N0Q2RDEgLyogV2ViSW5zcGVjdG9ySW50ZXJydXB0RGlzcGF0Y2hlci5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJJbnNwZWN0b3JJbnRlcnJ1cHREaXNw
YXRjaGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRkVFNDNGRDExRTY3QUZD
NjAwNzdENkQxIC8qIFdlYkluc3BlY3RvckludGVycnVwdERpc3BhdGNoZXIuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViSW5zcGVjdG9ySW50ZXJydXB0RGlzcGF0Y2hlci5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGRUU0M0ZEMjFFNjdBRkM2MDA3N0Q2RDEg
LyogV2ViSW5zcGVjdG9ySW50ZXJydXB0RGlzcGF0Y2hlci5tZXNzYWdlcy5pbiAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHRleHQ7IHBhdGggPSBXZWJJbnNwZWN0b3JJbnRlcnJ1cHREaXNwYXRjaGVyLm1lc3NhZ2VzLmlu
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogLyogRW5kIFBCWEZpbGVSZWZlcmVuY2Ugc2Vj
dGlvbiAqLwogCiAvKiBCZWdpbiBQQlhGcmFtZXdvcmtzQnVpbGRQaGFzZSBzZWN0aW9uICovCkBA
IC02NDQ2LDYgKzY0NTUsOSBAQAogCQkJCTFDOEUyQTFDMTI3NzgzM0YwMEJDN0JEMCAvKiBXZWJJ
bnNwZWN0b3IubWVzc2FnZXMuaW4gKi8sCiAJCQkJQTU1QkE4MzIxQkEzRTZGQTAwN0NEMzNEIC8q
IFdlYkluc3BlY3RvckZyb250ZW5kQVBJRGlzcGF0Y2hlci5jcHAgKi8sCiAJCQkJQTU1QkE4MzMx
QkEzRTZGQTAwN0NEMzNEIC8qIFdlYkluc3BlY3RvckZyb250ZW5kQVBJRGlzcGF0Y2hlci5oICov
LAorCQkJCUZFRTQzRkQyMUU2N0FGQzYwMDc3RDZEMSAvKiBXZWJJbnNwZWN0b3JJbnRlcnJ1cHRE
aXNwYXRjaGVyLm1lc3NhZ2VzLmluICovLAorCQkJCUZFRTQzRkQwMUU2N0FGQzYwMDc3RDZEMSAv
KiBXZWJJbnNwZWN0b3JJbnRlcnJ1cHREaXNwYXRjaGVyLmNwcCAqLywKKwkJCQlGRUU0M0ZEMTFF
NjdBRkM2MDA3N0Q2RDEgLyogV2ViSW5zcGVjdG9ySW50ZXJydXB0RGlzcGF0Y2hlci5oICovLAog
CQkJCTFDODkxRDYyMTlCMTI0RkYwMEJBNzlERCAvKiBXZWJJbnNwZWN0b3JVSS5jcHAgKi8sCiAJ
CQkJMUM4OTFENjMxOUIxMjRGRjAwQkE3OUREIC8qIFdlYkluc3BlY3RvclVJLmggKi8sCiAJCQkJ
MUM4OTFENjQxOUIxMjRGRjAwQkE3OUREIC8qIFdlYkluc3BlY3RvclVJLm1lc3NhZ2VzLmluICov
LApAQCAtNzYxNiw2ICs3NjI4LDggQEAKIAkJCQk1MTA1MjM3ODFDNzNEQTcwMDA3OTkzQ0IgLyog
V2ViSURCQ29ubmVjdGlvblRvQ2xpZW50TWVzc2FnZXMuaCAqLywKIAkJCQk1MTA1MjM3MjFDNzNE
MzdCMDA3OTkzQ0IgLyogV2ViSURCQ29ubmVjdGlvblRvU2VydmVyTWVzc2FnZVJlY2VpdmVyLmNw
cCAqLywKIAkJCQk1MTA1MjM3MzFDNzNEMzdCMDA3OTkzQ0IgLyogV2ViSURCQ29ubmVjdGlvblRv
U2VydmVyTWVzc2FnZXMuaCAqLywKKwkJCQlGRURCRENENDFFNjhEMTlDMDBBNTlGOEYgLyogV2Vi
SW5zcGVjdG9ySW50ZXJydXB0RGlzcGF0Y2hlck1lc3NhZ2VSZWNlaXZlci5jcHAgKi8sCisJCQkJ
RkVEQkRDRDUxRTY4RDE5QzAwQTU5RjhGIC8qIFdlYkluc3BlY3RvckludGVycnVwdERpc3BhdGNo
ZXJNZXNzYWdlcy5oICovLAogCQkJCTFDOEUyQTMxMTI3Nzg1MjQwMEJDN0JEMCAvKiBXZWJJbnNw
ZWN0b3JNZXNzYWdlUmVjZWl2ZXIuY3BwICovLAogCQkJCTFDOEUyQTMyMTI3Nzg1MjQwMEJDN0JE
MCAvKiBXZWJJbnNwZWN0b3JNZXNzYWdlcy5oICovLAogCQkJCTFDQThCOTQzMTI3Qzg4MkEwMDU3
NkMyQiAvKiBXZWJJbnNwZWN0b3JQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgKi8sCkBAIC04NTYy
LDYgKzg1NzYsNyBAQAogCQkJCUJDMjA0RUVGMTFDODNFQzgwMDhGMzM3NSAvKiBXS0J1bmRsZS5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJQkMyMDRFRjAxMUM4M0VDODAwOEYzMzc1IC8qIFdLQnVuZGxl
QVBJQ2FzdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTM1RUVCOUYxMjc3NjFBQzAwMzMyMkI4IC8q
IFdLQnVuZGxlQmFja0ZvcndhcmRMaXN0LmggaW4gSGVhZGVycyAqLywKKwkJCQlGRURCRENENzFF
NjhEMjA1MDBBNTlGOEYgLyogV2ViSW5zcGVjdG9ySW50ZXJydXB0RGlzcGF0Y2hlck1lc3NhZ2Vz
LmggaW4gSGVhZGVycyAqLywKIAkJCQk5MzVFRUI5QjEyNzc2MTdDMDAzMzIyQjggLyogV0tCdW5k
bGVCYWNrRm9yd2FyZExpc3RJdGVtLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MUVGQzFDRjE1MjRF
NjI1MDBDOUE5MzggLyogV0tCdW5kbGVET01XaW5kb3dFeHRlbnNpb24uaCBpbiBIZWFkZXJzICov
LAogCQkJCTdDQkI4MTIxMUFBMEY5NzAwMDZCMTk0MiAvKiBXS0J1bmRsZUZpbGVIYW5kbGVSZWYu
aCBpbiBIZWFkZXJzICovLApAQCAtODc3Niw2ICs4NzkxLDcgQEAKIAkJCQkxQTdFMzc3NTE4RTRB
MzNBMDAzRDBGRkYgLyogV0tTY3JpcHRNZXNzYWdlSGFuZGxlci5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJN0NDOTlBMzYxOEVGN0NCQzAwNDhDOEI0IC8qIFdLU2NyaXB0TWVzc2FnZUludGVybmFsLmgg
aW4gSGVhZGVycyAqLywKIAkJCQkwRkNCNEU1NDE4QkJFMDQ0MDAwRkNGQzkgLyogV0tTY3JvbGxW
aWV3LmggaW4gSGVhZGVycyAqLywKKwkJCQlGRUU0M0ZEMzFFNjdCMDE4MDA3N0Q2RDEgLyogV2Vi
SW5zcGVjdG9ySW50ZXJydXB0RGlzcGF0Y2hlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTFDRDFD
NjUxQjM0QjlENDAwMTQyQ0E1IC8qIFdLU2VjdXJpdHlPcmlnaW4uaCBpbiBIZWFkZXJzICovLAog
CQkJCTUxQ0QxQzY3MUIzNEI5REYwMDE0MkNBNSAvKiBXS1NlY3VyaXR5T3JpZ2luSW50ZXJuYWwu
aCBpbiBIZWFkZXJzICovLAogCQkJCTUxQ0QxQzVFMUIzNDkzQjQwMDE0MkNBNSAvKiBXS1NlY3Vy
aXR5T3JpZ2luUmVmLmggaW4gSGVhZGVycyAqLywKQEAgLTk3MzAsNiArOTc0Niw3IEBACiAJCQkJ
MUEyRDgyQTYxMjdGNEVBQjAwMUVCOTYyIC8qIE5QT2JqZWN0UHJveHkuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJMUEyRDgyQTgxMjdGNEVBQjAwMUVCOTYyIC8qIE5QUmVtb3RlT2JqZWN0TWFwLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTFBMjE2MUIxMTFGMzc2NjQwMDhBRDBGNSAvKiBOUFJ1bnRp
bWVPYmplY3RNYXAuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJRkVFNDNGRDQxRTY3QjAyMTAwNzdE
NkQxIC8qIFdlYkluc3BlY3RvckludGVycnVwdERpc3BhdGNoZXIuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJMUEyMTYyQjAxMUYzODk3MTAwOEFEMEY1IC8qIE5QUnVudGltZVV0aWxpdGllcy5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQkxQTJEODRBNDEyN0Y2QUQxMDAxRUI5NjIgLyogTlBWYXJpYW50
RGF0YS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzhBQ0ExNDE2NjcwRDg5MDA0QzE5NDEgLyog
T2JqQ09iamVjdEdyYXBoLm1tIGluIFNvdXJjZXMgKi8sCkBAIC0xMDIxMyw2ICsxMDIzMCw3IEBA
CiAJCQkJNTExMEFFMEMxMzNDMTZDQjAwNzI3MTdBIC8qIFdLSWNvbkRhdGFiYXNlLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTUxMjNDRjFCMTMzRDI2MEEwMDU2RjgwMCAvKiBXS0ljb25EYXRhYmFz
ZUNHLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDQ0Y2QUMyMTJDOTFGMzQwMDhGOUMzNSAvKiBX
S0ltYWdlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUZFREJEQ0Q2MUU2OEQyMDAwMEE1OUY4RiAv
KiBXZWJJbnNwZWN0b3JJbnRlcnJ1cHREaXNwYXRjaGVyTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCUJDQ0Y2QUM5MTJDOTFGNTkwMDhGOUMzNSAvKiBXS0ltYWdlQ0cuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJOTMzREY4MzAxQjNCQzBCNDAwQUVBOUUzIC8qIFdLSW1hZ2VQ
cmV2aWV3Vmlld0NvbnRyb2xsZXIubW0gaW4gU291cmNlcyAqLywKIAkJCQk5MzIxRDU4ODFBMzhF
RTc0MDA4MDUyQkUgLyogV0tJbW1lZGlhdGVBY3Rpb25Db250cm9sbGVyLm1tIGluIFNvdXJjZXMg
Ki8sCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAJKHJldmlz
aW9uIDIxMzMwMikKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTE1Nyw2ICsxNTcsNyBAQCBXZWJQcm9jZXNzOjpXZWJQcm9jZXNz
KCkKICNpZiBQTEFURk9STShJT1MpCiAgICAgLCBtX3ZpZXdVcGRhdGVEaXNwYXRjaGVyKFZpZXdV
cGRhdGVEaXNwYXRjaGVyOjpjcmVhdGUoKSkKICNlbmRpZgorICAgICwgbV93ZWJJbnNwZWN0b3JJ
bnRlcnJ1cHREaXNwYXRjaGVyKFdlYkluc3BlY3RvckludGVycnVwdERpc3BhdGNoZXI6OmNyZWF0
ZSgpKQogICAgICwgbV9pY29uRGF0YWJhc2VQcm94eSgqbmV3IFdlYkljb25EYXRhYmFzZVByb3h5
KCp0aGlzKSkKICAgICAsIG1fd2ViTG9hZGVyU3RyYXRlZ3koKm5ldyBXZWJMb2FkZXJTdHJhdGVn
eSkKICAgICAsIG1fZG5zUHJlZmV0Y2hIeXN0ZXJlcmlzKFt0aGlzXShIeXN0ZXJlc2lzU3RhdGUg
c3RhdGUpIHsgaWYgKHN0YXRlID09IEh5c3RlcmVzaXNTdGF0ZTo6U3RvcHBlZCkgbV9kbnNQcmVm
ZXRjaGVkSG9zdHMuY2xlYXIoKTsgfSkKQEAgLTIyMSw2ICsyMjIsNyBAQCB2b2lkIFdlYlByb2Nl
c3M6OmluaXRpYWxpemVDb25uZWN0aW9uKElQCiAjaWYgUExBVEZPUk0oSU9TKQogICAgIG1fdmll
d1VwZGF0ZURpc3BhdGNoZXItPmluaXRpYWxpemVDb25uZWN0aW9uKGNvbm5lY3Rpb24pOwogI2Vu
ZGlmIC8vIFBMQVRGT1JNKElPUykKKyAgICBtX3dlYkluc3BlY3RvckludGVycnVwdERpc3BhdGNo
ZXItPmluaXRpYWxpemVDb25uZWN0aW9uKGNvbm5lY3Rpb24pOwogCiAjaWYgRU5BQkxFKE5FVFND
QVBFX1BMVUdJTl9BUEkpCiAgICAgbV9wbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbk1hbmFnZXItPmlu
aXRpYWxpemVDb25uZWN0aW9uKGNvbm5lY3Rpb24pOwpJbmRleDogU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQcm9jZXNzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQcm9jZXNzLmgJKHJldmlzaW9uIDIxMzMwMikKKysrIFNvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUHJvY2Vzcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNiw2ICszNiw3IEBACiAj
aW5jbHVkZSAiVGV4dENoZWNrZXJTdGF0ZS5oIgogI2luY2x1ZGUgIlZpZXdVcGRhdGVEaXNwYXRj
aGVyLmgiCiAjaW5jbHVkZSAiVmlzaXRlZExpbmtUYWJsZS5oIgorI2luY2x1ZGUgIldlYkluc3Bl
Y3RvckludGVycnVwdERpc3BhdGNoZXIuaCIKICNpbmNsdWRlIDxXZWJDb3JlL0h5c3RlcmVzaXNB
Y3Rpdml0eS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3Jl
Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9TZXNzaW9uSUQuaD4KQEAgLTM1MSw2ICszNTIsNyBAQCBw
cml2YXRlOgogI2lmIFBMQVRGT1JNKElPUykKICAgICBSZWZQdHI8Vmlld1VwZGF0ZURpc3BhdGNo
ZXI+IG1fdmlld1VwZGF0ZURpc3BhdGNoZXI7CiAjZW5kaWYKKyAgICBSZWZQdHI8V2ViSW5zcGVj
dG9ySW50ZXJydXB0RGlzcGF0Y2hlcj4gbV93ZWJJbnNwZWN0b3JJbnRlcnJ1cHREaXNwYXRjaGVy
OwogCiAgICAgSGFzaE1hcDxXZWJDb3JlOjpTZXNzaW9uSUQsIEhhc2hNYXA8dW5zaWduZWQsIGRv
dWJsZT4+IG1fcGx1Z0luQXV0b1N0YXJ0T3JpZ2luSGFzaGVzOwogICAgIEhhc2hTZXQ8U3RyaW5n
PiBtX3BsdWdJbkF1dG9TdGFydE9yaWdpbnM7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViSW5zcGVjdG9ySW50ZXJydXB0RGlzcGF0Y2hlci5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkluc3BlY3RvckludGVy
cnVwdERpc3BhdGNoZXIuY3BwCShub25leGlzdGVudCkKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3JJbnRlcnJ1cHREaXNwYXRjaGVyLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDYyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
CisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwor
ICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICog
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5o
IgorI2luY2x1ZGUgIldlYkluc3BlY3RvckludGVycnVwdERpc3BhdGNoZXIuaCIKKworI2luY2x1
ZGUgIldlYkluc3BlY3RvckludGVycnVwdERpc3BhdGNoZXJNZXNzYWdlcy5oIgorI2luY2x1ZGUg
PEphdmFTY3JpcHRDb3JlL1ZNLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9Db21tb25WTS5oPgorI2lu
Y2x1ZGUgPHd0Zi9Xb3JrUXVldWUuaD4KKworbmFtZXNwYWNlIFdlYktpdCB7CisgICAgCitSZWY8
V2ViSW5zcGVjdG9ySW50ZXJydXB0RGlzcGF0Y2hlcj4gV2ViSW5zcGVjdG9ySW50ZXJydXB0RGlz
cGF0Y2hlcjo6Y3JlYXRlKCkKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBXZWJJbnNwZWN0
b3JJbnRlcnJ1cHREaXNwYXRjaGVyKTsKK30KKworV2ViSW5zcGVjdG9ySW50ZXJydXB0RGlzcGF0
Y2hlcjo6V2ViSW5zcGVjdG9ySW50ZXJydXB0RGlzcGF0Y2hlcigpCisgICAgOiBtX3F1ZXVlKFdv
cmtRdWV1ZTo6Y3JlYXRlKCJjb20uYXBwbGUuV2ViS2l0LldlYkluc3BlY3RvckludGVycnVwdERp
c3BhdGNoZXIiKSkKK3sKK30KKworV2ViSW5zcGVjdG9ySW50ZXJydXB0RGlzcGF0Y2hlcjo6fldl
Ykluc3BlY3RvckludGVycnVwdERpc3BhdGNoZXIoKQoreworfQorCit2b2lkIFdlYkluc3BlY3Rv
ckludGVycnVwdERpc3BhdGNoZXI6OmluaXRpYWxpemVDb25uZWN0aW9uKElQQzo6Q29ubmVjdGlv
biogY29ubmVjdGlvbikKK3sKKyAgICBjb25uZWN0aW9uLT5hZGRXb3JrUXVldWVNZXNzYWdlUmVj
ZWl2ZXIoTWVzc2FnZXM6OldlYkluc3BlY3RvckludGVycnVwdERpc3BhdGNoZXI6Om1lc3NhZ2VS
ZWNlaXZlck5hbWUoKSwgbV9xdWV1ZS5nZXQoKSwgdGhpcyk7Cit9CisKK3ZvaWQgV2ViSW5zcGVj
dG9ySW50ZXJydXB0RGlzcGF0Y2hlcjo6bm90aWZ5TmVlZERlYnVnZ2VyQnJlYWsodWludDY0X3Qg
cGFnZUlEKQoreworICAgIFVOVVNFRF9QQVJBTShwYWdlSUQpOworICAgIEpTQzo6Vk0mIHZtID0g
V2ViQ29yZTo6Y29tbW9uVk0oKTsKKyAgICB2bS5ub3RpZnlOZWVkRGVidWdnZXJCcmVhaygpOwor
fQorCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9XZWJJbnNwZWN0b3JJbnRlcnJ1cHREaXNwYXRjaGVyLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkluc3BlY3RvckludGVycnVw
dERpc3BhdGNoZXIuaAkobm9uZXhpc3RlbnQpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViSW5zcGVjdG9ySW50ZXJydXB0RGlzcGF0Y2hlci5oCSh3b3JraW5nIGNvcHkp
CkBAIC0wLDAgKzEsNDkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUg
IkNvbm5lY3Rpb24uaCIKKworbmFtZXNwYWNlIFdlYktpdCB7CisKK2NsYXNzIFdlYkluc3BlY3Rv
ckludGVycnVwdERpc3BhdGNoZXIgOiBwdWJsaWMgSVBDOjpDb25uZWN0aW9uOjpXb3JrUXVldWVN
ZXNzYWdlUmVjZWl2ZXIgeworcHVibGljOgorICAgIHN0YXRpYyBSZWY8V2ViSW5zcGVjdG9ySW50
ZXJydXB0RGlzcGF0Y2hlcj4gY3JlYXRlKCk7CisgICAgfldlYkluc3BlY3RvckludGVycnVwdERp
c3BhdGNoZXIoKTsKKyAgICAKKyAgICB2b2lkIGluaXRpYWxpemVDb25uZWN0aW9uKElQQzo6Q29u
bmVjdGlvbiopOworICAgIAorcHJpdmF0ZToKKyAgICBXZWJJbnNwZWN0b3JJbnRlcnJ1cHREaXNw
YXRjaGVyKCk7CisgICAgLy8gSVBDOjpDb25uZWN0aW9uOjpXb3JrUXVldWVNZXNzYWdlUmVjZWl2
ZXIuCisgICAgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6OkRl
Y29kZXImKSBvdmVycmlkZTsKKyAgICAKKyAgICB2b2lkIG5vdGlmeU5lZWREZWJ1Z2dlckJyZWFr
KHVpbnQ2NF90IHBhZ2VJRCk7CisgICAgCisgICAgUmVmPFdvcmtRdWV1ZT4gbV9xdWV1ZTsKK307
CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdApJbmRleDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYkluc3BlY3RvckludGVycnVwdERpc3BhdGNoZXIubWVzc2FnZXMuaW4KPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkluc3BlY3Rv
ckludGVycnVwdERpc3BhdGNoZXIubWVzc2FnZXMuaW4JKG5vbmV4aXN0ZW50KQorKysgU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkluc3BlY3RvckludGVycnVwdERpc3BhdGNo
ZXIubWVzc2FnZXMuaW4JKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyNSBAQAorIyBDb3B5cmln
aHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorIworIyBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisjIGFyZSBtZXQ6CisjIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorIyAgICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorIyAy
LiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyMgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyMgICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisjCisjIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycgQU5ECisjIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisjIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUK
KyMgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IKKyMgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAorIyBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UgorIyBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUgorIyBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorIyBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQorIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCittZXNzYWdlcyAtPiBXZWJJbnNwZWN0b3JJ
bnRlcnJ1cHREaXNwYXRjaGVyIHsKKyAgICBOb3RpZnlOZWVkRGVidWdnZXJCcmVhayh1aW50NjRf
dCBwYWdlSUQpCit9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>303261</attachid>
            <date>2017-03-02 15:47:31 -0800</date>
            <delta_ts>2017-03-02 16:14:09 -0800</delta_ts>
            <desc>proposed patch.</desc>
            <filename>bug-169089.patch</filename>
            <type>text/plain</type>
            <size>22004</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjEzMzA0KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBA
CisyMDE3LTAzLTAyICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KKworICAgICAgICBB
ZGQgV2ViS2l0MiBob29rcyB0byBub3RpZnkgdGhlIFZNIHRoYXQgdGhlIHVzZXIgaGFzIHJlcXVl
c3RlZCBhIGRlYnVnZ2VyIGJyZWFrLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTY5MDg5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBydW50aW1lL1ZNLmNwcDoKKyAgICAgICAgKEpTQzo6Vk06OmhhbmRs
ZVRyYXBzKToKKyAgICAgICAgKiBydW50aW1lL1ZNLmg6CisgICAgICAgIChKU0M6OlZNOjpub3Rp
ZnlOZWVkRGVidWdnZXJCcmVhayk6CisKIDIwMTctMDMtMDIgIE1hcmsgTGFtICA8bWFyay5sYW1A
YXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBPcHRpb25zOjphbHdheXNDaGVja1RyYXBzKCkgYW5k
IE9wdGlvbnM6OnVzZVBvbGxpbmdUcmFwcygpIG9wdGlvbnMuCkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9WTS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvVk0uY3BwCShyZXZpc2lvbiAyMTMzMDIpCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9WTS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTk1Nyw3ICs5NTcsMTEgQEAg
dm9pZCBWTTo6aGFuZGxlVHJhcHMoRXhlY1N0YXRlKiBleGVjLCBWTQogICAgICAgICBhdXRvIHRy
YXBFdmVudFR5cGUgPSBtX3RyYXBzLnRha2VUb3BQcmlvcml0eVRyYXAobWFzayk7CiAgICAgICAg
IHN3aXRjaCAodHJhcEV2ZW50VHlwZSkgewogICAgICAgICBjYXNlIFZNVHJhcHM6Ok5lZWREZWJ1
Z2dlckJyZWFrOgotICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyNp
ZiBPUyhEQVJXSU4pCisgICAgICAgICAgICBpZiAoT3B0aW9uczo6YWx3YXlzQ2hlY2tUcmFwcygp
KQorICAgICAgICAgICAgICAgIGRhdGFMb2coIlZNICIsIFJhd1BvaW50ZXIodGhpcyksICIgb24g
cGlkICIsIGdldHBpZCgpLCAiIHJlY2VpdmVkIE5lZWREZWJ1Z2dlckJyZWFrIHRyYXBcbiIpOwor
I2VuZGlmCisgICAgICAgICAgICByZXR1cm47CiAKICAgICAgICAgY2FzZSBWTVRyYXBzOjpOZWVk
V2F0Y2hkb2dDaGVjazoKICAgICAgICAgICAgIEFTU0VSVChtX3dhdGNoZG9nKTsKSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0uaAkocmV2aXNpb24gMjEzMzAyKQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0uaAkod29ya2luZyBjb3B5KQpAQCAtNjc2LDYgKzY3Niw3
IEBAIHB1YmxpYzoKICAgICBib29sIG5lZWRUcmFwSGFuZGxpbmcoVk1UcmFwczo6TWFzayBtYXNr
ID0gVk1UcmFwczo6TWFzazo6YWxsRXZlbnRUeXBlcygpKSB7IHJldHVybiBtX3RyYXBzLm5lZWRU
cmFwSGFuZGxpbmcobWFzayk7IH0KICAgICB2b2lkKiBuZWVkVHJhcEhhbmRsaW5nQWRkcmVzcygp
IHsgcmV0dXJuIG1fdHJhcHMubmVlZFRyYXBIYW5kbGluZ0FkZHJlc3MoKTsgfQogCisgICAgdm9p
ZCBub3RpZnlOZWVkRGVidWdnZXJCcmVhaygpIHsgbV90cmFwcy5maXJlVHJhcChWTVRyYXBzOjpO
ZWVkRGVidWdnZXJCcmVhayk7IH0KICAgICB2b2lkIG5vdGlmeU5lZWRUZXJtaW5hdGlvbigpIHsg
bV90cmFwcy5maXJlVHJhcChWTVRyYXBzOjpOZWVkVGVybWluYXRpb24pOyB9CiAgICAgdm9pZCBu
b3RpZnlOZWVkV2F0Y2hkb2dDaGVjaygpIHsgbV90cmFwcy5maXJlVHJhcChWTVRyYXBzOjpOZWVk
V2F0Y2hkb2dDaGVjayk7IH0KIApJbmRleDogU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwkocmV2aXNpb24gMjEzMzEyKQorKysg
U291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjggQEAK
KzIwMTctMDMtMDIgIE1hcmsgTGFtICA8bWFyay5sYW1AYXBwbGUuY29tPgorCisgICAgICAgIEFk
ZCBXZWJLaXQyIGhvb2tzIHRvIG5vdGlmeSB0aGUgVk0gdGhhdCB0aGUgdXNlciBoYXMgcmVxdWVz
dGVkIGEgZGVidWdnZXIgYnJlYWsuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNjkwODkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2Vz
Lm1ha2U6CisgICAgICAgICogVUlQcm9jZXNzL1dlYkluc3BlY3RvclByb3h5LmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6V2ViSW5zcGVjdG9yUHJveHk6OmNvbm5lY3QpOgorICAgICAgICAqIFdlYktp
dDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViSW5zcGVjdG9ySW50ZXJydXB0RGlzcGF0Y2hlci5jcHA6IEFkZGVkLgorICAgICAgICAo
V2ViS2l0OjpXZWJJbnNwZWN0b3JJbnRlcnJ1cHREaXNwYXRjaGVyOjpjcmVhdGUpOgorICAgICAg
ICAoV2ViS2l0OjpXZWJJbnNwZWN0b3JJbnRlcnJ1cHREaXNwYXRjaGVyOjpXZWJJbnNwZWN0b3JJ
bnRlcnJ1cHREaXNwYXRjaGVyKToKKyAgICAgICAgKFdlYktpdDo6V2ViSW5zcGVjdG9ySW50ZXJy
dXB0RGlzcGF0Y2hlcjo6fldlYkluc3BlY3RvckludGVycnVwdERpc3BhdGNoZXIpOgorICAgICAg
ICAoV2ViS2l0OjpXZWJJbnNwZWN0b3JJbnRlcnJ1cHREaXNwYXRjaGVyOjppbml0aWFsaXplQ29u
bmVjdGlvbik6CisgICAgICAgIChXZWJLaXQ6OldlYkluc3BlY3RvckludGVycnVwdERpc3BhdGNo
ZXI6Om5vdGlmeU5lZWREZWJ1Z2dlckJyZWFrKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViSW5zcGVjdG9ySW50ZXJydXB0RGlzcGF0Y2hlci5oOiBBZGRlZC4KKyAgICAgICAgKiBX
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViSW5zcGVjdG9ySW50ZXJydXB0RGlzcGF0Y2hlci5tZXNzYWdl
cy5pbjogQWRkZWQuCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6V2ViUHJvY2Vzcyk6CisgICAgICAgIChXZWJLaXQ6Oldl
YlByb2Nlc3M6OmluaXRpYWxpemVDb25uZWN0aW9uKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dl
YlByb2Nlc3MuaDoKKwogMjAxNy0wMy0wMiAgQWFrYXNoIEphaW4gIDxhYWthc2hfamFpbkBhcHBs
ZS5jb20+CiAKICAgICAgICAgSXNTbWFydFB0cjxXS1JldGFpblB0cjxUPj46OnZhbHVlIHNob3Vs
ZCBub3QgYmUgZXhwb3J0ZWQKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NNYWtlTGlzdHMudHh0Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL0NNYWtlTGlzdHMudHh0CShyZXZpc2lvbiAyMTMz
MDIpCisrKyBTb3VyY2UvV2ViS2l0Mi9DTWFrZUxpc3RzLnR4dAkod29ya2luZyBjb3B5KQpAQCAt
NjE5LDYgKzYxOSw3IEBAIHNldChXZWJLaXQyX01FU1NBR0VTX0lOX0ZJTEVTCiAgICAgVUlQcm9j
ZXNzL1dlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHkubWVzc2FnZXMuaW4KICAgICBVSVByb2Nlc3Mv
V2ViR2VvbG9jYXRpb25NYW5hZ2VyUHJveHkubWVzc2FnZXMuaW4KICAgICBVSVByb2Nlc3MvV2Vi
SWNvbkRhdGFiYXNlLm1lc3NhZ2VzLmluCisgICAgVUlQcm9jZXNzL1dlYkluc3BlY3RvckludGVy
cnVwdERpc3BhdGNoZXIubWVzc2FnZXMuaW4KICAgICBVSVByb2Nlc3MvV2ViSW5zcGVjdG9yUHJv
eHkubWVzc2FnZXMuaW4KICAgICBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCiAg
ICAgVUlQcm9jZXNzL1dlYlBhc3RlYm9hcmRQcm94eS5tZXNzYWdlcy5pbgpJbmRleDogU291cmNl
L1dlYktpdDIvRGVyaXZlZFNvdXJjZXMubWFrZQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
Mi9EZXJpdmVkU291cmNlcy5tYWtlCShyZXZpc2lvbiAyMTMzMDIpCisrKyBTb3VyY2UvV2ViS2l0
Mi9EZXJpdmVkU291cmNlcy5tYWtlCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQgKzEsNCBAQAotIyBD
b3B5cmlnaHQgKEMpIDIwMTAsIDIwMTEsIDIwMTIsIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorIyBDb3B5cmlnaHQgKEMpIDIwMTAtMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCiAjCiAjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTE0MCw2ICsxNDAs
NyBAQCBNRVNTQUdFX1JFQ0VJVkVSUyA9IFwKICAgICBXZWJJY29uRGF0YWJhc2UgXAogICAgIFdl
Ykljb25EYXRhYmFzZVByb3h5IFwKICAgICBXZWJJbnNwZWN0b3IgXAorICAgIFdlYkluc3BlY3Rv
ckludGVycnVwdERpc3BhdGNoZXIgXAogICAgIFdlYkluc3BlY3RvclByb3h5IFwKICAgICBXZWJJ
bnNwZWN0b3JVSSBcCiAgICAgV2ViTm90aWZpY2F0aW9uTWFuYWdlciBcCkluZGV4OiBTb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViSW5zcGVjdG9yUHJveHkuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJJbnNwZWN0b3JQcm94eS5jcHAJKHJldmlzaW9uIDIx
MzMwMikKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJJbnNwZWN0b3JQcm94eS5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDEw
LCAyMDE0LCAyMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdo
dCAoQykgMjAxMC0yMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIFBvcnRp
b25zIENvcHlyaWdodCAoYykgMjAxMSBNb3Rvcm9sYSBNb2JpbGl0eSwgSW5jLiAgQWxsIHJpZ2h0
cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKQEAgLTM1LDYgKzM1LDcgQEAKICNpbmNsdWRl
ICJXZWJBdXRvbWF0aW9uU2Vzc2lvbi5oIgogI2luY2x1ZGUgIldlYkZyYW1lUG9saWN5TGlzdGVu
ZXJQcm94eS5oIgogI2luY2x1ZGUgIldlYkZyYW1lUHJveHkuaCIKKyNpbmNsdWRlICJXZWJJbnNw
ZWN0b3JJbnRlcnJ1cHREaXNwYXRjaGVyTWVzc2FnZXMuaCIKICNpbmNsdWRlICJXZWJJbnNwZWN0
b3JNZXNzYWdlcy5oIgogI2luY2x1ZGUgIldlYkluc3BlY3RvclByb3h5TWVzc2FnZXMuaCIKICNp
bmNsdWRlICJXZWJJbnNwZWN0b3JVSU1lc3NhZ2VzLmgiCkBAIC0xMjEsNiArMTIyLDcgQEAgdm9p
ZCBXZWJJbnNwZWN0b3JQcm94eTo6Y29ubmVjdCgpCiAKICAgICBlYWdlcmx5Q3JlYXRlSW5zcGVj
dG9yUGFnZSgpOwogCisgICAgbV9pbnNwZWN0ZWRQYWdlLT5wcm9jZXNzKCkuc2VuZChNZXNzYWdl
czo6V2ViSW5zcGVjdG9ySW50ZXJydXB0RGlzcGF0Y2hlcjo6Tm90aWZ5TmVlZERlYnVnZ2VyQnJl
YWsobV9pbnNwZWN0ZWRQYWdlLT5wYWdlSUQoKSksIDApOwogICAgIG1faW5zcGVjdGVkUGFnZS0+
cHJvY2VzcygpLnNlbmQoTWVzc2FnZXM6OldlYkluc3BlY3Rvcjo6U2hvdygpLCBtX2luc3BlY3Rl
ZFBhZ2UtPnBhZ2VJRCgpKTsKIH0KIApJbmRleDogU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYktp
dDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMjEzMzAyKQorKysgU291cmNl
L1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkp
CkBAIC0xOTcwLDYgKzE5NzAsMTAgQEAKIAkJRjZBOTA4MTMxMzNDMjA1MTAwODJDM0Y0IC8qIFdl
YkNvb2tpZU1hbmFnZXJNYWMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBGNkE5MDgxMTEzM0MxRjNEMDA4MkMzRjQgLyogV2ViQ29va2llTWFuYWdlck1h
Yy5tbSAqLzsgfTsKIAkJRjZENjMyQkMxMzNEMTk4MjAwNzQzRDc3IC8qIFdlYkNvb2tpZU1hbmFn
ZXJQcm94eU1hYy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEY2RDYzMkJBMTMzRDE4MUIwMDc0M0Q3NyAvKiBXZWJDb29raWVNYW5hZ2VyUHJveHlNYWMu
bW0gKi87IH07CiAJCUZFRDNDMURDMUI0NDdFQUMwMEUwRUI3RiAvKiBBUElTZXJpYWxpemVkU2Ny
aXB0VmFsdWVDb2NvYS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEZFRDNDMURBMUI0NDdBRTgwMEUwRUI3RiAvKiBBUElTZXJpYWxpemVkU2NyaXB0VmFs
dWVDb2NvYS5tbSAqLzsgfTsKKwkJRkVEQkRDRDYxRTY4RDIwMDAwQTU5RjhGIC8qIFdlYkluc3Bl
Y3RvckludGVycnVwdERpc3BhdGNoZXJNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkVEQkRDRDQxRTY4RDE5QzAwQTU5RjhG
IC8qIFdlYkluc3BlY3RvckludGVycnVwdERpc3BhdGNoZXJNZXNzYWdlUmVjZWl2ZXIuY3BwICov
OyB9OworCQlGRURCRENENzFFNjhEMjA1MDBBNTlGOEYgLyogV2ViSW5zcGVjdG9ySW50ZXJydXB0
RGlzcGF0Y2hlck1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBGRURCRENENTFFNjhEMTlDMDBBNTlGOEYgLyogV2ViSW5zcGVjdG9ySW50ZXJy
dXB0RGlzcGF0Y2hlck1lc3NhZ2VzLmggKi87IH07CisJCUZFRTQzRkQzMUU2N0IwMTgwMDc3RDZE
MSAvKiBXZWJJbnNwZWN0b3JJbnRlcnJ1cHREaXNwYXRjaGVyLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGRUU0M0ZEMTFFNjdBRkM2MDA3N0Q2RDEgLyog
V2ViSW5zcGVjdG9ySW50ZXJydXB0RGlzcGF0Y2hlci5oICovOyB9OworCQlGRUU0M0ZENDFFNjdC
MDIxMDA3N0Q2RDEgLyogV2ViSW5zcGVjdG9ySW50ZXJydXB0RGlzcGF0Y2hlci5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGRUU0M0ZEMDFFNjdBRkM2
MDA3N0Q2RDEgLyogV2ViSW5zcGVjdG9ySW50ZXJydXB0RGlzcGF0Y2hlci5jcHAgKi87IH07CiAv
KiBFbmQgUEJYQnVpbGRGaWxlIHNlY3Rpb24gKi8KIAogLyogQmVnaW4gUEJYQ29udGFpbmVySXRl
bVByb3h5IHNlY3Rpb24gKi8KQEAgLTQyMzcsNiArNDI0MSwxMSBAQAogCQlGNkE5MDgxMTEzM0Mx
RjNEMDA4MkMzRjQgLyogV2ViQ29va2llTWFuYWdlck1hYy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdlYkNvb2tpZU1hbmFnZXJNYWMubW07IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUY2RDYzMkJBMTMzRDE4MUIwMDc0M0Q3NyAvKiBXZWJDb29raWVN
YW5hZ2VyUHJveHlNYWMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGgg
PSBXZWJDb29raWVNYW5hZ2VyUHJveHlNYWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUZFRDNDMURBMUI0NDdBRTgwMEUwRUI3RiAvKiBBUElTZXJpYWxpemVkU2NyaXB0VmFsdWVD
b2NvYS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IEFQSVNlcmlh
bGl6ZWRTY3JpcHRWYWx1ZUNvY29hLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlG
RURCRENENDFFNjhEMTlDMDBBNTlGOEYgLyogV2ViSW5zcGVjdG9ySW50ZXJydXB0RGlzcGF0Y2hl
ck1lc3NhZ2VSZWNlaXZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBXZWJJbnNwZWN0b3JJbnRlcnJ1cHREaXNwYXRjaGVyTWVzc2FnZVJlY2VpdmVyLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRkVEQkRDRDUxRTY4RDE5QzAwQTU5RjhGIC8qIFdl
Ykluc3BlY3RvckludGVycnVwdERpc3BhdGNoZXJNZXNzYWdlcy5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBXZWJJbnNwZWN0b3JJbnRlcnJ1cHREaXNwYXRjaGVyTWVzc2FnZXMu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRkVFNDNGRDAxRTY3QUZDNjAwNzdENkQx
IC8qIFdlYkluc3BlY3RvckludGVycnVwdERpc3BhdGNoZXIuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gV2ViSW5zcGVjdG9ySW50ZXJydXB0RGlzcGF0Y2hlci5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUZFRTQzRkQxMUU2N0FGQzYwMDc3RDZEMSAv
KiBXZWJJbnNwZWN0b3JJbnRlcnJ1cHREaXNwYXRjaGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFdlYkluc3BlY3RvckludGVycnVwdERpc3BhdGNoZXIuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRkVFNDNGRDIxRTY3QUZDNjAwNzdENkQxIC8qIFdlYkluc3Bl
Y3RvckludGVycnVwdERpc3BhdGNoZXIubWVzc2FnZXMuaW4gKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRo
ID0gV2ViSW5zcGVjdG9ySW50ZXJydXB0RGlzcGF0Y2hlci5tZXNzYWdlcy5pbjsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIC8qIEVuZCBQQlhGaWxlUmVmZXJlbmNlIHNlY3Rpb24gKi8KIAog
LyogQmVnaW4gUEJYRnJhbWV3b3Jrc0J1aWxkUGhhc2Ugc2VjdGlvbiAqLwpAQCAtNjQ0Niw2ICs2
NDU1LDkgQEAKIAkJCQkxQzhFMkExQzEyNzc4MzNGMDBCQzdCRDAgLyogV2ViSW5zcGVjdG9yLm1l
c3NhZ2VzLmluICovLAogCQkJCUE1NUJBODMyMUJBM0U2RkEwMDdDRDMzRCAvKiBXZWJJbnNwZWN0
b3JGcm9udGVuZEFQSURpc3BhdGNoZXIuY3BwICovLAogCQkJCUE1NUJBODMzMUJBM0U2RkEwMDdD
RDMzRCAvKiBXZWJJbnNwZWN0b3JGcm9udGVuZEFQSURpc3BhdGNoZXIuaCAqLywKKwkJCQlGRUU0
M0ZEMjFFNjdBRkM2MDA3N0Q2RDEgLyogV2ViSW5zcGVjdG9ySW50ZXJydXB0RGlzcGF0Y2hlci5t
ZXNzYWdlcy5pbiAqLywKKwkJCQlGRUU0M0ZEMDFFNjdBRkM2MDA3N0Q2RDEgLyogV2ViSW5zcGVj
dG9ySW50ZXJydXB0RGlzcGF0Y2hlci5jcHAgKi8sCisJCQkJRkVFNDNGRDExRTY3QUZDNjAwNzdE
NkQxIC8qIFdlYkluc3BlY3RvckludGVycnVwdERpc3BhdGNoZXIuaCAqLywKIAkJCQkxQzg5MUQ2
MjE5QjEyNEZGMDBCQTc5REQgLyogV2ViSW5zcGVjdG9yVUkuY3BwICovLAogCQkJCTFDODkxRDYz
MTlCMTI0RkYwMEJBNzlERCAvKiBXZWJJbnNwZWN0b3JVSS5oICovLAogCQkJCTFDODkxRDY0MTlC
MTI0RkYwMEJBNzlERCAvKiBXZWJJbnNwZWN0b3JVSS5tZXNzYWdlcy5pbiAqLywKQEAgLTc2MTYs
NiArNzYyOCw4IEBACiAJCQkJNTEwNTIzNzgxQzczREE3MDAwNzk5M0NCIC8qIFdlYklEQkNvbm5l
Y3Rpb25Ub0NsaWVudE1lc3NhZ2VzLmggKi8sCiAJCQkJNTEwNTIzNzIxQzczRDM3QjAwNzk5M0NC
IC8qIFdlYklEQkNvbm5lY3Rpb25Ub1NlcnZlck1lc3NhZ2VSZWNlaXZlci5jcHAgKi8sCiAJCQkJ
NTEwNTIzNzMxQzczRDM3QjAwNzk5M0NCIC8qIFdlYklEQkNvbm5lY3Rpb25Ub1NlcnZlck1lc3Nh
Z2VzLmggKi8sCisJCQkJRkVEQkRDRDQxRTY4RDE5QzAwQTU5RjhGIC8qIFdlYkluc3BlY3Rvcklu
dGVycnVwdERpc3BhdGNoZXJNZXNzYWdlUmVjZWl2ZXIuY3BwICovLAorCQkJCUZFREJEQ0Q1MUU2
OEQxOUMwMEE1OUY4RiAvKiBXZWJJbnNwZWN0b3JJbnRlcnJ1cHREaXNwYXRjaGVyTWVzc2FnZXMu
aCAqLywKIAkJCQkxQzhFMkEzMTEyNzc4NTI0MDBCQzdCRDAgLyogV2ViSW5zcGVjdG9yTWVzc2Fn
ZVJlY2VpdmVyLmNwcCAqLywKIAkJCQkxQzhFMkEzMjEyNzc4NTI0MDBCQzdCRDAgLyogV2ViSW5z
cGVjdG9yTWVzc2FnZXMuaCAqLywKIAkJCQkxQ0E4Qjk0MzEyN0M4ODJBMDA1NzZDMkIgLyogV2Vi
SW5zcGVjdG9yUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwICovLApAQCAtODU2Miw2ICs4NTc2LDcg
QEAKIAkJCQlCQzIwNEVFRjExQzgzRUM4MDA4RjMzNzUgLyogV0tCdW5kbGUuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUJDMjA0RUYwMTFDODNFQzgwMDhGMzM3NSAvKiBXS0J1bmRsZUFQSUNhc3QuaCBp
biBIZWFkZXJzICovLAogCQkJCTkzNUVFQjlGMTI3NzYxQUMwMDMzMjJCOCAvKiBXS0J1bmRsZUJh
Y2tGb3J3YXJkTGlzdC5oIGluIEhlYWRlcnMgKi8sCisJCQkJRkVEQkRDRDcxRTY4RDIwNTAwQTU5
RjhGIC8qIFdlYkluc3BlY3RvckludGVycnVwdERpc3BhdGNoZXJNZXNzYWdlcy5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJOTM1RUVCOUIxMjc3NjE3QzAwMzMyMkI4IC8qIFdLQnVuZGxlQmFja0Zvcndh
cmRMaXN0SXRlbS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTFFRkMxQ0YxNTI0RTYyNTAwQzlBOTM4
IC8qIFdLQnVuZGxlRE9NV2luZG93RXh0ZW5zaW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQk3Q0JC
ODEyMTFBQTBGOTcwMDA2QjE5NDIgLyogV0tCdW5kbGVGaWxlSGFuZGxlUmVmLmggaW4gSGVhZGVy
cyAqLywKQEAgLTg3NzYsNiArODc5MSw3IEBACiAJCQkJMUE3RTM3NzUxOEU0QTMzQTAwM0QwRkZG
IC8qIFdLU2NyaXB0TWVzc2FnZUhhbmRsZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTdDQzk5QTM2
MThFRjdDQkMwMDQ4QzhCNCAvKiBXS1NjcmlwdE1lc3NhZ2VJbnRlcm5hbC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJMEZDQjRFNTQxOEJCRTA0NDAwMEZDRkM5IC8qIFdLU2Nyb2xsVmlldy5oIGluIEhl
YWRlcnMgKi8sCisJCQkJRkVFNDNGRDMxRTY3QjAxODAwNzdENkQxIC8qIFdlYkluc3BlY3Rvcklu
dGVycnVwdERpc3BhdGNoZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxQ0QxQzY1MUIzNEI5RDQw
MDE0MkNBNSAvKiBXS1NlY3VyaXR5T3JpZ2luLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MUNEMUM2
NzFCMzRCOURGMDAxNDJDQTUgLyogV0tTZWN1cml0eU9yaWdpbkludGVybmFsLmggaW4gSGVhZGVy
cyAqLywKIAkJCQk1MUNEMUM1RTFCMzQ5M0I0MDAxNDJDQTUgLyogV0tTZWN1cml0eU9yaWdpblJl
Zi5oIGluIEhlYWRlcnMgKi8sCkBAIC05NzMwLDYgKzk3NDYsNyBAQAogCQkJCTFBMkQ4MkE2MTI3
RjRFQUIwMDFFQjk2MiAvKiBOUE9iamVjdFByb3h5LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFB
MkQ4MkE4MTI3RjRFQUIwMDFFQjk2MiAvKiBOUFJlbW90ZU9iamVjdE1hcC5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQkxQTIxNjFCMTExRjM3NjY0MDA4QUQwRjUgLyogTlBSdW50aW1lT2JqZWN0TWFw
LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUZFRTQzRkQ0MUU2N0IwMjEwMDc3RDZEMSAvKiBXZWJJ
bnNwZWN0b3JJbnRlcnJ1cHREaXNwYXRjaGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFBMjE2
MkIwMTFGMzg5NzEwMDhBRDBGNSAvKiBOUFJ1bnRpbWVVdGlsaXRpZXMuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJMUEyRDg0QTQxMjdGNkFEMTAwMUVCOTYyIC8qIE5QVmFyaWFudERhdGEuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJQkM4QUNBMTQxNjY3MEQ4OTAwNEMxOTQxIC8qIE9iakNPYmplY3RH
cmFwaC5tbSBpbiBTb3VyY2VzICovLApAQCAtMTAyMTMsNiArMTAyMzAsNyBAQAogCQkJCTUxMTBB
RTBDMTMzQzE2Q0IwMDcyNzE3QSAvKiBXS0ljb25EYXRhYmFzZS5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQk1MTIzQ0YxQjEzM0QyNjBBMDA1NkY4MDAgLyogV0tJY29uRGF0YWJhc2VDRy5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQlCQ0NGNkFDMjEyQzkxRjM0MDA4RjlDMzUgLyogV0tJbWFnZS5jcHAg
aW4gU291cmNlcyAqLywKKwkJCQlGRURCRENENjFFNjhEMjAwMDBBNTlGOEYgLyogV2ViSW5zcGVj
dG9ySW50ZXJydXB0RGlzcGF0Y2hlck1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQlCQ0NGNkFDOTEyQzkxRjU5MDA4RjlDMzUgLyogV0tJbWFnZUNHLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTkzM0RGODMwMUIzQkMwQjQwMEFFQTlFMyAvKiBXS0ltYWdlUHJldmlld1ZpZXdD
b250cm9sbGVyLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJOTMyMUQ1ODgxQTM4RUU3NDAwODA1MkJF
IC8qIFdLSW1tZWRpYXRlQWN0aW9uQ29udHJvbGxlci5tbSBpbiBTb3VyY2VzICovLApJbmRleDog
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCShyZXZpc2lvbiAyMTMzMDIp
CisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0xNTcsNiArMTU3LDcgQEAgV2ViUHJvY2Vzczo6V2ViUHJvY2VzcygpCiAjaWYgUExB
VEZPUk0oSU9TKQogICAgICwgbV92aWV3VXBkYXRlRGlzcGF0Y2hlcihWaWV3VXBkYXRlRGlzcGF0
Y2hlcjo6Y3JlYXRlKCkpCiAjZW5kaWYKKyAgICAsIG1fd2ViSW5zcGVjdG9ySW50ZXJydXB0RGlz
cGF0Y2hlcihXZWJJbnNwZWN0b3JJbnRlcnJ1cHREaXNwYXRjaGVyOjpjcmVhdGUoKSkKICAgICAs
IG1faWNvbkRhdGFiYXNlUHJveHkoKm5ldyBXZWJJY29uRGF0YWJhc2VQcm94eSgqdGhpcykpCiAg
ICAgLCBtX3dlYkxvYWRlclN0cmF0ZWd5KCpuZXcgV2ViTG9hZGVyU3RyYXRlZ3kpCiAgICAgLCBt
X2Ruc1ByZWZldGNoSHlzdGVyZXJpcyhbdGhpc10oSHlzdGVyZXNpc1N0YXRlIHN0YXRlKSB7IGlm
IChzdGF0ZSA9PSBIeXN0ZXJlc2lzU3RhdGU6OlN0b3BwZWQpIG1fZG5zUHJlZmV0Y2hlZEhvc3Rz
LmNsZWFyKCk7IH0pCkBAIC0yMjEsNiArMjIyLDcgQEAgdm9pZCBXZWJQcm9jZXNzOjppbml0aWFs
aXplQ29ubmVjdGlvbihJUAogI2lmIFBMQVRGT1JNKElPUykKICAgICBtX3ZpZXdVcGRhdGVEaXNw
YXRjaGVyLT5pbml0aWFsaXplQ29ubmVjdGlvbihjb25uZWN0aW9uKTsKICNlbmRpZiAvLyBQTEFU
Rk9STShJT1MpCisgICAgbV93ZWJJbnNwZWN0b3JJbnRlcnJ1cHREaXNwYXRjaGVyLT5pbml0aWFs
aXplQ29ubmVjdGlvbihjb25uZWN0aW9uKTsKIAogI2lmIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5f
QVBJKQogICAgIG1fcGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb25NYW5hZ2VyLT5pbml0aWFsaXplQ29u
bmVjdGlvbihjb25uZWN0aW9uKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UHJvY2Vzcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJv
Y2Vzcy5oCShyZXZpc2lvbiAyMTMzMDIpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlByb2Nlc3MuaAkod29ya2luZyBjb3B5KQpAQCAtMzYsNiArMzYsNyBAQAogI2luY2x1ZGUgIlRl
eHRDaGVja2VyU3RhdGUuaCIKICNpbmNsdWRlICJWaWV3VXBkYXRlRGlzcGF0Y2hlci5oIgogI2lu
Y2x1ZGUgIlZpc2l0ZWRMaW5rVGFibGUuaCIKKyNpbmNsdWRlICJXZWJJbnNwZWN0b3JJbnRlcnJ1
cHREaXNwYXRjaGVyLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9IeXN0ZXJlc2lzQWN0aXZpdHkuaD4K
ICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5oPgogI2luY2x1
ZGUgPFdlYkNvcmUvU2Vzc2lvbklELmg+CkBAIC0zNTEsNiArMzUyLDcgQEAgcHJpdmF0ZToKICNp
ZiBQTEFURk9STShJT1MpCiAgICAgUmVmUHRyPFZpZXdVcGRhdGVEaXNwYXRjaGVyPiBtX3ZpZXdV
cGRhdGVEaXNwYXRjaGVyOwogI2VuZGlmCisgICAgUmVmUHRyPFdlYkluc3BlY3RvckludGVycnVw
dERpc3BhdGNoZXI+IG1fd2ViSW5zcGVjdG9ySW50ZXJydXB0RGlzcGF0Y2hlcjsKIAogICAgIEhh
c2hNYXA8V2ViQ29yZTo6U2Vzc2lvbklELCBIYXNoTWFwPHVuc2lnbmVkLCBkb3VibGU+PiBtX3Bs
dWdJbkF1dG9TdGFydE9yaWdpbkhhc2hlczsKICAgICBIYXNoU2V0PFN0cmluZz4gbV9wbHVnSW5B
dXRvU3RhcnRPcmlnaW5zOwpJbmRleDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdl
L1dlYkluc3BlY3RvckludGVycnVwdERpc3BhdGNoZXIuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3JJbnRlcnJ1cHREaXNwYXRj
aGVyLmNwcAkobm9uZXhpc3RlbnQpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViSW5zcGVjdG9ySW50ZXJydXB0RGlzcGF0Y2hlci5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTAsMCArMSw2MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRl
ICJXZWJJbnNwZWN0b3JJbnRlcnJ1cHREaXNwYXRjaGVyLmgiCisKKyNpbmNsdWRlICJXZWJJbnNw
ZWN0b3JJbnRlcnJ1cHREaXNwYXRjaGVyTWVzc2FnZXMuaCIKKyNpbmNsdWRlIDxKYXZhU2NyaXB0
Q29yZS9WTS5oPgorI2luY2x1ZGUgPFdlYkNvcmUvQ29tbW9uVk0uaD4KKyNpbmNsdWRlIDx3dGYv
V29ya1F1ZXVlLmg+CisKK25hbWVzcGFjZSBXZWJLaXQgeworICAgIAorUmVmPFdlYkluc3BlY3Rv
ckludGVycnVwdERpc3BhdGNoZXI+IFdlYkluc3BlY3RvckludGVycnVwdERpc3BhdGNoZXI6OmNy
ZWF0ZSgpCit7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgV2ViSW5zcGVjdG9ySW50ZXJydXB0
RGlzcGF0Y2hlcik7Cit9CisKK1dlYkluc3BlY3RvckludGVycnVwdERpc3BhdGNoZXI6OldlYklu
c3BlY3RvckludGVycnVwdERpc3BhdGNoZXIoKQorICAgIDogbV9xdWV1ZShXb3JrUXVldWU6OmNy
ZWF0ZSgiY29tLmFwcGxlLldlYktpdC5XZWJJbnNwZWN0b3JJbnRlcnJ1cHREaXNwYXRjaGVyIikp
Cit7Cit9CisKK1dlYkluc3BlY3RvckludGVycnVwdERpc3BhdGNoZXI6On5XZWJJbnNwZWN0b3JJ
bnRlcnJ1cHREaXNwYXRjaGVyKCkKK3sKK30KKwordm9pZCBXZWJJbnNwZWN0b3JJbnRlcnJ1cHRE
aXNwYXRjaGVyOjppbml0aWFsaXplQ29ubmVjdGlvbihJUEM6OkNvbm5lY3Rpb24qIGNvbm5lY3Rp
b24pCit7CisgICAgY29ubmVjdGlvbi0+YWRkV29ya1F1ZXVlTWVzc2FnZVJlY2VpdmVyKE1lc3Nh
Z2VzOjpXZWJJbnNwZWN0b3JJbnRlcnJ1cHREaXNwYXRjaGVyOjptZXNzYWdlUmVjZWl2ZXJOYW1l
KCksIG1fcXVldWUuZ2V0KCksIHRoaXMpOworfQorCit2b2lkIFdlYkluc3BlY3RvckludGVycnVw
dERpc3BhdGNoZXI6Om5vdGlmeU5lZWREZWJ1Z2dlckJyZWFrKHVpbnQ2NF90IHBhZ2VJRCkKK3sK
KyAgICBVTlVTRURfUEFSQU0ocGFnZUlEKTsKKyAgICBKU0M6OlZNJiB2bSA9IFdlYkNvcmU6OmNv
bW1vblZNKCk7CisgICAgdm0ubm90aWZ5TmVlZERlYnVnZ2VyQnJlYWsoKTsKK30KKworfSAvLyBu
YW1lc3BhY2UgV2ViS2l0CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViSW5zcGVjdG9ySW50ZXJydXB0RGlzcGF0Y2hlci5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3JJbnRlcnJ1cHREaXNwYXRjaGVy
LmgJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
Ykluc3BlY3RvckludGVycnVwdERpc3BhdGNoZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDQ5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
KyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgor
ICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAq
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJDb25uZWN0aW9u
LmgiCisKK25hbWVzcGFjZSBXZWJLaXQgeworCitjbGFzcyBXZWJJbnNwZWN0b3JJbnRlcnJ1cHRE
aXNwYXRjaGVyIDogcHVibGljIElQQzo6Q29ubmVjdGlvbjo6V29ya1F1ZXVlTWVzc2FnZVJlY2Vp
dmVyIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUmVmPFdlYkluc3BlY3RvckludGVycnVwdERpc3Bh
dGNoZXI+IGNyZWF0ZSgpOworICAgIH5XZWJJbnNwZWN0b3JJbnRlcnJ1cHREaXNwYXRjaGVyKCk7
CisgICAgCisgICAgdm9pZCBpbml0aWFsaXplQ29ubmVjdGlvbihJUEM6OkNvbm5lY3Rpb24qKTsK
KyAgICAKK3ByaXZhdGU6CisgICAgV2ViSW5zcGVjdG9ySW50ZXJydXB0RGlzcGF0Y2hlcigpOwor
ICAgIC8vIElQQzo6Q29ubmVjdGlvbjo6V29ya1F1ZXVlTWVzc2FnZVJlY2VpdmVyLgorICAgIHZv
aWQgZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpEZWNvZGVyJikgb3Zl
cnJpZGU7CisgICAgCisgICAgdm9pZCBub3RpZnlOZWVkRGVidWdnZXJCcmVhayh1aW50NjRfdCBw
YWdlSUQpOworICAgIAorICAgIFJlZjxXb3JrUXVldWU+IG1fcXVldWU7Cit9OworCit9IC8vIG5h
bWVzcGFjZSBXZWJLaXQKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9X
ZWJJbnNwZWN0b3JJbnRlcnJ1cHREaXNwYXRjaGVyLm1lc3NhZ2VzLmluCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3JJbnRlcnJ1cHRE
aXNwYXRjaGVyLm1lc3NhZ2VzLmluCShub25leGlzdGVudCkKKysrIFNvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3JJbnRlcnJ1cHREaXNwYXRjaGVyLm1lc3NhZ2Vz
LmluCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjUgQEAKKyMgQ29weXJpZ2h0IChDKSAyMDE3
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMKKyMgUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisjIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworIyBhcmUgbWV0OgorIyAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyMgMi4gIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisjICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisjICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorIworIyBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
IEFORAorIyBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorIyBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisjIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SCisjIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKKyMgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IKKyMgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIKKyMgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKyMgT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UKKyMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKworbWVzc2FnZXMgLT4gV2ViSW5zcGVjdG9ySW50ZXJydXB0RGlz
cGF0Y2hlciB7CisgICAgTm90aWZ5TmVlZERlYnVnZ2VyQnJlYWsodWludDY0X3QgcGFnZUlEKQor
fQo=
</data>
<flag name="review"
          id="324933"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>303263</attachid>
            <date>2017-03-02 16:14:09 -0800</date>
            <delta_ts>2017-03-02 16:24:57 -0800</delta_ts>
            <desc>patch for landing.</desc>
            <filename>bug-169089.patch</filename>
            <type>text/plain</type>
            <size>22321</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjEzMzA0KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBA
CisyMDE3LTAzLTAyICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KKworICAgICAgICBB
ZGQgV2ViS2l0MiBob29rcyB0byBub3RpZnkgdGhlIFZNIHRoYXQgdGhlIHVzZXIgaGFzIHJlcXVl
c3RlZCBhIGRlYnVnZ2VyIGJyZWFrLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTY5MDg5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgVGltIEhvcnRvbiBh
bmQgSm9zZXBoIFBlY29yYXJvLgorCisgICAgICAgICogcnVudGltZS9WTS5jcHA6CisgICAgICAg
IChKU0M6OlZNOjpoYW5kbGVUcmFwcyk6CisgICAgICAgICogcnVudGltZS9WTS5oOgorICAgICAg
ICAoSlNDOjpWTTo6bm90aWZ5TmVlZERlYnVnZ2VyQnJlYWspOgorCiAyMDE3LTAzLTAyICBNYXJr
IExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgT3B0aW9uczo6YWx3YXlz
Q2hlY2tUcmFwcygpIGFuZCBPcHRpb25zOjp1c2VQb2xsaW5nVHJhcHMoKSBvcHRpb25zLgpJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0uY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmNwcAkocmV2aXNpb24gMjEzMzAyKQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05
NTcsNyArOTU3LDkgQEAgdm9pZCBWTTo6aGFuZGxlVHJhcHMoRXhlY1N0YXRlKiBleGVjLCBWTQog
ICAgICAgICBhdXRvIHRyYXBFdmVudFR5cGUgPSBtX3RyYXBzLnRha2VUb3BQcmlvcml0eVRyYXAo
bWFzayk7CiAgICAgICAgIHN3aXRjaCAodHJhcEV2ZW50VHlwZSkgewogICAgICAgICBjYXNlIFZN
VHJhcHM6Ok5lZWREZWJ1Z2dlckJyZWFrOgotICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlRfTk9U
X1JFQUNIRUQoKTsKKyAgICAgICAgICAgIGlmIChPcHRpb25zOjphbHdheXNDaGVja1RyYXBzKCkp
CisgICAgICAgICAgICAgICAgZGF0YUxvZygiVk0gIiwgUmF3UG9pbnRlcih0aGlzKSwgIiBvbiBw
aWQgIiwgZ2V0Q3VycmVudFByb2Nlc3NJRCgpLCAiIHJlY2VpdmVkIE5lZWREZWJ1Z2dlckJyZWFr
IHRyYXBcbiIpOworICAgICAgICAgICAgcmV0dXJuOwogCiAgICAgICAgIGNhc2UgVk1UcmFwczo6
TmVlZFdhdGNoZG9nQ2hlY2s6CiAgICAgICAgICAgICBBU1NFUlQobV93YXRjaGRvZyk7CkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9WTS5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmgJKHJldmlzaW9uIDIxMzMwMikKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmgJKHdvcmtpbmcgY29weSkKQEAgLTY3Niw2ICs2
NzYsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBuZWVkVHJhcEhhbmRsaW5nKFZNVHJhcHM6Ok1hc2sg
bWFzayA9IFZNVHJhcHM6Ok1hc2s6OmFsbEV2ZW50VHlwZXMoKSkgeyByZXR1cm4gbV90cmFwcy5u
ZWVkVHJhcEhhbmRsaW5nKG1hc2spOyB9CiAgICAgdm9pZCogbmVlZFRyYXBIYW5kbGluZ0FkZHJl
c3MoKSB7IHJldHVybiBtX3RyYXBzLm5lZWRUcmFwSGFuZGxpbmdBZGRyZXNzKCk7IH0KIAorICAg
IHZvaWQgbm90aWZ5TmVlZERlYnVnZ2VyQnJlYWsoKSB7IG1fdHJhcHMuZmlyZVRyYXAoVk1UcmFw
czo6TmVlZERlYnVnZ2VyQnJlYWspOyB9CiAgICAgdm9pZCBub3RpZnlOZWVkVGVybWluYXRpb24o
KSB7IG1fdHJhcHMuZmlyZVRyYXAoVk1UcmFwczo6TmVlZFRlcm1pbmF0aW9uKTsgfQogICAgIHZv
aWQgbm90aWZ5TmVlZFdhdGNoZG9nQ2hlY2soKSB7IG1fdHJhcHMuZmlyZVRyYXAoVk1UcmFwczo6
TmVlZFdhdGNoZG9nQ2hlY2spOyB9CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxMzMxMikK
KysrIFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI4
IEBACisyMDE3LTAzLTAyICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KKworICAgICAg
ICBBZGQgV2ViS2l0MiBob29rcyB0byBub3RpZnkgdGhlIFZNIHRoYXQgdGhlIHVzZXIgaGFzIHJl
cXVlc3RlZCBhIGRlYnVnZ2VyIGJyZWFrLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTY5MDg5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgVGltIEhvcnRv
biBhbmQgSm9zZXBoIFBlY29yYXJvLgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAg
ICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViSW5zcGVj
dG9yUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJJbnNwZWN0b3JQcm94eTo6Y29ubmVj
dCk6CisgICAgICAgICogV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3JJbnRlcnJ1cHREaXNwYXRjaGVyLmNw
cDogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6OldlYkluc3BlY3RvckludGVycnVwdERpc3BhdGNo
ZXI6OmNyZWF0ZSk6CisgICAgICAgIChXZWJLaXQ6OldlYkluc3BlY3RvckludGVycnVwdERpc3Bh
dGNoZXI6OldlYkluc3BlY3RvckludGVycnVwdERpc3BhdGNoZXIpOgorICAgICAgICAoV2ViS2l0
OjpXZWJJbnNwZWN0b3JJbnRlcnJ1cHREaXNwYXRjaGVyOjp+V2ViSW5zcGVjdG9ySW50ZXJydXB0
RGlzcGF0Y2hlcik6CisgICAgICAgIChXZWJLaXQ6OldlYkluc3BlY3RvckludGVycnVwdERpc3Bh
dGNoZXI6OmluaXRpYWxpemVDb25uZWN0aW9uKToKKyAgICAgICAgKFdlYktpdDo6V2ViSW5zcGVj
dG9ySW50ZXJydXB0RGlzcGF0Y2hlcjo6bm90aWZ5TmVlZERlYnVnZ2VyQnJlYWspOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3JJbnRlcnJ1cHREaXNwYXRjaGVyLmg6
IEFkZGVkLgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3JJbnRlcnJ1
cHREaXNwYXRjaGVyLm1lc3NhZ2VzLmluOiBBZGRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL1dl
YlByb2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjpXZWJQcm9jZXNzKToK
KyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6aW5pdGlhbGl6ZUNvbm5lY3Rpb24pOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oOgorCiAyMDE3LTAzLTAyICBBYWthc2ggSmFp
biAgPGFha2FzaF9qYWluQGFwcGxlLmNvbT4KIAogICAgICAgICBJc1NtYXJ0UHRyPFdLUmV0YWlu
UHRyPFQ+Pjo6dmFsdWUgc2hvdWxkIG5vdCBiZSBleHBvcnRlZApJbmRleDogU291cmNlL1dlYktp
dDIvQ01ha2VMaXN0cy50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvQ01ha2VMaXN0
cy50eHQJKHJldmlzaW9uIDIxMzMwMikKKysrIFNvdXJjZS9XZWJLaXQyL0NNYWtlTGlzdHMudHh0
CSh3b3JraW5nIGNvcHkpCkBAIC01NzIsNiArNTcyLDcgQEAgc2V0KFdlYktpdDJfU09VUkNFUwog
ICAgIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJEb2N1bWVudExvYWRlci5jcHAKICAgICBXZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViRnJhbWUuY3BwCiAgICAgV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkluc3Bl
Y3Rvci5jcHAKKyAgICBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViSW5zcGVjdG9ySW50ZXJydXB0RGlz
cGF0Y2hlci5jcHAKICAgICBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViSW5zcGVjdG9yRnJvbnRlbmRB
UElEaXNwYXRjaGVyLmNwcAogICAgIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3JVSS5j
cHAKICAgICBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViT3BlblBhbmVsUmVzdWx0TGlzdGVuZXIuY3Bw
CkBAIC02NzksNiArNjgwLDcgQEAgc2V0KFdlYktpdDJfTUVTU0FHRVNfSU5fRklMRVMKICAgICBX
ZWJQcm9jZXNzL1dlYlBhZ2UvUmVtb3RlV2ViSW5zcGVjdG9yVUkubWVzc2FnZXMuaW4KICAgICBX
ZWJQcm9jZXNzL1dlYlBhZ2UvVmlzaXRlZExpbmtUYWJsZUNvbnRyb2xsZXIubWVzc2FnZXMuaW4K
ICAgICBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViSW5zcGVjdG9yLm1lc3NhZ2VzLmluCisgICAgV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYkluc3BlY3RvckludGVycnVwdERpc3BhdGNoZXIubWVzc2FnZXMu
aW4KICAgICBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViSW5zcGVjdG9yVUkubWVzc2FnZXMuaW4KICAg
ICBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgogKQpJbmRleDogU291cmNl
L1dlYktpdDIvRGVyaXZlZFNvdXJjZXMubWFrZQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
Mi9EZXJpdmVkU291cmNlcy5tYWtlCShyZXZpc2lvbiAyMTMzMDIpCisrKyBTb3VyY2UvV2ViS2l0
Mi9EZXJpdmVkU291cmNlcy5tYWtlCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQgKzEsNCBAQAotIyBD
b3B5cmlnaHQgKEMpIDIwMTAsIDIwMTEsIDIwMTIsIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorIyBDb3B5cmlnaHQgKEMpIDIwMTAtMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCiAjCiAjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTE0MCw2ICsxNDAs
NyBAQCBNRVNTQUdFX1JFQ0VJVkVSUyA9IFwKICAgICBXZWJJY29uRGF0YWJhc2UgXAogICAgIFdl
Ykljb25EYXRhYmFzZVByb3h5IFwKICAgICBXZWJJbnNwZWN0b3IgXAorICAgIFdlYkluc3BlY3Rv
ckludGVycnVwdERpc3BhdGNoZXIgXAogICAgIFdlYkluc3BlY3RvclByb3h5IFwKICAgICBXZWJJ
bnNwZWN0b3JVSSBcCiAgICAgV2ViTm90aWZpY2F0aW9uTWFuYWdlciBcCkluZGV4OiBTb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViSW5zcGVjdG9yUHJveHkuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJJbnNwZWN0b3JQcm94eS5jcHAJKHJldmlzaW9uIDIx
MzMwMikKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJJbnNwZWN0b3JQcm94eS5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDEw
LCAyMDE0LCAyMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdo
dCAoQykgMjAxMC0yMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIFBvcnRp
b25zIENvcHlyaWdodCAoYykgMjAxMSBNb3Rvcm9sYSBNb2JpbGl0eSwgSW5jLiAgQWxsIHJpZ2h0
cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKQEAgLTM1LDYgKzM1LDcgQEAKICNpbmNsdWRl
ICJXZWJBdXRvbWF0aW9uU2Vzc2lvbi5oIgogI2luY2x1ZGUgIldlYkZyYW1lUG9saWN5TGlzdGVu
ZXJQcm94eS5oIgogI2luY2x1ZGUgIldlYkZyYW1lUHJveHkuaCIKKyNpbmNsdWRlICJXZWJJbnNw
ZWN0b3JJbnRlcnJ1cHREaXNwYXRjaGVyTWVzc2FnZXMuaCIKICNpbmNsdWRlICJXZWJJbnNwZWN0
b3JNZXNzYWdlcy5oIgogI2luY2x1ZGUgIldlYkluc3BlY3RvclByb3h5TWVzc2FnZXMuaCIKICNp
bmNsdWRlICJXZWJJbnNwZWN0b3JVSU1lc3NhZ2VzLmgiCkBAIC0xMjEsNiArMTIyLDcgQEAgdm9p
ZCBXZWJJbnNwZWN0b3JQcm94eTo6Y29ubmVjdCgpCiAKICAgICBlYWdlcmx5Q3JlYXRlSW5zcGVj
dG9yUGFnZSgpOwogCisgICAgbV9pbnNwZWN0ZWRQYWdlLT5wcm9jZXNzKCkuc2VuZChNZXNzYWdl
czo6V2ViSW5zcGVjdG9ySW50ZXJydXB0RGlzcGF0Y2hlcjo6Tm90aWZ5TmVlZERlYnVnZ2VyQnJl
YWsoKSwgMCk7CiAgICAgbV9pbnNwZWN0ZWRQYWdlLT5wcm9jZXNzKCkuc2VuZChNZXNzYWdlczo6
V2ViSW5zcGVjdG9yOjpTaG93KCksIG1faW5zcGVjdGVkUGFnZS0+cGFnZUlEKCkpOwogfQogCklu
ZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCShyZXZpc2lvbiAyMTMzMDIpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTE5NzAsNiArMTk3MCwxMCBAQAog
CQlGNkE5MDgxMzEzM0MyMDUxMDA4MkMzRjQgLyogV2ViQ29va2llTWFuYWdlck1hYy5tbSBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY2QTkwODExMTMzQzFG
M0QwMDgyQzNGNCAvKiBXZWJDb29raWVNYW5hZ2VyTWFjLm1tICovOyB9OwogCQlGNkQ2MzJCQzEz
M0QxOTgyMDA3NDNENzcgLyogV2ViQ29va2llTWFuYWdlclByb3h5TWFjLm1tIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjZENjMyQkExMzNEMTgxQjAwNzQz
RDc3IC8qIFdlYkNvb2tpZU1hbmFnZXJQcm94eU1hYy5tbSAqLzsgfTsKIAkJRkVEM0MxREMxQjQ0
N0VBQzAwRTBFQjdGIC8qIEFQSVNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUNvY29hLm1tIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkVEM0MxREExQjQ0N0FFODAw
RTBFQjdGIC8qIEFQSVNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUNvY29hLm1tICovOyB9OworCQlGRURC
RENENjFFNjhEMjAwMDBBNTlGOEYgLyogV2ViSW5zcGVjdG9ySW50ZXJydXB0RGlzcGF0Y2hlck1l
c3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBGRURCRENENDFFNjhEMTlDMDBBNTlGOEYgLyogV2ViSW5zcGVjdG9ySW50ZXJydXB0
RGlzcGF0Y2hlck1lc3NhZ2VSZWNlaXZlci5jcHAgKi87IH07CisJCUZFREJEQ0Q3MUU2OEQyMDUw
MEE1OUY4RiAvKiBXZWJJbnNwZWN0b3JJbnRlcnJ1cHREaXNwYXRjaGVyTWVzc2FnZXMuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZFREJEQ0Q1MUU2OEQx
OUMwMEE1OUY4RiAvKiBXZWJJbnNwZWN0b3JJbnRlcnJ1cHREaXNwYXRjaGVyTWVzc2FnZXMuaCAq
LzsgfTsKKwkJRkVFNDNGRDMxRTY3QjAxODAwNzdENkQxIC8qIFdlYkluc3BlY3RvckludGVycnVw
dERpc3BhdGNoZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEZFRTQzRkQxMUU2N0FGQzYwMDc3RDZEMSAvKiBXZWJJbnNwZWN0b3JJbnRlcnJ1cHREaXNw
YXRjaGVyLmggKi87IH07CisJCUZFRTQzRkQ0MUU2N0IwMjEwMDc3RDZEMSAvKiBXZWJJbnNwZWN0
b3JJbnRlcnJ1cHREaXNwYXRjaGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEZFRTQzRkQwMUU2N0FGQzYwMDc3RDZEMSAvKiBXZWJJbnNwZWN0b3JJ
bnRlcnJ1cHREaXNwYXRjaGVyLmNwcCAqLzsgfTsKIC8qIEVuZCBQQlhCdWlsZEZpbGUgc2VjdGlv
biAqLwogCiAvKiBCZWdpbiBQQlhDb250YWluZXJJdGVtUHJveHkgc2VjdGlvbiAqLwpAQCAtNDIz
Nyw2ICs0MjQxLDExIEBACiAJCUY2QTkwODExMTMzQzFGM0QwMDgyQzNGNCAvKiBXZWJDb29raWVN
YW5hZ2VyTWFjLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gV2Vi
Q29va2llTWFuYWdlck1hYy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjZENjMy
QkExMzNEMTgxQjAwNzQzRDc3IC8qIFdlYkNvb2tpZU1hbmFnZXJQcm94eU1hYy5tbSAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdlYkNvb2tpZU1hbmFnZXJQcm94eU1h
Yy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkVEM0MxREExQjQ0N0FFODAwRTBF
QjdGIC8qIEFQSVNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUNvY29hLm1tICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAub2JqY3BwOyBwYXRoID0gQVBJU2VyaWFsaXplZFNjcmlwdFZhbHVlQ29jb2EubW07
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUZFREJEQ0Q0MUU2OEQxOUMwMEE1OUY4RiAv
KiBXZWJJbnNwZWN0b3JJbnRlcnJ1cHREaXNwYXRjaGVyTWVzc2FnZVJlY2VpdmVyLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYkluc3BlY3RvckludGVycnVwdERp
c3BhdGNoZXJNZXNzYWdlUmVjZWl2ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQlGRURCRENENTFFNjhEMTlDMDBBNTlGOEYgLyogV2ViSW5zcGVjdG9ySW50ZXJydXB0RGlzcGF0
Y2hlck1lc3NhZ2VzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkluc3Bl
Y3RvckludGVycnVwdERpc3BhdGNoZXJNZXNzYWdlcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQlGRUU0M0ZEMDFFNjdBRkM2MDA3N0Q2RDEgLyogV2ViSW5zcGVjdG9ySW50ZXJydXB0
RGlzcGF0Y2hlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJJ
bnNwZWN0b3JJbnRlcnJ1cHREaXNwYXRjaGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJRkVFNDNGRDExRTY3QUZDNjAwNzdENkQxIC8qIFdlYkluc3BlY3RvckludGVycnVwdERp
c3BhdGNoZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViSW5zcGVjdG9y
SW50ZXJydXB0RGlzcGF0Y2hlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGRUU0
M0ZEMjFFNjdBRkM2MDA3N0Q2RDEgLyogV2ViSW5zcGVjdG9ySW50ZXJydXB0RGlzcGF0Y2hlci5t
ZXNzYWdlcy5pbiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBXZWJJbnNwZWN0b3JJbnRlcnJ1cHRE
aXNwYXRjaGVyLm1lc3NhZ2VzLmluOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogLyogRW5k
IFBCWEZpbGVSZWZlcmVuY2Ugc2VjdGlvbiAqLwogCiAvKiBCZWdpbiBQQlhGcmFtZXdvcmtzQnVp
bGRQaGFzZSBzZWN0aW9uICovCkBAIC02NDQ2LDYgKzY0NTUsOSBAQAogCQkJCTFDOEUyQTFDMTI3
NzgzM0YwMEJDN0JEMCAvKiBXZWJJbnNwZWN0b3IubWVzc2FnZXMuaW4gKi8sCiAJCQkJQTU1QkE4
MzIxQkEzRTZGQTAwN0NEMzNEIC8qIFdlYkluc3BlY3RvckZyb250ZW5kQVBJRGlzcGF0Y2hlci5j
cHAgKi8sCiAJCQkJQTU1QkE4MzMxQkEzRTZGQTAwN0NEMzNEIC8qIFdlYkluc3BlY3RvckZyb250
ZW5kQVBJRGlzcGF0Y2hlci5oICovLAorCQkJCUZFRTQzRkQwMUU2N0FGQzYwMDc3RDZEMSAvKiBX
ZWJJbnNwZWN0b3JJbnRlcnJ1cHREaXNwYXRjaGVyLmNwcCAqLywKKwkJCQlGRUU0M0ZEMTFFNjdB
RkM2MDA3N0Q2RDEgLyogV2ViSW5zcGVjdG9ySW50ZXJydXB0RGlzcGF0Y2hlci5oICovLAorCQkJ
CUZFRTQzRkQyMUU2N0FGQzYwMDc3RDZEMSAvKiBXZWJJbnNwZWN0b3JJbnRlcnJ1cHREaXNwYXRj
aGVyLm1lc3NhZ2VzLmluICovLAogCQkJCTFDODkxRDYyMTlCMTI0RkYwMEJBNzlERCAvKiBXZWJJ
bnNwZWN0b3JVSS5jcHAgKi8sCiAJCQkJMUM4OTFENjMxOUIxMjRGRjAwQkE3OUREIC8qIFdlYklu
c3BlY3RvclVJLmggKi8sCiAJCQkJMUM4OTFENjQxOUIxMjRGRjAwQkE3OUREIC8qIFdlYkluc3Bl
Y3RvclVJLm1lc3NhZ2VzLmluICovLApAQCAtNzYxNiw2ICs3NjI4LDggQEAKIAkJCQk1MTA1MjM3
ODFDNzNEQTcwMDA3OTkzQ0IgLyogV2ViSURCQ29ubmVjdGlvblRvQ2xpZW50TWVzc2FnZXMuaCAq
LywKIAkJCQk1MTA1MjM3MjFDNzNEMzdCMDA3OTkzQ0IgLyogV2ViSURCQ29ubmVjdGlvblRvU2Vy
dmVyTWVzc2FnZVJlY2VpdmVyLmNwcCAqLywKIAkJCQk1MTA1MjM3MzFDNzNEMzdCMDA3OTkzQ0Ig
LyogV2ViSURCQ29ubmVjdGlvblRvU2VydmVyTWVzc2FnZXMuaCAqLywKKwkJCQlGRURCRENENDFF
NjhEMTlDMDBBNTlGOEYgLyogV2ViSW5zcGVjdG9ySW50ZXJydXB0RGlzcGF0Y2hlck1lc3NhZ2VS
ZWNlaXZlci5jcHAgKi8sCisJCQkJRkVEQkRDRDUxRTY4RDE5QzAwQTU5RjhGIC8qIFdlYkluc3Bl
Y3RvckludGVycnVwdERpc3BhdGNoZXJNZXNzYWdlcy5oICovLAogCQkJCTFDOEUyQTMxMTI3Nzg1
MjQwMEJDN0JEMCAvKiBXZWJJbnNwZWN0b3JNZXNzYWdlUmVjZWl2ZXIuY3BwICovLAogCQkJCTFD
OEUyQTMyMTI3Nzg1MjQwMEJDN0JEMCAvKiBXZWJJbnNwZWN0b3JNZXNzYWdlcy5oICovLAogCQkJ
CTFDQThCOTQzMTI3Qzg4MkEwMDU3NkMyQiAvKiBXZWJJbnNwZWN0b3JQcm94eU1lc3NhZ2VSZWNl
aXZlci5jcHAgKi8sCkBAIC04NTYyLDYgKzg1NzYsNyBAQAogCQkJCUJDMjA0RUVGMTFDODNFQzgw
MDhGMzM3NSAvKiBXS0J1bmRsZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMyMDRFRjAxMUM4M0VD
ODAwOEYzMzc1IC8qIFdLQnVuZGxlQVBJQ2FzdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTM1RUVC
OUYxMjc3NjFBQzAwMzMyMkI4IC8qIFdLQnVuZGxlQmFja0ZvcndhcmRMaXN0LmggaW4gSGVhZGVy
cyAqLywKKwkJCQlGRURCRENENzFFNjhEMjA1MDBBNTlGOEYgLyogV2ViSW5zcGVjdG9ySW50ZXJy
dXB0RGlzcGF0Y2hlck1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLywKIAkJCQk5MzVFRUI5QjEyNzc2
MTdDMDAzMzIyQjggLyogV0tCdW5kbGVCYWNrRm9yd2FyZExpc3RJdGVtLmggaW4gSGVhZGVycyAq
LywKIAkJCQk1MUVGQzFDRjE1MjRFNjI1MDBDOUE5MzggLyogV0tCdW5kbGVET01XaW5kb3dFeHRl
bnNpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTdDQkI4MTIxMUFBMEY5NzAwMDZCMTk0MiAvKiBX
S0J1bmRsZUZpbGVIYW5kbGVSZWYuaCBpbiBIZWFkZXJzICovLApAQCAtODc3Niw2ICs4NzkxLDcg
QEAKIAkJCQkxQTdFMzc3NTE4RTRBMzNBMDAzRDBGRkYgLyogV0tTY3JpcHRNZXNzYWdlSGFuZGxl
ci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0NDOTlBMzYxOEVGN0NCQzAwNDhDOEI0IC8qIFdLU2Ny
aXB0TWVzc2FnZUludGVybmFsLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRkNCNEU1NDE4QkJFMDQ0
MDAwRkNGQzkgLyogV0tTY3JvbGxWaWV3LmggaW4gSGVhZGVycyAqLywKKwkJCQlGRUU0M0ZEMzFF
NjdCMDE4MDA3N0Q2RDEgLyogV2ViSW5zcGVjdG9ySW50ZXJydXB0RGlzcGF0Y2hlci5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJNTFDRDFDNjUxQjM0QjlENDAwMTQyQ0E1IC8qIFdLU2VjdXJpdHlPcmln
aW4uaCBpbiBIZWFkZXJzICovLAogCQkJCTUxQ0QxQzY3MUIzNEI5REYwMDE0MkNBNSAvKiBXS1Nl
Y3VyaXR5T3JpZ2luSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxQ0QxQzVFMUIzNDkz
QjQwMDE0MkNBNSAvKiBXS1NlY3VyaXR5T3JpZ2luUmVmLmggaW4gSGVhZGVycyAqLywKQEAgLTk3
MzAsNiArOTc0Niw3IEBACiAJCQkJMUEyRDgyQTYxMjdGNEVBQjAwMUVCOTYyIC8qIE5QT2JqZWN0
UHJveHkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUEyRDgyQTgxMjdGNEVBQjAwMUVCOTYyIC8q
IE5QUmVtb3RlT2JqZWN0TWFwLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFBMjE2MUIxMTFGMzc2
NjQwMDhBRDBGNSAvKiBOUFJ1bnRpbWVPYmplY3RNYXAuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJ
RkVFNDNGRDQxRTY3QjAyMTAwNzdENkQxIC8qIFdlYkluc3BlY3RvckludGVycnVwdERpc3BhdGNo
ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUEyMTYyQjAxMUYzODk3MTAwOEFEMEY1IC8qIE5Q
UnVudGltZVV0aWxpdGllcy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxQTJEODRBNDEyN0Y2QUQx
MDAxRUI5NjIgLyogTlBWYXJpYW50RGF0YS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzhBQ0Ex
NDE2NjcwRDg5MDA0QzE5NDEgLyogT2JqQ09iamVjdEdyYXBoLm1tIGluIFNvdXJjZXMgKi8sCkBA
IC0xMDIxMyw2ICsxMDIzMCw3IEBACiAJCQkJNTExMEFFMEMxMzNDMTZDQjAwNzI3MTdBIC8qIFdL
SWNvbkRhdGFiYXNlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUxMjNDRjFCMTMzRDI2MEEwMDU2
RjgwMCAvKiBXS0ljb25EYXRhYmFzZUNHLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDQ0Y2QUMy
MTJDOTFGMzQwMDhGOUMzNSAvKiBXS0ltYWdlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUZFREJE
Q0Q2MUU2OEQyMDAwMEE1OUY4RiAvKiBXZWJJbnNwZWN0b3JJbnRlcnJ1cHREaXNwYXRjaGVyTWVz
c2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDQ0Y2QUM5MTJDOTFGNTkwMDhG
OUMzNSAvKiBXS0ltYWdlQ0cuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTMzREY4MzAxQjNCQzBC
NDAwQUVBOUUzIC8qIFdLSW1hZ2VQcmV2aWV3Vmlld0NvbnRyb2xsZXIubW0gaW4gU291cmNlcyAq
LywKIAkJCQk5MzIxRDU4ODFBMzhFRTc0MDA4MDUyQkUgLyogV0tJbW1lZGlhdGVBY3Rpb25Db250
cm9sbGVyLm1tIGluIFNvdXJjZXMgKi8sCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlByb2Nlc3MuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUHJvY2Vzcy5jcHAJKHJldmlzaW9uIDIxMzMwMikKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUHJvY2Vzcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE1Nyw2ICsxNTcsNyBAQCBX
ZWJQcm9jZXNzOjpXZWJQcm9jZXNzKCkKICNpZiBQTEFURk9STShJT1MpCiAgICAgLCBtX3ZpZXdV
cGRhdGVEaXNwYXRjaGVyKFZpZXdVcGRhdGVEaXNwYXRjaGVyOjpjcmVhdGUoKSkKICNlbmRpZgor
ICAgICwgbV93ZWJJbnNwZWN0b3JJbnRlcnJ1cHREaXNwYXRjaGVyKFdlYkluc3BlY3RvckludGVy
cnVwdERpc3BhdGNoZXI6OmNyZWF0ZSgpKQogICAgICwgbV9pY29uRGF0YWJhc2VQcm94eSgqbmV3
IFdlYkljb25EYXRhYmFzZVByb3h5KCp0aGlzKSkKICAgICAsIG1fd2ViTG9hZGVyU3RyYXRlZ3ko
Km5ldyBXZWJMb2FkZXJTdHJhdGVneSkKICAgICAsIG1fZG5zUHJlZmV0Y2hIeXN0ZXJlcmlzKFt0
aGlzXShIeXN0ZXJlc2lzU3RhdGUgc3RhdGUpIHsgaWYgKHN0YXRlID09IEh5c3RlcmVzaXNTdGF0
ZTo6U3RvcHBlZCkgbV9kbnNQcmVmZXRjaGVkSG9zdHMuY2xlYXIoKTsgfSkKQEAgLTIyMSw2ICsy
MjIsNyBAQCB2b2lkIFdlYlByb2Nlc3M6OmluaXRpYWxpemVDb25uZWN0aW9uKElQCiAjaWYgUExB
VEZPUk0oSU9TKQogICAgIG1fdmlld1VwZGF0ZURpc3BhdGNoZXItPmluaXRpYWxpemVDb25uZWN0
aW9uKGNvbm5lY3Rpb24pOwogI2VuZGlmIC8vIFBMQVRGT1JNKElPUykKKyAgICBtX3dlYkluc3Bl
Y3RvckludGVycnVwdERpc3BhdGNoZXItPmluaXRpYWxpemVDb25uZWN0aW9uKGNvbm5lY3Rpb24p
OwogCiAjaWYgRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCiAgICAgbV9wbHVnaW5Qcm9jZXNz
Q29ubmVjdGlvbk1hbmFnZXItPmluaXRpYWxpemVDb25uZWN0aW9uKGNvbm5lY3Rpb24pOwpJbmRl
eDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgJKHJldmlzaW9uIDIxMzMwMikK
KysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCSh3b3JraW5nIGNvcHkp
CkBAIC0zNiw2ICszNiw3IEBACiAjaW5jbHVkZSAiVGV4dENoZWNrZXJTdGF0ZS5oIgogI2luY2x1
ZGUgIlZpZXdVcGRhdGVEaXNwYXRjaGVyLmgiCiAjaW5jbHVkZSAiVmlzaXRlZExpbmtUYWJsZS5o
IgorI2luY2x1ZGUgIldlYkluc3BlY3RvckludGVycnVwdERpc3BhdGNoZXIuaCIKICNpbmNsdWRl
IDxXZWJDb3JlL0h5c3RlcmVzaXNBY3Rpdml0eS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc1N0b3JlLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9TZXNzaW9uSUQuaD4K
QEAgLTM1MSw2ICszNTIsNyBAQCBwcml2YXRlOgogI2lmIFBMQVRGT1JNKElPUykKICAgICBSZWZQ
dHI8Vmlld1VwZGF0ZURpc3BhdGNoZXI+IG1fdmlld1VwZGF0ZURpc3BhdGNoZXI7CiAjZW5kaWYK
KyAgICBSZWZQdHI8V2ViSW5zcGVjdG9ySW50ZXJydXB0RGlzcGF0Y2hlcj4gbV93ZWJJbnNwZWN0
b3JJbnRlcnJ1cHREaXNwYXRjaGVyOwogCiAgICAgSGFzaE1hcDxXZWJDb3JlOjpTZXNzaW9uSUQs
IEhhc2hNYXA8dW5zaWduZWQsIGRvdWJsZT4+IG1fcGx1Z0luQXV0b1N0YXJ0T3JpZ2luSGFzaGVz
OwogICAgIEhhc2hTZXQ8U3RyaW5nPiBtX3BsdWdJbkF1dG9TdGFydE9yaWdpbnM7CkluZGV4OiBT
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViSW5zcGVjdG9ySW50ZXJydXB0RGlz
cGF0Y2hlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL1dlYkluc3BlY3RvckludGVycnVwdERpc3BhdGNoZXIuY3BwCShub25leGlzdGVudCkKKysr
IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3JJbnRlcnJ1cHRE
aXNwYXRjaGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDYxIEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBD
T05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAq
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisg
KiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIldlYkluc3BlY3RvckludGVycnVwdERp
c3BhdGNoZXIuaCIKKworI2luY2x1ZGUgIldlYkluc3BlY3RvckludGVycnVwdERpc3BhdGNoZXJN
ZXNzYWdlcy5oIgorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL1ZNLmg+CisjaW5jbHVkZSA8V2Vi
Q29yZS9Db21tb25WTS5oPgorI2luY2x1ZGUgPHd0Zi9Xb3JrUXVldWUuaD4KKworbmFtZXNwYWNl
IFdlYktpdCB7CisgICAgCitSZWY8V2ViSW5zcGVjdG9ySW50ZXJydXB0RGlzcGF0Y2hlcj4gV2Vi
SW5zcGVjdG9ySW50ZXJydXB0RGlzcGF0Y2hlcjo6Y3JlYXRlKCkKK3sKKyAgICByZXR1cm4gYWRv
cHRSZWYoKm5ldyBXZWJJbnNwZWN0b3JJbnRlcnJ1cHREaXNwYXRjaGVyKTsKK30KKworV2ViSW5z
cGVjdG9ySW50ZXJydXB0RGlzcGF0Y2hlcjo6V2ViSW5zcGVjdG9ySW50ZXJydXB0RGlzcGF0Y2hl
cigpCisgICAgOiBtX3F1ZXVlKFdvcmtRdWV1ZTo6Y3JlYXRlKCJjb20uYXBwbGUuV2ViS2l0Lldl
Ykluc3BlY3RvckludGVycnVwdERpc3BhdGNoZXIiKSkKK3sKK30KKworV2ViSW5zcGVjdG9ySW50
ZXJydXB0RGlzcGF0Y2hlcjo6fldlYkluc3BlY3RvckludGVycnVwdERpc3BhdGNoZXIoKQorewor
fQorCit2b2lkIFdlYkluc3BlY3RvckludGVycnVwdERpc3BhdGNoZXI6OmluaXRpYWxpemVDb25u
ZWN0aW9uKElQQzo6Q29ubmVjdGlvbiogY29ubmVjdGlvbikKK3sKKyAgICBjb25uZWN0aW9uLT5h
ZGRXb3JrUXVldWVNZXNzYWdlUmVjZWl2ZXIoTWVzc2FnZXM6OldlYkluc3BlY3RvckludGVycnVw
dERpc3BhdGNoZXI6Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSwgbV9xdWV1ZS5nZXQoKSwgdGhpcyk7
Cit9CisKK3ZvaWQgV2ViSW5zcGVjdG9ySW50ZXJydXB0RGlzcGF0Y2hlcjo6bm90aWZ5TmVlZERl
YnVnZ2VyQnJlYWsoKQoreworICAgIEpTQzo6Vk0mIHZtID0gV2ViQ29yZTo6Y29tbW9uVk0oKTsK
KyAgICB2bS5ub3RpZnlOZWVkRGVidWdnZXJCcmVhaygpOworfQorCit9IC8vIG5hbWVzcGFjZSBX
ZWJLaXQKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0
b3JJbnRlcnJ1cHREaXNwYXRjaGVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYkluc3BlY3RvckludGVycnVwdERpc3BhdGNoZXIuaAkobm9uZXhp
c3RlbnQpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViSW5zcGVjdG9y
SW50ZXJydXB0RGlzcGF0Y2hlci5oCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDkgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBB
TkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgIkNvbm5lY3Rpb24uaCIKKworbmFt
ZXNwYWNlIFdlYktpdCB7CisKK2NsYXNzIFdlYkluc3BlY3RvckludGVycnVwdERpc3BhdGNoZXIg
OiBwdWJsaWMgSVBDOjpDb25uZWN0aW9uOjpXb3JrUXVldWVNZXNzYWdlUmVjZWl2ZXIgeworcHVi
bGljOgorICAgIHN0YXRpYyBSZWY8V2ViSW5zcGVjdG9ySW50ZXJydXB0RGlzcGF0Y2hlcj4gY3Jl
YXRlKCk7CisgICAgfldlYkluc3BlY3RvckludGVycnVwdERpc3BhdGNoZXIoKTsKKyAgICAKKyAg
ICB2b2lkIGluaXRpYWxpemVDb25uZWN0aW9uKElQQzo6Q29ubmVjdGlvbiopOworICAgIAorcHJp
dmF0ZToKKyAgICBXZWJJbnNwZWN0b3JJbnRlcnJ1cHREaXNwYXRjaGVyKCk7CisgICAgLy8gSVBD
OjpDb25uZWN0aW9uOjpXb3JrUXVldWVNZXNzYWdlUmVjZWl2ZXIuCisgICAgdm9pZCBkaWRSZWNl
aXZlTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6OkRlY29kZXImKSBvdmVycmlkZTsKKyAg
ICAKKyAgICB2b2lkIG5vdGlmeU5lZWREZWJ1Z2dlckJyZWFrKHVpbnQ2NF90IHBhZ2VJRCk7Cisg
ICAgCisgICAgUmVmPFdvcmtRdWV1ZT4gbV9xdWV1ZTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdl
YktpdApJbmRleDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkluc3BlY3Rv
ckludGVycnVwdERpc3BhdGNoZXIubWVzc2FnZXMuaW4KPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkluc3BlY3RvckludGVycnVwdERpc3BhdGNoZXIu
bWVzc2FnZXMuaW4JKG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYkluc3BlY3RvckludGVycnVwdERpc3BhdGNoZXIubWVzc2FnZXMuaW4JKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSwyNSBAQAorIyBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorIworIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyMgbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisjIGFy
ZSBtZXQ6CisjIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorIyAyLiAgUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyMgICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisjCisjIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5ECisjIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVECisjIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyMgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IK
KyMgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTAorIyBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUgorIyBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UgorIyBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorIyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorIyBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorCittZXNzYWdlcyAtPiBXZWJJbnNwZWN0b3JJbnRlcnJ1cHREaXNwYXRjaGVyIHsK
KyAgICBOb3RpZnlOZWVkRGVidWdnZXJCcmVhaygpCit9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>303267</attachid>
            <date>2017-03-02 16:24:57 -0800</date>
            <delta_ts>2017-03-02 18:41:48 -0800</delta_ts>
            <desc>patch for landing: applied one missing change.</desc>
            <filename>bug-169089.patch</filename>
            <type>text/plain</type>
            <size>22306</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjEzMzA0KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBA
CisyMDE3LTAzLTAyICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KKworICAgICAgICBB
ZGQgV2ViS2l0MiBob29rcyB0byBub3RpZnkgdGhlIFZNIHRoYXQgdGhlIHVzZXIgaGFzIHJlcXVl
c3RlZCBhIGRlYnVnZ2VyIGJyZWFrLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTY5MDg5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgVGltIEhvcnRvbiBh
bmQgSm9zZXBoIFBlY29yYXJvLgorCisgICAgICAgICogcnVudGltZS9WTS5jcHA6CisgICAgICAg
IChKU0M6OlZNOjpoYW5kbGVUcmFwcyk6CisgICAgICAgICogcnVudGltZS9WTS5oOgorICAgICAg
ICAoSlNDOjpWTTo6bm90aWZ5TmVlZERlYnVnZ2VyQnJlYWspOgorCiAyMDE3LTAzLTAyICBNYXJr
IExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgT3B0aW9uczo6YWx3YXlz
Q2hlY2tUcmFwcygpIGFuZCBPcHRpb25zOjp1c2VQb2xsaW5nVHJhcHMoKSBvcHRpb25zLgpJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0uY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmNwcAkocmV2aXNpb24gMjEzMzAyKQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05
NTcsNyArOTU3LDkgQEAgdm9pZCBWTTo6aGFuZGxlVHJhcHMoRXhlY1N0YXRlKiBleGVjLCBWTQog
ICAgICAgICBhdXRvIHRyYXBFdmVudFR5cGUgPSBtX3RyYXBzLnRha2VUb3BQcmlvcml0eVRyYXAo
bWFzayk7CiAgICAgICAgIHN3aXRjaCAodHJhcEV2ZW50VHlwZSkgewogICAgICAgICBjYXNlIFZN
VHJhcHM6Ok5lZWREZWJ1Z2dlckJyZWFrOgotICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlRfTk9U
X1JFQUNIRUQoKTsKKyAgICAgICAgICAgIGlmIChPcHRpb25zOjphbHdheXNDaGVja1RyYXBzKCkp
CisgICAgICAgICAgICAgICAgZGF0YUxvZygiVk0gIiwgUmF3UG9pbnRlcih0aGlzKSwgIiBvbiBw
aWQgIiwgZ2V0Q3VycmVudFByb2Nlc3NJRCgpLCAiIHJlY2VpdmVkIE5lZWREZWJ1Z2dlckJyZWFr
IHRyYXBcbiIpOworICAgICAgICAgICAgcmV0dXJuOwogCiAgICAgICAgIGNhc2UgVk1UcmFwczo6
TmVlZFdhdGNoZG9nQ2hlY2s6CiAgICAgICAgICAgICBBU1NFUlQobV93YXRjaGRvZyk7CkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9WTS5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmgJKHJldmlzaW9uIDIxMzMwMikKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmgJKHdvcmtpbmcgY29weSkKQEAgLTY3Niw2ICs2
NzYsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBuZWVkVHJhcEhhbmRsaW5nKFZNVHJhcHM6Ok1hc2sg
bWFzayA9IFZNVHJhcHM6Ok1hc2s6OmFsbEV2ZW50VHlwZXMoKSkgeyByZXR1cm4gbV90cmFwcy5u
ZWVkVHJhcEhhbmRsaW5nKG1hc2spOyB9CiAgICAgdm9pZCogbmVlZFRyYXBIYW5kbGluZ0FkZHJl
c3MoKSB7IHJldHVybiBtX3RyYXBzLm5lZWRUcmFwSGFuZGxpbmdBZGRyZXNzKCk7IH0KIAorICAg
IHZvaWQgbm90aWZ5TmVlZERlYnVnZ2VyQnJlYWsoKSB7IG1fdHJhcHMuZmlyZVRyYXAoVk1UcmFw
czo6TmVlZERlYnVnZ2VyQnJlYWspOyB9CiAgICAgdm9pZCBub3RpZnlOZWVkVGVybWluYXRpb24o
KSB7IG1fdHJhcHMuZmlyZVRyYXAoVk1UcmFwczo6TmVlZFRlcm1pbmF0aW9uKTsgfQogICAgIHZv
aWQgbm90aWZ5TmVlZFdhdGNoZG9nQ2hlY2soKSB7IG1fdHJhcHMuZmlyZVRyYXAoVk1UcmFwczo6
TmVlZFdhdGNoZG9nQ2hlY2spOyB9CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxMzMxMikK
KysrIFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI4
IEBACisyMDE3LTAzLTAyICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KKworICAgICAg
ICBBZGQgV2ViS2l0MiBob29rcyB0byBub3RpZnkgdGhlIFZNIHRoYXQgdGhlIHVzZXIgaGFzIHJl
cXVlc3RlZCBhIGRlYnVnZ2VyIGJyZWFrLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTY5MDg5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgVGltIEhvcnRv
biBhbmQgSm9zZXBoIFBlY29yYXJvLgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAg
ICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViSW5zcGVj
dG9yUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJJbnNwZWN0b3JQcm94eTo6Y29ubmVj
dCk6CisgICAgICAgICogV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3JJbnRlcnJ1cHREaXNwYXRjaGVyLmNw
cDogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6OldlYkluc3BlY3RvckludGVycnVwdERpc3BhdGNo
ZXI6OmNyZWF0ZSk6CisgICAgICAgIChXZWJLaXQ6OldlYkluc3BlY3RvckludGVycnVwdERpc3Bh
dGNoZXI6OldlYkluc3BlY3RvckludGVycnVwdERpc3BhdGNoZXIpOgorICAgICAgICAoV2ViS2l0
OjpXZWJJbnNwZWN0b3JJbnRlcnJ1cHREaXNwYXRjaGVyOjp+V2ViSW5zcGVjdG9ySW50ZXJydXB0
RGlzcGF0Y2hlcik6CisgICAgICAgIChXZWJLaXQ6OldlYkluc3BlY3RvckludGVycnVwdERpc3Bh
dGNoZXI6OmluaXRpYWxpemVDb25uZWN0aW9uKToKKyAgICAgICAgKFdlYktpdDo6V2ViSW5zcGVj
dG9ySW50ZXJydXB0RGlzcGF0Y2hlcjo6bm90aWZ5TmVlZERlYnVnZ2VyQnJlYWspOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3JJbnRlcnJ1cHREaXNwYXRjaGVyLmg6
IEFkZGVkLgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3JJbnRlcnJ1
cHREaXNwYXRjaGVyLm1lc3NhZ2VzLmluOiBBZGRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL1dl
YlByb2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjpXZWJQcm9jZXNzKToK
KyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6aW5pdGlhbGl6ZUNvbm5lY3Rpb24pOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oOgorCiAyMDE3LTAzLTAyICBBYWthc2ggSmFp
biAgPGFha2FzaF9qYWluQGFwcGxlLmNvbT4KIAogICAgICAgICBJc1NtYXJ0UHRyPFdLUmV0YWlu
UHRyPFQ+Pjo6dmFsdWUgc2hvdWxkIG5vdCBiZSBleHBvcnRlZApJbmRleDogU291cmNlL1dlYktp
dDIvQ01ha2VMaXN0cy50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvQ01ha2VMaXN0
cy50eHQJKHJldmlzaW9uIDIxMzMwMikKKysrIFNvdXJjZS9XZWJLaXQyL0NNYWtlTGlzdHMudHh0
CSh3b3JraW5nIGNvcHkpCkBAIC01NzIsNiArNTcyLDcgQEAgc2V0KFdlYktpdDJfU09VUkNFUwog
ICAgIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJEb2N1bWVudExvYWRlci5jcHAKICAgICBXZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViRnJhbWUuY3BwCiAgICAgV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkluc3Bl
Y3Rvci5jcHAKKyAgICBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViSW5zcGVjdG9ySW50ZXJydXB0RGlz
cGF0Y2hlci5jcHAKICAgICBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViSW5zcGVjdG9yRnJvbnRlbmRB
UElEaXNwYXRjaGVyLmNwcAogICAgIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3JVSS5j
cHAKICAgICBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViT3BlblBhbmVsUmVzdWx0TGlzdGVuZXIuY3Bw
CkBAIC02NzksNiArNjgwLDcgQEAgc2V0KFdlYktpdDJfTUVTU0FHRVNfSU5fRklMRVMKICAgICBX
ZWJQcm9jZXNzL1dlYlBhZ2UvUmVtb3RlV2ViSW5zcGVjdG9yVUkubWVzc2FnZXMuaW4KICAgICBX
ZWJQcm9jZXNzL1dlYlBhZ2UvVmlzaXRlZExpbmtUYWJsZUNvbnRyb2xsZXIubWVzc2FnZXMuaW4K
ICAgICBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViSW5zcGVjdG9yLm1lc3NhZ2VzLmluCisgICAgV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYkluc3BlY3RvckludGVycnVwdERpc3BhdGNoZXIubWVzc2FnZXMu
aW4KICAgICBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViSW5zcGVjdG9yVUkubWVzc2FnZXMuaW4KICAg
ICBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgogKQpJbmRleDogU291cmNl
L1dlYktpdDIvRGVyaXZlZFNvdXJjZXMubWFrZQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
Mi9EZXJpdmVkU291cmNlcy5tYWtlCShyZXZpc2lvbiAyMTMzMDIpCisrKyBTb3VyY2UvV2ViS2l0
Mi9EZXJpdmVkU291cmNlcy5tYWtlCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQgKzEsNCBAQAotIyBD
b3B5cmlnaHQgKEMpIDIwMTAsIDIwMTEsIDIwMTIsIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorIyBDb3B5cmlnaHQgKEMpIDIwMTAtMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCiAjCiAjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTE0MCw2ICsxNDAs
NyBAQCBNRVNTQUdFX1JFQ0VJVkVSUyA9IFwKICAgICBXZWJJY29uRGF0YWJhc2UgXAogICAgIFdl
Ykljb25EYXRhYmFzZVByb3h5IFwKICAgICBXZWJJbnNwZWN0b3IgXAorICAgIFdlYkluc3BlY3Rv
ckludGVycnVwdERpc3BhdGNoZXIgXAogICAgIFdlYkluc3BlY3RvclByb3h5IFwKICAgICBXZWJJ
bnNwZWN0b3JVSSBcCiAgICAgV2ViTm90aWZpY2F0aW9uTWFuYWdlciBcCkluZGV4OiBTb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViSW5zcGVjdG9yUHJveHkuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJJbnNwZWN0b3JQcm94eS5jcHAJKHJldmlzaW9uIDIx
MzMwMikKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJJbnNwZWN0b3JQcm94eS5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDEw
LCAyMDE0LCAyMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdo
dCAoQykgMjAxMC0yMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIFBvcnRp
b25zIENvcHlyaWdodCAoYykgMjAxMSBNb3Rvcm9sYSBNb2JpbGl0eSwgSW5jLiAgQWxsIHJpZ2h0
cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKQEAgLTM1LDYgKzM1LDcgQEAKICNpbmNsdWRl
ICJXZWJBdXRvbWF0aW9uU2Vzc2lvbi5oIgogI2luY2x1ZGUgIldlYkZyYW1lUG9saWN5TGlzdGVu
ZXJQcm94eS5oIgogI2luY2x1ZGUgIldlYkZyYW1lUHJveHkuaCIKKyNpbmNsdWRlICJXZWJJbnNw
ZWN0b3JJbnRlcnJ1cHREaXNwYXRjaGVyTWVzc2FnZXMuaCIKICNpbmNsdWRlICJXZWJJbnNwZWN0
b3JNZXNzYWdlcy5oIgogI2luY2x1ZGUgIldlYkluc3BlY3RvclByb3h5TWVzc2FnZXMuaCIKICNp
bmNsdWRlICJXZWJJbnNwZWN0b3JVSU1lc3NhZ2VzLmgiCkBAIC0xMjEsNiArMTIyLDcgQEAgdm9p
ZCBXZWJJbnNwZWN0b3JQcm94eTo6Y29ubmVjdCgpCiAKICAgICBlYWdlcmx5Q3JlYXRlSW5zcGVj
dG9yUGFnZSgpOwogCisgICAgbV9pbnNwZWN0ZWRQYWdlLT5wcm9jZXNzKCkuc2VuZChNZXNzYWdl
czo6V2ViSW5zcGVjdG9ySW50ZXJydXB0RGlzcGF0Y2hlcjo6Tm90aWZ5TmVlZERlYnVnZ2VyQnJl
YWsoKSwgMCk7CiAgICAgbV9pbnNwZWN0ZWRQYWdlLT5wcm9jZXNzKCkuc2VuZChNZXNzYWdlczo6
V2ViSW5zcGVjdG9yOjpTaG93KCksIG1faW5zcGVjdGVkUGFnZS0+cGFnZUlEKCkpOwogfQogCklu
ZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCShyZXZpc2lvbiAyMTMzMDIpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTE5NzAsNiArMTk3MCwxMCBAQAog
CQlGNkE5MDgxMzEzM0MyMDUxMDA4MkMzRjQgLyogV2ViQ29va2llTWFuYWdlck1hYy5tbSBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY2QTkwODExMTMzQzFG
M0QwMDgyQzNGNCAvKiBXZWJDb29raWVNYW5hZ2VyTWFjLm1tICovOyB9OwogCQlGNkQ2MzJCQzEz
M0QxOTgyMDA3NDNENzcgLyogV2ViQ29va2llTWFuYWdlclByb3h5TWFjLm1tIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjZENjMyQkExMzNEMTgxQjAwNzQz
RDc3IC8qIFdlYkNvb2tpZU1hbmFnZXJQcm94eU1hYy5tbSAqLzsgfTsKIAkJRkVEM0MxREMxQjQ0
N0VBQzAwRTBFQjdGIC8qIEFQSVNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUNvY29hLm1tIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkVEM0MxREExQjQ0N0FFODAw
RTBFQjdGIC8qIEFQSVNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUNvY29hLm1tICovOyB9OworCQlGRURC
RENENjFFNjhEMjAwMDBBNTlGOEYgLyogV2ViSW5zcGVjdG9ySW50ZXJydXB0RGlzcGF0Y2hlck1l
c3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBGRURCRENENDFFNjhEMTlDMDBBNTlGOEYgLyogV2ViSW5zcGVjdG9ySW50ZXJydXB0
RGlzcGF0Y2hlck1lc3NhZ2VSZWNlaXZlci5jcHAgKi87IH07CisJCUZFREJEQ0Q3MUU2OEQyMDUw
MEE1OUY4RiAvKiBXZWJJbnNwZWN0b3JJbnRlcnJ1cHREaXNwYXRjaGVyTWVzc2FnZXMuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZFREJEQ0Q1MUU2OEQx
OUMwMEE1OUY4RiAvKiBXZWJJbnNwZWN0b3JJbnRlcnJ1cHREaXNwYXRjaGVyTWVzc2FnZXMuaCAq
LzsgfTsKKwkJRkVFNDNGRDMxRTY3QjAxODAwNzdENkQxIC8qIFdlYkluc3BlY3RvckludGVycnVw
dERpc3BhdGNoZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEZFRTQzRkQxMUU2N0FGQzYwMDc3RDZEMSAvKiBXZWJJbnNwZWN0b3JJbnRlcnJ1cHREaXNw
YXRjaGVyLmggKi87IH07CisJCUZFRTQzRkQ0MUU2N0IwMjEwMDc3RDZEMSAvKiBXZWJJbnNwZWN0
b3JJbnRlcnJ1cHREaXNwYXRjaGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEZFRTQzRkQwMUU2N0FGQzYwMDc3RDZEMSAvKiBXZWJJbnNwZWN0b3JJ
bnRlcnJ1cHREaXNwYXRjaGVyLmNwcCAqLzsgfTsKIC8qIEVuZCBQQlhCdWlsZEZpbGUgc2VjdGlv
biAqLwogCiAvKiBCZWdpbiBQQlhDb250YWluZXJJdGVtUHJveHkgc2VjdGlvbiAqLwpAQCAtNDIz
Nyw2ICs0MjQxLDExIEBACiAJCUY2QTkwODExMTMzQzFGM0QwMDgyQzNGNCAvKiBXZWJDb29raWVN
YW5hZ2VyTWFjLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gV2Vi
Q29va2llTWFuYWdlck1hYy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjZENjMy
QkExMzNEMTgxQjAwNzQzRDc3IC8qIFdlYkNvb2tpZU1hbmFnZXJQcm94eU1hYy5tbSAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdlYkNvb2tpZU1hbmFnZXJQcm94eU1h
Yy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkVEM0MxREExQjQ0N0FFODAwRTBF
QjdGIC8qIEFQSVNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUNvY29hLm1tICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAub2JqY3BwOyBwYXRoID0gQVBJU2VyaWFsaXplZFNjcmlwdFZhbHVlQ29jb2EubW07
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUZFREJEQ0Q0MUU2OEQxOUMwMEE1OUY4RiAv
KiBXZWJJbnNwZWN0b3JJbnRlcnJ1cHREaXNwYXRjaGVyTWVzc2FnZVJlY2VpdmVyLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYkluc3BlY3RvckludGVycnVwdERp
c3BhdGNoZXJNZXNzYWdlUmVjZWl2ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQlGRURCRENENTFFNjhEMTlDMDBBNTlGOEYgLyogV2ViSW5zcGVjdG9ySW50ZXJydXB0RGlzcGF0
Y2hlck1lc3NhZ2VzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkluc3Bl
Y3RvckludGVycnVwdERpc3BhdGNoZXJNZXNzYWdlcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQlGRUU0M0ZEMDFFNjdBRkM2MDA3N0Q2RDEgLyogV2ViSW5zcGVjdG9ySW50ZXJydXB0
RGlzcGF0Y2hlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJJ
bnNwZWN0b3JJbnRlcnJ1cHREaXNwYXRjaGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJRkVFNDNGRDExRTY3QUZDNjAwNzdENkQxIC8qIFdlYkluc3BlY3RvckludGVycnVwdERp
c3BhdGNoZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViSW5zcGVjdG9y
SW50ZXJydXB0RGlzcGF0Y2hlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGRUU0
M0ZEMjFFNjdBRkM2MDA3N0Q2RDEgLyogV2ViSW5zcGVjdG9ySW50ZXJydXB0RGlzcGF0Y2hlci5t
ZXNzYWdlcy5pbiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBXZWJJbnNwZWN0b3JJbnRlcnJ1cHRE
aXNwYXRjaGVyLm1lc3NhZ2VzLmluOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogLyogRW5k
IFBCWEZpbGVSZWZlcmVuY2Ugc2VjdGlvbiAqLwogCiAvKiBCZWdpbiBQQlhGcmFtZXdvcmtzQnVp
bGRQaGFzZSBzZWN0aW9uICovCkBAIC02NDQ2LDYgKzY0NTUsOSBAQAogCQkJCTFDOEUyQTFDMTI3
NzgzM0YwMEJDN0JEMCAvKiBXZWJJbnNwZWN0b3IubWVzc2FnZXMuaW4gKi8sCiAJCQkJQTU1QkE4
MzIxQkEzRTZGQTAwN0NEMzNEIC8qIFdlYkluc3BlY3RvckZyb250ZW5kQVBJRGlzcGF0Y2hlci5j
cHAgKi8sCiAJCQkJQTU1QkE4MzMxQkEzRTZGQTAwN0NEMzNEIC8qIFdlYkluc3BlY3RvckZyb250
ZW5kQVBJRGlzcGF0Y2hlci5oICovLAorCQkJCUZFRTQzRkQwMUU2N0FGQzYwMDc3RDZEMSAvKiBX
ZWJJbnNwZWN0b3JJbnRlcnJ1cHREaXNwYXRjaGVyLmNwcCAqLywKKwkJCQlGRUU0M0ZEMTFFNjdB
RkM2MDA3N0Q2RDEgLyogV2ViSW5zcGVjdG9ySW50ZXJydXB0RGlzcGF0Y2hlci5oICovLAorCQkJ
CUZFRTQzRkQyMUU2N0FGQzYwMDc3RDZEMSAvKiBXZWJJbnNwZWN0b3JJbnRlcnJ1cHREaXNwYXRj
aGVyLm1lc3NhZ2VzLmluICovLAogCQkJCTFDODkxRDYyMTlCMTI0RkYwMEJBNzlERCAvKiBXZWJJ
bnNwZWN0b3JVSS5jcHAgKi8sCiAJCQkJMUM4OTFENjMxOUIxMjRGRjAwQkE3OUREIC8qIFdlYklu
c3BlY3RvclVJLmggKi8sCiAJCQkJMUM4OTFENjQxOUIxMjRGRjAwQkE3OUREIC8qIFdlYkluc3Bl
Y3RvclVJLm1lc3NhZ2VzLmluICovLApAQCAtNzYxNiw2ICs3NjI4LDggQEAKIAkJCQk1MTA1MjM3
ODFDNzNEQTcwMDA3OTkzQ0IgLyogV2ViSURCQ29ubmVjdGlvblRvQ2xpZW50TWVzc2FnZXMuaCAq
LywKIAkJCQk1MTA1MjM3MjFDNzNEMzdCMDA3OTkzQ0IgLyogV2ViSURCQ29ubmVjdGlvblRvU2Vy
dmVyTWVzc2FnZVJlY2VpdmVyLmNwcCAqLywKIAkJCQk1MTA1MjM3MzFDNzNEMzdCMDA3OTkzQ0Ig
LyogV2ViSURCQ29ubmVjdGlvblRvU2VydmVyTWVzc2FnZXMuaCAqLywKKwkJCQlGRURCRENENDFF
NjhEMTlDMDBBNTlGOEYgLyogV2ViSW5zcGVjdG9ySW50ZXJydXB0RGlzcGF0Y2hlck1lc3NhZ2VS
ZWNlaXZlci5jcHAgKi8sCisJCQkJRkVEQkRDRDUxRTY4RDE5QzAwQTU5RjhGIC8qIFdlYkluc3Bl
Y3RvckludGVycnVwdERpc3BhdGNoZXJNZXNzYWdlcy5oICovLAogCQkJCTFDOEUyQTMxMTI3Nzg1
MjQwMEJDN0JEMCAvKiBXZWJJbnNwZWN0b3JNZXNzYWdlUmVjZWl2ZXIuY3BwICovLAogCQkJCTFD
OEUyQTMyMTI3Nzg1MjQwMEJDN0JEMCAvKiBXZWJJbnNwZWN0b3JNZXNzYWdlcy5oICovLAogCQkJ
CTFDQThCOTQzMTI3Qzg4MkEwMDU3NkMyQiAvKiBXZWJJbnNwZWN0b3JQcm94eU1lc3NhZ2VSZWNl
aXZlci5jcHAgKi8sCkBAIC04NTYyLDYgKzg1NzYsNyBAQAogCQkJCUJDMjA0RUVGMTFDODNFQzgw
MDhGMzM3NSAvKiBXS0J1bmRsZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMyMDRFRjAxMUM4M0VD
ODAwOEYzMzc1IC8qIFdLQnVuZGxlQVBJQ2FzdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTM1RUVC
OUYxMjc3NjFBQzAwMzMyMkI4IC8qIFdLQnVuZGxlQmFja0ZvcndhcmRMaXN0LmggaW4gSGVhZGVy
cyAqLywKKwkJCQlGRURCRENENzFFNjhEMjA1MDBBNTlGOEYgLyogV2ViSW5zcGVjdG9ySW50ZXJy
dXB0RGlzcGF0Y2hlck1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLywKIAkJCQk5MzVFRUI5QjEyNzc2
MTdDMDAzMzIyQjggLyogV0tCdW5kbGVCYWNrRm9yd2FyZExpc3RJdGVtLmggaW4gSGVhZGVycyAq
LywKIAkJCQk1MUVGQzFDRjE1MjRFNjI1MDBDOUE5MzggLyogV0tCdW5kbGVET01XaW5kb3dFeHRl
bnNpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTdDQkI4MTIxMUFBMEY5NzAwMDZCMTk0MiAvKiBX
S0J1bmRsZUZpbGVIYW5kbGVSZWYuaCBpbiBIZWFkZXJzICovLApAQCAtODc3Niw2ICs4NzkxLDcg
QEAKIAkJCQkxQTdFMzc3NTE4RTRBMzNBMDAzRDBGRkYgLyogV0tTY3JpcHRNZXNzYWdlSGFuZGxl
ci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0NDOTlBMzYxOEVGN0NCQzAwNDhDOEI0IC8qIFdLU2Ny
aXB0TWVzc2FnZUludGVybmFsLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRkNCNEU1NDE4QkJFMDQ0
MDAwRkNGQzkgLyogV0tTY3JvbGxWaWV3LmggaW4gSGVhZGVycyAqLywKKwkJCQlGRUU0M0ZEMzFF
NjdCMDE4MDA3N0Q2RDEgLyogV2ViSW5zcGVjdG9ySW50ZXJydXB0RGlzcGF0Y2hlci5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJNTFDRDFDNjUxQjM0QjlENDAwMTQyQ0E1IC8qIFdLU2VjdXJpdHlPcmln
aW4uaCBpbiBIZWFkZXJzICovLAogCQkJCTUxQ0QxQzY3MUIzNEI5REYwMDE0MkNBNSAvKiBXS1Nl
Y3VyaXR5T3JpZ2luSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxQ0QxQzVFMUIzNDkz
QjQwMDE0MkNBNSAvKiBXS1NlY3VyaXR5T3JpZ2luUmVmLmggaW4gSGVhZGVycyAqLywKQEAgLTk3
MzAsNiArOTc0Niw3IEBACiAJCQkJMUEyRDgyQTYxMjdGNEVBQjAwMUVCOTYyIC8qIE5QT2JqZWN0
UHJveHkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUEyRDgyQTgxMjdGNEVBQjAwMUVCOTYyIC8q
IE5QUmVtb3RlT2JqZWN0TWFwLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFBMjE2MUIxMTFGMzc2
NjQwMDhBRDBGNSAvKiBOUFJ1bnRpbWVPYmplY3RNYXAuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJ
RkVFNDNGRDQxRTY3QjAyMTAwNzdENkQxIC8qIFdlYkluc3BlY3RvckludGVycnVwdERpc3BhdGNo
ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUEyMTYyQjAxMUYzODk3MTAwOEFEMEY1IC8qIE5Q
UnVudGltZVV0aWxpdGllcy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxQTJEODRBNDEyN0Y2QUQx
MDAxRUI5NjIgLyogTlBWYXJpYW50RGF0YS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzhBQ0Ex
NDE2NjcwRDg5MDA0QzE5NDEgLyogT2JqQ09iamVjdEdyYXBoLm1tIGluIFNvdXJjZXMgKi8sCkBA
IC0xMDIxMyw2ICsxMDIzMCw3IEBACiAJCQkJNTExMEFFMEMxMzNDMTZDQjAwNzI3MTdBIC8qIFdL
SWNvbkRhdGFiYXNlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUxMjNDRjFCMTMzRDI2MEEwMDU2
RjgwMCAvKiBXS0ljb25EYXRhYmFzZUNHLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDQ0Y2QUMy
MTJDOTFGMzQwMDhGOUMzNSAvKiBXS0ltYWdlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUZFREJE
Q0Q2MUU2OEQyMDAwMEE1OUY4RiAvKiBXZWJJbnNwZWN0b3JJbnRlcnJ1cHREaXNwYXRjaGVyTWVz
c2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDQ0Y2QUM5MTJDOTFGNTkwMDhG
OUMzNSAvKiBXS0ltYWdlQ0cuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTMzREY4MzAxQjNCQzBC
NDAwQUVBOUUzIC8qIFdLSW1hZ2VQcmV2aWV3Vmlld0NvbnRyb2xsZXIubW0gaW4gU291cmNlcyAq
LywKIAkJCQk5MzIxRDU4ODFBMzhFRTc0MDA4MDUyQkUgLyogV0tJbW1lZGlhdGVBY3Rpb25Db250
cm9sbGVyLm1tIGluIFNvdXJjZXMgKi8sCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlByb2Nlc3MuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUHJvY2Vzcy5jcHAJKHJldmlzaW9uIDIxMzMwMikKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUHJvY2Vzcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE1Nyw2ICsxNTcsNyBAQCBX
ZWJQcm9jZXNzOjpXZWJQcm9jZXNzKCkKICNpZiBQTEFURk9STShJT1MpCiAgICAgLCBtX3ZpZXdV
cGRhdGVEaXNwYXRjaGVyKFZpZXdVcGRhdGVEaXNwYXRjaGVyOjpjcmVhdGUoKSkKICNlbmRpZgor
ICAgICwgbV93ZWJJbnNwZWN0b3JJbnRlcnJ1cHREaXNwYXRjaGVyKFdlYkluc3BlY3RvckludGVy
cnVwdERpc3BhdGNoZXI6OmNyZWF0ZSgpKQogICAgICwgbV9pY29uRGF0YWJhc2VQcm94eSgqbmV3
IFdlYkljb25EYXRhYmFzZVByb3h5KCp0aGlzKSkKICAgICAsIG1fd2ViTG9hZGVyU3RyYXRlZ3ko
Km5ldyBXZWJMb2FkZXJTdHJhdGVneSkKICAgICAsIG1fZG5zUHJlZmV0Y2hIeXN0ZXJlcmlzKFt0
aGlzXShIeXN0ZXJlc2lzU3RhdGUgc3RhdGUpIHsgaWYgKHN0YXRlID09IEh5c3RlcmVzaXNTdGF0
ZTo6U3RvcHBlZCkgbV9kbnNQcmVmZXRjaGVkSG9zdHMuY2xlYXIoKTsgfSkKQEAgLTIyMSw2ICsy
MjIsNyBAQCB2b2lkIFdlYlByb2Nlc3M6OmluaXRpYWxpemVDb25uZWN0aW9uKElQCiAjaWYgUExB
VEZPUk0oSU9TKQogICAgIG1fdmlld1VwZGF0ZURpc3BhdGNoZXItPmluaXRpYWxpemVDb25uZWN0
aW9uKGNvbm5lY3Rpb24pOwogI2VuZGlmIC8vIFBMQVRGT1JNKElPUykKKyAgICBtX3dlYkluc3Bl
Y3RvckludGVycnVwdERpc3BhdGNoZXItPmluaXRpYWxpemVDb25uZWN0aW9uKGNvbm5lY3Rpb24p
OwogCiAjaWYgRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCiAgICAgbV9wbHVnaW5Qcm9jZXNz
Q29ubmVjdGlvbk1hbmFnZXItPmluaXRpYWxpemVDb25uZWN0aW9uKGNvbm5lY3Rpb24pOwpJbmRl
eDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgJKHJldmlzaW9uIDIxMzMwMikK
KysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCSh3b3JraW5nIGNvcHkp
CkBAIC0zNiw2ICszNiw3IEBACiAjaW5jbHVkZSAiVGV4dENoZWNrZXJTdGF0ZS5oIgogI2luY2x1
ZGUgIlZpZXdVcGRhdGVEaXNwYXRjaGVyLmgiCiAjaW5jbHVkZSAiVmlzaXRlZExpbmtUYWJsZS5o
IgorI2luY2x1ZGUgIldlYkluc3BlY3RvckludGVycnVwdERpc3BhdGNoZXIuaCIKICNpbmNsdWRl
IDxXZWJDb3JlL0h5c3RlcmVzaXNBY3Rpdml0eS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc1N0b3JlLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9TZXNzaW9uSUQuaD4K
QEAgLTM1MSw2ICszNTIsNyBAQCBwcml2YXRlOgogI2lmIFBMQVRGT1JNKElPUykKICAgICBSZWZQ
dHI8Vmlld1VwZGF0ZURpc3BhdGNoZXI+IG1fdmlld1VwZGF0ZURpc3BhdGNoZXI7CiAjZW5kaWYK
KyAgICBSZWZQdHI8V2ViSW5zcGVjdG9ySW50ZXJydXB0RGlzcGF0Y2hlcj4gbV93ZWJJbnNwZWN0
b3JJbnRlcnJ1cHREaXNwYXRjaGVyOwogCiAgICAgSGFzaE1hcDxXZWJDb3JlOjpTZXNzaW9uSUQs
IEhhc2hNYXA8dW5zaWduZWQsIGRvdWJsZT4+IG1fcGx1Z0luQXV0b1N0YXJ0T3JpZ2luSGFzaGVz
OwogICAgIEhhc2hTZXQ8U3RyaW5nPiBtX3BsdWdJbkF1dG9TdGFydE9yaWdpbnM7CkluZGV4OiBT
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViSW5zcGVjdG9ySW50ZXJydXB0RGlz
cGF0Y2hlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL1dlYkluc3BlY3RvckludGVycnVwdERpc3BhdGNoZXIuY3BwCShub25leGlzdGVudCkKKysr
IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3JJbnRlcnJ1cHRE
aXNwYXRjaGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDYxIEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBD
T05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAq
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisg
KiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIldlYkluc3BlY3RvckludGVycnVwdERp
c3BhdGNoZXIuaCIKKworI2luY2x1ZGUgIldlYkluc3BlY3RvckludGVycnVwdERpc3BhdGNoZXJN
ZXNzYWdlcy5oIgorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL1ZNLmg+CisjaW5jbHVkZSA8V2Vi
Q29yZS9Db21tb25WTS5oPgorI2luY2x1ZGUgPHd0Zi9Xb3JrUXVldWUuaD4KKworbmFtZXNwYWNl
IFdlYktpdCB7CisgICAgCitSZWY8V2ViSW5zcGVjdG9ySW50ZXJydXB0RGlzcGF0Y2hlcj4gV2Vi
SW5zcGVjdG9ySW50ZXJydXB0RGlzcGF0Y2hlcjo6Y3JlYXRlKCkKK3sKKyAgICByZXR1cm4gYWRv
cHRSZWYoKm5ldyBXZWJJbnNwZWN0b3JJbnRlcnJ1cHREaXNwYXRjaGVyKTsKK30KKworV2ViSW5z
cGVjdG9ySW50ZXJydXB0RGlzcGF0Y2hlcjo6V2ViSW5zcGVjdG9ySW50ZXJydXB0RGlzcGF0Y2hl
cigpCisgICAgOiBtX3F1ZXVlKFdvcmtRdWV1ZTo6Y3JlYXRlKCJjb20uYXBwbGUuV2ViS2l0Lldl
Ykluc3BlY3RvckludGVycnVwdERpc3BhdGNoZXIiKSkKK3sKK30KKworV2ViSW5zcGVjdG9ySW50
ZXJydXB0RGlzcGF0Y2hlcjo6fldlYkluc3BlY3RvckludGVycnVwdERpc3BhdGNoZXIoKQorewor
fQorCit2b2lkIFdlYkluc3BlY3RvckludGVycnVwdERpc3BhdGNoZXI6OmluaXRpYWxpemVDb25u
ZWN0aW9uKElQQzo6Q29ubmVjdGlvbiogY29ubmVjdGlvbikKK3sKKyAgICBjb25uZWN0aW9uLT5h
ZGRXb3JrUXVldWVNZXNzYWdlUmVjZWl2ZXIoTWVzc2FnZXM6OldlYkluc3BlY3RvckludGVycnVw
dERpc3BhdGNoZXI6Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSwgbV9xdWV1ZS5nZXQoKSwgdGhpcyk7
Cit9CisKK3ZvaWQgV2ViSW5zcGVjdG9ySW50ZXJydXB0RGlzcGF0Y2hlcjo6bm90aWZ5TmVlZERl
YnVnZ2VyQnJlYWsoKQoreworICAgIEpTQzo6Vk0mIHZtID0gV2ViQ29yZTo6Y29tbW9uVk0oKTsK
KyAgICB2bS5ub3RpZnlOZWVkRGVidWdnZXJCcmVhaygpOworfQorCit9IC8vIG5hbWVzcGFjZSBX
ZWJLaXQKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0
b3JJbnRlcnJ1cHREaXNwYXRjaGVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYkluc3BlY3RvckludGVycnVwdERpc3BhdGNoZXIuaAkobm9uZXhp
c3RlbnQpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViSW5zcGVjdG9y
SW50ZXJydXB0RGlzcGF0Y2hlci5oCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDkgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBB
TkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgIkNvbm5lY3Rpb24uaCIKKworbmFt
ZXNwYWNlIFdlYktpdCB7CisKK2NsYXNzIFdlYkluc3BlY3RvckludGVycnVwdERpc3BhdGNoZXIg
OiBwdWJsaWMgSVBDOjpDb25uZWN0aW9uOjpXb3JrUXVldWVNZXNzYWdlUmVjZWl2ZXIgeworcHVi
bGljOgorICAgIHN0YXRpYyBSZWY8V2ViSW5zcGVjdG9ySW50ZXJydXB0RGlzcGF0Y2hlcj4gY3Jl
YXRlKCk7CisgICAgfldlYkluc3BlY3RvckludGVycnVwdERpc3BhdGNoZXIoKTsKKyAgICAKKyAg
ICB2b2lkIGluaXRpYWxpemVDb25uZWN0aW9uKElQQzo6Q29ubmVjdGlvbiopOworICAgIAorcHJp
dmF0ZToKKyAgICBXZWJJbnNwZWN0b3JJbnRlcnJ1cHREaXNwYXRjaGVyKCk7CisgICAgLy8gSVBD
OjpDb25uZWN0aW9uOjpXb3JrUXVldWVNZXNzYWdlUmVjZWl2ZXIuCisgICAgdm9pZCBkaWRSZWNl
aXZlTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6OkRlY29kZXImKSBvdmVycmlkZTsKKyAg
ICAKKyAgICB2b2lkIG5vdGlmeU5lZWREZWJ1Z2dlckJyZWFrKCk7CisgICAgCisgICAgUmVmPFdv
cmtRdWV1ZT4gbV9xdWV1ZTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdApJbmRleDogU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkluc3BlY3RvckludGVycnVwdERpc3Bh
dGNoZXIubWVzc2FnZXMuaW4KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYkluc3BlY3RvckludGVycnVwdERpc3BhdGNoZXIubWVzc2FnZXMuaW4JKG5v
bmV4aXN0ZW50KQorKysgU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkluc3Bl
Y3RvckludGVycnVwdERpc3BhdGNoZXIubWVzc2FnZXMuaW4JKHdvcmtpbmcgY29weSkKQEAgLTAs
MCArMSwyNSBAQAorIyBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorIworIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisjIGFyZSBtZXQ6CisjIDEuICBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorIyAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyMgICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisjCisjIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5ECisjIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVECisjIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyMgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IKKyMgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TAorIyBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUgorIyBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUgorIyBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLAorIyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorIyBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCittZXNz
YWdlcyAtPiBXZWJJbnNwZWN0b3JJbnRlcnJ1cHREaXNwYXRjaGVyIHsKKyAgICBOb3RpZnlOZWVk
RGVidWdnZXJCcmVhaygpCit9Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>