<?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>59320</bug_id>
          
          <creation_ts>2011-04-25 04:33:24 -0700</creation_ts>
          <short_desc>Web Inspector: introduce InspectorWorkerAgent</short_desc>
          <delta_ts>2011-04-25 06:28:17 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>58541</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Yury Semikhatsky">yurys</reporter>
          <assigned_to name="Yury Semikhatsky">yurys</assigned_to>
          <cc>apavlov</cc>
    
    <cc>bweinstein</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>391742</commentid>
    <comment_count>0</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2011-04-25 04:33:24 -0700</bug_when>
    <thetext>We need an agent that would communicate with workers inside the inspected page and allow connecting to the inspector of the corresponding worker context.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>391743</commentid>
    <comment_count>1</comment_count>
      <attachid>90914</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2011-04-25 06:01:16 -0700</bug_when>
    <thetext>Created attachment 90914
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>391744</commentid>
    <comment_count>2</comment_count>
      <attachid>90914</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-04-25 06:08:43 -0700</bug_when>
    <thetext>Comment on attachment 90914
Patch

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

&gt; Source/WebCore/inspector/Inspector.json:1683
&gt; +                &quot;name&quot;: &quot;dispatchMessageOnWorkerInspector&quot;,

Which way is what? sendMessageToWorker

&gt; Source/WebCore/inspector/Inspector.json:1698
&gt; +                &quot;name&quot;: &quot;dispatchMessageFromWorker&quot;,

dispatchMessageFromWorker

&gt; Source/WebCore/inspector/Inspector.json:1703
&gt; +            },

Please remove trailing coma.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>391745</commentid>
    <comment_count>3</comment_count>
      <attachid>90915</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2011-04-25 06:24:06 -0700</bug_when>
    <thetext>Created attachment 90915
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>391746</commentid>
    <comment_count>4</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2011-04-25 06:24:33 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 90914 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=90914&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/inspector/Inspector.json:1683
&gt; &gt; +                &quot;name&quot;: &quot;dispatchMessageOnWorkerInspector&quot;,
&gt; 
&gt; Which way is what? sendMessageToWorker
&gt;
Done.
 
&gt; &gt; Source/WebCore/inspector/Inspector.json:1698
&gt; &gt; +                &quot;name&quot;: &quot;dispatchMessageFromWorker&quot;,
&gt; 
&gt; dispatchMessageFromWorker
&gt; 
Done.

&gt; &gt; Source/WebCore/inspector/Inspector.json:1703
&gt; &gt; +            },
&gt; 
&gt; Please remove trailing coma.
Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>391747</commentid>
    <comment_count>5</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2011-04-25 06:28:17 -0700</bug_when>
    <thetext>Committed r84773: &lt;http://trac.webkit.org/changeset/84773&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>90914</attachid>
            <date>2011-04-25 06:01:16 -0700</date>
            <delta_ts>2011-04-25 06:08:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-59320-20110425170113.patch</filename>
            <type>text/plain</type>
            <size>38459</size>
            <attacher name="Yury Semikhatsky">yurys</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODQ3NzIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NN
YWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggOTk1Y2Rh
Y2M0MWY4MjkzYjY3MzRkNGFiOWU2OTM3ZWUzYzJlNGY3Yy4uZDgyODA4ODU3ZmQ5NzVmNGYxMGY2
ZGE0NWM4MWRkYTE0NGY2NDliZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0
cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTkyMyw2ICs5MjMs
NyBAQCBTRVQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgaW5zcGVjdG9yL0luc3BlY3RvclN0eWxlU2hl
ZXQuY3BwCiAgICAgaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuY3BwCiAgICAgaW5z
cGVjdG9yL0luc3BlY3RvclZhbHVlcy5jcHAKKyAgICBpbnNwZWN0b3IvSW5zcGVjdG9yV29ya2Vy
QWdlbnQuY3BwCiAgICAgaW5zcGVjdG9yL1BhZ2VEZWJ1Z2dlckFnZW50LmNwcAogICAgIGluc3Bl
Y3Rvci9TY3JpcHRBcmd1bWVudHMuY3BwCiAgICAgaW5zcGVjdG9yL1NjcmlwdENhbGxGcmFtZS5j
cHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZwppbmRleCA2MjBiMWNiM2Q3MGE5ODdmYTMyNDZkNGY1YTcxMzM2NGFkYWU2YjRl
Li42YzYyODljOGYyMGNiNzlhZjUwMzI3ZjYyMDM1MTM1Y2Q5MDU5YzJkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsNjggQEAKKzIwMTEtMDQtMjUgIFl1cnkgU2VtaWtoYXRza3kgIDx5dXJ5c0BjaHJv
bWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgV2ViIEluc3BlY3RvcjogaW50cm9kdWNlIEluc3BlY3RvcldvcmtlckFnZW50CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01OTMyMAorCisgICAgICAg
IEluc3BlY3RvcldvcmtlckFnZW50IGlzIHJlc3BvbnNpYmxlIGZvciByb3V0aW5nIGluc3BlY3Rv
ciBtZXNzYWdlcworICAgICAgICBiZXR3ZWVuIHdvcmtlciBjb250ZXh0IGluc3BlY3RvciBhZ2Vu
dHMgYW5kIGNvcnJlc3BvbmRpbmcgd29ya2VyCisgICAgICAgIGluc3BlY3RvciBmcm9udC1lbmQu
CisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0
LmFtOgorICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBXZWJDb3JlLnBybzoKKyAg
ICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAgICAgKiBXZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogaW5zcGVjdG9yL0NvZGVHZW5l
cmF0b3JJbnNwZWN0b3IucG06CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uOgor
ICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JBZ2VudC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpJbnNwZWN0b3JBZ2VudDo6SW5zcGVjdG9yQWdlbnQpOgorICAgICAgICAoV2ViQ29yZTo6SW5z
cGVjdG9yQWdlbnQ6OnNldEZyb250ZW5kKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckFn
ZW50OjpkaXNjb25uZWN0RnJvbnRlbmQpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JB
Z2VudC5oOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQWdlbnQ6OndvcmtlckFnZW50KToK
KyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpJbnNwZWN0b3JDb250cm9sbGVyOjpjb25uZWN0RnJvbnRlbmQpOgorICAgICAgICAo
V2ViQ29yZTo6SW5zcGVjdG9yQ29udHJvbGxlcjo6ZGlzY29ubmVjdEZyb250ZW5kKToKKyAgICAg
ICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkU3RhcnRXb3JrZXJDb250ZXh0SW1w
bCk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oOgorICAg
ICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxsU3RhcnRXb3JrZXJD
b250ZXh0KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlk
U3RhcnRXb3JrZXJDb250ZXh0KToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yV29ya2Vy
QWdlbnQuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvcldvcmtlckFnZW50
OjpXb3JrZXJGcm9udGVuZENoYW5uZWw6OldvcmtlckZyb250ZW5kQ2hhbm5lbCk6CisgICAgICAg
IChXZWJDb3JlOjpJbnNwZWN0b3JXb3JrZXJBZ2VudDo6V29ya2VyRnJvbnRlbmRDaGFubmVsOjp+
V29ya2VyRnJvbnRlbmRDaGFubmVsKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvcldvcmtl
ckFnZW50OjpXb3JrZXJGcm9udGVuZENoYW5uZWw6OmlkKToKKyAgICAgICAgKFdlYkNvcmU6Oklu
c3BlY3RvcldvcmtlckFnZW50OjpXb3JrZXJGcm9udGVuZENoYW5uZWw6Omluc3BlY3RvclByb3h5
KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvcldvcmtlckFnZW50OjpXb3JrZXJGcm9udGVu
ZENoYW5uZWw6OnNlbmRNZXNzYWdlVG9Gcm9udGVuZCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNw
ZWN0b3JXb3JrZXJBZ2VudDo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvcldv
cmtlckFnZW50OjpJbnNwZWN0b3JXb3JrZXJBZ2VudCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNw
ZWN0b3JXb3JrZXJBZ2VudDo6fkluc3BlY3RvcldvcmtlckFnZW50KToKKyAgICAgICAgKFdlYkNv
cmU6Okluc3BlY3RvcldvcmtlckFnZW50OjpzZXRGcm9udGVuZCk6CisgICAgICAgIChXZWJDb3Jl
OjpJbnNwZWN0b3JXb3JrZXJBZ2VudDo6Y2xlYXJGcm9udGVuZCk6CisgICAgICAgIChXZWJDb3Jl
OjpJbnNwZWN0b3JXb3JrZXJBZ2VudDo6ZGlzcGF0Y2hNZXNzYWdlT25Xb3JrZXJJbnNwZWN0b3Ip
OgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yV29ya2VyQWdlbnQ6OmRpZFN0YXJ0V29ya2Vy
Q29udGV4dCk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvcldvcmtlckFnZW50Lmg6IEFk
ZGVkLgorICAgICAgICAqIGluc3BlY3Rvci9JbnN0cnVtZW50aW5nQWdlbnRzLmg6CisgICAgICAg
IChXZWJDb3JlOjpJbnN0cnVtZW50aW5nQWdlbnRzOjpJbnN0cnVtZW50aW5nQWdlbnRzKToKKyAg
ICAgICAgKFdlYkNvcmU6Okluc3RydW1lbnRpbmdBZ2VudHM6Omluc3BlY3RvcldvcmtlckFnZW50
KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3RydW1lbnRpbmdBZ2VudHM6OnNldEluc3BlY3Rvcldv
cmtlckFnZW50KToKKyAgICAgICAgKiBpbnNwZWN0b3IvV29ya2VySW5zcGVjdG9yQ29udHJvbGxl
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyOjpjb25u
ZWN0RnJvbnRlbmQpOgorICAgICAgICAqIGluc3BlY3Rvci9nZW5lcmF0ZS1pbnNwZWN0b3ItaWRs
OgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtl
cjo6bm90aWZ5RmluaXNoZWQpOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyQ29udGV4dEluc3Bl
Y3RvclByb3h5Lmg6IEFkZGVkLiBQbGF0Zm9ybS1zcGVjaWZpYyB0cmFuc3BvcnQgZm9yIGluc3Bl
Y3RvcgorICAgICAgICBtZXNzYWdlcyBzZW50IGZyb20gdGhlIGluc3BlY3RlZCBwYWdlIHdvcmtl
ciBhZ2VudCB0byB0aGUgd29ya2VyIGNvbnRleHQgaW5zcGVjdG9yIGFnZW50cy4KKyAgICAgICAg
KFdlYkNvcmU6OldvcmtlckNvbnRleHRJbnNwZWN0b3JQcm94eTo6Y29ubmVjdEZyb250ZW5kKToK
KyAgICAgICAgKFdlYkNvcmU6OldvcmtlckNvbnRleHRJbnNwZWN0b3JQcm94eTo6ZGlzY29ubmVj
dEZyb250ZW5kKToKKyAgICAgICAgKFdlYkNvcmU6OldvcmtlckNvbnRleHRJbnNwZWN0b3JQcm94
eTo6c2VuZE1lc3NhZ2VUb1dvcmtlckNvbnRleHRJbnNwZWN0b3IpOgorICAgICAgICAoV2ViQ29y
ZTo6V29ya2VyQ29udGV4dEluc3BlY3RvclByb3h5Ojp+V29ya2VyQ29udGV4dEluc3BlY3RvclBy
b3h5KToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlckNvbnRleHRQcm94eS5oOgorICAgICAgICAo
V2ViQ29yZTo6V29ya2VyQ29udGV4dFByb3h5OjppbnNwZWN0b3JQcm94eSk6CisKIDIwMTEtMDQt
MjUgIFBhdmVsIEZlbGRtYW4gIDxwZmVsZG1hbkBnb29nbGUuY29tPgogCiAgICAgICAgIFJldmll
d2VkIGJ5IFl1cnkgU2VtaWtoYXRza3kuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9HTlVt
YWtlZmlsZS5saXN0LmFtIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQppbmRl
eCA5NDZjZGNhOWM4NDQ0OWFlMjZhZTAzMWY3ODRkZDgyNTBhYjZkZWM5Li5iZTYzMzdkZDkwZDRi
OGUzZWEwZjc2MzVmYzk5NWFjMDQ4OGVkYjc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9H
TlVtYWtlZmlsZS5saXN0LmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3Qu
YW0KQEAgLTE5OTMsNiArMTk5Myw4IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaCBcCiAJU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvclZhbHVlcy5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JWYWx1ZXMuaCBcCisJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvcldvcmtlckFnZW50LmNwcCBcCisJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
cldvcmtlckFnZW50LmggXAogCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JXb3Jr
ZXJSZXNvdXJjZS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zdHJ1bWVudGluZ0Fn
ZW50cy5oIFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvUGFnZURlYnVnZ2VyQWdlbnQuY3Bw
IFwKQEAgLTM2MzIsNiArMzYzNCw3IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dl
YkNvcmUvd29ya2Vycy9TaGFyZWRXb3JrZXJUaHJlYWQuaCBcCiAJU291cmNlL1dlYkNvcmUvd29y
a2Vycy9Xb3JrZXJDb250ZXh0LmNwcCBcCiAJU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJD
b250ZXh0LmggXAorCVNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29udGV4dEluc3BlY3Rv
clByb3h5LmggXAogCVNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29udGV4dFByb3h5Lmgg
XAogCVNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmNwcCBcCiAJU291cmNlL1dlYkNvcmUv
d29ya2Vycy9Xb3JrZXIuaCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5
cGkgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXggMGJkYjA5MGIxNDFhNGQ1MGU5
MTU1ZjQyMjNmODhmNDY3MGQwZmQxZS4uMDJiNzQ2NjY5N2I4NDQ1ZTBlODU5ZWQ0M2JkYjUxNDUw
NDdlNzVlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtMzI4OSw2ICszMjg5LDggQEAKICAgICAgICAg
ICAgICdpbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oJywKICAgICAgICAgICAgICdp
bnNwZWN0b3IvSW5zcGVjdG9yVmFsdWVzLmNwcCcsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL0lu
c3BlY3RvcldvcmtlclJlc291cmNlLmgnLAorICAgICAgICAgICAgJ2luc3BlY3Rvci9JbnNwZWN0
b3JXb3JrZXJBZ2VudC5jcHAnLAorICAgICAgICAgICAgJ2luc3BlY3Rvci9JbnNwZWN0b3JXb3Jr
ZXJBZ2VudC5oJywKICAgICAgICAgICAgICdpbnNwZWN0b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5o
JywKICAgICAgICAgICAgICdpbnNwZWN0b3IvUGFnZURlYnVnZ2VyQWdlbnQuY3BwJywKICAgICAg
ICAgICAgICdpbnNwZWN0b3IvUGFnZURlYnVnZ2VyQWdlbnQuaCcsCkBAIC02MDY2LDYgKzYwNjgs
NyBAQAogICAgICAgICAgICAgJ3dvcmtlcnMvV29ya2VyLmgnLAogICAgICAgICAgICAgJ3dvcmtl
cnMvV29ya2VyQ29udGV4dC5jcHAnLAogICAgICAgICAgICAgJ3dvcmtlcnMvV29ya2VyQ29udGV4
dC5oJywKKyAgICAgICAgICAgICd3b3JrZXJzL1dvcmtlckNvbnRleHRJbnNwZWN0b3JQcm94eS5o
JywKICAgICAgICAgICAgICd3b3JrZXJzL1dvcmtlckNvbnRleHRQcm94eS5oJywKICAgICAgICAg
ICAgICd3b3JrZXJzL1dvcmtlckxvYWRlclByb3h5LmgnLAogICAgICAgICAgICAgJ3dvcmtlcnMv
V29ya2VyTG9jYXRpb24uY3BwJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
cHJvIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5wcm8KaW5kZXggMTkxZWU3ZmQwNzIxYjVjOTgz
ZjMzZDk1MGMxMmJjMWNiYTNhNmY3YS4uMzdiOTVmODgyZTQ0MWQyYWFjNGUxYTU3MTk0ODBhZGZj
OTA4YmM3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5wcm8KKysrIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS5wcm8KQEAgLTg0Myw2ICs4NDMsNyBAQCBTT1VSQ0VTICs9IFwK
ICAgICBpbnNwZWN0b3IvSW5zcGVjdG9yU3R5bGVTaGVldC5jcHAgXAogICAgIGluc3BlY3Rvci9J
bnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcCBcCiAgICAgaW5zcGVjdG9yL0luc3BlY3RvclZhbHVl
cy5jcHAgXAorICAgIGluc3BlY3Rvci9JbnNwZWN0b3JXb3JrZXJBZ2VudC5jcHAgXAogICAgIGlu
c3BlY3Rvci9QYWdlRGVidWdnZXJBZ2VudC5jcHAgXAogICAgIGluc3BlY3Rvci9TY3JpcHRBcmd1
bWVudHMuY3BwIFwKICAgICBpbnNwZWN0b3IvU2NyaXB0Q2FsbEZyYW1lLmNwcCBcCkBAIC0xNzkw
LDYgKzE3OTEsNyBAQCBIRUFERVJTICs9IFwKICAgICBpbnNwZWN0b3IvSW5zcGVjdG9yU3RhdGUu
aCBcCiAgICAgaW5zcGVjdG9yL0luc3BlY3RvclN0eWxlU2hlZXQuaCBcCiAgICAgaW5zcGVjdG9y
L0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaCBcCisgICAgaW5zcGVjdG9yL0luc3BlY3Rvcldvcmtl
ckFnZW50LmggXAogICAgIGluc3BlY3Rvci9JbnN0cnVtZW50aW5nQWdlbnRzLmggXAogICAgIGlu
c3BlY3Rvci9QYWdlRGVidWdnZXJBZ2VudC5oIFwKICAgICBpbnNwZWN0b3IvU2NyaXB0R0NFdmVu
dExpc3RlbmVyLmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ov
V2ViQ29yZS52Y3Byb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZj
cHJvagppbmRleCAyNzE5ZTljODg0MzI5MmQ3YTRiODE0NDk4Mzg4ZWZhNzdmMjJlOTc1Li41N2E5
YjA2MTA1MDFkNzU1MGVmZTIzMmYxMTI4ZGI5YzE2Y2E4YTBjIDEwMDc1NQotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagpAQCAtNDgyNjYsNiArNDgyNjYsMTAgQEAK
IAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cd29ya2Vy
c1xXb3JrZXJDb250ZXh0SW5zcGVjdG9yUHJveHkuaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8
RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iLi5cd29ya2Vyc1xXb3JrZXJDb250ZXh0UHJveHkuaCIK
IAkJCQk+CiAJCQk8L0ZpbGU+CkBAIC02NzIwNiw2ICs2NzIxMCwxNCBAQAogCQkJCT4KIAkJCTwv
RmlsZT4KIAkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxpbnNwZWN0b3JcSW5zcGVjdG9y
V29ya2VyQWdlbnQuY3BwIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRp
dmVQYXRoPSIuLlxpbnNwZWN0b3JcSW5zcGVjdG9yV29ya2VyQWdlbnQuaCIKKwkJCQk+CisJCQk8
L0ZpbGU+CisJCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iLi5caW5zcGVjdG9yXEluc3BlY3Rv
cldvcmtlclJlc291cmNlLmgiCiAJCQkJPgogCQkJPC9GaWxlPgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDRhYmIyNTBiNTM4NjJm
NDA5YTc1MDE2MmE3M2UyMzYwZmU0NmM3ODkuLjYxMmVmMjI5ZWI2ZjJkMGI5MWE0MmJiNDRjMmY1
NjBkOTc2YjM2YWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKQEAgLTU3MjksNiArNTcyOSw5IEBACiAJCUYzNkUwN0E0MTM1OEE4QkUw
MEFBQ0JDOSAvKiBXb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEYzNkUwN0EyMTM1OEE4QkUwMEFBQ0JDOSAv
KiBXb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyLmNwcCAqLzsgfTsKIAkJRjM2RTA3QTUxMzU4QThC
RTAwQUFDQkM5IC8qIFdvcmtlckluc3BlY3RvckNvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEYzNkUwN0EzMTM1OEE4QkUwMEFBQ0JDOSAv
KiBXb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyLmggKi87IH07CiAJCUYzNzVDQzA3MTE1MEQzMDAw
MDhEREI4MSAvKiBJbnNwZWN0b3JXb3JrZXJSZXNvdXJjZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjM3NUNDMDYxMTUwRDMwMDAwOEREQjgxIC8qIElu
c3BlY3RvcldvcmtlclJlc291cmNlLmggKi87IH07CisJCUYzODEwQzFCMTM2NUE0OTYwMEVENkUz
MyAvKiBJbnNwZWN0b3JXb3JrZXJBZ2VudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBGMzgxMEMxOTEzNjVBNDk2MDBFRDZFMzMgLyogSW5zcGVjdG9y
V29ya2VyQWdlbnQuY3BwICovOyB9OworCQlGMzgxMEMxQzEzNjVBNDk2MDBFRDZFMzMgLyogSW5z
cGVjdG9yV29ya2VyQWdlbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEYzODEwQzFBMTM2NUE0OTYwMEVENkUzMyAvKiBJbnNwZWN0b3JXb3JrZXJBZ2Vu
dC5oICovOyB9OworCQlGMzgxMEMxRTEzNjVBNEQ0MDBFRDZFMzMgLyogV29ya2VyQ29udGV4dElu
c3BlY3RvclByb3h5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBGMzgxMEMxRDEzNjVBNEQ0MDBFRDZFMzMgLyogV29ya2VyQ29udGV4dEluc3BlY3RvclBy
b3h5LmggKi87IH07CiAJCUYzOTIyNDlDMTI2RjExQUUwMEE5MjZEOSAvKiBTY3JpcHRDYWxsU3Rh
Y2tGYWN0b3J5LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEYzOTIyNDlBMTI2RjExQUUwMEE5MjZEOSAvKiBTY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmNw
cCAqLzsgfTsKIAkJRjM5MjI0OUQxMjZGMTFBRTAwQTkyNkQ5IC8qIFNjcmlwdENhbGxTdGFja0Zh
Y3RvcnkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEYz
OTIyNDlCMTI2RjExQUUwMEE5MjZEOSAvKiBTY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmggKi87IH07
CiAJCUYzOUJFOTVCMTI2NzNCRjQwMEUwQTY3NCAvKiBTY3JpcHRBcmd1bWVudHMuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjM5QkU5NTkxMjY3M0JG
NDAwRTBBNjc0IC8qIFNjcmlwdEFyZ3VtZW50cy5jcHAgKi87IH07CkBAIC0xMjI5NSw2ICsxMjI5
OCw5IEBACiAJCUYzNkUwN0EyMTM1OEE4QkUwMEFBQ0JDOSAvKiBXb3JrZXJJbnNwZWN0b3JDb250
cm9sbGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdvcmtlcklu
c3BlY3RvckNvbnRyb2xsZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGMzZF
MDdBMzEzNThBOEJFMDBBQUNCQzkgLyogV29ya2VySW5zcGVjdG9yQ29udHJvbGxlci5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUYzNzVDQzA2MTE1MEQzMDAwMDhEREI4MSAv
KiBJbnNwZWN0b3JXb3JrZXJSZXNvdXJjZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBJbnNwZWN0b3JXb3JrZXJSZXNvdXJjZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQlGMzgxMEMxOTEzNjVBNDk2MDBFRDZFMzMgLyogSW5zcGVjdG9yV29ya2VyQWdlbnQuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSW5zcGVjdG9yV29ya2VyQWdl
bnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGMzgxMEMxQTEzNjVBNDk2MDBF
RDZFMzMgLyogSW5zcGVjdG9yV29ya2VyQWdlbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gSW5zcGVjdG9yV29ya2VyQWdlbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJRjM4MTBDMUQxMzY1QTRENDAwRUQ2RTMzIC8qIFdvcmtlckNvbnRleHRJbnNwZWN0b3JQ
cm94eS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBXb3JrZXJDb250ZXh0SW5z
cGVjdG9yUHJveHkuaDsgcGF0aCA9IHdvcmtlcnMvV29ya2VyQ29udGV4dEluc3BlY3RvclByb3h5
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUYzOTIyNDlBMTI2RjExQUUwMEE5MjZE
OSAvKiBTY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IFNjcmlwdENhbGxTdGFja0ZhY3RvcnkuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlGMzkyMjQ5QjEyNkYxMUFFMDBBOTI2RDkgLyogU2NyaXB0Q2FsbFN0YWNr
RmFjdG9yeS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTY3JpcHRDYWxsU3Rh
Y2tGYWN0b3J5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUYzOUJFOTU5MTI2NzNC
RjQwMEUwQTY3NCAvKiBTY3JpcHRBcmd1bWVudHMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gU2NyaXB0QXJndW1lbnRzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKQEAgLTEzMzcyLDYgKzEzMzc4LDggQEAKIAkJCQk3NTQxMzNBNzEwMkUwMEU4MDAwNzVE
MDAgLyogSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oICovLAogCQkJCTRGMzI4OUIzMTFBNDJBQUIw
MDVBQkU3RSAvKiBJbnNwZWN0b3JWYWx1ZXMuY3BwICovLAogCQkJCTRGMzI4OUI0MTFBNDJBQUIw
MDVBQkU3RSAvKiBJbnNwZWN0b3JWYWx1ZXMuaCAqLywKKwkJCQlGMzgxMEMxOTEzNjVBNDk2MDBF
RDZFMzMgLyogSW5zcGVjdG9yV29ya2VyQWdlbnQuY3BwICovLAorCQkJCUYzODEwQzFBMTM2NUE0
OTYwMEVENkUzMyAvKiBJbnNwZWN0b3JXb3JrZXJBZ2VudC5oICovLAogCQkJCUYzNzVDQzA2MTE1
MEQzMDAwMDhEREI4MSAvKiBJbnNwZWN0b3JXb3JrZXJSZXNvdXJjZS5oICovLAogCQkJCUYzQUJG
RTBCMTMwRTlEQTAwMEU3RjdEMSAvKiBJbnN0cnVtZW50aW5nQWdlbnRzLmggKi8sCiAJCQkJMUM4
MUJBMDUwRTk3MzQ4MzAwMjY2RTA3IC8qIEphdmFTY3JpcHRDYWxsRnJhbWUuaWRsICovLApAQCAt
MTM1MDgsNiArMTM1MTYsNyBAQAogCQkJCTJFNDM0NjM2MEY1NDZBODIwMEIwRjFCQSAvKiBXb3Jr
ZXJDb250ZXh0LmNwcCAqLywKIAkJCQkyRTQzNDYzNzBGNTQ2QTgyMDBCMEYxQkEgLyogV29ya2Vy
Q29udGV4dC5oICovLAogCQkJCTJFNDM0NjM4MEY1NDZBODIwMEIwRjFCQSAvKiBXb3JrZXJDb250
ZXh0LmlkbCAqLywKKwkJCQlGMzgxMEMxRDEzNjVBNEQ0MDBFRDZFMzMgLyogV29ya2VyQ29udGV4
dEluc3BlY3RvclByb3h5LmggKi8sCiAJCQkJMkU0MzQ2MzkwRjU0NkE4MjAwQjBGMUJBIC8qIFdv
cmtlckNvbnRleHRQcm94eS5oICovLAogCQkJCTE4RjgzMUI3MEZENDhDNzgwMEQ4QzU2QiAvKiBX
b3JrZXJMb2FkZXJQcm94eS5oICovLAogCQkJCTJFNDM0NjNBMEY1NDZBODIwMEIwRjFCQSAvKiBX
b3JrZXJMb2NhdGlvbi5jcHAgKi8sCkBAIC0yMzA2OCw2ICsyMzA3Nyw4IEBACiAJCQkJNDM1OEU4
N0QxMzYwQTJFRTAwRTQ3NDhDIC8qIEpTU1ZHRkVEcm9wU2hhZG93RWxlbWVudC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJNDM1OEU4ODExMzYwQTMxNzAwRTQ3NDhDIC8qIEZFRHJvcFNoYWRvdy5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJNDM1OEU4ODYxMzYwQTMzQjAwRTQ3NDhDIC8qIFNWR0ZFRHJvcFNo
YWRvd0VsZW1lbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCUYzODEwQzFDMTM2NUE0OTYwMEVENkUz
MyAvKiBJbnNwZWN0b3JXb3JrZXJBZ2VudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJRjM4MTBDMUUx
MzY1QTRENDAwRUQ2RTMzIC8qIFdvcmtlckNvbnRleHRJbnNwZWN0b3JQcm94eS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7
CiAJCX07CkBAIC0yNTc4NCw2ICsyNTc5NSw3IEBACiAJCQkJNDM1OEU4ODAxMzYwQTMxNzAwRTQ3
NDhDIC8qIEZFRHJvcFNoYWRvdy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0MzU4RTg4NTEzNjBB
MzNCMDBFNDc0OEMgLyogU1ZHRkVEcm9wU2hhZG93RWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQkxNEUwQkM1NjEzNjE0OEE4MDAyQUQxMkUgLyogSlNET01Ub2tlbkxpc3RDdXN0b20uY3Bw
IGluIFNvdXJjZXMgKi8sCisJCQkJRjM4MTBDMUIxMzY1QTQ5NjAwRUQ2RTMzIC8qIEluc3BlY3Rv
cldvcmtlckFnZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBs
b3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0NvZGVHZW5lcmF0b3JJbnNwZWN0b3IucG0gYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvQ29kZUdlbmVyYXRvckluc3BlY3Rvci5wbQppbmRleCBkZThlMWRiNDkyNWM2NDdm
NTZkMTJiZjUzNmI4MDM2OGE4MWVjNDk5Li4yYmE3ODc4ZTdmZmMwOGVjOTRlMTYxNzdmNGUwMzNh
MTllOTNiNTYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29kZUdlbmVy
YXRvckluc3BlY3Rvci5wbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29kZUdlbmVy
YXRvckluc3BlY3Rvci5wbQpAQCAtODUsNiArODUsMTEgQEAgJHR5cGVUcmFuc2Zvcm17IlRpbWVs
aW5lIn0gPSB7CiAgICAgImhlYWRlciIgPT4gIkluc3BlY3RvclRpbWVsaW5lQWdlbnQuaCIsCiAg
ICAgImRvbWFpbkFjY2Vzc29yIiA9PiAibV90aW1lbGluZUFnZW50IiwKIH07CiskdHlwZVRyYW5z
Zm9ybXsiV29ya2VyIn0gPSB7CisgICAgImZvcndhcmQiID0+ICJJbnNwZWN0b3JXb3JrZXJBZ2Vu
dCIsCisgICAgImhlYWRlciIgPT4gIkluc3BlY3RvcldvcmtlckFnZW50LmgiLAorICAgICJkb21h
aW5BY2Nlc3NvciIgPT4gIm1fd29ya2VyQWdlbnQiLAorfTsKIAogJHR5cGVUcmFuc2Zvcm17IkZy
b250ZW5kIn0gPSB7CiAgICAgImZvcndhcmQiID0+ICJJbnNwZWN0b3JGcm9udGVuZCIsCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpzb24gYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpzb24KaW5kZXggMGZjODZkMzhiMTk5NTk0MmEy
MTNlYTlhZjViN2FhYTE3MTFiYWM2Yi4uNWIzYjYzZDZkNzUyYmNiOGRkMDNmZTU4MDQ3YzE5Mzgy
ZWQxMmE4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci5q
c29uCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbgpAQCAtMTY3
NCw1ICsxNjc0LDMzIEBACiAgICAgICAgICAgICAgICAgXQogICAgICAgICAgICAgfQogICAgICAg
ICBdCi0gICAgfQorICAgIH0sCisgICAgeworICAgICAgICAiZG9tYWluIjogIldvcmtlciIsCisg
ICAgICAgICJ0eXBlcyI6IFtdLAorICAgICAgICAiY29tbWFuZHMiOiBbCisgICAgICAgICAgICB7
CisgICAgICAgICAgICAgICAgIm5hbWUiOiAiZGlzcGF0Y2hNZXNzYWdlT25Xb3JrZXJJbnNwZWN0
b3IiLAorICAgICAgICAgICAgICAgICJwYXJhbWV0ZXJzIjogWworICAgICAgICAgICAgICAgICAg
ICB7ICJuYW1lIjogIndvcmtlcklkIiwgInR5cGUiOiAiaW50ZWdlciIgfSwKKyAgICAgICAgICAg
ICAgICAgICAgeyAibmFtZSI6ICJtZXNzYWdlIiwgInR5cGUiOiAib2JqZWN0IiB9CisgICAgICAg
ICAgICAgICAgXQorICAgICAgICAgICAgfQorICAgICAgICBdLAorICAgICAgICAiZXZlbnRzIjog
WworICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICJuYW1lIjogIndvcmtlckNyZWF0ZWQi
LAorICAgICAgICAgICAgICAgICJwYXJhbWV0ZXJzIjogWworICAgICAgICAgICAgICAgICAgICB7
ICJuYW1lIjogIndvcmtlcklkIiwgInR5cGUiOiAiaW50ZWdlciIgfQorICAgICAgICAgICAgICAg
IF0KKyAgICAgICAgICAgIH0sCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgIm5hbWUi
OiAiZGlzcGF0Y2hNZXNzYWdlRnJvbVdvcmtlciIsCisgICAgICAgICAgICAgICAgInBhcmFtZXRl
cnMiOiBbCisgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAid29ya2VySWQiLCAidHlwZSI6
ICJpbnRlZ2VyIiB9LAorICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogIm1lc3NhZ2UiLCAi
dHlwZSI6ICJvYmplY3QiIH0KKyAgICAgICAgICAgICAgICBdCisgICAgICAgICAgICB9LAorICAg
ICAgICBdCisgICAgfSwKIF0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQWdl
bnQuY3BwCmluZGV4IDBjZmM1ZDI4YTQyMDRkMGQwNmNmMmUyNTEzYTQ5YjdkMGZiMTIwZWEuLjg0
OTIzNjc0YmYzZTg2NjRhNDg5NmIxYzc3NWIwOTYyMDBjNzBhZGEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBZ2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvckFnZW50LmNwcApAQCAtNTQsNiArNTQsNyBAQAogI2luY2x1
ZGUgIkluc3BlY3RvclN0YXRlLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5o
IgogI2luY2x1ZGUgIkluc3BlY3RvclZhbHVlcy5oIgorI2luY2x1ZGUgIkluc3BlY3Rvcldvcmtl
ckFnZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yV29ya2VyUmVzb3VyY2UuaCIKICNpbmNsdWRl
ICJJbnN0cnVtZW50aW5nQWdlbnRzLmgiCiAjaW5jbHVkZSAiUGFnZS5oIgpAQCAtMTMzLDYgKzEz
NCw5IEBAIEluc3BlY3RvckFnZW50OjpJbnNwZWN0b3JBZ2VudChQYWdlKiBwYWdlLCBJbnNwZWN0
b3JDbGllbnQqIGNsaWVudCwgSW5qZWN0ZWRTY3JpCiAgICAgLCBtX2Jyb3dzZXJEZWJ1Z2dlckFn
ZW50KEluc3BlY3RvckJyb3dzZXJEZWJ1Z2dlckFnZW50OjpjcmVhdGUobV9pbnN0cnVtZW50aW5n
QWdlbnRzLmdldCgpLCBtX3N0YXRlLmdldCgpLCBtX2RvbUFnZW50LmdldCgpLCBtX2RlYnVnZ2Vy
QWdlbnQuZ2V0KCksIHRoaXMpKQogICAgICwgbV9wcm9maWxlckFnZW50KEluc3BlY3RvclByb2Zp
bGVyQWdlbnQ6OmNyZWF0ZShtX2luc3RydW1lbnRpbmdBZ2VudHMuZ2V0KCksIG1fY29uc29sZUFn
ZW50LmdldCgpLCBwYWdlLCBtX3N0YXRlLmdldCgpKSkKICNlbmRpZgorI2lmIEVOQUJMRShXT1JL
RVJTKQorICAgICwgbV93b3JrZXJBZ2VudChJbnNwZWN0b3JXb3JrZXJBZ2VudDo6Y3JlYXRlKG1f
aW5zdHJ1bWVudGluZ0FnZW50cy5nZXQoKSkpCisjZW5kaWYKICAgICAsIG1fY2FuSXNzdWVFdmFs
dWF0ZUZvclRlc3RJbkZyb250ZW5kKGZhbHNlKQogewogICAgIEFTU0VSVF9BUkcocGFnZSwgcGFn
ZSk7CkBAIC0yNTIsNiArMjU2LDEwIEBAIHZvaWQgSW5zcGVjdG9yQWdlbnQ6OnNldEZyb250ZW5k
KEluc3BlY3RvckZyb250ZW5kKiBpbnNwZWN0b3JGcm9udGVuZCkKICAgICAgICAgbV9mcm9udGVu
ZC0+aW5zcGVjdG9yKCktPmRpZENyZWF0ZVdvcmtlcih3b3JrZXItPmlkKCksIHdvcmtlci0+dXJs
KCksIHdvcmtlci0+aXNTaGFyZWRXb3JrZXIoKSk7CiAgICAgfQogI2VuZGlmCisjaWYgRU5BQkxF
KFdPUktFUlMpCisgICAgbV93b3JrZXJBZ2VudC0+c2V0RnJvbnRlbmQobV9mcm9udGVuZCk7Cisj
ZW5kaWYKKwogICAgIC8vIERpc3BhdGNoIHBlbmRpbmcgZnJvbnRlbmQgY29tbWFuZHMKICAgICBp
c3N1ZUV2YWx1YXRlRm9yVGVzdENvbW1hbmRzKCk7CiB9CkBAIC0yOTEsNiArMjk5LDkgQEAgdm9p
ZCBJbnNwZWN0b3JBZ2VudDo6ZGlzY29ubmVjdEZyb250ZW5kKCkKICAgICBtX2RvbVN0b3JhZ2VB
Z2VudC0+Y2xlYXJGcm9udGVuZCgpOwogI2VuZGlmCiAgICAgbV9wYWdlQWdlbnQtPmNsZWFyRnJv
bnRlbmQoKTsKKyNpZiBFTkFCTEUoV09SS0VSUykKKyAgICBtX3dvcmtlckFnZW50LT5jbGVhckZy
b250ZW5kKCk7CisjZW5kaWYKIH0KIAogdm9pZCBJbnNwZWN0b3JBZ2VudDo6ZGlkQ29tbWl0TG9h
ZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQWdlbnQu
aCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBZ2VudC5oCmluZGV4IDY4MDJh
ZDU5ODg3MzY3YTdkMWZiZGRiNTQ1YjgzMjc5YTQ0MzJiZjMuLjU1YmNiNWFkOGE3NTJkODgxMTM5
ZjVhNjdjZDRkNGYxNDFjYjIxMGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JBZ2VudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JBZ2VudC5oCkBAIC03MCw2ICs3MCw3IEBAIGNsYXNzIEluc3BlY3RvclN0YXRlOwogY2xhc3Mg
SW5zcGVjdG9yU3RvcmFnZUFnZW50OwogY2xhc3MgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDsKIGNs
YXNzIEluc3BlY3RvclZhbHVlOworY2xhc3MgSW5zcGVjdG9yV29ya2VyQWdlbnQ7CiBjbGFzcyBJ
bnNwZWN0b3JXb3JrZXJSZXNvdXJjZTsKIGNsYXNzIEluc3RydW1lbnRpbmdBZ2VudHM7CiBjbGFz
cyBJbnRSZWN0OwpAQCAtMTM5LDYgKzE0MCw5IEBAIHB1YmxpYzoKICNpZiBFTkFCTEUoT0ZGTElO
RV9XRUJfQVBQTElDQVRJT05TKQogICAgIEluc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudCog
YXBwbGljYXRpb25DYWNoZUFnZW50KCkgeyByZXR1cm4gbV9hcHBsaWNhdGlvbkNhY2hlQWdlbnQu
Z2V0KCk7IH0KICNlbmRpZgorI2lmIEVOQUJMRShXT1JLRVJTKQorICAgIEluc3BlY3Rvcldvcmtl
ckFnZW50KiB3b3JrZXJBZ2VudCgpIHsgcmV0dXJuIG1fd29ya2VyQWdlbnQuZ2V0KCk7IH0KKyNl
bmRpZgogCiAgICAgdm9pZCBkaWRDbGVhcldpbmRvd09iamVjdEluV29ybGQoRnJhbWUqLCBET01X
cmFwcGVyV29ybGQqKTsKIApAQCAtMjIyLDYgKzIyNiw3IEBAIHByaXZhdGU6CiAjaWYgRU5BQkxF
KFdPUktFUlMpCiAgICAgdHlwZWRlZiBIYXNoTWFwPGludHB0cl90LCBSZWZQdHI8SW5zcGVjdG9y
V29ya2VyUmVzb3VyY2U+ID4gV29ya2Vyc01hcDsKICAgICBXb3JrZXJzTWFwIG1fd29ya2VyczsK
KyAgICBPd25QdHI8SW5zcGVjdG9yV29ya2VyQWdlbnQ+IG1fd29ya2VyQWdlbnQ7CiAjZW5kaWYK
ICAgICBib29sIG1fY2FuSXNzdWVFdmFsdWF0ZUZvclRlc3RJbkZyb250ZW5kOwogfTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcAppbmRleCBk
OWI5NzczODI1MGY1YTI0MGY5ODk2NGJmNzFhNjRlMTVmYTE0MjRjLi4zMmJkMWI1ZmE5ZDk1NTk1
YmY4ZGFhNWZjODI2YjM5YTZjYWM4YzRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwCkBAIC00OCw5ICs0OCwxMSBAQAogI2luY2x1ZGUg
Ikluc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oIgogI2luY2x1ZGUgIkluc3BlY3RvclByb2ZpbGVy
QWdlbnQuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JUaW1lbGluZUFnZW50LmgiCisjaW5jbHVkZSAi
SW5zcGVjdG9yV29ya2VyQWdlbnQuaCIKICNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAiU2Ny
aXB0T2JqZWN0LmgiCiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIKKyNpbmNsdWRlIDx3dGYvVW51c2Vk
UGFyYW0uaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0xMzgsNyArMTQwLDExIEBAIHZv
aWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6Y29ubmVjdEZyb250ZW5kKCkKICAgICAgICAgbV9pbnNw
ZWN0b3JBZ2VudC0+cHJvZmlsZXJBZ2VudCgpLAogI2VuZGlmCiAgICAgICAgIG1faW5zcGVjdG9y
QWdlbnQtPnJ1bnRpbWVBZ2VudCgpLAotICAgICAgICBtX2luc3BlY3RvckFnZW50LT50aW1lbGlu
ZUFnZW50KCkpOworICAgICAgICBtX2luc3BlY3RvckFnZW50LT50aW1lbGluZUFnZW50KCkKKyNp
ZiBFTkFCTEUoV09SS0VSUykKKyAgICAgICAgLCBtX2luc3BlY3RvckFnZW50LT53b3JrZXJBZ2Vu
dCgpCisjZW5kaWYKKyAgICApOwogCiAgICAgaWYgKG1fc3RhcnRVc2VySW5pdGlhdGVkRGVidWdn
aW5nV2hlbkZyb250ZWRJc0Nvbm5lY3RlZCkgewogICAgICAgICBtX2luc3BlY3RvckZyb250ZW5k
LT5pbnNwZWN0b3IoKS0+c3RhcnRVc2VySW5pdGlhdGVkRGVidWdnaW5nKCk7CkBAIC0xNjAsNyAr
MTY2LDYgQEAgdm9pZCBJbnNwZWN0b3JDb250cm9sbGVyOjpkaXNjb25uZWN0RnJvbnRlbmQoKQog
ICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZnJvbnRlbmREZWxldGVkKCk7CiAgICAgaWYg
KCFJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246Omhhc0Zyb250ZW5kcygpKQogICAgICAgICBTY3Jp
cHRDb250cm9sbGVyOjpzZXRDYXB0dXJlQ2FsbFN0YWNrRm9yVW5jYXVnaHRFeGNlcHRpb25zKGZh
bHNlKTsKLQogfQogCiB2b2lkIEluc3BlY3RvckNvbnRyb2xsZXI6OnNob3coKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcApp
bmRleCBkYzRlNWFjY2MzNjlkNDZhZjllNjNmMmFiZjljZDI1NDQ1NGU2NDdmLi4yM2U5NmZjMzVj
Nzk1OWFiZjQ5ZTA2MTQ4ZjFlMzVkZmU1YTI4OTJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcApAQCAtNTEsNiArNTEs
NyBAQAogI2luY2x1ZGUgIkluc3BlY3RvclByb2ZpbGVyQWdlbnQuaCIKICNpbmNsdWRlICJJbnNw
ZWN0b3JSZXNvdXJjZUFnZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5o
IgorI2luY2x1ZGUgIkluc3BlY3RvcldvcmtlckFnZW50LmgiCiAjaW5jbHVkZSAiSW5zdHJ1bWVu
dGluZ0FnZW50cy5oIgogI2luY2x1ZGUgIlNjcmlwdEFyZ3VtZW50cy5oIgogI2luY2x1ZGUgIlNj
cmlwdENhbGxTdGFjay5oIgpAQCAtNzEwLDYgKzcxMSwxMiBAQCB2b2lkIEluc3BlY3Rvckluc3Ry
dW1lbnRhdGlvbjo6ZGlkVXNlRE9NU3RvcmFnZUltcGwoSW5zcGVjdG9yQWdlbnQqIGluc3BlY3Rv
ckFnZQogI2VuZGlmCiAKICNpZiBFTkFCTEUoV09SS0VSUykKK3ZvaWQgSW5zcGVjdG9ySW5zdHJ1
bWVudGF0aW9uOjpkaWRTdGFydFdvcmtlckNvbnRleHRJbXBsKEluc3BlY3RvckFnZW50KiBpbnNw
ZWN0b3JBZ2VudCwgV29ya2VyQ29udGV4dFByb3h5KiB3b3JrZXJDb250ZXh0UHJveHkpCit7Cisg
ICAgaWYgKEluc3BlY3RvcldvcmtlckFnZW50KiB3b3JrZXJBZ2VudCA9IGluc3BlY3RvckFnZW50
LT5pbnN0cnVtZW50aW5nQWdlbnRzKCktPmluc3BlY3RvcldvcmtlckFnZW50KCkpCisgICAgICAg
IHdvcmtlckFnZW50LT5kaWRTdGFydFdvcmtlckNvbnRleHQod29ya2VyQ29udGV4dFByb3h5KTsK
K30KKwogdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZENyZWF0ZVdvcmtlckltcGwo
SW5zcGVjdG9yQWdlbnQqIGluc3BlY3RvckFnZW50LCBpbnRwdHJfdCBpZCwgY29uc3QgU3RyaW5n
JiB1cmwsIGJvb2wgaXNTaGFyZWRXb3JrZXIpCiB7CiAgICAgaW5zcGVjdG9yQWdlbnQtPmRpZENy
ZWF0ZVdvcmtlcihpZCwgdXJsLCBpc1NoYXJlZFdvcmtlcik7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmggYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgKaW5kZXggZDgyYzZhOTQy
ZGUzMzA3ZDNjYjJjNWZjNGVjYzlmZWM3ZmRlZDMxOC4uYTFiMmE0OWMwZWZlMmE3NmMwOTdmNmFh
ZjczNzA4NzkyYTZjZTNiZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3Rvckluc3RydW1lbnRhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaApAQCAtNTksNiArNTksNyBAQCBjbGFzcyBTY3JpcHRB
cmd1bWVudHM7CiBjbGFzcyBTY3JpcHRDYWxsU3RhY2s7CiBjbGFzcyBTY3JpcHRFeGVjdXRpb25D
b250ZXh0OwogY2xhc3MgU3RvcmFnZUFyZWE7CitjbGFzcyBXb3JrZXJDb250ZXh0UHJveHk7CiBj
bGFzcyBYTUxIdHRwUmVxdWVzdDsKIAogI2lmIEVOQUJMRShXRUJfU09DS0VUUykKQEAgLTE1Nyw2
ICsxNTgsOCBAQCBwdWJsaWM6CiAjZW5kaWYKIAogI2lmIEVOQUJMRShXT1JLRVJTKQorICAgIHN0
YXRpYyBib29sIHdpbGxTdGFydFdvcmtlckNvbnRleHQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCos
IFdvcmtlckNvbnRleHRQcm94eSopOworICAgIHN0YXRpYyB2b2lkIGRpZFN0YXJ0V29ya2VyQ29u
dGV4dChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgV29ya2VyQ29udGV4dFByb3h5KiwgYm9vbCBw
YXVzZWQpOwogICAgIHN0YXRpYyB2b2lkIGRpZENyZWF0ZVdvcmtlcihTY3JpcHRFeGVjdXRpb25D
b250ZXh0KiwgaW50cHRyX3QgaWQsIGNvbnN0IFN0cmluZyYgdXJsLCBib29sIGlzU2hhcmVkV29y
a2VyKTsKICAgICBzdGF0aWMgdm9pZCBkaWREZXN0cm95V29ya2VyKFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQqLCBpbnRwdHJfdCBpZCk7CiAjZW5kaWYKQEAgLTI3Nyw2ICsyODAsNyBAQCBwcml2YXRl
OgogI2VuZGlmCiAKICNpZiBFTkFCTEUoV09SS0VSUykKKyAgICBzdGF0aWMgdm9pZCBkaWRTdGFy
dFdvcmtlckNvbnRleHRJbXBsKEluc3BlY3RvckFnZW50KiwgV29ya2VyQ29udGV4dFByb3h5Kik7
CiAgICAgc3RhdGljIHZvaWQgZGlkQ3JlYXRlV29ya2VySW1wbChJbnNwZWN0b3JBZ2VudCosIGlu
dHB0cl90IGlkLCBjb25zdCBTdHJpbmcmIHVybCwgYm9vbCBpc1NoYXJlZFdvcmtlcik7CiAgICAg
c3RhdGljIHZvaWQgZGlkRGVzdHJveVdvcmtlckltcGwoSW5zcGVjdG9yQWdlbnQqLCBpbnRwdHJf
dCBpZCk7CiAjZW5kaWYKQEAgLTgwMSw2ICs4MDUsMjUgQEAgaW5saW5lIHZvaWQgSW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uOjpkaWRVc2VET01TdG9yYWdlKFBhZ2UqIHBhZ2UsIFN0b3JhZ2VBcmVh
KgogI2VuZGlmCiAKICNpZiBFTkFCTEUoV09SS0VSUykKK2lubGluZSBib29sIEluc3BlY3Rvcklu
c3RydW1lbnRhdGlvbjo6d2lsbFN0YXJ0V29ya2VyQ29udGV4dChTY3JpcHRFeGVjdXRpb25Db250
ZXh0KiBjb250ZXh0LCBXb3JrZXJDb250ZXh0UHJveHkqKQoreworI2lmIEVOQUJMRShJTlNQRUNU
T1IpCisgICAgcmV0dXJuIGluc3BlY3RvckFnZW50V2l0aEZyb250ZW5kRm9yQ29udGV4dChjb250
ZXh0KTsKKyNlbHNlCisgICAgcmV0dXJuIGZhbHNlOworI2VuZGlmCit9CisKK2lubGluZSB2b2lk
IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkU3RhcnRXb3JrZXJDb250ZXh0KFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIFdvcmtlckNvbnRleHRQcm94eSogcHJveHksIGJvb2wg
cGF1c2VkKQoreworI2lmIEVOQUJMRShJTlNQRUNUT1IpCisgICAgaWYgKCFwYXVzZWQpCisgICAg
ICAgIHJldHVybjsKKyAgICBpZiAoSW5zcGVjdG9yQWdlbnQqIGluc3BlY3RvckFnZW50ID0gaW5z
cGVjdG9yQWdlbnRXaXRoRnJvbnRlbmRGb3JDb250ZXh0KGNvbnRleHQpKQorICAgICAgICBkaWRT
dGFydFdvcmtlckNvbnRleHRJbXBsKGluc3BlY3RvckFnZW50LCBwcm94eSk7CisjZW5kaWYKK30K
KwogaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRDcmVhdGVXb3JrZXIo
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgaW50cHRyX3QgaWQsIGNvbnN0IFN0cmlu
ZyYgdXJsLCBib29sIGlzU2hhcmVkV29ya2VyKQogewogI2lmIEVOQUJMRShJTlNQRUNUT1IpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yV29ya2VyQWdlbnQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvcldvcmtlckFnZW50LmNwcApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mOTA3MDVkMmZlZTgwNzdmNDgxYjQ4Yzk2YThmYzI0NjVmMjdkNWU1Ci0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvcldvcmtlckFn
ZW50LmNwcApAQCAtMCwwICsxLDEzMSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29n
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisg
KiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0
aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250
cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2
ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4g
cGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZ
UklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBU
TywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
CisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKworI2lmIEVOQUJM
RShXT1JLRVJTKQorCisjaW5jbHVkZSAiSW5zcGVjdG9yV29ya2VyQWdlbnQuaCIKKworI2luY2x1
ZGUgIkluc3BlY3RvckZyb250ZW5kLmgiCisjaW5jbHVkZSAiSW5zcGVjdG9yRnJvbnRlbmRDaGFu
bmVsLmgiCisjaW5jbHVkZSAiSW5zcGVjdG9yVmFsdWVzLmgiCisjaW5jbHVkZSAiSW5zdHJ1bWVu
dGluZ0FnZW50cy5oIgorI2luY2x1ZGUgIldvcmtlckNvbnRleHRJbnNwZWN0b3JQcm94eS5oIgor
I2luY2x1ZGUgIldvcmtlckNvbnRleHRQcm94eS5oIgorI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRy
Lmg+CisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2Ns
YXNzIEluc3BlY3RvcldvcmtlckFnZW50OjpXb3JrZXJGcm9udGVuZENoYW5uZWwgOiBwdWJsaWMg
SW5zcGVjdG9yRnJvbnRlbmRDaGFubmVsIHsKK3B1YmxpYzoKKyAgICBleHBsaWNpdCBXb3JrZXJG
cm9udGVuZENoYW5uZWwoSW5zcGVjdG9yRnJvbnRlbmQqIGZyb250ZW5kLCBXb3JrZXJDb250ZXh0
SW5zcGVjdG9yUHJveHkqIGluc3BlY3RvclByb3h5KQorICAgICAgICA6IG1fZnJvbnRlbmQoZnJv
bnRlbmQpCisgICAgICAgICwgbV9pbnNwZWN0b3JQcm94eShpbnNwZWN0b3JQcm94eSkKKyAgICAg
ICAgLCBtX2lkKHNfbmV4dElkKyspCisgICAgeworICAgIH0KKyAgICB2aXJ0dWFsIH5Xb3JrZXJG
cm9udGVuZENoYW5uZWwoKSB7IH0KKworICAgIGludCBpZCgpIGNvbnN0IHsgcmV0dXJuIG1faWQ7
IH0KKyAgICBXb3JrZXJDb250ZXh0SW5zcGVjdG9yUHJveHkqIGluc3BlY3RvclByb3h5KCkgY29u
c3QgeyByZXR1cm4gbV9pbnNwZWN0b3JQcm94eTsgfQorCitwcml2YXRlOgorICAgIHZpcnR1YWwg
Ym9vbCBzZW5kTWVzc2FnZVRvRnJvbnRlbmQoY29uc3QgU3RyaW5nJiBtZXNzYWdlKQorICAgIHsK
KyAgICAgICAgUmVmUHRyPEluc3BlY3RvclZhbHVlPiB2YWx1ZSA9IEluc3BlY3RvclZhbHVlOjpw
YXJzZUpTT04obWVzc2FnZSk7CisgICAgICAgIGlmICghdmFsdWUpCisgICAgICAgICAgICByZXR1
cm4gZmFsc2U7CisgICAgICAgIFJlZlB0cjxJbnNwZWN0b3JPYmplY3Q+IG1lc3NhZ2VPYmplY3Qg
PSB2YWx1ZS0+YXNPYmplY3QoKTsKKyAgICAgICAgaWYgKCFtZXNzYWdlT2JqZWN0KQorICAgICAg
ICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICBtX2Zyb250ZW5kLT53b3JrZXIoKS0+ZGlzcGF0
Y2hNZXNzYWdlRnJvbVdvcmtlcihtX2lkLCBtZXNzYWdlT2JqZWN0KTsKKyAgICAgICAgcmV0dXJu
IHRydWU7CisgICAgfQorCisgICAgSW5zcGVjdG9yRnJvbnRlbmQqIG1fZnJvbnRlbmQ7CisgICAg
V29ya2VyQ29udGV4dEluc3BlY3RvclByb3h5KiBtX2luc3BlY3RvclByb3h5OworICAgIGludCBt
X2lkOworICAgIHN0YXRpYyBpbnQgc19uZXh0SWQ7Cit9OworCitpbnQgSW5zcGVjdG9yV29ya2Vy
QWdlbnQ6OldvcmtlckZyb250ZW5kQ2hhbm5lbDo6c19uZXh0SWQgPSAxOworCitQYXNzT3duUHRy
PEluc3BlY3RvcldvcmtlckFnZW50PiBJbnNwZWN0b3JXb3JrZXJBZ2VudDo6Y3JlYXRlKEluc3Ry
dW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMpCit7CisgICAgcmV0dXJuIGFkb3B0
UHRyKG5ldyBJbnNwZWN0b3JXb3JrZXJBZ2VudChpbnN0cnVtZW50aW5nQWdlbnRzKSk7Cit9CisK
K0luc3BlY3RvcldvcmtlckFnZW50OjpJbnNwZWN0b3JXb3JrZXJBZ2VudChJbnN0cnVtZW50aW5n
QWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzKQorICAgIDogbV9pbnN0cnVtZW50aW5nQWdlbnRz
KGluc3RydW1lbnRpbmdBZ2VudHMpCisgICAgLCBtX2luc3BlY3RvckZyb250ZW5kKDApCit7Cit9
CisKK0luc3BlY3RvcldvcmtlckFnZW50Ojp+SW5zcGVjdG9yV29ya2VyQWdlbnQoKQoreworfQor
Cit2b2lkIEluc3BlY3RvcldvcmtlckFnZW50OjpzZXRGcm9udGVuZChJbnNwZWN0b3JGcm9udGVu
ZCogZnJvbnRlbmQpCit7CisgICAgbV9pbnNwZWN0b3JGcm9udGVuZCA9IGZyb250ZW5kOworICAg
IC8vIERpc2FibGVkIGZvciBub3cuCisgICAgLy8gbV9pbnN0cnVtZW50aW5nQWdlbnRzLT5zZXRJ
bnNwZWN0b3JXb3JrZXJBZ2VudCh0aGlzKTsKK30KKwordm9pZCBJbnNwZWN0b3JXb3JrZXJBZ2Vu
dDo6Y2xlYXJGcm9udGVuZCgpCit7CisgICAgbV9pbnNwZWN0b3JGcm9udGVuZCA9IDA7CisgICAg
bV9pbnN0cnVtZW50aW5nQWdlbnRzLT5zZXRJbnNwZWN0b3JXb3JrZXJBZ2VudCgwKTsKK30KKwor
dm9pZCBJbnNwZWN0b3JXb3JrZXJBZ2VudDo6ZGlzcGF0Y2hNZXNzYWdlT25Xb3JrZXJJbnNwZWN0
b3IoRXJyb3JTdHJpbmcqIGVycm9yLCBpbnQgd29ya2VySWQsIFBhc3NSZWZQdHI8SW5zcGVjdG9y
T2JqZWN0PiBtZXNzYWdlKQoreworICAgIFdvcmtlckZyb250ZW5kQ2hhbm5lbCogY2hhbm5lbCA9
IG1faWRUb0NoYW5uZWwuZ2V0KHdvcmtlcklkKTsKKyAgICBpZiAoY2hhbm5lbCkKKyAgICAgICAg
Y2hhbm5lbC0+aW5zcGVjdG9yUHJveHkoKS0+c2VuZE1lc3NhZ2VUb1dvcmtlckNvbnRleHRJbnNw
ZWN0b3IobWVzc2FnZS0+dG9KU09OU3RyaW5nKCkpOworICAgIGVsc2UKKyAgICAgICAgKmVycm9y
ID0gIldvcmtlciBpcyBnb25lIjsKK30KKwordm9pZCBJbnNwZWN0b3JXb3JrZXJBZ2VudDo6ZGlk
U3RhcnRXb3JrZXJDb250ZXh0KFdvcmtlckNvbnRleHRQcm94eSogd29ya2VyQ29udGV4dFByb3h5
KQoreworICAgIFdvcmtlckZyb250ZW5kQ2hhbm5lbCogY2hhbm5lbCA9IG5ldyBXb3JrZXJGcm9u
dGVuZENoYW5uZWwobV9pbnNwZWN0b3JGcm9udGVuZCwgd29ya2VyQ29udGV4dFByb3h5LT5pbnNw
ZWN0b3JQcm94eSgpKTsKKyAgICBtX2lkVG9DaGFubmVsLnNldChjaGFubmVsLT5pZCgpLCBjaGFu
bmVsKTsKKworICAgIHdvcmtlckNvbnRleHRQcm94eS0+aW5zcGVjdG9yUHJveHkoKS0+Y29ubmVj
dEZyb250ZW5kKGNoYW5uZWwpOworICAgIGlmIChtX2luc3BlY3RvckZyb250ZW5kKQorICAgICAg
ICBtX2luc3BlY3RvckZyb250ZW5kLT53b3JrZXIoKS0+d29ya2VyQ3JlYXRlZChjaGFubmVsLT5p
ZCgpKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKFdP
UktFUlMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yV29y
a2VyQWdlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JXb3JrZXJBZ2Vu
dC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjE0NzFmNWUxNWFjMmUxMmE4MDNlNTYwMzE4NWQzZTg1OTYyZDI2MDQK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yV29y
a2VyQWdlbnQuaApAQCAtMCwwICsxLDc2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEdv
b2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAq
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUK
KyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5l
aXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNv
bnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVy
aXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRl
biBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENP
UFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBJbnNwZWN0b3JXb3JrZXJBZ2VudF9o
CisjZGVmaW5lIEluc3BlY3RvcldvcmtlckFnZW50X2gKKworI2lmIEVOQUJMRShXT1JLRVJTKQor
CisjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KKyNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgorCitu
YW1lc3BhY2UgV2ViQ29yZSB7CitjbGFzcyBJbnNwZWN0b3JGcm9udGVuZDsKK2NsYXNzIEluc3Bl
Y3Rvck9iamVjdDsKK2NsYXNzIEluc3RydW1lbnRpbmdBZ2VudHM7CitjbGFzcyBXb3JrZXJDb250
ZXh0UHJveHk7CitjbGFzcyBXb3JrZXJDb250ZXh0SW5zcGVjdG9yUHJveHk7CisKK3R5cGVkZWYg
U3RyaW5nIEVycm9yU3RyaW5nOworCitjbGFzcyBJbnNwZWN0b3JXb3JrZXJBZ2VudCB7CitwdWJs
aWM6CisgICAgc3RhdGljIFBhc3NPd25QdHI8SW5zcGVjdG9yV29ya2VyQWdlbnQ+IGNyZWF0ZShJ
bnN0cnVtZW50aW5nQWdlbnRzKik7CisgICAgfkluc3BlY3RvcldvcmtlckFnZW50KCk7CisKKyAg
ICB2b2lkIHNldEZyb250ZW5kKEluc3BlY3RvckZyb250ZW5kKik7CisgICAgdm9pZCBjbGVhckZy
b250ZW5kKCk7CisKKyAgICAvLyBDYWxsZWQgZnJvbSBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24K
KyAgICB2b2lkIGRpZFN0YXJ0V29ya2VyQ29udGV4dChXb3JrZXJDb250ZXh0UHJveHkqKTsKKwor
ICAgIC8vIENhbGxlZCBmcm9tIEluc3BlY3RvckJhY2tlbmREaXNwYXRjaGVyCisgICAgdm9pZCBk
aXNwYXRjaE1lc3NhZ2VPbldvcmtlckluc3BlY3RvcihFcnJvclN0cmluZyosIGludCB3b3JrZXJJ
ZCwgUGFzc1JlZlB0cjxJbnNwZWN0b3JPYmplY3Q+IG1lc3NhZ2UpOworCitwcml2YXRlOgorICAg
IGV4cGxpY2l0IEluc3BlY3RvcldvcmtlckFnZW50KEluc3RydW1lbnRpbmdBZ2VudHMqKTsKKwor
ICAgIEluc3RydW1lbnRpbmdBZ2VudHMqIG1faW5zdHJ1bWVudGluZ0FnZW50czsKKyAgICBJbnNw
ZWN0b3JGcm9udGVuZCogbV9pbnNwZWN0b3JGcm9udGVuZDsKKworICAgIGNsYXNzIFdvcmtlckZy
b250ZW5kQ2hhbm5lbDsKKyAgICBIYXNoTWFwPGludCwgV29ya2VyRnJvbnRlbmRDaGFubmVsKj4g
bV9pZFRvQ2hhbm5lbDsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8v
ICFkZWZpbmVkKEluc3BlY3RvcldvcmtlckFnZW50X2gpCisKKyNlbmRpZiAvLyBFTkFCTEUoV09S
S0VSUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnN0cnVtZW50aW5n
QWdlbnRzLmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5o
CmluZGV4IDNiNjdlZGQ4ZGY4ZTIzNTAxNTZlZDRkZmVmZTE4MDRjM2UxYzhhMDguLjMxNTA2ZjE0
OWI0MjRmMWY4ZjVmNDQ1MzEyZjllY2I3YjJkODM5MjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnN0cnVtZW50aW5nQWdlbnRzLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3RydW1lbnRpbmdBZ2VudHMuaApAQCAtNTAsNiArNTAsNyBAQCBjbGFzcyBJ
bnNwZWN0b3JQcm9maWxlckFnZW50OwogY2xhc3MgSW5zcGVjdG9yUmVzb3VyY2VBZ2VudDsKIGNs
YXNzIEluc3BlY3RvclJ1bnRpbWVBZ2VudDsKIGNsYXNzIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ7
CitjbGFzcyBJbnNwZWN0b3JXb3JrZXJBZ2VudDsKIAogY2xhc3MgSW5zdHJ1bWVudGluZ0FnZW50
cyB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW5zdHJ1bWVudGluZ0FnZW50cyk7CkBAIC03
OCw2ICs3OSw5IEBAIHB1YmxpYzoKICAgICAgICAgLCBtX2luc3BlY3RvckJyb3dzZXJEZWJ1Z2dl
ckFnZW50KDApCiAgICAgICAgICwgbV9pbnNwZWN0b3JQcm9maWxlckFnZW50KDApCiAjZW5kaWYK
KyNpZiBFTkFCTEUoV09SS0VSUykKKyAgICAgICAgLCBtX2luc3BlY3RvcldvcmtlckFnZW50KDAp
CisjZW5kaWYKICAgICB7IH0KICAgICB+SW5zdHJ1bWVudGluZ0FnZW50cygpIHsgfQogCkBAIC0x
MjcsNiArMTMxLDEwIEBAIHB1YmxpYzoKICAgICBJbnNwZWN0b3JQcm9maWxlckFnZW50KiBpbnNw
ZWN0b3JQcm9maWxlckFnZW50KCkgY29uc3QgeyByZXR1cm4gbV9pbnNwZWN0b3JQcm9maWxlckFn
ZW50OyB9CiAgICAgdm9pZCBzZXRJbnNwZWN0b3JQcm9maWxlckFnZW50KEluc3BlY3RvclByb2Zp
bGVyQWdlbnQqIGFnZW50KSB7IG1faW5zcGVjdG9yUHJvZmlsZXJBZ2VudCA9IGFnZW50OyB9CiAj
ZW5kaWYKKyNpZiBFTkFCTEUoV09SS0VSUykKKyAgICBJbnNwZWN0b3JXb3JrZXJBZ2VudCogaW5z
cGVjdG9yV29ya2VyQWdlbnQoKSBjb25zdCB7IHJldHVybiBtX2luc3BlY3RvcldvcmtlckFnZW50
OyB9CisgICAgdm9pZCBzZXRJbnNwZWN0b3JXb3JrZXJBZ2VudChJbnNwZWN0b3JXb3JrZXJBZ2Vu
dCogYWdlbnQpIHsgbV9pbnNwZWN0b3JXb3JrZXJBZ2VudCA9IGFnZW50OyB9CisjZW5kaWYKIAog
cHJpdmF0ZToKICAgICBJbnNwZWN0b3JBZ2VudCogbV9pbnNwZWN0b3JBZ2VudDsKQEAgLTE1MSw2
ICsxNTksOSBAQCBwcml2YXRlOgogICAgIEluc3BlY3RvckJyb3dzZXJEZWJ1Z2dlckFnZW50KiBt
X2luc3BlY3RvckJyb3dzZXJEZWJ1Z2dlckFnZW50OwogICAgIEluc3BlY3RvclByb2ZpbGVyQWdl
bnQqIG1faW5zcGVjdG9yUHJvZmlsZXJBZ2VudDsKICNlbmRpZgorI2lmIEVOQUJMRShXT1JLRVJT
KQorICAgIEluc3BlY3RvcldvcmtlckFnZW50KiBtX2luc3BlY3RvcldvcmtlckFnZW50OworI2Vu
ZGlmCiB9OwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvV29ya2Vy
SW5zcGVjdG9yQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvV29ya2Vy
SW5zcGVjdG9yQ29udHJvbGxlci5jcHAKaW5kZXggMzgzY2IwNDFiYTU0ZmE3YjdhYTU2NTE3Mjdl
NDgyYTZiZjQwOWJlZi4uZTI0ZGY3YmNjMTJkM2NlOTU5MjQ4YTdiNTIyMjBlMTNiZTJlOWY3YSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlckluc3BlY3RvckNvbnRy
b2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3JrZXJJbnNwZWN0b3JD
b250cm9sbGVyLmNwcApAQCAtMTI3LDcgKzEyNyw4IEBAIHZvaWQgV29ya2VySW5zcGVjdG9yQ29u
dHJvbGxlcjo6Y29ubmVjdEZyb250ZW5kKEluc3BlY3RvckZyb250ZW5kQ2hhbm5lbCogY2hhbm5l
CiAgICAgICAgIDAsIC8vIEluc3BlY3RvclByb2ZpbGVyQWdlbnQKICNlbmRpZgogICAgICAgICBt
X3J1bnRpbWVBZ2VudC5nZXQoKSwKLSAgICAgICAgMCAvLyBJbnNwZWN0b3JUaW1lbGluZUFnZW50
CisgICAgICAgIDAsIC8vIEluc3BlY3RvclRpbWVsaW5lQWdlbnQKKyAgICAgICAgMCAvLyBJbnNw
ZWN0b3JXb3JrZXJBZ2VudAogICAgICk7CiAKICAgICBtX2luamVjdGVkU2NyaXB0TWFuYWdlci0+
aW5qZWN0ZWRTY3JpcHRIb3N0KCktPnNldEZyb250ZW5kKG1fZnJvbnRlbmQuZ2V0KCkpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2dlbmVyYXRlLWluc3BlY3Rvci1pZGwg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZ2VuZXJhdGUtaW5zcGVjdG9yLWlkbAppbmRleCBi
NWVjYjc4ZWE4NmE0ZGU5OGQzOGM5ZmFhYjFlZjBjYjUwYzU0N2QxLi40NmVjNjFmZWE0ZGMzZjNl
NDJmYTQxZGY4YzlhOGY2MjcyZDI3YWQ2IDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvZ2VuZXJhdGUtaW5zcGVjdG9yLWlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvZ2VuZXJhdGUtaW5zcGVjdG9yLWlkbApAQCAtODksNyArODksOCBAQCBtYWNyb190cmFpdHMg
PSB7CiAgICAgIkFwcGxpY2F0aW9uQ2FjaGUiOiAiT0ZGTElORV9XRUJfQVBQTElDQVRJT05TIiwK
ICAgICAiRGVidWdnZXIiOiAiSkFWQVNDUklQVF9ERUJVR0dFUiIsCiAgICAgIkJyb3dzZXJEZWJ1
Z2dlciI6ICJKQVZBU0NSSVBUX0RFQlVHR0VSIiwKLSAgICAiUHJvZmlsZXIiOiAiSkFWQVNDUklQ
VF9ERUJVR0dFUiIKKyAgICAiUHJvZmlsZXIiOiAiSkFWQVNDUklQVF9ERUJVR0dFUiIsCisgICAg
IldvcmtlciI6ICJXT1JLRVJTIgogfQogCiBkZWYgZnVsbF9xdWFsaWZpZWRfdHlwZV9pZChkb21h
aW5fbmFtZSwgdHlwZV9pZCk6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dv
cmtlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5jcHAKaW5kZXggOTY4MzUy
YzhkNjg0MGQ5M2ViYWUyNTY5YjBiMmY1NTU2ODQwNzFkMS4uZDNkMzg5NjQwNDcxMGNlOWZjYWMx
OTVmMjJmNTJiMzJiMDk5NDQwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9X
b3JrZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmNwcApAQCAtMTMx
LDcgKzEzMSw5IEBAIHZvaWQgV29ya2VyOjpub3RpZnlGaW5pc2hlZCgpCiAgICAgaWYgKG1fc2Ny
aXB0TG9hZGVyLT5mYWlsZWQoKSkKICAgICAgICAgZGlzcGF0Y2hFdmVudChFdmVudDo6Y3JlYXRl
KGV2ZW50TmFtZXMoKS5lcnJvckV2ZW50LCBmYWxzZSwgdHJ1ZSkpOwogICAgIGVsc2UgeworICAg
ICAgICBib29sIHNob3VsZFN0YXJ0UGF1c2VkID0gSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3
aWxsU3RhcnRXb3JrZXJDb250ZXh0KHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSwgbV9jb250ZXh0
UHJveHkpOwogICAgICAgICBtX2NvbnRleHRQcm94eS0+c3RhcnRXb3JrZXJDb250ZXh0KG1fc2Ny
aXB0TG9hZGVyLT51cmwoKSwgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT51c2VyQWdlbnQobV9z
Y3JpcHRMb2FkZXItPnVybCgpKSwgbV9zY3JpcHRMb2FkZXItPnNjcmlwdCgpKTsKKyAgICAgICAg
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRTdGFydFdvcmtlckNvbnRleHQoc2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCgpLCBtX2NvbnRleHRQcm94eSwgc2hvdWxkU3RhcnRQYXVzZWQpOwogICAg
ICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OnNjcmlwdEltcG9ydGVkKHNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQoKSwgbV9zY3JpcHRMb2FkZXItPmlkZW50aWZpZXIoKSwgbV9zY3JpcHRMb2Fk
ZXItPnNjcmlwdCgpKTsKICAgICB9CiAgICAgbV9zY3JpcHRMb2FkZXIgPSAwOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0SW5zcGVjdG9yUHJveHkuaCBi
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29udGV4dEluc3BlY3RvclByb3h5LmgKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZWVhZWMzY2ZhZTNhOGQ3M2U1YjEwN2YyZGQ5NjA1M2UyOTE3MDQ3OAotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29udGV4dEluc3BlY3Rv
clByb3h5LmgKQEAgLTAsMCArMSw1NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29n
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisg
KiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0
aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250
cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2
ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4g
cGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZ
UklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBU
TywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
CisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgV29ya2VyQ29udGV4dEluc3BlY3RvclBy
b3h5X2gKKyNkZWZpbmUgV29ya2VyQ29udGV4dEluc3BlY3RvclByb3h5X2gKKworI2lmIEVOQUJM
RShXT1JLRVJTKSAmJiBFTkFCTEUoSU5TUEVDVE9SKQorCisjaW5jbHVkZSA8d3RmL0ZvcndhcmQu
aD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBJbnNwZWN0b3JGcm9udGVuZENoYW5u
ZWw7CisKK2NsYXNzIFdvcmtlckNvbnRleHRJbnNwZWN0b3JQcm94eSB7CitwdWJsaWM6CisgICAg
dmlydHVhbCB2b2lkIGNvbm5lY3RGcm9udGVuZChJbnNwZWN0b3JGcm9udGVuZENoYW5uZWwqKSB7
IH0KKyAgICB2aXJ0dWFsIHZvaWQgZGlzY29ubmVjdEZyb250ZW5kKCkgeyB9CisgICAgdmlydHVh
bCB2b2lkIHNlbmRNZXNzYWdlVG9Xb3JrZXJDb250ZXh0SW5zcGVjdG9yKGNvbnN0IFN0cmluZyYp
IHsgfQorcHJvdGVjdGVkOgorICAgIHZpcnR1YWwgfldvcmtlckNvbnRleHRJbnNwZWN0b3JQcm94
eSgpIHsgfQorfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxF
KFdPUktFUlMpCisKKyNlbmRpZiAvLyBXb3JrZXJDb250ZXh0SW5zcGVjdG9yUHJveHlfaApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0UHJveHkuaCBiL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29udGV4dFByb3h5LmgKaW5kZXggNDQyMGM3ODli
ZjU3YmUzOGFlM2JhMjZhZWQ0M2ZjMDQzN2UwZTViZi4uNjA3YWMwMjU0MjNkYTcwNTk4YWVjNTdm
NDRiYzY4ZTZjYzRkZmI5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3Jr
ZXJDb250ZXh0UHJveHkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRl
eHRQcm94eS5oCkBAIC00MSw2ICs0MSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIGNs
YXNzIEtVUkw7CiAgICAgY2xhc3MgV29ya2VyOworICAgIGNsYXNzIFdvcmtlckNvbnRleHRJbnNw
ZWN0b3JQcm94eTsKIAogICAgIC8vIEEgcHJveHkgdG8gdGFsayB0byB0aGUgd29ya2VyIGNvbnRl
eHQuCiAgICAgY2xhc3MgV29ya2VyQ29udGV4dFByb3h5IHsKQEAgLTU4LDYgKzU5LDEwIEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdmlydHVhbCBib29sIGhhc1BlbmRpbmdBY3Rpdml0
eSgpIGNvbnN0ID0gMDsKIAogICAgICAgICB2aXJ0dWFsIHZvaWQgd29ya2VyT2JqZWN0RGVzdHJv
eWVkKCkgPSAwOworCisjaWYgRU5BQkxFKElOU1BFQ1RPUikKKyAgICAgICAgdmlydHVhbCBXb3Jr
ZXJDb250ZXh0SW5zcGVjdG9yUHJveHkqIGluc3BlY3RvclByb3h5KCkgeyByZXR1cm4gMDsgfQor
I2VuZGlmCiAgICAgfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQo=
</data>
<flag name="review"
          id="83685"
          type_id="1"
          status="+"
          setter="pfeldman"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>90915</attachid>
            <date>2011-04-25 06:24:06 -0700</date>
            <delta_ts>2011-04-25 06:24:06 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>inspector-worker-agent</filename>
            <type>text/plain</type>
            <size>36940</size>
            <attacher name="Yury Semikhatsky">yurys</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNv
cmUvQ01ha2VMaXN0cy50eHQKaW5kZXggOTk1Y2RhYy4uZDgyODA4OCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0
cy50eHQKQEAgLTkyMyw2ICs5MjMsNyBAQCBTRVQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgaW5zcGVj
dG9yL0luc3BlY3RvclN0eWxlU2hlZXQuY3BwCiAgICAgaW5zcGVjdG9yL0luc3BlY3RvclRpbWVs
aW5lQWdlbnQuY3BwCiAgICAgaW5zcGVjdG9yL0luc3BlY3RvclZhbHVlcy5jcHAKKyAgICBpbnNw
ZWN0b3IvSW5zcGVjdG9yV29ya2VyQWdlbnQuY3BwCiAgICAgaW5zcGVjdG9yL1BhZ2VEZWJ1Z2dl
ckFnZW50LmNwcAogICAgIGluc3BlY3Rvci9TY3JpcHRBcmd1bWVudHMuY3BwCiAgICAgaW5zcGVj
dG9yL1NjcmlwdENhbGxGcmFtZS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA2MjBiMWNiLi42YzYyODljIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsNjggQEAKKzIwMTEtMDQtMjUgIFl1cnkgU2VtaWtoYXRza3kg
IDx5dXJ5c0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogaW50cm9kdWNlIEluc3BlY3RvcldvcmtlckFn
ZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01OTMy
MAorCisgICAgICAgIEluc3BlY3RvcldvcmtlckFnZW50IGlzIHJlc3BvbnNpYmxlIGZvciByb3V0
aW5nIGluc3BlY3RvciBtZXNzYWdlcworICAgICAgICBiZXR3ZWVuIHdvcmtlciBjb250ZXh0IGlu
c3BlY3RvciBhZ2VudHMgYW5kIGNvcnJlc3BvbmRpbmcgd29ya2VyCisgICAgICAgIGluc3BlY3Rv
ciBmcm9udC1lbmQuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBHTlVt
YWtlZmlsZS5saXN0LmFtOgorICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBXZWJD
b3JlLnBybzoKKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAg
ICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogaW5zcGVj
dG9yL0NvZGVHZW5lcmF0b3JJbnNwZWN0b3IucG06CisgICAgICAgICogaW5zcGVjdG9yL0luc3Bl
Y3Rvci5qc29uOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JBZ2VudC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpJbnNwZWN0b3JBZ2VudDo6SW5zcGVjdG9yQWdlbnQpOgorICAgICAgICAo
V2ViQ29yZTo6SW5zcGVjdG9yQWdlbnQ6OnNldEZyb250ZW5kKToKKyAgICAgICAgKFdlYkNvcmU6
Okluc3BlY3RvckFnZW50OjpkaXNjb25uZWN0RnJvbnRlbmQpOgorICAgICAgICAqIGluc3BlY3Rv
ci9JbnNwZWN0b3JBZ2VudC5oOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQWdlbnQ6Ondv
cmtlckFnZW50KToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDb250cm9sbGVyOjpjb25uZWN0RnJvbnRlbmQp
OgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQ29udHJvbGxlcjo6ZGlzY29ubmVjdEZyb250
ZW5kKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkU3RhcnRXb3Jr
ZXJDb250ZXh0SW1wbCk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRh
dGlvbi5oOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxs
U3RhcnRXb3JrZXJDb250ZXh0KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1l
bnRhdGlvbjo6ZGlkU3RhcnRXb3JrZXJDb250ZXh0KToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5z
cGVjdG9yV29ya2VyQWdlbnQuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rv
cldvcmtlckFnZW50OjpXb3JrZXJGcm9udGVuZENoYW5uZWw6OldvcmtlckZyb250ZW5kQ2hhbm5l
bCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JXb3JrZXJBZ2VudDo6V29ya2VyRnJvbnRl
bmRDaGFubmVsOjp+V29ya2VyRnJvbnRlbmRDaGFubmVsKToKKyAgICAgICAgKFdlYkNvcmU6Oklu
c3BlY3RvcldvcmtlckFnZW50OjpXb3JrZXJGcm9udGVuZENoYW5uZWw6OmlkKToKKyAgICAgICAg
KFdlYkNvcmU6Okluc3BlY3RvcldvcmtlckFnZW50OjpXb3JrZXJGcm9udGVuZENoYW5uZWw6Omlu
c3BlY3RvclByb3h5KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvcldvcmtlckFnZW50OjpX
b3JrZXJGcm9udGVuZENoYW5uZWw6OnNlbmRNZXNzYWdlVG9Gcm9udGVuZCk6CisgICAgICAgIChX
ZWJDb3JlOjpJbnNwZWN0b3JXb3JrZXJBZ2VudDo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6
Okluc3BlY3RvcldvcmtlckFnZW50OjpJbnNwZWN0b3JXb3JrZXJBZ2VudCk6CisgICAgICAgIChX
ZWJDb3JlOjpJbnNwZWN0b3JXb3JrZXJBZ2VudDo6fkluc3BlY3RvcldvcmtlckFnZW50KToKKyAg
ICAgICAgKFdlYkNvcmU6Okluc3BlY3RvcldvcmtlckFnZW50OjpzZXRGcm9udGVuZCk6CisgICAg
ICAgIChXZWJDb3JlOjpJbnNwZWN0b3JXb3JrZXJBZ2VudDo6Y2xlYXJGcm9udGVuZCk6CisgICAg
ICAgIChXZWJDb3JlOjpJbnNwZWN0b3JXb3JrZXJBZ2VudDo6ZGlzcGF0Y2hNZXNzYWdlT25Xb3Jr
ZXJJbnNwZWN0b3IpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yV29ya2VyQWdlbnQ6OmRp
ZFN0YXJ0V29ya2VyQ29udGV4dCk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rvcldvcmtl
ckFnZW50Lmg6IEFkZGVkLgorICAgICAgICAqIGluc3BlY3Rvci9JbnN0cnVtZW50aW5nQWdlbnRz
Lmg6CisgICAgICAgIChXZWJDb3JlOjpJbnN0cnVtZW50aW5nQWdlbnRzOjpJbnN0cnVtZW50aW5n
QWdlbnRzKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3RydW1lbnRpbmdBZ2VudHM6Omluc3BlY3Rv
cldvcmtlckFnZW50KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3RydW1lbnRpbmdBZ2VudHM6OnNl
dEluc3BlY3RvcldvcmtlckFnZW50KToKKyAgICAgICAgKiBpbnNwZWN0b3IvV29ya2VySW5zcGVj
dG9yQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJJbnNwZWN0b3JDb250
cm9sbGVyOjpjb25uZWN0RnJvbnRlbmQpOgorICAgICAgICAqIGluc3BlY3Rvci9nZW5lcmF0ZS1p
bnNwZWN0b3ItaWRsOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Oldvcmtlcjo6bm90aWZ5RmluaXNoZWQpOgorICAgICAgICAqIHdvcmtlcnMvV29ya2Vy
Q29udGV4dEluc3BlY3RvclByb3h5Lmg6IEFkZGVkLiBQbGF0Zm9ybS1zcGVjaWZpYyB0cmFuc3Bv
cnQgZm9yIGluc3BlY3RvcgorICAgICAgICBtZXNzYWdlcyBzZW50IGZyb20gdGhlIGluc3BlY3Rl
ZCBwYWdlIHdvcmtlciBhZ2VudCB0byB0aGUgd29ya2VyIGNvbnRleHQgaW5zcGVjdG9yIGFnZW50
cy4KKyAgICAgICAgKFdlYkNvcmU6OldvcmtlckNvbnRleHRJbnNwZWN0b3JQcm94eTo6Y29ubmVj
dEZyb250ZW5kKToKKyAgICAgICAgKFdlYkNvcmU6OldvcmtlckNvbnRleHRJbnNwZWN0b3JQcm94
eTo6ZGlzY29ubmVjdEZyb250ZW5kKToKKyAgICAgICAgKFdlYkNvcmU6OldvcmtlckNvbnRleHRJ
bnNwZWN0b3JQcm94eTo6c2VuZE1lc3NhZ2VUb1dvcmtlckNvbnRleHRJbnNwZWN0b3IpOgorICAg
ICAgICAoV2ViQ29yZTo6V29ya2VyQ29udGV4dEluc3BlY3RvclByb3h5Ojp+V29ya2VyQ29udGV4
dEluc3BlY3RvclByb3h5KToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlckNvbnRleHRQcm94eS5o
OgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyQ29udGV4dFByb3h5OjppbnNwZWN0b3JQcm94eSk6
CisKIDIwMTEtMDQtMjUgIFBhdmVsIEZlbGRtYW4gIDxwZmVsZG1hbkBnb29nbGUuY29tPgogCiAg
ICAgICAgIFJldmlld2VkIGJ5IFl1cnkgU2VtaWtoYXRza3kuCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUu
bGlzdC5hbQppbmRleCA5NDZjZGNhLi5iZTYzMzdkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9HTlVtYWtlZmlsZS5saXN0LmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxp
c3QuYW0KQEAgLTE5OTMsNiArMTk5Myw4IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaCBcCiAJU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclZhbHVlcy5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JWYWx1ZXMuaCBcCisJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvcldvcmtlckFnZW50LmNwcCBcCisJU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvcldvcmtlckFnZW50LmggXAogCVNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JX
b3JrZXJSZXNvdXJjZS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zdHJ1bWVudGlu
Z0FnZW50cy5oIFwKIAlTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvUGFnZURlYnVnZ2VyQWdlbnQu
Y3BwIFwKQEAgLTM2MzIsNiArMzYzNCw3IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNl
L1dlYkNvcmUvd29ya2Vycy9TaGFyZWRXb3JrZXJUaHJlYWQuaCBcCiAJU291cmNlL1dlYkNvcmUv
d29ya2Vycy9Xb3JrZXJDb250ZXh0LmNwcCBcCiAJU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3Jr
ZXJDb250ZXh0LmggXAorCVNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29udGV4dEluc3Bl
Y3RvclByb3h5LmggXAogCVNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29udGV4dFByb3h5
LmggXAogCVNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmNwcCBcCiAJU291cmNlL1dlYkNv
cmUvd29ya2Vycy9Xb3JrZXIuaCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lmd5cGkgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXggMGJkYjA5MC4uMDJiNzQ2
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtMzI4OSw2ICszMjg5LDggQEAKICAgICAgICAgICAgICdp
bnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oJywKICAgICAgICAgICAgICdpbnNwZWN0
b3IvSW5zcGVjdG9yVmFsdWVzLmNwcCcsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL0luc3BlY3Rv
cldvcmtlclJlc291cmNlLmgnLAorICAgICAgICAgICAgJ2luc3BlY3Rvci9JbnNwZWN0b3JXb3Jr
ZXJBZ2VudC5jcHAnLAorICAgICAgICAgICAgJ2luc3BlY3Rvci9JbnNwZWN0b3JXb3JrZXJBZ2Vu
dC5oJywKICAgICAgICAgICAgICdpbnNwZWN0b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5oJywKICAg
ICAgICAgICAgICdpbnNwZWN0b3IvUGFnZURlYnVnZ2VyQWdlbnQuY3BwJywKICAgICAgICAgICAg
ICdpbnNwZWN0b3IvUGFnZURlYnVnZ2VyQWdlbnQuaCcsCkBAIC02MDY2LDYgKzYwNjgsNyBAQAog
ICAgICAgICAgICAgJ3dvcmtlcnMvV29ya2VyLmgnLAogICAgICAgICAgICAgJ3dvcmtlcnMvV29y
a2VyQ29udGV4dC5jcHAnLAogICAgICAgICAgICAgJ3dvcmtlcnMvV29ya2VyQ29udGV4dC5oJywK
KyAgICAgICAgICAgICd3b3JrZXJzL1dvcmtlckNvbnRleHRJbnNwZWN0b3JQcm94eS5oJywKICAg
ICAgICAgICAgICd3b3JrZXJzL1dvcmtlckNvbnRleHRQcm94eS5oJywKICAgICAgICAgICAgICd3
b3JrZXJzL1dvcmtlckxvYWRlclByb3h5LmgnLAogICAgICAgICAgICAgJ3dvcmtlcnMvV29ya2Vy
TG9jYXRpb24uY3BwJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUucHJvIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS5wcm8KaW5kZXggMTkxZWU3Zi4uMzdiOTVmOCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5wcm8KKysrIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5wcm8KQEAgLTg0Myw2ICs4NDMsNyBAQCBTT1VSQ0VTICs9IFwKICAgICBpbnNwZWN0b3Iv
SW5zcGVjdG9yU3R5bGVTaGVldC5jcHAgXAogICAgIGluc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGlu
ZUFnZW50LmNwcCBcCiAgICAgaW5zcGVjdG9yL0luc3BlY3RvclZhbHVlcy5jcHAgXAorICAgIGlu
c3BlY3Rvci9JbnNwZWN0b3JXb3JrZXJBZ2VudC5jcHAgXAogICAgIGluc3BlY3Rvci9QYWdlRGVi
dWdnZXJBZ2VudC5jcHAgXAogICAgIGluc3BlY3Rvci9TY3JpcHRBcmd1bWVudHMuY3BwIFwKICAg
ICBpbnNwZWN0b3IvU2NyaXB0Q2FsbEZyYW1lLmNwcCBcCkBAIC0xNzkwLDYgKzE3OTEsNyBAQCBI
RUFERVJTICs9IFwKICAgICBpbnNwZWN0b3IvSW5zcGVjdG9yU3RhdGUuaCBcCiAgICAgaW5zcGVj
dG9yL0luc3BlY3RvclN0eWxlU2hlZXQuaCBcCiAgICAgaW5zcGVjdG9yL0luc3BlY3RvclRpbWVs
aW5lQWdlbnQuaCBcCisgICAgaW5zcGVjdG9yL0luc3BlY3RvcldvcmtlckFnZW50LmggXAogICAg
IGluc3BlY3Rvci9JbnN0cnVtZW50aW5nQWdlbnRzLmggXAogICAgIGluc3BlY3Rvci9QYWdlRGVi
dWdnZXJBZ2VudC5oIFwKICAgICBpbnNwZWN0b3IvU2NyaXB0R0NFdmVudExpc3RlbmVyLmggXApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2og
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagppbmRleCAyNzE5
ZTljLi41N2E5YjA2IDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9X
ZWJDb3JlLnZjcHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3Jl
LnZjcHJvagpAQCAtNDgyNjYsNiArNDgyNjYsMTAgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8
RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cd29ya2Vyc1xXb3JrZXJDb250ZXh0SW5zcGVjdG9y
UHJveHkuaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0i
Li5cd29ya2Vyc1xXb3JrZXJDb250ZXh0UHJveHkuaCIKIAkJCQk+CiAJCQk8L0ZpbGU+CkBAIC02
NzIwNiw2ICs2NzIxMCwxNCBAQAogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCisJCQkJUmVs
YXRpdmVQYXRoPSIuLlxpbnNwZWN0b3JcSW5zcGVjdG9yV29ya2VyQWdlbnQuY3BwIgorCQkJCT4K
KwkJCTwvRmlsZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxpbnNwZWN0b3JcSW5z
cGVjdG9yV29ya2VyQWdlbnQuaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQogCQkJCVJl
bGF0aXZlUGF0aD0iLi5caW5zcGVjdG9yXEluc3BlY3RvcldvcmtlclJlc291cmNlLmgiCiAJCQkJ
PgogCQkJPC9GaWxlPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCmluZGV4IDRhYmIyNTAuLjYxMmVmMjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTU3MjksNiArNTcyOSw5
IEBACiAJCUYzNkUwN0E0MTM1OEE4QkUwMEFBQ0JDOSAvKiBXb3JrZXJJbnNwZWN0b3JDb250cm9s
bGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEYz
NkUwN0EyMTM1OEE4QkUwMEFBQ0JDOSAvKiBXb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyLmNwcCAq
LzsgfTsKIAkJRjM2RTA3QTUxMzU4QThCRTAwQUFDQkM5IC8qIFdvcmtlckluc3BlY3RvckNvbnRy
b2xsZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEYz
NkUwN0EzMTM1OEE4QkUwMEFBQ0JDOSAvKiBXb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyLmggKi87
IH07CiAJCUYzNzVDQzA3MTE1MEQzMDAwMDhEREI4MSAvKiBJbnNwZWN0b3JXb3JrZXJSZXNvdXJj
ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjM3NUND
MDYxMTUwRDMwMDAwOEREQjgxIC8qIEluc3BlY3RvcldvcmtlclJlc291cmNlLmggKi87IH07CisJ
CUYzODEwQzFCMTM2NUE0OTYwMEVENkUzMyAvKiBJbnNwZWN0b3JXb3JrZXJBZ2VudC5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGMzgxMEMxOTEzNjVB
NDk2MDBFRDZFMzMgLyogSW5zcGVjdG9yV29ya2VyQWdlbnQuY3BwICovOyB9OworCQlGMzgxMEMx
QzEzNjVBNDk2MDBFRDZFMzMgLyogSW5zcGVjdG9yV29ya2VyQWdlbnQuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEYzODEwQzFBMTM2NUE0OTYwMEVENkUz
MyAvKiBJbnNwZWN0b3JXb3JrZXJBZ2VudC5oICovOyB9OworCQlGMzgxMEMxRTEzNjVBNEQ0MDBF
RDZFMzMgLyogV29ya2VyQ29udGV4dEluc3BlY3RvclByb3h5LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGMzgxMEMxRDEzNjVBNEQ0MDBFRDZFMzMgLyog
V29ya2VyQ29udGV4dEluc3BlY3RvclByb3h5LmggKi87IH07CiAJCUYzOTIyNDlDMTI2RjExQUUw
MEE5MjZEOSAvKiBTY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEYzOTIyNDlBMTI2RjExQUUwMEE5MjZEOSAvKiBT
Y3JpcHRDYWxsU3RhY2tGYWN0b3J5LmNwcCAqLzsgfTsKIAkJRjM5MjI0OUQxMjZGMTFBRTAwQTky
NkQ5IC8qIFNjcmlwdENhbGxTdGFja0ZhY3RvcnkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEYzOTIyNDlCMTI2RjExQUUwMEE5MjZEOSAvKiBTY3JpcHRD
YWxsU3RhY2tGYWN0b3J5LmggKi87IH07CiAJCUYzOUJFOTVCMTI2NzNCRjQwMEUwQTY3NCAvKiBT
Y3JpcHRBcmd1bWVudHMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gRjM5QkU5NTkxMjY3M0JGNDAwRTBBNjc0IC8qIFNjcmlwdEFyZ3VtZW50cy5jcHAg
Ki87IH07CkBAIC0xMjI5NSw2ICsxMjI5OCw5IEBACiAJCUYzNkUwN0EyMTM1OEE4QkUwMEFBQ0JD
OSAvKiBXb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IFdvcmtlckluc3BlY3RvckNvbnRyb2xsZXIuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlGMzZFMDdBMzEzNThBOEJFMDBBQUNCQzkgLyogV29ya2VySW5z
cGVjdG9yQ29udHJvbGxlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXb3Jr
ZXJJbnNwZWN0b3JDb250cm9sbGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUYz
NzVDQzA2MTE1MEQzMDAwMDhEREI4MSAvKiBJbnNwZWN0b3JXb3JrZXJSZXNvdXJjZS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbnNwZWN0b3JXb3JrZXJSZXNvdXJjZS5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGMzgxMEMxOTEzNjVBNDk2MDBFRDZFMzMgLyog
SW5zcGVjdG9yV29ya2VyQWdlbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gSW5zcGVjdG9yV29ya2VyQWdlbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQlGMzgxMEMxQTEzNjVBNDk2MDBFRDZFMzMgLyogSW5zcGVjdG9yV29ya2VyQWdlbnQuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW5zcGVjdG9yV29ya2VyQWdlbnQuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRjM4MTBDMUQxMzY1QTRENDAwRUQ2RTMzIC8q
IFdvcmtlckNvbnRleHRJbnNwZWN0b3JQcm94eS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IG5hbWUgPSBXb3JrZXJDb250ZXh0SW5zcGVjdG9yUHJveHkuaDsgcGF0aCA9IHdvcmtlcnMvV29y
a2VyQ29udGV4dEluc3BlY3RvclByb3h5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUYzOTIyNDlBMTI2RjExQUUwMEE5MjZEOSAvKiBTY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNjcmlwdENhbGxTdGFja0ZhY3Rv
cnkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGMzkyMjQ5QjEyNkYxMUFFMDBB
OTI2RDkgLyogU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBTY3JpcHRDYWxsU3RhY2tGYWN0b3J5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUYzOUJFOTU5MTI2NzNCRjQwMEUwQTY3NCAvKiBTY3JpcHRBcmd1bWVudHMuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU2NyaXB0QXJndW1lbnRzLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEzMzcyLDYgKzEzMzc4LDggQEAKIAkJ
CQk3NTQxMzNBNzEwMkUwMEU4MDAwNzVEMDAgLyogSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oICov
LAogCQkJCTRGMzI4OUIzMTFBNDJBQUIwMDVBQkU3RSAvKiBJbnNwZWN0b3JWYWx1ZXMuY3BwICov
LAogCQkJCTRGMzI4OUI0MTFBNDJBQUIwMDVBQkU3RSAvKiBJbnNwZWN0b3JWYWx1ZXMuaCAqLywK
KwkJCQlGMzgxMEMxOTEzNjVBNDk2MDBFRDZFMzMgLyogSW5zcGVjdG9yV29ya2VyQWdlbnQuY3Bw
ICovLAorCQkJCUYzODEwQzFBMTM2NUE0OTYwMEVENkUzMyAvKiBJbnNwZWN0b3JXb3JrZXJBZ2Vu
dC5oICovLAogCQkJCUYzNzVDQzA2MTE1MEQzMDAwMDhEREI4MSAvKiBJbnNwZWN0b3JXb3JrZXJS
ZXNvdXJjZS5oICovLAogCQkJCUYzQUJGRTBCMTMwRTlEQTAwMEU3RjdEMSAvKiBJbnN0cnVtZW50
aW5nQWdlbnRzLmggKi8sCiAJCQkJMUM4MUJBMDUwRTk3MzQ4MzAwMjY2RTA3IC8qIEphdmFTY3Jp
cHRDYWxsRnJhbWUuaWRsICovLApAQCAtMTM1MDgsNiArMTM1MTYsNyBAQAogCQkJCTJFNDM0NjM2
MEY1NDZBODIwMEIwRjFCQSAvKiBXb3JrZXJDb250ZXh0LmNwcCAqLywKIAkJCQkyRTQzNDYzNzBG
NTQ2QTgyMDBCMEYxQkEgLyogV29ya2VyQ29udGV4dC5oICovLAogCQkJCTJFNDM0NjM4MEY1NDZB
ODIwMEIwRjFCQSAvKiBXb3JrZXJDb250ZXh0LmlkbCAqLywKKwkJCQlGMzgxMEMxRDEzNjVBNEQ0
MDBFRDZFMzMgLyogV29ya2VyQ29udGV4dEluc3BlY3RvclByb3h5LmggKi8sCiAJCQkJMkU0MzQ2
MzkwRjU0NkE4MjAwQjBGMUJBIC8qIFdvcmtlckNvbnRleHRQcm94eS5oICovLAogCQkJCTE4Rjgz
MUI3MEZENDhDNzgwMEQ4QzU2QiAvKiBXb3JrZXJMb2FkZXJQcm94eS5oICovLAogCQkJCTJFNDM0
NjNBMEY1NDZBODIwMEIwRjFCQSAvKiBXb3JrZXJMb2NhdGlvbi5jcHAgKi8sCkBAIC0yMzA2OCw2
ICsyMzA3Nyw4IEBACiAJCQkJNDM1OEU4N0QxMzYwQTJFRTAwRTQ3NDhDIC8qIEpTU1ZHRkVEcm9w
U2hhZG93RWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDM1OEU4ODExMzYwQTMxNzAwRTQ3
NDhDIC8qIEZFRHJvcFNoYWRvdy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDM1OEU4ODYxMzYwQTMz
QjAwRTQ3NDhDIC8qIFNWR0ZFRHJvcFNoYWRvd0VsZW1lbnQuaCBpbiBIZWFkZXJzICovLAorCQkJ
CUYzODEwQzFDMTM2NUE0OTYwMEVENkUzMyAvKiBJbnNwZWN0b3JXb3JrZXJBZ2VudC5oIGluIEhl
YWRlcnMgKi8sCisJCQkJRjM4MTBDMUUxMzY1QTRENDAwRUQ2RTMzIC8qIFdvcmtlckNvbnRleHRJ
bnNwZWN0b3JQcm94eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxv
eW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkBAIC0yNTc4NCw2ICsyNTc5NSw3IEBACiAJ
CQkJNDM1OEU4ODAxMzYwQTMxNzAwRTQ3NDhDIC8qIEZFRHJvcFNoYWRvdy5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQk0MzU4RTg4NTEzNjBBMzNCMDBFNDc0OEMgLyogU1ZHRkVEcm9wU2hhZG93RWxl
bWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxNEUwQkM1NjEzNjE0OEE4MDAyQUQxMkUgLyog
SlNET01Ub2tlbkxpc3RDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJRjM4MTBDMUIxMzY1
QTQ5NjAwRUQ2RTMzIC8qIEluc3BlY3RvcldvcmtlckFnZW50LmNwcCBpbiBTb3VyY2VzICovLAog
CQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvZGVHZW5lcmF0b3JJbnNwZWN0
b3IucG0gYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29kZUdlbmVyYXRvckluc3BlY3Rvci5w
bQppbmRleCBkZThlMWRiLi4yYmE3ODc4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvQ29kZUdlbmVyYXRvckluc3BlY3Rvci5wbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvQ29kZUdlbmVyYXRvckluc3BlY3Rvci5wbQpAQCAtODUsNiArODUsMTEgQEAgJHR5cGVU
cmFuc2Zvcm17IlRpbWVsaW5lIn0gPSB7CiAgICAgImhlYWRlciIgPT4gIkluc3BlY3RvclRpbWVs
aW5lQWdlbnQuaCIsCiAgICAgImRvbWFpbkFjY2Vzc29yIiA9PiAibV90aW1lbGluZUFnZW50IiwK
IH07CiskdHlwZVRyYW5zZm9ybXsiV29ya2VyIn0gPSB7CisgICAgImZvcndhcmQiID0+ICJJbnNw
ZWN0b3JXb3JrZXJBZ2VudCIsCisgICAgImhlYWRlciIgPT4gIkluc3BlY3RvcldvcmtlckFnZW50
LmgiLAorICAgICJkb21haW5BY2Nlc3NvciIgPT4gIm1fd29ya2VyQWdlbnQiLAorfTsKIAogJHR5
cGVUcmFuc2Zvcm17IkZyb250ZW5kIn0gPSB7CiAgICAgImZvcndhcmQiID0+ICJJbnNwZWN0b3JG
cm9udGVuZCIsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
Lmpzb24gYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpzb24KaW5kZXggMGZj
ODZkMy4uY2U4ODE3YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3Rvci5qc29uCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbgpA
QCAtMTY3NCw1ICsxNjc0LDMzIEBACiAgICAgICAgICAgICAgICAgXQogICAgICAgICAgICAgfQog
ICAgICAgICBdCi0gICAgfQorICAgIH0sCisgICAgeworICAgICAgICAiZG9tYWluIjogIldvcmtl
ciIsCisgICAgICAgICJ0eXBlcyI6IFtdLAorICAgICAgICAiY29tbWFuZHMiOiBbCisgICAgICAg
ICAgICB7CisgICAgICAgICAgICAgICAgIm5hbWUiOiAic2VuZE1lc3NhZ2VUb1dvcmtlciIsCisg
ICAgICAgICAgICAgICAgInBhcmFtZXRlcnMiOiBbCisgICAgICAgICAgICAgICAgICAgIHsgIm5h
bWUiOiAid29ya2VySWQiLCAidHlwZSI6ICJpbnRlZ2VyIiB9LAorICAgICAgICAgICAgICAgICAg
ICB7ICJuYW1lIjogIm1lc3NhZ2UiLCAidHlwZSI6ICJvYmplY3QiIH0KKyAgICAgICAgICAgICAg
ICBdCisgICAgICAgICAgICB9CisgICAgICAgIF0sCisgICAgICAgICJldmVudHMiOiBbCisgICAg
ICAgICAgICB7CisgICAgICAgICAgICAgICAgIm5hbWUiOiAid29ya2VyQ3JlYXRlZCIsCisgICAg
ICAgICAgICAgICAgInBhcmFtZXRlcnMiOiBbCisgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUi
OiAid29ya2VySWQiLCAidHlwZSI6ICJpbnRlZ2VyIiB9CisgICAgICAgICAgICAgICAgXQorICAg
ICAgICAgICAgfSwKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAibmFtZSI6ICJkaXNw
YXRjaE1lc3NhZ2VGcm9tV29ya2VyIiwKKyAgICAgICAgICAgICAgICAicGFyYW1ldGVycyI6IFsK
KyAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJ3b3JrZXJJZCIsICJ0eXBlIjogImludGVn
ZXIiIH0sCisgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAibWVzc2FnZSIsICJ0eXBlIjog
Im9iamVjdCIgfQorICAgICAgICAgICAgICAgIF0KKyAgICAgICAgICAgIH0KKyAgICAgICAgXQor
ICAgIH0sCiBdCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
QWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFnZW50LmNwcApp
bmRleCAwY2ZjNWQyLi44NDkyMzY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JBZ2VudC5jcHAKQEAgLTU0LDYgKzU0LDcgQEAKICNpbmNsdWRlICJJbnNwZWN0b3JTdGF0
ZS5oIgogI2luY2x1ZGUgIkluc3BlY3RvclRpbWVsaW5lQWdlbnQuaCIKICNpbmNsdWRlICJJbnNw
ZWN0b3JWYWx1ZXMuaCIKKyNpbmNsdWRlICJJbnNwZWN0b3JXb3JrZXJBZ2VudC5oIgogI2luY2x1
ZGUgIkluc3BlY3RvcldvcmtlclJlc291cmNlLmgiCiAjaW5jbHVkZSAiSW5zdHJ1bWVudGluZ0Fn
ZW50cy5oIgogI2luY2x1ZGUgIlBhZ2UuaCIKQEAgLTEzMyw2ICsxMzQsOSBAQCBJbnNwZWN0b3JB
Z2VudDo6SW5zcGVjdG9yQWdlbnQoUGFnZSogcGFnZSwgSW5zcGVjdG9yQ2xpZW50KiBjbGllbnQs
IEluamVjdGVkU2NyaQogICAgICwgbV9icm93c2VyRGVidWdnZXJBZ2VudChJbnNwZWN0b3JCcm93
c2VyRGVidWdnZXJBZ2VudDo6Y3JlYXRlKG1faW5zdHJ1bWVudGluZ0FnZW50cy5nZXQoKSwgbV9z
dGF0ZS5nZXQoKSwgbV9kb21BZ2VudC5nZXQoKSwgbV9kZWJ1Z2dlckFnZW50LmdldCgpLCB0aGlz
KSkKICAgICAsIG1fcHJvZmlsZXJBZ2VudChJbnNwZWN0b3JQcm9maWxlckFnZW50OjpjcmVhdGUo
bV9pbnN0cnVtZW50aW5nQWdlbnRzLmdldCgpLCBtX2NvbnNvbGVBZ2VudC5nZXQoKSwgcGFnZSwg
bV9zdGF0ZS5nZXQoKSkpCiAjZW5kaWYKKyNpZiBFTkFCTEUoV09SS0VSUykKKyAgICAsIG1fd29y
a2VyQWdlbnQoSW5zcGVjdG9yV29ya2VyQWdlbnQ6OmNyZWF0ZShtX2luc3RydW1lbnRpbmdBZ2Vu
dHMuZ2V0KCkpKQorI2VuZGlmCiAgICAgLCBtX2Nhbklzc3VlRXZhbHVhdGVGb3JUZXN0SW5Gcm9u
dGVuZChmYWxzZSkKIHsKICAgICBBU1NFUlRfQVJHKHBhZ2UsIHBhZ2UpOwpAQCAtMjUyLDYgKzI1
NiwxMCBAQCB2b2lkIEluc3BlY3RvckFnZW50OjpzZXRGcm9udGVuZChJbnNwZWN0b3JGcm9udGVu
ZCogaW5zcGVjdG9yRnJvbnRlbmQpCiAgICAgICAgIG1fZnJvbnRlbmQtPmluc3BlY3RvcigpLT5k
aWRDcmVhdGVXb3JrZXIod29ya2VyLT5pZCgpLCB3b3JrZXItPnVybCgpLCB3b3JrZXItPmlzU2hh
cmVkV29ya2VyKCkpOwogICAgIH0KICNlbmRpZgorI2lmIEVOQUJMRShXT1JLRVJTKQorICAgIG1f
d29ya2VyQWdlbnQtPnNldEZyb250ZW5kKG1fZnJvbnRlbmQpOworI2VuZGlmCisKICAgICAvLyBE
aXNwYXRjaCBwZW5kaW5nIGZyb250ZW5kIGNvbW1hbmRzCiAgICAgaXNzdWVFdmFsdWF0ZUZvclRl
c3RDb21tYW5kcygpOwogfQpAQCAtMjkxLDYgKzI5OSw5IEBAIHZvaWQgSW5zcGVjdG9yQWdlbnQ6
OmRpc2Nvbm5lY3RGcm9udGVuZCgpCiAgICAgbV9kb21TdG9yYWdlQWdlbnQtPmNsZWFyRnJvbnRl
bmQoKTsKICNlbmRpZgogICAgIG1fcGFnZUFnZW50LT5jbGVhckZyb250ZW5kKCk7CisjaWYgRU5B
QkxFKFdPUktFUlMpCisgICAgbV93b3JrZXJBZ2VudC0+Y2xlYXJGcm9udGVuZCgpOworI2VuZGlm
CiB9CiAKIHZvaWQgSW5zcGVjdG9yQWdlbnQ6OmRpZENvbW1pdExvYWQoKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFnZW50LmggYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yQWdlbnQuaAppbmRleCA2ODAyYWQ1Li41NWJjYjVhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQWdlbnQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQWdlbnQuaApAQCAtNzAsNiArNzAsNyBA
QCBjbGFzcyBJbnNwZWN0b3JTdGF0ZTsKIGNsYXNzIEluc3BlY3RvclN0b3JhZ2VBZ2VudDsKIGNs
YXNzIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ7CiBjbGFzcyBJbnNwZWN0b3JWYWx1ZTsKK2NsYXNz
IEluc3BlY3RvcldvcmtlckFnZW50OwogY2xhc3MgSW5zcGVjdG9yV29ya2VyUmVzb3VyY2U7CiBj
bGFzcyBJbnN0cnVtZW50aW5nQWdlbnRzOwogY2xhc3MgSW50UmVjdDsKQEAgLTEzOSw2ICsxNDAs
OSBAQCBwdWJsaWM6CiAjaWYgRU5BQkxFKE9GRkxJTkVfV0VCX0FQUExJQ0FUSU9OUykKICAgICBJ
bnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQqIGFwcGxpY2F0aW9uQ2FjaGVBZ2VudCgpIHsg
cmV0dXJuIG1fYXBwbGljYXRpb25DYWNoZUFnZW50LmdldCgpOyB9CiAjZW5kaWYKKyNpZiBFTkFC
TEUoV09SS0VSUykKKyAgICBJbnNwZWN0b3JXb3JrZXJBZ2VudCogd29ya2VyQWdlbnQoKSB7IHJl
dHVybiBtX3dvcmtlckFnZW50LmdldCgpOyB9CisjZW5kaWYKIAogICAgIHZvaWQgZGlkQ2xlYXJX
aW5kb3dPYmplY3RJbldvcmxkKEZyYW1lKiwgRE9NV3JhcHBlcldvcmxkKik7CiAKQEAgLTIyMiw2
ICsyMjYsNyBAQCBwcml2YXRlOgogI2lmIEVOQUJMRShXT1JLRVJTKQogICAgIHR5cGVkZWYgSGFz
aE1hcDxpbnRwdHJfdCwgUmVmUHRyPEluc3BlY3RvcldvcmtlclJlc291cmNlPiA+IFdvcmtlcnNN
YXA7CiAgICAgV29ya2Vyc01hcCBtX3dvcmtlcnM7CisgICAgT3duUHRyPEluc3BlY3Rvcldvcmtl
ckFnZW50PiBtX3dvcmtlckFnZW50OwogI2VuZGlmCiAgICAgYm9vbCBtX2Nhbklzc3VlRXZhbHVh
dGVGb3JUZXN0SW5Gcm9udGVuZDsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yQ29udHJvbGxlci5jcHAKaW5kZXggZDliOTc3My4uMzJiZDFiNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcApAQCAtNDgs
OSArNDgsMTEgQEAKICNpbmNsdWRlICJJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCIKICNpbmNs
dWRlICJJbnNwZWN0b3JQcm9maWxlckFnZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yVGltZWxp
bmVBZ2VudC5oIgorI2luY2x1ZGUgIkluc3BlY3RvcldvcmtlckFnZW50LmgiCiAjaW5jbHVkZSAi
UGFnZS5oIgogI2luY2x1ZGUgIlNjcmlwdE9iamVjdC5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgi
CisjaW5jbHVkZSA8d3RmL1VudXNlZFBhcmFtLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApA
QCAtMTM4LDcgKzE0MCwxMSBAQCB2b2lkIEluc3BlY3RvckNvbnRyb2xsZXI6OmNvbm5lY3RGcm9u
dGVuZCgpCiAgICAgICAgIG1faW5zcGVjdG9yQWdlbnQtPnByb2ZpbGVyQWdlbnQoKSwKICNlbmRp
ZgogICAgICAgICBtX2luc3BlY3RvckFnZW50LT5ydW50aW1lQWdlbnQoKSwKLSAgICAgICAgbV9p
bnNwZWN0b3JBZ2VudC0+dGltZWxpbmVBZ2VudCgpKTsKKyAgICAgICAgbV9pbnNwZWN0b3JBZ2Vu
dC0+dGltZWxpbmVBZ2VudCgpCisjaWYgRU5BQkxFKFdPUktFUlMpCisgICAgICAgICwgbV9pbnNw
ZWN0b3JBZ2VudC0+d29ya2VyQWdlbnQoKQorI2VuZGlmCisgICAgKTsKIAogICAgIGlmIChtX3N0
YXJ0VXNlckluaXRpYXRlZERlYnVnZ2luZ1doZW5Gcm9udGVkSXNDb25uZWN0ZWQpIHsKICAgICAg
ICAgbV9pbnNwZWN0b3JGcm9udGVuZC0+aW5zcGVjdG9yKCktPnN0YXJ0VXNlckluaXRpYXRlZERl
YnVnZ2luZygpOwpAQCAtMTYwLDcgKzE2Niw2IEBAIHZvaWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6
ZGlzY29ubmVjdEZyb250ZW5kKCkKICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmZyb250
ZW5kRGVsZXRlZCgpOwogICAgIGlmICghSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpoYXNGcm9u
dGVuZHMoKSkKICAgICAgICAgU2NyaXB0Q29udHJvbGxlcjo6c2V0Q2FwdHVyZUNhbGxTdGFja0Zv
clVuY2F1Z2h0RXhjZXB0aW9ucyhmYWxzZSk7Ci0KIH0KIAogdm9pZCBJbnNwZWN0b3JDb250cm9s
bGVyOjpzaG93KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JJbnN0cnVtZW50YXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckluc3RydW1lbnRhdGlvbi5jcHAKaW5kZXggZGM0ZTVhYy4uMjNlOTZmYyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAK
QEAgLTUxLDYgKzUxLDcgQEAKICNpbmNsdWRlICJJbnNwZWN0b3JQcm9maWxlckFnZW50LmgiCiAj
aW5jbHVkZSAiSW5zcGVjdG9yUmVzb3VyY2VBZ2VudC5oIgogI2luY2x1ZGUgIkluc3BlY3RvclRp
bWVsaW5lQWdlbnQuaCIKKyNpbmNsdWRlICJJbnNwZWN0b3JXb3JrZXJBZ2VudC5oIgogI2luY2x1
ZGUgIkluc3RydW1lbnRpbmdBZ2VudHMuaCIKICNpbmNsdWRlICJTY3JpcHRBcmd1bWVudHMuaCIK
ICNpbmNsdWRlICJTY3JpcHRDYWxsU3RhY2suaCIKQEAgLTcxMCw2ICs3MTEsMTIgQEAgdm9pZCBJ
bnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZFVzZURPTVN0b3JhZ2VJbXBsKEluc3BlY3RvckFn
ZW50KiBpbnNwZWN0b3JBZ2UKICNlbmRpZgogCiAjaWYgRU5BQkxFKFdPUktFUlMpCit2b2lkIElu
c3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkU3RhcnRXb3JrZXJDb250ZXh0SW1wbChJbnNwZWN0
b3JBZ2VudCogaW5zcGVjdG9yQWdlbnQsIFdvcmtlckNvbnRleHRQcm94eSogd29ya2VyQ29udGV4
dFByb3h5KQoreworICAgIGlmIChJbnNwZWN0b3JXb3JrZXJBZ2VudCogd29ya2VyQWdlbnQgPSBp
bnNwZWN0b3JBZ2VudC0+aW5zdHJ1bWVudGluZ0FnZW50cygpLT5pbnNwZWN0b3JXb3JrZXJBZ2Vu
dCgpKQorICAgICAgICB3b3JrZXJBZ2VudC0+ZGlkU3RhcnRXb3JrZXJDb250ZXh0KHdvcmtlckNv
bnRleHRQcm94eSk7Cit9CisKIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRDcmVh
dGVXb3JrZXJJbXBsKEluc3BlY3RvckFnZW50KiBpbnNwZWN0b3JBZ2VudCwgaW50cHRyX3QgaWQs
IGNvbnN0IFN0cmluZyYgdXJsLCBib29sIGlzU2hhcmVkV29ya2VyKQogewogICAgIGluc3BlY3Rv
ckFnZW50LT5kaWRDcmVhdGVXb3JrZXIoaWQsIHVybCwgaXNTaGFyZWRXb3JrZXIpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5o
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oCmlu
ZGV4IGQ4MmM2YTkuLmExYjJhNDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgKQEAgLTU5LDYgKzU5LDcgQEAgY2xhc3MgU2Ny
aXB0QXJndW1lbnRzOwogY2xhc3MgU2NyaXB0Q2FsbFN0YWNrOwogY2xhc3MgU2NyaXB0RXhlY3V0
aW9uQ29udGV4dDsKIGNsYXNzIFN0b3JhZ2VBcmVhOworY2xhc3MgV29ya2VyQ29udGV4dFByb3h5
OwogY2xhc3MgWE1MSHR0cFJlcXVlc3Q7CiAKICNpZiBFTkFCTEUoV0VCX1NPQ0tFVFMpCkBAIC0x
NTcsNiArMTU4LDggQEAgcHVibGljOgogI2VuZGlmCiAKICNpZiBFTkFCTEUoV09SS0VSUykKKyAg
ICBzdGF0aWMgYm9vbCB3aWxsU3RhcnRXb3JrZXJDb250ZXh0KFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQqLCBXb3JrZXJDb250ZXh0UHJveHkqKTsKKyAgICBzdGF0aWMgdm9pZCBkaWRTdGFydFdvcmtl
ckNvbnRleHQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFdvcmtlckNvbnRleHRQcm94eSosIGJv
b2wgcGF1c2VkKTsKICAgICBzdGF0aWMgdm9pZCBkaWRDcmVhdGVXb3JrZXIoU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCosIGludHB0cl90IGlkLCBjb25zdCBTdHJpbmcmIHVybCwgYm9vbCBpc1NoYXJl
ZFdvcmtlcik7CiAgICAgc3RhdGljIHZvaWQgZGlkRGVzdHJveVdvcmtlcihTY3JpcHRFeGVjdXRp
b25Db250ZXh0KiwgaW50cHRyX3QgaWQpOwogI2VuZGlmCkBAIC0yNzcsNiArMjgwLDcgQEAgcHJp
dmF0ZToKICNlbmRpZgogCiAjaWYgRU5BQkxFKFdPUktFUlMpCisgICAgc3RhdGljIHZvaWQgZGlk
U3RhcnRXb3JrZXJDb250ZXh0SW1wbChJbnNwZWN0b3JBZ2VudCosIFdvcmtlckNvbnRleHRQcm94
eSopOwogICAgIHN0YXRpYyB2b2lkIGRpZENyZWF0ZVdvcmtlckltcGwoSW5zcGVjdG9yQWdlbnQq
LCBpbnRwdHJfdCBpZCwgY29uc3QgU3RyaW5nJiB1cmwsIGJvb2wgaXNTaGFyZWRXb3JrZXIpOwog
ICAgIHN0YXRpYyB2b2lkIGRpZERlc3Ryb3lXb3JrZXJJbXBsKEluc3BlY3RvckFnZW50KiwgaW50
cHRyX3QgaWQpOwogI2VuZGlmCkBAIC04MDEsNiArODA1LDI1IEBAIGlubGluZSB2b2lkIEluc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkVXNlRE9NU3RvcmFnZShQYWdlKiBwYWdlLCBTdG9yYWdl
QXJlYSoKICNlbmRpZgogCiAjaWYgRU5BQkxFKFdPUktFUlMpCitpbmxpbmUgYm9vbCBJbnNwZWN0
b3JJbnN0cnVtZW50YXRpb246OndpbGxTdGFydFdvcmtlckNvbnRleHQoU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCogY29udGV4dCwgV29ya2VyQ29udGV4dFByb3h5KikKK3sKKyNpZiBFTkFCTEUoSU5T
UEVDVE9SKQorICAgIHJldHVybiBpbnNwZWN0b3JBZ2VudFdpdGhGcm9udGVuZEZvckNvbnRleHQo
Y29udGV4dCk7CisjZWxzZQorICAgIHJldHVybiBmYWxzZTsKKyNlbmRpZgorfQorCitpbmxpbmUg
dm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZFN0YXJ0V29ya2VyQ29udGV4dChTY3Jp
cHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBXb3JrZXJDb250ZXh0UHJveHkqIHByb3h5LCBi
b29sIHBhdXNlZCkKK3sKKyNpZiBFTkFCTEUoSU5TUEVDVE9SKQorICAgIGlmICghcGF1c2VkKQor
ICAgICAgICByZXR1cm47CisgICAgaWYgKEluc3BlY3RvckFnZW50KiBpbnNwZWN0b3JBZ2VudCA9
IGluc3BlY3RvckFnZW50V2l0aEZyb250ZW5kRm9yQ29udGV4dChjb250ZXh0KSkKKyAgICAgICAg
ZGlkU3RhcnRXb3JrZXJDb250ZXh0SW1wbChpbnNwZWN0b3JBZ2VudCwgcHJveHkpOworI2VuZGlm
Cit9CisKIGlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkQ3JlYXRlV29y
a2VyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIGludHB0cl90IGlkLCBjb25zdCBT
dHJpbmcmIHVybCwgYm9vbCBpc1NoYXJlZFdvcmtlcikKIHsKICNpZiBFTkFCTEUoSU5TUEVDVE9S
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvcldvcmtlckFn
ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JXb3JrZXJBZ2VudC5j
cHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjg3NWYwZgotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JXb3JrZXJBZ2VudC5j
cHAKQEAgLTAsMCArMSwxMzEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBh
cmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0
aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0
b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZy
b20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1p
c3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hU
IEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgor
ICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICog
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpZiBFTkFCTEUoV09S
S0VSUykKKworI2luY2x1ZGUgIkluc3BlY3RvcldvcmtlckFnZW50LmgiCisKKyNpbmNsdWRlICJJ
bnNwZWN0b3JGcm9udGVuZC5oIgorI2luY2x1ZGUgIkluc3BlY3RvckZyb250ZW5kQ2hhbm5lbC5o
IgorI2luY2x1ZGUgIkluc3BlY3RvclZhbHVlcy5oIgorI2luY2x1ZGUgIkluc3RydW1lbnRpbmdB
Z2VudHMuaCIKKyNpbmNsdWRlICJXb3JrZXJDb250ZXh0SW5zcGVjdG9yUHJveHkuaCIKKyNpbmNs
dWRlICJXb3JrZXJDb250ZXh0UHJveHkuaCIKKyNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgor
I2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBJ
bnNwZWN0b3JXb3JrZXJBZ2VudDo6V29ya2VyRnJvbnRlbmRDaGFubmVsIDogcHVibGljIEluc3Bl
Y3RvckZyb250ZW5kQ2hhbm5lbCB7CitwdWJsaWM6CisgICAgZXhwbGljaXQgV29ya2VyRnJvbnRl
bmRDaGFubmVsKEluc3BlY3RvckZyb250ZW5kKiBmcm9udGVuZCwgV29ya2VyQ29udGV4dEluc3Bl
Y3RvclByb3h5KiBpbnNwZWN0b3JQcm94eSkKKyAgICAgICAgOiBtX2Zyb250ZW5kKGZyb250ZW5k
KQorICAgICAgICAsIG1faW5zcGVjdG9yUHJveHkoaW5zcGVjdG9yUHJveHkpCisgICAgICAgICwg
bV9pZChzX25leHRJZCsrKQorICAgIHsKKyAgICB9CisgICAgdmlydHVhbCB+V29ya2VyRnJvbnRl
bmRDaGFubmVsKCkgeyB9CisKKyAgICBpbnQgaWQoKSBjb25zdCB7IHJldHVybiBtX2lkOyB9Cisg
ICAgV29ya2VyQ29udGV4dEluc3BlY3RvclByb3h5KiBpbnNwZWN0b3JQcm94eSgpIGNvbnN0IHsg
cmV0dXJuIG1faW5zcGVjdG9yUHJveHk7IH0KKworcHJpdmF0ZToKKyAgICB2aXJ0dWFsIGJvb2wg
c2VuZE1lc3NhZ2VUb0Zyb250ZW5kKGNvbnN0IFN0cmluZyYgbWVzc2FnZSkKKyAgICB7CisgICAg
ICAgIFJlZlB0cjxJbnNwZWN0b3JWYWx1ZT4gdmFsdWUgPSBJbnNwZWN0b3JWYWx1ZTo6cGFyc2VK
U09OKG1lc3NhZ2UpOworICAgICAgICBpZiAoIXZhbHVlKQorICAgICAgICAgICAgcmV0dXJuIGZh
bHNlOworICAgICAgICBSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiBtZXNzYWdlT2JqZWN0ID0gdmFs
dWUtPmFzT2JqZWN0KCk7CisgICAgICAgIGlmICghbWVzc2FnZU9iamVjdCkKKyAgICAgICAgICAg
IHJldHVybiBmYWxzZTsKKyAgICAgICAgbV9mcm9udGVuZC0+d29ya2VyKCktPmRpc3BhdGNoTWVz
c2FnZUZyb21Xb3JrZXIobV9pZCwgbWVzc2FnZU9iamVjdCk7CisgICAgICAgIHJldHVybiB0cnVl
OworICAgIH0KKworICAgIEluc3BlY3RvckZyb250ZW5kKiBtX2Zyb250ZW5kOworICAgIFdvcmtl
ckNvbnRleHRJbnNwZWN0b3JQcm94eSogbV9pbnNwZWN0b3JQcm94eTsKKyAgICBpbnQgbV9pZDsK
KyAgICBzdGF0aWMgaW50IHNfbmV4dElkOworfTsKKworaW50IEluc3BlY3RvcldvcmtlckFnZW50
OjpXb3JrZXJGcm9udGVuZENoYW5uZWw6OnNfbmV4dElkID0gMTsKKworUGFzc093blB0cjxJbnNw
ZWN0b3JXb3JrZXJBZ2VudD4gSW5zcGVjdG9yV29ya2VyQWdlbnQ6OmNyZWF0ZShJbnN0cnVtZW50
aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzKQoreworICAgIHJldHVybiBhZG9wdFB0cihu
ZXcgSW5zcGVjdG9yV29ya2VyQWdlbnQoaW5zdHJ1bWVudGluZ0FnZW50cykpOworfQorCitJbnNw
ZWN0b3JXb3JrZXJBZ2VudDo6SW5zcGVjdG9yV29ya2VyQWdlbnQoSW5zdHJ1bWVudGluZ0FnZW50
cyogaW5zdHJ1bWVudGluZ0FnZW50cykKKyAgICA6IG1faW5zdHJ1bWVudGluZ0FnZW50cyhpbnN0
cnVtZW50aW5nQWdlbnRzKQorICAgICwgbV9pbnNwZWN0b3JGcm9udGVuZCgwKQoreworfQorCitJ
bnNwZWN0b3JXb3JrZXJBZ2VudDo6fkluc3BlY3RvcldvcmtlckFnZW50KCkKK3sKK30KKwordm9p
ZCBJbnNwZWN0b3JXb3JrZXJBZ2VudDo6c2V0RnJvbnRlbmQoSW5zcGVjdG9yRnJvbnRlbmQqIGZy
b250ZW5kKQoreworICAgIG1faW5zcGVjdG9yRnJvbnRlbmQgPSBmcm9udGVuZDsKKyAgICAvLyBE
aXNhYmxlZCBmb3Igbm93LgorICAgIC8vIG1faW5zdHJ1bWVudGluZ0FnZW50cy0+c2V0SW5zcGVj
dG9yV29ya2VyQWdlbnQodGhpcyk7Cit9CisKK3ZvaWQgSW5zcGVjdG9yV29ya2VyQWdlbnQ6OmNs
ZWFyRnJvbnRlbmQoKQoreworICAgIG1faW5zcGVjdG9yRnJvbnRlbmQgPSAwOworICAgIG1faW5z
dHJ1bWVudGluZ0FnZW50cy0+c2V0SW5zcGVjdG9yV29ya2VyQWdlbnQoMCk7Cit9CisKK3ZvaWQg
SW5zcGVjdG9yV29ya2VyQWdlbnQ6OnNlbmRNZXNzYWdlVG9Xb3JrZXIoRXJyb3JTdHJpbmcqIGVy
cm9yLCBpbnQgd29ya2VySWQsIFBhc3NSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiBtZXNzYWdlKQor
eworICAgIFdvcmtlckZyb250ZW5kQ2hhbm5lbCogY2hhbm5lbCA9IG1faWRUb0NoYW5uZWwuZ2V0
KHdvcmtlcklkKTsKKyAgICBpZiAoY2hhbm5lbCkKKyAgICAgICAgY2hhbm5lbC0+aW5zcGVjdG9y
UHJveHkoKS0+c2VuZE1lc3NhZ2VUb1dvcmtlckNvbnRleHRJbnNwZWN0b3IobWVzc2FnZS0+dG9K
U09OU3RyaW5nKCkpOworICAgIGVsc2UKKyAgICAgICAgKmVycm9yID0gIldvcmtlciBpcyBnb25l
IjsKK30KKwordm9pZCBJbnNwZWN0b3JXb3JrZXJBZ2VudDo6ZGlkU3RhcnRXb3JrZXJDb250ZXh0
KFdvcmtlckNvbnRleHRQcm94eSogd29ya2VyQ29udGV4dFByb3h5KQoreworICAgIFdvcmtlckZy
b250ZW5kQ2hhbm5lbCogY2hhbm5lbCA9IG5ldyBXb3JrZXJGcm9udGVuZENoYW5uZWwobV9pbnNw
ZWN0b3JGcm9udGVuZCwgd29ya2VyQ29udGV4dFByb3h5LT5pbnNwZWN0b3JQcm94eSgpKTsKKyAg
ICBtX2lkVG9DaGFubmVsLnNldChjaGFubmVsLT5pZCgpLCBjaGFubmVsKTsKKworICAgIHdvcmtl
ckNvbnRleHRQcm94eS0+aW5zcGVjdG9yUHJveHkoKS0+Y29ubmVjdEZyb250ZW5kKGNoYW5uZWwp
OworICAgIGlmIChtX2luc3BlY3RvckZyb250ZW5kKQorICAgICAgICBtX2luc3BlY3RvckZyb250
ZW5kLT53b3JrZXIoKS0+d29ya2VyQ3JlYXRlZChjaGFubmVsLT5pZCgpKTsKK30KKworfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKFdPUktFUlMpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yV29ya2VyQWdlbnQuaCBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JXb3JrZXJBZ2VudC5oCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJlYjQzMWEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yV29ya2VyQWdlbnQuaApAQCAtMCwwICsxLDc2IEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICog
ICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRo
ZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUK
KyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIElu
Yy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBl
bmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJl
IHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklC
VVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBP
V05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
CisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I2lmbmRlZiBJbnNwZWN0b3JXb3JrZXJBZ2VudF9oCisjZGVmaW5lIEluc3BlY3RvcldvcmtlckFn
ZW50X2gKKworI2lmIEVOQUJMRShXT1JLRVJTKQorCisjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4K
KyNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CitjbGFzcyBJ
bnNwZWN0b3JGcm9udGVuZDsKK2NsYXNzIEluc3BlY3Rvck9iamVjdDsKK2NsYXNzIEluc3RydW1l
bnRpbmdBZ2VudHM7CitjbGFzcyBXb3JrZXJDb250ZXh0UHJveHk7CitjbGFzcyBXb3JrZXJDb250
ZXh0SW5zcGVjdG9yUHJveHk7CisKK3R5cGVkZWYgU3RyaW5nIEVycm9yU3RyaW5nOworCitjbGFz
cyBJbnNwZWN0b3JXb3JrZXJBZ2VudCB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NPd25QdHI8
SW5zcGVjdG9yV29ya2VyQWdlbnQ+IGNyZWF0ZShJbnN0cnVtZW50aW5nQWdlbnRzKik7CisgICAg
fkluc3BlY3RvcldvcmtlckFnZW50KCk7CisKKyAgICB2b2lkIHNldEZyb250ZW5kKEluc3BlY3Rv
ckZyb250ZW5kKik7CisgICAgdm9pZCBjbGVhckZyb250ZW5kKCk7CisKKyAgICAvLyBDYWxsZWQg
ZnJvbSBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24KKyAgICB2b2lkIGRpZFN0YXJ0V29ya2VyQ29u
dGV4dChXb3JrZXJDb250ZXh0UHJveHkqKTsKKworICAgIC8vIENhbGxlZCBmcm9tIEluc3BlY3Rv
ckJhY2tlbmREaXNwYXRjaGVyCisgICAgdm9pZCBzZW5kTWVzc2FnZVRvV29ya2VyKEVycm9yU3Ry
aW5nKiwgaW50IHdvcmtlcklkLCBQYXNzUmVmUHRyPEluc3BlY3Rvck9iamVjdD4gbWVzc2FnZSk7
CisKK3ByaXZhdGU6CisgICAgZXhwbGljaXQgSW5zcGVjdG9yV29ya2VyQWdlbnQoSW5zdHJ1bWVu
dGluZ0FnZW50cyopOworCisgICAgSW5zdHJ1bWVudGluZ0FnZW50cyogbV9pbnN0cnVtZW50aW5n
QWdlbnRzOworICAgIEluc3BlY3RvckZyb250ZW5kKiBtX2luc3BlY3RvckZyb250ZW5kOworCisg
ICAgY2xhc3MgV29ya2VyRnJvbnRlbmRDaGFubmVsOworICAgIEhhc2hNYXA8aW50LCBXb3JrZXJG
cm9udGVuZENoYW5uZWwqPiBtX2lkVG9DaGFubmVsOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQorCisjZW5kaWYgLy8gIWRlZmluZWQoSW5zcGVjdG9yV29ya2VyQWdlbnRfaCkKKworI2Vu
ZGlmIC8vIEVOQUJMRShXT1JLRVJTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3RydW1lbnRpbmdBZ2VudHMuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnN0
cnVtZW50aW5nQWdlbnRzLmgKaW5kZXggM2I2N2VkZC4uMzE1MDZmMSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3RydW1lbnRpbmdBZ2VudHMuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5oCkBAIC01MCw2ICs1MCw3IEBA
IGNsYXNzIEluc3BlY3RvclByb2ZpbGVyQWdlbnQ7CiBjbGFzcyBJbnNwZWN0b3JSZXNvdXJjZUFn
ZW50OwogY2xhc3MgSW5zcGVjdG9yUnVudGltZUFnZW50OwogY2xhc3MgSW5zcGVjdG9yVGltZWxp
bmVBZ2VudDsKK2NsYXNzIEluc3BlY3RvcldvcmtlckFnZW50OwogCiBjbGFzcyBJbnN0cnVtZW50
aW5nQWdlbnRzIHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJbnN0cnVtZW50aW5nQWdlbnRz
KTsKQEAgLTc4LDYgKzc5LDkgQEAgcHVibGljOgogICAgICAgICAsIG1faW5zcGVjdG9yQnJvd3Nl
ckRlYnVnZ2VyQWdlbnQoMCkKICAgICAgICAgLCBtX2luc3BlY3RvclByb2ZpbGVyQWdlbnQoMCkK
ICNlbmRpZgorI2lmIEVOQUJMRShXT1JLRVJTKQorICAgICAgICAsIG1faW5zcGVjdG9yV29ya2Vy
QWdlbnQoMCkKKyNlbmRpZgogICAgIHsgfQogICAgIH5JbnN0cnVtZW50aW5nQWdlbnRzKCkgeyB9
CiAKQEAgLTEyNyw2ICsxMzEsMTAgQEAgcHVibGljOgogICAgIEluc3BlY3RvclByb2ZpbGVyQWdl
bnQqIGluc3BlY3RvclByb2ZpbGVyQWdlbnQoKSBjb25zdCB7IHJldHVybiBtX2luc3BlY3RvclBy
b2ZpbGVyQWdlbnQ7IH0KICAgICB2b2lkIHNldEluc3BlY3RvclByb2ZpbGVyQWdlbnQoSW5zcGVj
dG9yUHJvZmlsZXJBZ2VudCogYWdlbnQpIHsgbV9pbnNwZWN0b3JQcm9maWxlckFnZW50ID0gYWdl
bnQ7IH0KICNlbmRpZgorI2lmIEVOQUJMRShXT1JLRVJTKQorICAgIEluc3BlY3RvcldvcmtlckFn
ZW50KiBpbnNwZWN0b3JXb3JrZXJBZ2VudCgpIGNvbnN0IHsgcmV0dXJuIG1faW5zcGVjdG9yV29y
a2VyQWdlbnQ7IH0KKyAgICB2b2lkIHNldEluc3BlY3RvcldvcmtlckFnZW50KEluc3BlY3Rvcldv
cmtlckFnZW50KiBhZ2VudCkgeyBtX2luc3BlY3RvcldvcmtlckFnZW50ID0gYWdlbnQ7IH0KKyNl
bmRpZgogCiBwcml2YXRlOgogICAgIEluc3BlY3RvckFnZW50KiBtX2luc3BlY3RvckFnZW50OwpA
QCAtMTUxLDYgKzE1OSw5IEBAIHByaXZhdGU6CiAgICAgSW5zcGVjdG9yQnJvd3NlckRlYnVnZ2Vy
QWdlbnQqIG1faW5zcGVjdG9yQnJvd3NlckRlYnVnZ2VyQWdlbnQ7CiAgICAgSW5zcGVjdG9yUHJv
ZmlsZXJBZ2VudCogbV9pbnNwZWN0b3JQcm9maWxlckFnZW50OwogI2VuZGlmCisjaWYgRU5BQkxF
KFdPUktFUlMpCisgICAgSW5zcGVjdG9yV29ya2VyQWdlbnQqIG1faW5zcGVjdG9yV29ya2VyQWdl
bnQ7CisjZW5kaWYKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9Xb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9Xb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyLmNwcAppbmRleCAzODNjYjA0Li5lMjRkZjdiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvV29ya2VySW5zcGVjdG9yQ29udHJv
bGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dvcmtlckluc3BlY3RvckNv
bnRyb2xsZXIuY3BwCkBAIC0xMjcsNyArMTI3LDggQEAgdm9pZCBXb3JrZXJJbnNwZWN0b3JDb250
cm9sbGVyOjpjb25uZWN0RnJvbnRlbmQoSW5zcGVjdG9yRnJvbnRlbmRDaGFubmVsKiBjaGFubmUK
ICAgICAgICAgMCwgLy8gSW5zcGVjdG9yUHJvZmlsZXJBZ2VudAogI2VuZGlmCiAgICAgICAgIG1f
cnVudGltZUFnZW50LmdldCgpLAotICAgICAgICAwIC8vIEluc3BlY3RvclRpbWVsaW5lQWdlbnQK
KyAgICAgICAgMCwgLy8gSW5zcGVjdG9yVGltZWxpbmVBZ2VudAorICAgICAgICAwIC8vIEluc3Bl
Y3RvcldvcmtlckFnZW50CiAgICAgKTsKIAogICAgIG1faW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLT5p
bmplY3RlZFNjcmlwdEhvc3QoKS0+c2V0RnJvbnRlbmQobV9mcm9udGVuZC5nZXQoKSk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZ2VuZXJhdGUtaW5zcGVjdG9yLWlkbCBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9nZW5lcmF0ZS1pbnNwZWN0b3ItaWRsCmluZGV4IGI1
ZWNiNzguLjQ2ZWM2MWYgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9nZW5l
cmF0ZS1pbnNwZWN0b3ItaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9nZW5lcmF0
ZS1pbnNwZWN0b3ItaWRsCkBAIC04OSw3ICs4OSw4IEBAIG1hY3JvX3RyYWl0cyA9IHsKICAgICAi
QXBwbGljYXRpb25DYWNoZSI6ICJPRkZMSU5FX1dFQl9BUFBMSUNBVElPTlMiLAogICAgICJEZWJ1
Z2dlciI6ICJKQVZBU0NSSVBUX0RFQlVHR0VSIiwKICAgICAiQnJvd3NlckRlYnVnZ2VyIjogIkpB
VkFTQ1JJUFRfREVCVUdHRVIiLAotICAgICJQcm9maWxlciI6ICJKQVZBU0NSSVBUX0RFQlVHR0VS
IgorICAgICJQcm9maWxlciI6ICJKQVZBU0NSSVBUX0RFQlVHR0VSIiwKKyAgICAiV29ya2VyIjog
IldPUktFUlMiCiB9CiAKIGRlZiBmdWxsX3F1YWxpZmllZF90eXBlX2lkKGRvbWFpbl9uYW1lLCB0
eXBlX2lkKToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmNwcAppbmRleCA5NjgzNTJjLi5kM2QzODk2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuY3BwCkBAIC0xMzEsNyArMTMxLDkgQEAgdm9pZCBX
b3JrZXI6Om5vdGlmeUZpbmlzaGVkKCkKICAgICBpZiAobV9zY3JpcHRMb2FkZXItPmZhaWxlZCgp
KQogICAgICAgICBkaXNwYXRjaEV2ZW50KEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLmVycm9y
RXZlbnQsIGZhbHNlLCB0cnVlKSk7CiAgICAgZWxzZSB7CisgICAgICAgIGJvb2wgc2hvdWxkU3Rh
cnRQYXVzZWQgPSBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndpbGxTdGFydFdvcmtlckNvbnRl
eHQoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCBtX2NvbnRleHRQcm94eSk7CiAgICAgICAgIG1f
Y29udGV4dFByb3h5LT5zdGFydFdvcmtlckNvbnRleHQobV9zY3JpcHRMb2FkZXItPnVybCgpLCBz
Y3JpcHRFeGVjdXRpb25Db250ZXh0KCktPnVzZXJBZ2VudChtX3NjcmlwdExvYWRlci0+dXJsKCkp
LCBtX3NjcmlwdExvYWRlci0+c2NyaXB0KCkpOworICAgICAgICBJbnNwZWN0b3JJbnN0cnVtZW50
YXRpb246OmRpZFN0YXJ0V29ya2VyQ29udGV4dChzY3JpcHRFeGVjdXRpb25Db250ZXh0KCksIG1f
Y29udGV4dFByb3h5LCBzaG91bGRTdGFydFBhdXNlZCk7CiAgICAgICAgIEluc3BlY3Rvckluc3Ry
dW1lbnRhdGlvbjo6c2NyaXB0SW1wb3J0ZWQoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCBtX3Nj
cmlwdExvYWRlci0+aWRlbnRpZmllcigpLCBtX3NjcmlwdExvYWRlci0+c2NyaXB0KCkpOwogICAg
IH0KICAgICBtX3NjcmlwdExvYWRlciA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL1dvcmtlckNvbnRleHRJbnNwZWN0b3JQcm94eS5oIGIvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9Xb3JrZXJDb250ZXh0SW5zcGVjdG9yUHJveHkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwLi5lZWFlYzNjCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9Xb3JrZXJDb250ZXh0SW5zcGVjdG9yUHJveHkuaApAQCAtMCwwICsxLDU1IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAg
ICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAq
IGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4g
bm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRv
cnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdp
dGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRP
UlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05F
UiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisg
KiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lm
bmRlZiBXb3JrZXJDb250ZXh0SW5zcGVjdG9yUHJveHlfaAorI2RlZmluZSBXb3JrZXJDb250ZXh0
SW5zcGVjdG9yUHJveHlfaAorCisjaWYgRU5BQkxFKFdPUktFUlMpICYmIEVOQUJMRShJTlNQRUNU
T1IpCisKKyNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisK
K2NsYXNzIEluc3BlY3RvckZyb250ZW5kQ2hhbm5lbDsKKworY2xhc3MgV29ya2VyQ29udGV4dElu
c3BlY3RvclByb3h5IHsKK3B1YmxpYzoKKyAgICB2aXJ0dWFsIHZvaWQgY29ubmVjdEZyb250ZW5k
KEluc3BlY3RvckZyb250ZW5kQ2hhbm5lbCopIHsgfQorICAgIHZpcnR1YWwgdm9pZCBkaXNjb25u
ZWN0RnJvbnRlbmQoKSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgc2VuZE1lc3NhZ2VUb1dvcmtlckNv
bnRleHRJbnNwZWN0b3IoY29uc3QgU3RyaW5nJikgeyB9Citwcm90ZWN0ZWQ6CisgICAgdmlydHVh
bCB+V29ya2VyQ29udGV4dEluc3BlY3RvclByb3h5KCkgeyB9Cit9OworCit9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoV09SS0VSUykKKworI2VuZGlmIC8vIFdvcmtl
ckNvbnRleHRJbnNwZWN0b3JQcm94eV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL1dvcmtlckNvbnRleHRQcm94eS5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJD
b250ZXh0UHJveHkuaAppbmRleCA0NDIwYzc4Li42MDdhYzAyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRleHRQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvV29ya2VyQ29udGV4dFByb3h5LmgKQEAgLTQxLDYgKzQxLDcgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogCiAgICAgY2xhc3MgS1VSTDsKICAgICBjbGFzcyBXb3JrZXI7CisgICAgY2xh
c3MgV29ya2VyQ29udGV4dEluc3BlY3RvclByb3h5OwogCiAgICAgLy8gQSBwcm94eSB0byB0YWxr
IHRvIHRoZSB3b3JrZXIgY29udGV4dC4KICAgICBjbGFzcyBXb3JrZXJDb250ZXh0UHJveHkgewpA
QCAtNTgsNiArNTksMTAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2aXJ0dWFsIGJv
b2wgaGFzUGVuZGluZ0FjdGl2aXR5KCkgY29uc3QgPSAwOwogCiAgICAgICAgIHZpcnR1YWwgdm9p
ZCB3b3JrZXJPYmplY3REZXN0cm95ZWQoKSA9IDA7CisKKyNpZiBFTkFCTEUoSU5TUEVDVE9SKQor
ICAgICAgICB2aXJ0dWFsIFdvcmtlckNvbnRleHRJbnNwZWN0b3JQcm94eSogaW5zcGVjdG9yUHJv
eHkoKSB7IHJldHVybiAwOyB9CisjZW5kaWYKICAgICB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>