<?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>42560</bug_id>
          
          <creation_ts>2010-07-19 05:55:47 -0700</creation_ts>
          <short_desc>Web Inspector: show stack trace for uncaught exceptions</short_desc>
          <delta_ts>2010-07-19 08:20:22 -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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Yury Semikhatsky">yurys</reporter>
          <assigned_to name="Yury Semikhatsky">yurys</assigned_to>
          <cc>bweinstein</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</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>253159</commentid>
    <comment_count>0</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2010-07-19 05:55:47 -0700</bug_when>
    <thetext>If you throw an exception in your javascript, the web inspector console just 
prints out the description of the extension and doesn&apos;t give the stack trace.  
This is particularly unhelpful if the exception is being thrown in a library 
many levels removed from the source of the error in your code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>253161</commentid>
    <comment_count>1</comment_count>
      <attachid>61943</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2010-07-19 06:05:14 -0700</bug_when>
    <thetext>Created attachment 61943
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>253213</commentid>
    <comment_count>2</comment_count>
      <attachid>61943</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2010-07-19 08:06:44 -0700</bug_when>
    <thetext>Comment on attachment 61943
Patch

It looks correct, however, I think we&apos;ve reached the critical mass of mess in the code. Can we refactor it to make prettier?

My concern is that ScriptCallStack means two different things in different call paths: 
(1) it is used as a top frame + script state for console.log/dir/etc
(2) it is used as a stack container with no access to top frame arguments in regular console messages</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>253222</commentid>
    <comment_count>3</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2010-07-19 08:12:19 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 61943 [details])
&gt; It looks correct, however, I think we&apos;ve reached the critical mass of mess in the code. Can we refactor it to make prettier?
&gt; 
&gt; My concern is that ScriptCallStack means two different things in different call paths: 
&gt; (1) it is used as a top frame + script state for console.log/dir/etc
&gt; (2) it is used as a stack container with no access to top frame arguments in regular console messages

Filed a bug for this: https://bugs.webkit.org/show_bug.cgi?id=42570</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>253226</commentid>
    <comment_count>4</comment_count>
      <attachid>61943</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2010-07-19 08:20:12 -0700</bug_when>
    <thetext>Comment on attachment 61943
Patch

Clearing flags on attachment: 61943

Committed r63662: &lt;http://trac.webkit.org/changeset/63662&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>253227</commentid>
    <comment_count>5</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2010-07-19 08:20:22 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>61943</attachid>
            <date>2010-07-19 06:05:14 -0700</date>
            <delta_ts>2010-07-19 08:20:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-42560-20100719170510.patch</filename>
            <type>text/plain</type>
            <size>24458</size>
            <attacher name="Yury Semikhatsky">yurys</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
OThhNjgyZjdlNTAxZjNiZDRkZGQ4MGMxMjMxM2JhN2M3M2FhNTE0YS4uMmQwZTRmZjZiMDBjNjIy
MzgyNzYyZjY2YjU1ZWE0OTRmN2MwN2Q1NCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsNSArMSw0NyBAQAogMjAxMC0wNy0xOSAgWXVy
eSBTZW1pa2hhdHNreSAgPHl1cnlzQGNocm9taXVtLm9yZz4KIAorICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBzaG93IHN0YWNrIHRy
YWNlIGZvciB1bmNhdWdodCBleGNlcHRpb25zIHdoZW4gV2ViIEluc3BlY3RvciBpcyBvcGVuLgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDI1NjAKKwor
ICAgICAgICAqIGJpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6U2NyaXB0Q29udHJvbGxlcjo6c2V0Q2FwdHVyZUNhbGxTdGFja0ZvclVuY2F1Z2h0RXhj
ZXB0aW9ucyk6CisgICAgICAgICogYmluZGluZ3MvanMvU2NyaXB0Q29udHJvbGxlci5oOgorICAg
ICAgICAqIGJpbmRpbmdzL3Y4L1NjcmlwdENvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6U2NyaXB0Q29udHJvbGxlcjo6c2V0Q2FwdHVyZUNhbGxTdGFja0ZvclVuY2F1Z2h0RXhjZXB0
aW9ucyk6CisgICAgICAgICogYmluZGluZ3MvdjgvU2NyaXB0Q29udHJvbGxlci5oOgorICAgICAg
ICAqIGJpbmRpbmdzL3Y4L1Y4Q29uc29sZU1lc3NhZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
VjhDb25zb2xlTWVzc2FnZTo6ZGlzcGF0Y2hOb3cpOgorICAgICAgICAoV2ViQ29yZTo6VjhDb25z
b2xlTWVzc2FnZTo6aGFuZGxlcik6CisgICAgICAgICogYmluZGluZ3MvdjgvVjhDb25zb2xlTWVz
c2FnZS5oOgorICAgICAgICAqIGluc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpDb25zb2xlTWVzc2FnZTo6Q29uc29sZU1lc3NhZ2UpOgorICAgICAgICAqIGlu
c3BlY3Rvci9Db25zb2xlTWVzc2FnZS5oOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JD
b250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNvbnRyb2xsZXI6OmFk
ZE1lc3NhZ2VUb0NvbnNvbGUpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQ29udHJvbGxl
cjo6c3RhcnRHcm91cCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDb250cm9sbGVyOjpj
b25uZWN0RnJvbnRlbmQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQ29udHJvbGxlcjo6
ZGlzY29ubmVjdEZyb250ZW5kKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJv
bGxlci5oOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvQ29uc29sZVZpZXcuanM6Cisg
ICAgICAgIChXZWJJbnNwZWN0b3IuQ29uc29sZU1lc3NhZ2UucHJvdG90eXBlLl9mb3JtYXRNZXNz
YWdlKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Db25zb2xlTWVzc2FnZS5wcm90b3R5cGUudG9N
ZXNzYWdlRWxlbWVudCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ29uc29sZU1lc3NhZ2UucHJv
dG90eXBlLl9wb3B1bGF0ZVN0YWNrVHJhY2VUcmVlRWxlbWVudCk6CisgICAgICAgIChXZWJJbnNw
ZWN0b3IuQ29uc29sZU1lc3NhZ2UucHJvdG90eXBlLl9hZGRNZXNzYWdlSGVhZGVyKToKKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5Db25zb2xlTWVzc2FnZS5wcm90b3R5cGUudG9TdHJpbmcpOgorICAg
ICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmNzczoKKyAgICAgICAgKC5jb25z
b2xlLW1lc3NhZ2UucmVwZWF0ZWQtbWVzc2FnZSA+IG9sLnN0YWNrLXRyYWNlKToKKyAgICAgICAg
KC5zZWN0aW9uIC5wcm9wZXJ0aWVzIG9sLCAuZXZlbnQtcHJvcGVydGllcyBvbCwgLnN0YWNrLXRy
YWNlIG9sLCBvbC5zdGFjay10cmFjZSk6CisgICAgICAgIChvbC5zdGFjay10cmFjZSk6CisgICAg
ICAgICguc2VjdGlvbiAucHJvcGVydGllcyBvbC5leHBhbmRlZCwgLmV2ZW50LXByb3BlcnRpZXMg
b2wuZXhwYW5kZWQsIC5zdGFjay10cmFjZSBvbCwgb2wuc3RhY2stdHJhY2UpOgorICAgICAgICAq
IHBhZ2UvQ29uc29sZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDb25zb2xlOjphZGRNZXNzYWdl
KToKKyAgICAgICAgKiBwYWdlL0NvbnNvbGUuaDoKKyAgICAgICAgKFdlYkNvcmU6Oik6CisKKzIw
MTAtMDctMTkgIFl1cnkgU2VtaWtoYXRza3kgIDx5dXJ5c0BjaHJvbWl1bS5vcmc+CisKICAgICAg
ICAgUmV2aWV3ZWQgYnkgUGF2ZWwgRmVsZG1hbi4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBo
aWRlICJ0b2dnbGUgZGVidWdnZXIiIGJ1dHRvbiB3aGVuIGRlYnVnZ2VyIGlzIGFsd2F5cyBlbmFi
bGVkCmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuY3Bw
IGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDb250cm9sbGVyLmNwcAppbmRleCAwYWE4ZjUy
NjU4MTZkMjZjYjcyMDQyOWQ2ZTFkNTFlODVkNmNiOTQ3Li45ODAyMmQ5YjM1YmQ0YzI5ZGYxZGNl
NGVjZGJjZjFjODNjNGNlMmM4IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2pzL1Njcmlw
dENvbnRyb2xsZXIuY3BwCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q29udHJvbGxl
ci5jcHAKQEAgLTM3OSw2ICszNzksMTIgQEAgUGFzc1JlZlB0cjxCaW5kaW5nczo6Um9vdE9iamVj
dD4gU2NyaXB0Q29udHJvbGxlcjo6Y3JlYXRlUm9vdE9iamVjdCh2b2lkKiBuYXRpdmUKICAgICBy
ZXR1cm4gcm9vdE9iamVjdC5yZWxlYXNlKCk7CiB9CiAKKyNpZiBFTkFCTEUoSU5TUEVDVE9SKQor
dm9pZCBTY3JpcHRDb250cm9sbGVyOjpzZXRDYXB0dXJlQ2FsbFN0YWNrRm9yVW5jYXVnaHRFeGNl
cHRpb25zKGJvb2wpCit7Cit9CisjZW5kaWYKKwogI2lmIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5f
QVBJKQogCiBOUE9iamVjdCogU2NyaXB0Q29udHJvbGxlcjo6d2luZG93U2NyaXB0TlBPYmplY3Qo
KQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDb250cm9sbGVyLmggYi9X
ZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuaAppbmRleCBjMzgyYTkzOGQ1NjMy
ZWMyODNlZTZjOTY3YzZmZjEyZmJiMjIxMzg1Li44MDE1NWU0YjkzNTBmYzg0YjMyNDFkM2UzMzdm
MDRkMjQ2OWRiZDk2IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENvbnRy
b2xsZXIuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuaApAQCAt
MTUxLDYgKzE1MSwxMCBAQCBwdWJsaWM6CiAKICAgICBQYXNzUmVmUHRyPEpTQzo6QmluZGluZ3M6
OlJvb3RPYmplY3Q+IGNyZWF0ZVJvb3RPYmplY3Qodm9pZCogbmF0aXZlSGFuZGxlKTsKIAorI2lm
IEVOQUJMRShJTlNQRUNUT1IpCisgICAgc3RhdGljIHZvaWQgc2V0Q2FwdHVyZUNhbGxTdGFja0Zv
clVuY2F1Z2h0RXhjZXB0aW9ucyhib29sKTsKKyNlbmRpZgorCiAjaWYgUExBVEZPUk0oTUFDKQog
I2lmIEVOQUJMRShKQVZBX0JSSURHRSkKICAgICBzdGF0aWMgdm9pZCBpbml0SmF2YUpTQmluZGlu
Z3MoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0Q29udHJvbGxlci5j
cHAgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdENvbnRyb2xsZXIuY3BwCmluZGV4IDFjODVk
YTc0ZWVlM2YyM2NjZDI1ZjQ4OTdlODFiNjg3NTMwNmFjMWYuLmM4MDEwZjFiZDRmNDZhMzQ3OGQ4
M2EwM2YxNjcxZWIyYjYyOGE1ZmIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvdjgvU2Ny
aXB0Q29udHJvbGxlci5jcHAKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRDb250cm9s
bGVyLmNwcApAQCAtNDUxLDYgKzQ1MSwxMyBAQCB2b2lkIFNjcmlwdENvbnRyb2xsZXI6OmNsZWFy
V2luZG93U2hlbGwoYm9vbCkKICAgICBtX3Byb3h5LT5jbGVhckZvck5hdmlnYXRpb24oKTsKIH0K
IAorI2lmIEVOQUJMRShJTlNQRUNUT1IpCit2b2lkIFNjcmlwdENvbnRyb2xsZXI6OnNldENhcHR1
cmVDYWxsU3RhY2tGb3JVbmNhdWdodEV4Y2VwdGlvbnMoYm9vbCkKK3sKKyAgICB2ODo6Vjg6OlNl
dENhcHR1cmVTdGFja1RyYWNlRm9yVW5jYXVnaHRFeGNlcHRpb25zKHRydWUsIDIwMCk7Cit9Cisj
ZW5kaWYKKwogdm9pZCBTY3JpcHRDb250cm9sbGVyOjphdHRhY2hEZWJ1Z2dlcih2b2lkKikKIHsK
ICAgICBub3RJbXBsZW1lbnRlZCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy92OC9T
Y3JpcHRDb250cm9sbGVyLmggYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdENvbnRyb2xsZXIu
aAppbmRleCA3NWFlMGJmYTJjNTE0MzVhZjZiMGU3ZDgxYjY3MTNkNmQxNDVhNDcyLi4wNGExNWY2
M2ViMmRlYWQ5MTIzM2I3ODZmZjA4OTk2MWIyMGYyNjI5IDEwMDY0NAotLS0gYS9XZWJDb3JlL2Jp
bmRpbmdzL3Y4L1NjcmlwdENvbnRyb2xsZXIuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Nj
cmlwdENvbnRyb2xsZXIuaApAQCAtMTE2LDYgKzExNiwxMCBAQCBwdWJsaWM6CiAKICAgICBzdGF0
aWMgYm9vbCBjYW5BY2Nlc3NGcm9tQ3VycmVudE9yaWdpbihGcmFtZSopOwogCisjaWYgRU5BQkxF
KElOU1BFQ1RPUikKKyAgICBzdGF0aWMgdm9pZCBzZXRDYXB0dXJlQ2FsbFN0YWNrRm9yVW5jYXVn
aHRFeGNlcHRpb25zKGJvb2wpOworI2VuZGlmCisKICAgICBib29sIGNhbkV4ZWN1dGVTY3JpcHRz
KFJlYXNvbkZvckNhbGxpbmdDYW5FeGVjdXRlU2NyaXB0cyk7CiAKICAgICAvLyBGSVhNRTogdm9p
ZCogaXMgYSBjb21waWxlIGhhY2suCmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4
Q29uc29sZU1lc3NhZ2UuY3BwIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9WOENvbnNvbGVNZXNzYWdl
LmNwcAppbmRleCBkOWZlMDY5ZDk1Y2YzZmM1OGI2NGNiZDFhN2U1NWQ1ZTcxODhlOGZlLi5mNWU2
MzAwYTBmYTZjMGI4NjIwYmM2NjA4MDM1OTQ3ZGZhN2Y0MmM3IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L1Y4Q29uc29sZU1lc3NhZ2UuY3BwCisrKyBiL1dlYkNvcmUvYmluZGluZ3Mv
djgvVjhDb25zb2xlTWVzc2FnZS5jcHAKQEAgLTM2LDYgKzM2LDcgQEAKICNpbmNsdWRlICJGcmFt
ZS5oIgogI2luY2x1ZGUgIk93blB0ci5oIgogI2luY2x1ZGUgIlBhZ2UuaCIKKyNpbmNsdWRlICJT
Y3JpcHRDYWxsU3RhY2suaCIKICNpbmNsdWRlICJWOEJpbmRpbmcuaCIKICNpbmNsdWRlICJWOFBy
b3h5LmgiCiAKQEAgLTUyLDE0ICs1Myw3IEBAIFY4Q29uc29sZU1lc3NhZ2U6OlY4Q29uc29sZU1l
c3NhZ2UoY29uc3QgU3RyaW5nJiBzdHJpbmcsIGNvbnN0IFN0cmluZyYgc291cmNlSUQsCiAKIHZv
aWQgVjhDb25zb2xlTWVzc2FnZTo6ZGlzcGF0Y2hOb3coUGFnZSogcGFnZSkKIHsKLSAgICBBU1NF
UlQocGFnZSk7Ci0KLSAgICAvLyBQcm9jZXNzIGFueSBkZWxheWVkIG1lc3NhZ2VzIHRvIG1ha2Ug
c3VyZSB0aGF0IG1lc3NhZ2VzCi0gICAgLy8gYXBwZWFyIGluIHRoZSByaWdodCBvcmRlciBpbiB0
aGUgY29uc29sZS4KLSAgICBwcm9jZXNzRGVsYXllZCgpOwotCi0gICAgQ29uc29sZSogY29uc29s
ZSA9IHBhZ2UtPm1haW5GcmFtZSgpLT5kb21XaW5kb3coKS0+Y29uc29sZSgpOwotICAgIGNvbnNv
bGUtPmFkZE1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlVHlwZSwgRXJyb3JNZXNz
YWdlTGV2ZWwsIG1fc3RyaW5nLCBtX2xpbmVOdW1iZXIsIG1fc291cmNlSUQpOworICAgIGRpc3Bh
dGNoTm93KHBhZ2UsIDApOwogfQogCiB2b2lkIFY4Q29uc29sZU1lc3NhZ2U6OmRpc3BhdGNoTGF0
ZXIoKQpAQCAtMTE4LDExICsxMTIsMzMgQEAgdm9pZCBWOENvbnNvbGVNZXNzYWdlOjpoYW5kbGVy
KHY4OjpIYW5kbGU8djg6Ok1lc3NhZ2U+IG1lc3NhZ2UsIHY4OjpIYW5kbGU8djg6OlYKICAgICBB
U1NFUlQoIWVycm9yTWVzc2FnZVN0cmluZy5Jc0VtcHR5KCkpOwogICAgIFN0cmluZyBlcnJvck1l
c3NhZ2UgPSB0b1dlYkNvcmVTdHJpbmcoZXJyb3JNZXNzYWdlU3RyaW5nKTsKIAorICAgIHY4OjpI
YW5kbGU8djg6OlN0YWNrVHJhY2U+IHN0YWNrVHJhY2UgPSBtZXNzYWdlLT5HZXRTdGFja1RyYWNl
KCk7CisgICAgT3duUHRyPFNjcmlwdENhbGxTdGFjaz4gY2FsbFN0YWNrOworICAgIC8vIEN1cnJl
bnRseSBzdGFjayB0cmFjZSBpcyBvbmx5IGNvbGxlY3RlZCB3aGVuIGluc3BlY3RvciBpcyBvcGVu
LgorICAgIGlmICghc3RhY2tUcmFjZS5Jc0VtcHR5KCkpIHsKKyAgICAgICAgdjg6OkxvY2FsPHY4
OjpDb250ZXh0PiBjb250ZXh0ID0gdjg6OkNvbnRleHQ6OkdldEVudGVyZWQoKTsKKyAgICAgICAg
U2NyaXB0U3RhdGUqIHNjcmlwdFN0YXRlID0gU2NyaXB0U3RhdGU6OmZvckNvbnRleHQoY29udGV4
dCk7CisgICAgICAgIGNhbGxTdGFjayA9IFNjcmlwdENhbGxTdGFjazo6Y3JlYXRlKHNjcmlwdFN0
YXRlLCBzdGFja1RyYWNlKTsKKyAgICB9CisKICAgICB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gcmVz
b3VyY2VOYW1lID0gbWVzc2FnZS0+R2V0U2NyaXB0UmVzb3VyY2VOYW1lKCk7CiAgICAgYm9vbCB1
c2VVUkwgPSByZXNvdXJjZU5hbWUuSXNFbXB0eSgpIHx8ICFyZXNvdXJjZU5hbWUtPklzU3RyaW5n
KCk7CiAgICAgU3RyaW5nIHJlc291cmNlTmFtZVN0cmluZyA9IHVzZVVSTCA/IGZyYW1lLT5kb2N1
bWVudCgpLT51cmwoKSA6IHRvV2ViQ29yZVN0cmluZyhyZXNvdXJjZU5hbWUpOwogICAgIFY4Q29u
c29sZU1lc3NhZ2UgY29uc29sZU1lc3NhZ2UoZXJyb3JNZXNzYWdlLCByZXNvdXJjZU5hbWVTdHJp
bmcsIG1lc3NhZ2UtPkdldExpbmVOdW1iZXIoKSk7Ci0gICAgY29uc29sZU1lc3NhZ2UuZGlzcGF0
Y2hOb3cocGFnZSk7CisgICAgY29uc29sZU1lc3NhZ2UuZGlzcGF0Y2hOb3cocGFnZSwgY2FsbFN0
YWNrLmdldCgpKTsKK30KKwordm9pZCBWOENvbnNvbGVNZXNzYWdlOjpkaXNwYXRjaE5vdyhQYWdl
KiBwYWdlLCBTY3JpcHRDYWxsU3RhY2sqIGNhbGxTdGFjaykKK3sKKyAgICBBU1NFUlQocGFnZSk7
CisKKyAgICAvLyBQcm9jZXNzIGFueSBkZWxheWVkIG1lc3NhZ2VzIHRvIG1ha2Ugc3VyZSB0aGF0
IG1lc3NhZ2VzCisgICAgLy8gYXBwZWFyIGluIHRoZSByaWdodCBvcmRlciBpbiB0aGUgY29uc29s
ZS4KKyAgICBwcm9jZXNzRGVsYXllZCgpOworCisgICAgQ29uc29sZSogY29uc29sZSA9IHBhZ2Ut
Pm1haW5GcmFtZSgpLT5kb21XaW5kb3coKS0+Y29uc29sZSgpOworICAgIE1lc3NhZ2VUeXBlIG1l
c3NhZ2VUeXBlID0gY2FsbFN0YWNrID8gVW5jYXVnaHRFeGNlcHRpb25NZXNzYWdlVHlwZSA6IExv
Z01lc3NhZ2VUeXBlOworICAgIGNvbnNvbGUtPmFkZE1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBt
ZXNzYWdlVHlwZSwgRXJyb3JNZXNzYWdlTGV2ZWwsIG1fc3RyaW5nLCBtX2xpbmVOdW1iZXIsIG1f
c291cmNlSUQsIGNhbGxTdGFjayk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhDb25zb2xlTWVzc2FnZS5oIGIvV2ViQ29yZS9i
aW5kaW5ncy92OC9WOENvbnNvbGVNZXNzYWdlLmgKaW5kZXggYThmNzVlZWQxMjk4NmI4ZjdjOTI5
NzM2YTE5NzgwMzEwODc0YjA2OS4uMzg3YjVlZTM0YjU2OGU2ODNmNGNlN2VlYWVmMTRjMjZiMTU2
N2U1MyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy92OC9WOENvbnNvbGVNZXNzYWdlLmgK
KysrIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9WOENvbnNvbGVNZXNzYWdlLmgKQEAgLTM2LDggKzM2
LDkgQEAKICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKLSAg
ICAKKwogICAgIGNsYXNzIFBhZ2U7CisgICAgY2xhc3MgU2NyaXB0Q2FsbFN0YWNrOwogCiAgICAg
Ly8gVjhDb25zb2xlTWVzc2FnZSBlbmNhcHN1bGF0ZXMgZXZlcnl0aGluZyBuZWVkZWQgdG8KICAg
ICAvLyBsb2cgbWVzc2FnZXMgb3JpZ2luYXRpbmcgZnJvbSBKYXZhU2NyaXB0IHRvIHRoZSBjb25z
b2xlLgpAQCAtODAsNiArODEsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIGNvbnN0
IFN0cmluZyBtX3NvdXJjZUlEOwogICAgICAgICBjb25zdCB1bnNpZ25lZCBtX2xpbmVOdW1iZXI7
CiAKKyAgICAgICAgdm9pZCBkaXNwYXRjaE5vdyhQYWdlKiwgU2NyaXB0Q2FsbFN0YWNrKik7CisK
ICAgICAgICAgLy8gQWxsIGRlbGF5ZWQgbWVzc2FnZXMgYXJlIHN0b3JlZCBpbiB0aGlzIHZlY3Rv
ci4gSWYgdGhlIHZlY3RvcgogICAgICAgICAvLyBpcyAwLCB0aGVyZSBhcmUgbm8gZGVsYXllZCBt
ZXNzYWdlcy4KICAgICAgICAgc3RhdGljIFZlY3RvcjxWOENvbnNvbGVNZXNzYWdlPiogbV9kZWxh
eWVkTWVzc2FnZXM7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9Db25zb2xlTWVzc2Fn
ZS5jcHAgYi9XZWJDb3JlL2luc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5jcHAKaW5kZXggZjZjMDk2
MWM4ZjVjMDhjZDBkNWM3MjgxODcxNGRiNDg1MmNkZTExZC4uMjYwZWM2OThmNzczM2JlMTlkZDFl
MzczNDkzZTA1OGVhMDU0N2ZlMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvQ29uc29s
ZU1lc3NhZ2UuY3BwCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmNwcApA
QCAtODAsMTAgKzgwLDExIEBAIENvbnNvbGVNZXNzYWdlOjpDb25zb2xlTWVzc2FnZShNZXNzYWdl
U291cmNlIHMsIE1lc3NhZ2VUeXBlIHQsIE1lc3NhZ2VMZXZlbCBsLCBjCiB7CiB9CiAKLUNvbnNv
bGVNZXNzYWdlOjpDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlIHMsIE1lc3NhZ2VUeXBlIHQs
IE1lc3NhZ2VMZXZlbCBsLCBTY3JpcHRDYWxsU3RhY2sqIGNhbGxTdGFjaywgdW5zaWduZWQgZywg
Ym9vbCBzdG9yZVRyYWNlKQorQ29uc29sZU1lc3NhZ2U6OkNvbnNvbGVNZXNzYWdlKE1lc3NhZ2VT
b3VyY2UgcywgTWVzc2FnZVR5cGUgdCwgTWVzc2FnZUxldmVsIGwsIGNvbnN0IFN0cmluZyYgbSwg
U2NyaXB0Q2FsbFN0YWNrKiBjYWxsU3RhY2ssIHVuc2lnbmVkIGcsIGJvb2wgc3RvcmVUcmFjZSkK
ICAgICA6IG1fc291cmNlKHMpCiAgICAgLCBtX3R5cGUodCkKICAgICAsIG1fbGV2ZWwobCkKKyAg
ICAsIG1fbWVzc2FnZShtKQogI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgLCBtX2FyZ3VtZW50
cyhjYWxsU3RhY2stPmF0KDApLmFyZ3VtZW50Q291bnQoKSkKICAgICAsIG1fc2NyaXB0U3RhdGUo
Y2FsbFN0YWNrLT5nbG9iYWxTdGF0ZSgpKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3Iv
Q29uc29sZU1lc3NhZ2UuaCBiL1dlYkNvcmUvaW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmgKaW5k
ZXggNTExM2RmM2IzYmIwZjdlZDY4M2FmNWNlYjgwMjNlODFiODFhYjhmMi4uMzg0OGRiZjQxYjM2
YWU2MGQyMjM5MWZmODU1NDhjYWQ4OThkNjA5YyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0
b3IvQ29uc29sZU1lc3NhZ2UuaAorKysgYi9XZWJDb3JlL2luc3BlY3Rvci9Db25zb2xlTWVzc2Fn
ZS5oCkBAIC00OCw3ICs0OCw3IEBAIGNsYXNzIFNjcmlwdFN0cmluZzsKIGNsYXNzIENvbnNvbGVN
ZXNzYWdlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKIHB1YmxpYzoKICAgICBDb25zb2xlTWVzc2Fn
ZShNZXNzYWdlU291cmNlLCBNZXNzYWdlVHlwZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcm
IG0sIHVuc2lnbmVkIGxpLCBjb25zdCBTdHJpbmcmIHUsIHVuc2lnbmVkIGcpOwotICAgIENvbnNv
bGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VUeXBlLCBNZXNzYWdlTGV2ZWwsIFNjcmlw
dENhbGxTdGFjayosIHVuc2lnbmVkIGcsIGJvb2wgc3RvcmVUcmFjZSA9IGZhbHNlKTsKKyAgICBD
b25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlLCBNZXNzYWdlVHlwZSwgTWVzc2FnZUxldmVsLCBj
b25zdCBTdHJpbmcmIG0sIFNjcmlwdENhbGxTdGFjayosIHVuc2lnbmVkIGcsIGJvb2wgc3RvcmVU
cmFjZSA9IGZhbHNlKTsKIAogI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgdm9pZCBhZGRUb0Zy
b250ZW5kKEluc3BlY3RvckZyb250ZW5kKiwgSW5qZWN0ZWRTY3JpcHRIb3N0Kik7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcCBiL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwCmluZGV4IGU5MGFmZjgyMmVjZjllNzg3
OWE0YWM2NmQ1ODQ5ZjRkZDg4MzhlMGQuLjg0MWFlNWMxZGVkNjcwNWMwN2VmYTY3OTM4ZjlhMmRi
ZDkxZTIyOTQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xs
ZXIuY3BwCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwCkBA
IC0xMjksNiArMTI5LDggQEAgc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IGluc3BlY3RvckF0dGFj
aGVkSGVpZ2h0TmFtZSA9ICJpbnNwZWN0b3JBdHRhY2hlZEhlaWdodCIKIHN0YXRpYyBjb25zdCBj
aGFyKiBjb25zdCBsYXN0QWN0aXZlUGFuZWxTZXR0aW5nTmFtZSA9ICJsYXN0QWN0aXZlUGFuZWwi
Owogc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IG1vbml0b3JpbmdYSFJTZXR0aW5nTmFtZSA9ICJ4
aHJNb25pdG9yIjsKIAoraW50IGNvbm5lY3RlZEZyb250ZW5kQ291bnQgPSAwOworCiBjb25zdCBT
dHJpbmcmIEluc3BlY3RvckNvbnRyb2xsZXI6OmZyb250ZW5kU2V0dGluZ3NTZXR0aW5nTmFtZSgp
CiB7CiAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChTdHJpbmcsIHNldHRpbmdOYW1lLCAoImZyb250
ZW5kU2V0dGluZ3MiKSk7CkBAIC0zMzYsMTIgKzMzOCwxMiBAQCBib29sIEluc3BlY3RvckNvbnRy
b2xsZXI6OndpbmRvd1Zpc2libGUoKQogICAgIHJldHVybiBtX2Zyb250ZW5kOwogfQogCi12b2lk
IEluc3BlY3RvckNvbnRyb2xsZXI6OmFkZE1lc3NhZ2VUb0NvbnNvbGUoTWVzc2FnZVNvdXJjZSBz
b3VyY2UsIE1lc3NhZ2VUeXBlIHR5cGUsIE1lc3NhZ2VMZXZlbCBsZXZlbCwgU2NyaXB0Q2FsbFN0
YWNrKiBjYWxsU3RhY2spCit2b2lkIEluc3BlY3RvckNvbnRyb2xsZXI6OmFkZE1lc3NhZ2VUb0Nv
bnNvbGUoTWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VUeXBlIHR5cGUsIE1lc3NhZ2VMZXZl
bCBsZXZlbCwgU2NyaXB0Q2FsbFN0YWNrKiBjYWxsU3RhY2ssIGNvbnN0IFN0cmluZyYgbWVzc2Fn
ZSkKIHsKICAgICBpZiAoIWVuYWJsZWQoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgYWRkQ29u
c29sZU1lc3NhZ2UoY2FsbFN0YWNrLT5zdGF0ZSgpLCBuZXcgQ29uc29sZU1lc3NhZ2Uoc291cmNl
LCB0eXBlLCBsZXZlbCwgY2FsbFN0YWNrLCBtX2dyb3VwTGV2ZWwsIHR5cGUgPT0gVHJhY2VNZXNz
YWdlVHlwZSkpOworICAgIGFkZENvbnNvbGVNZXNzYWdlKGNhbGxTdGFjay0+c3RhdGUoKSwgbmV3
IENvbnNvbGVNZXNzYWdlKHNvdXJjZSwgdHlwZSwgbGV2ZWwsIG1lc3NhZ2UsIGNhbGxTdGFjaywg
bV9ncm91cExldmVsLCB0eXBlID09IFRyYWNlTWVzc2FnZVR5cGUgfHwgdHlwZSA9PSBVbmNhdWdo
dEV4Y2VwdGlvbk1lc3NhZ2VUeXBlKSk7CiB9CiAKIHZvaWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6
YWRkTWVzc2FnZVRvQ29uc29sZShNZXNzYWdlU291cmNlIHNvdXJjZSwgTWVzc2FnZVR5cGUgdHlw
ZSwgTWVzc2FnZUxldmVsIGxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIHVuc2lnbmVkIGxp
bmVOdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlSUQpCkBAIC0zOTEsNyArMzkzLDcgQEAgdm9p
ZCBJbnNwZWN0b3JDb250cm9sbGVyOjpzdGFydEdyb3VwKE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBT
Y3JpcHRDYWxsU3RhY2sqIGNhbGwKIHsKICAgICArK21fZ3JvdXBMZXZlbDsKIAotICAgIGFkZENv
bnNvbGVNZXNzYWdlKGNhbGxTdGFjay0+c3RhdGUoKSwgbmV3IENvbnNvbGVNZXNzYWdlKHNvdXJj
ZSwgY29sbGFwc2VkID8gU3RhcnRHcm91cENvbGxhcHNlZE1lc3NhZ2VUeXBlIDogU3RhcnRHcm91
cE1lc3NhZ2VUeXBlLCBMb2dNZXNzYWdlTGV2ZWwsIGNhbGxTdGFjaywgbV9ncm91cExldmVsKSk7
CisgICAgYWRkQ29uc29sZU1lc3NhZ2UoY2FsbFN0YWNrLT5zdGF0ZSgpLCBuZXcgQ29uc29sZU1l
c3NhZ2Uoc291cmNlLCBjb2xsYXBzZWQgPyBTdGFydEdyb3VwQ29sbGFwc2VkTWVzc2FnZVR5cGUg
OiBTdGFydEdyb3VwTWVzc2FnZVR5cGUsIExvZ01lc3NhZ2VMZXZlbCwgU3RyaW5nKCksIGNhbGxT
dGFjaywgbV9ncm91cExldmVsKSk7CiB9CiAKIHZvaWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6ZW5k
R3JvdXAoTWVzc2FnZVNvdXJjZSBzb3VyY2UsIHVuc2lnbmVkIGxpbmVOdW1iZXIsIGNvbnN0IFN0
cmluZyYgc291cmNlVVJMKQpAQCAtNTMwLDYgKzUzMiwxMCBAQCB2b2lkIEluc3BlY3RvckNvbnRy
b2xsZXI6OmNvbm5lY3RGcm9udGVuZChjb25zdCBTY3JpcHRPYmplY3QmIHdlYkluc3BlY3RvcikK
ICNpZiBFTkFCTEUoT0ZGTElORV9XRUJfQVBQTElDQVRJT05TKQogICAgIG1fYXBwbGljYXRpb25D
YWNoZUFnZW50ID0gbmV3IEluc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudCh0aGlzLCBtX2Zy
b250ZW5kLmdldCgpKTsKICNlbmRpZgorCisgICAgaWYgKCFjb25uZWN0ZWRGcm9udGVuZENvdW50
KQorICAgICAgICBTY3JpcHRDb250cm9sbGVyOjpzZXRDYXB0dXJlQ2FsbFN0YWNrRm9yVW5jYXVn
aHRFeGNlcHRpb25zKHRydWUpOworICAgIGNvbm5lY3RlZEZyb250ZW5kQ291bnQrKzsKIH0KIAog
dm9pZCBJbnNwZWN0b3JDb250cm9sbGVyOjpzaG93KCkKQEAgLTU3OSw2ICs1ODUsMTAgQEAgdm9p
ZCBJbnNwZWN0b3JDb250cm9sbGVyOjpkaXNjb25uZWN0RnJvbnRlbmQoKQogICAgICAgICByZXR1
cm47CiAgICAgbV9mcm9udGVuZC5jbGVhcigpOwogCisgICAgY29ubmVjdGVkRnJvbnRlbmRDb3Vu
dC0tOworICAgIGlmICghY29ubmVjdGVkRnJvbnRlbmRDb3VudCkKKyAgICAgICAgU2NyaXB0Q29u
dHJvbGxlcjo6c2V0Q2FwdHVyZUNhbGxTdGFja0ZvclVuY2F1Z2h0RXhjZXB0aW9ucyhmYWxzZSk7
CisKICNpZiBFTkFCTEUoSkFWQVNDUklQVF9ERUJVR0dFUikKICAgICAvLyBJZiB0aGUgd2luZG93
IGlzIGJlaW5nIGNsb3NlZCB3aXRoIHRoZSBkZWJ1Z2dlciBlbmFibGVkLAogICAgIC8vIHJlbWVt
YmVyIHRoaXMgc3RhdGUgdG8gcmUtZW5hYmxlIGRlYnVnZ2VyIG9uIHRoZSBuZXh0IHdpbmRvdwpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oIGIvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oCmluZGV4IDE0MTFiZDBlOTAwNjQ1
NjM4YjMyYjdhNzVlNjU1NzZkZjU3NWY1M2QuLjdlMzVkMTZiZTg3ODBiZDE4MWNhZWQ3YmU1Nzg5
ZjM1N2U5YzlmZjQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRy
b2xsZXIuaAorKysgYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmgKQEAg
LTE1MSw3ICsxNTEsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBjb25uZWN0RnJvbnRlbmQoY29uc3Qg
U2NyaXB0T2JqZWN0JiB3ZWJJbnNwZWN0b3IpOwogICAgIHZvaWQgZGlzY29ubmVjdEZyb250ZW5k
KCk7CiAKLSAgICB2b2lkIGFkZE1lc3NhZ2VUb0NvbnNvbGUoTWVzc2FnZVNvdXJjZSwgTWVzc2Fn
ZVR5cGUsIE1lc3NhZ2VMZXZlbCwgU2NyaXB0Q2FsbFN0YWNrKik7CisgICAgdm9pZCBhZGRNZXNz
YWdlVG9Db25zb2xlKE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VUeXBlLCBNZXNzYWdlTGV2ZWwsIFNj
cmlwdENhbGxTdGFjayosIGNvbnN0IFN0cmluZyYgbWVzc2FnZSA9IFN0cmluZygpKTsKICAgICB2
b2lkIGFkZE1lc3NhZ2VUb0NvbnNvbGUoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZVR5cGUsIE1lc3Nh
Z2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCBjb25z
dCBTdHJpbmcmIHNvdXJjZUlEKTsKICAgICB2b2lkIGNsZWFyQ29uc29sZU1lc3NhZ2VzKCk7CiAg
ICAgY29uc3QgVmVjdG9yPE93blB0cjxDb25zb2xlTWVzc2FnZT4gPiYgY29uc29sZU1lc3NhZ2Vz
KCkgY29uc3QgeyByZXR1cm4gbV9jb25zb2xlTWVzc2FnZXM7IH0KZGlmZiAtLWdpdCBhL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db25zb2xlVmlldy5qcyBiL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9Db25zb2xlVmlldy5qcwppbmRleCAzNmUwMjc1MzQ2MzA2NDQ1MDYwOWViZTA3
MmE4YThhYTI0YTcxYzQ4Li5jMWQ2MjFiZmQ3ZjMxYzc2Nzk0MDkzNmE1NmMwNDY5ZTM1MTU4YjFk
IDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ29uc29sZVZpZXcuanMK
KysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NvbnNvbGVWaWV3LmpzCkBAIC02NzMs
OCArNjczLDIzIEBAIFdlYkluc3BlY3Rvci5Db25zb2xlTWVzc2FnZS5wcm90b3R5cGUgPSB7CiAg
ICAgewogICAgICAgICBzd2l0Y2ggKHRoaXMudHlwZSkgewogICAgICAgICAgICAgY2FzZSBXZWJJ
bnNwZWN0b3IuQ29uc29sZU1lc3NhZ2UuTWVzc2FnZVR5cGUuVHJhY2U6Ci0gICAgICAgICAgICAg
ICAgdGhpcy5mb3JtYXR0ZWRNZXNzYWdlID0gdGhpcy5fY3JlYXRlU3RhY2tUcmFjZUVsZW1lbnQo
KTsKLSAgICAgICAgICAgICAgICB0aGlzLmZvcm1hdHRlZE1lc3NhZ2UuYWRkU3R5bGVDbGFzcygi
dHJhY2UtbWVzc2FnZSIpOworICAgICAgICAgICAgY2FzZSBXZWJJbnNwZWN0b3IuQ29uc29sZU1l
c3NhZ2UuTWVzc2FnZVR5cGUuVW5jYXVnaHRFeGNlcHRpb246CisgICAgICAgICAgICAgICAgdmFy
IG9sID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgib2wiKTsKKyAgICAgICAgICAgICAgICBvbC5h
ZGRTdHlsZUNsYXNzKCJzdGFjay10cmFjZSIpOworICAgICAgICAgICAgICAgIGlmICh0aGlzLnR5
cGUgPT09IFdlYkluc3BlY3Rvci5Db25zb2xlTWVzc2FnZS5NZXNzYWdlVHlwZS5UcmFjZSkKKyAg
ICAgICAgICAgICAgICAgICAgb2wuYWRkU3R5bGVDbGFzcygidHJhY2UtbWVzc2FnZSIpOworICAg
ICAgICAgICAgICAgIHZhciB0cmVlT3V0bGluZSA9IG5ldyBUcmVlT3V0bGluZShvbCk7CisKKyAg
ICAgICAgICAgICAgICB2YXIgcm9vdCA9IHRyZWVPdXRsaW5lOworICAgICAgICAgICAgICAgIGlm
ICh0aGlzLnR5cGUgPT09IFdlYkluc3BlY3Rvci5Db25zb2xlTWVzc2FnZS5NZXNzYWdlVHlwZS5V
bmNhdWdodEV4Y2VwdGlvbikgeworICAgICAgICAgICAgICAgICAgICB2YXIgbGkgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJsaSIpOworICAgICAgICAgICAgICAgICAgICB0aGlzLl9hZGRNZXNz
YWdlSGVhZGVyKGxpLCBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSh0aGlzLl9tZXNzYWdlVGV4dCkp
OworICAgICAgICAgICAgICAgICAgICByb290ID0gbmV3IFRyZWVFbGVtZW50KGxpLmlubmVySFRN
TCwgbnVsbCwgdHJ1ZSk7CisgICAgICAgICAgICAgICAgICAgIHRyZWVPdXRsaW5lLmFwcGVuZENo
aWxkKHJvb3QpOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIHRoaXMuX3Bv
cHVsYXRlU3RhY2tUcmFjZVRyZWVFbGVtZW50KHJvb3QpOworICAgICAgICAgICAgICAgIHRoaXMu
Zm9ybWF0dGVkTWVzc2FnZSA9IG9sOwogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAg
ICAgY2FzZSBXZWJJbnNwZWN0b3IuQ29uc29sZU1lc3NhZ2UuTWVzc2FnZVR5cGUuT2JqZWN0Ogog
ICAgICAgICAgICAgICAgIHZhciBvYmogPSB0aGlzLl9wYXJhbWV0ZXJzID8gdGhpcy5fcGFyYW1l
dGVyc1swXSA6IHVuZGVmaW5lZDsKQEAgLTgyNSwyNiArODQwLDExIEBAIFdlYkluc3BlY3Rvci5D
b25zb2xlTWVzc2FnZS5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICByZXR1cm4gZWxlbWVudDsK
ICAgICAgICAgfQogCi0gICAgICAgIGlmICh0aGlzLnR5cGUgPT09IFdlYkluc3BlY3Rvci5Db25z
b2xlTWVzc2FnZS5NZXNzYWdlVHlwZS5UcmFjZSkgeworICAgICAgICBpZiAodGhpcy50eXBlID09
PSBXZWJJbnNwZWN0b3IuQ29uc29sZU1lc3NhZ2UuTWVzc2FnZVR5cGUuVHJhY2UgfHwKKyAgICAg
ICAgICAgIHRoaXMudHlwZSA9PT0gV2ViSW5zcGVjdG9yLkNvbnNvbGVNZXNzYWdlLk1lc3NhZ2VU
eXBlLlVuY2F1Z2h0RXhjZXB0aW9uKQogICAgICAgICAgICAgZWxlbWVudC5hcHBlbmRDaGlsZCh0
aGlzLmZvcm1hdHRlZE1lc3NhZ2UpOwotICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgaWYg
KHRoaXMudXJsICYmIHRoaXMudXJsICE9PSAidW5kZWZpbmVkIikgewotICAgICAgICAgICAgICAg
IHZhciB1cmxFbGVtZW50ID0gV2ViSW5zcGVjdG9yLmxpbmtpZnlSZXNvdXJjZUFzTm9kZSh0aGlz
LnVybCwgInNjcmlwdHMiLCB0aGlzLmxpbmUsICJjb25zb2xlLW1lc3NhZ2UtdXJsIik7IAotICAg
ICAgICAgICAgICAgIGVsZW1lbnQuYXBwZW5kQ2hpbGQodXJsRWxlbWVudCk7Ci0gICAgICAgICAg
ICB9Ci0KLSAgICAgICAgICAgIHZhciBtZXNzYWdlVGV4dEVsZW1lbnQgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJzcGFuIik7Ci0gICAgICAgICAgICBtZXNzYWdlVGV4dEVsZW1lbnQuY2xhc3NO
YW1lID0gImNvbnNvbGUtbWVzc2FnZS10ZXh0IHNvdXJjZS1jb2RlIjsKLSAgICAgICAgICAgIGlm
ICh0aGlzLnR5cGUgPT09IFdlYkluc3BlY3Rvci5Db25zb2xlTWVzc2FnZS5NZXNzYWdlVHlwZS5B
c3NlcnQpCi0gICAgICAgICAgICAgICAgbWVzc2FnZVRleHRFbGVtZW50LmFwcGVuZENoaWxkKGRv
Y3VtZW50LmNyZWF0ZVRleHROb2RlKFdlYkluc3BlY3Rvci5VSVN0cmluZygiQXNzZXJ0aW9uIGZh
aWxlZDogIikpKTsKLSAgICAgICAgICAgIG1lc3NhZ2VUZXh0RWxlbWVudC5hcHBlbmRDaGlsZCh0
aGlzLmZvcm1hdHRlZE1lc3NhZ2UpOwotICAgICAgICAgICAgZWxlbWVudC5hcHBlbmRDaGlsZCht
ZXNzYWdlVGV4dEVsZW1lbnQpOwotCi0gICAgICAgICAgICBpZiAodGhpcy5fc3RhY2tUcmFjZSkg
ewotICAgICAgICAgICAgICAgIHZhciBvbCA9IHRoaXMuX2NyZWF0ZVN0YWNrVHJhY2VFbGVtZW50
KCk7Ci0gICAgICAgICAgICAgICAgZWxlbWVudC5hcHBlbmRDaGlsZChvbCk7Ci0gICAgICAgICAg
ICB9Ci0gICAgICAgIH0KKyAgICAgICAgZWxzZQorICAgICAgICAgICAgdGhpcy5fYWRkTWVzc2Fn
ZUhlYWRlcihlbGVtZW50LCB0aGlzLmZvcm1hdHRlZE1lc3NhZ2UpOwogCiAgICAgICAgIGlmICh0
aGlzLnJlcGVhdENvdW50ID4gMSkKICAgICAgICAgICAgIHRoaXMuX3VwZGF0ZVJlcGVhdENvdW50
KCk7CkBAIC04NTIsMTEgKzg1Miw4IEBAIFdlYkluc3BlY3Rvci5Db25zb2xlTWVzc2FnZS5wcm90
b3R5cGUgPSB7CiAgICAgICAgIHJldHVybiBlbGVtZW50OwogICAgIH0sCiAKLSAgICBfY3JlYXRl
U3RhY2tUcmFjZUVsZW1lbnQ6IGZ1bmN0aW9uKCkKKyAgICBfcG9wdWxhdGVTdGFja1RyYWNlVHJl
ZUVsZW1lbnQ6IGZ1bmN0aW9uKHBhcmVudFRyZWVFbGVtZW50KQogICAgIHsKLSAgICAgICAgdmFy
IG9sID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgib2wiKTsKLSAgICAgICAgb2wuYWRkU3R5bGVD
bGFzcygic3RhY2stdHJhY2UiKTsKLSAgICAgICAgdmFyIHRyZWVPdXRsaW5lID0gbmV3IFRyZWVP
dXRsaW5lKG9sKTsKICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLl9zdGFja1RyYWNl
Lmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgICB2YXIgZnJhbWUgPSB0aGlzLl9zdGFja1RyYWNl
W2ldOwogCkBAIC04NzAsMTEgKzg2NywyNCBAQCBXZWJJbnNwZWN0b3IuQ29uc29sZU1lc3NhZ2Uu
cHJvdG90eXBlID0gewogICAgICAgICAgICAgdmFyIHVybEVsZW1lbnQgPSBXZWJJbnNwZWN0b3Iu
bGlua2lmeVJlc291cmNlQXNOb2RlKGZyYW1lLnNvdXJjZVVSTCwgInNjcmlwdHMiLCBmcmFtZS5s
aW5lTnVtYmVyLCAiY29uc29sZS1tZXNzYWdlLXVybCIpOyAKICAgICAgICAgICAgIGxpLmFwcGVu
ZENoaWxkKHVybEVsZW1lbnQpOwogCi0KICAgICAgICAgICAgIHZhciB0cmVlRWxlbWVudCA9IG5l
dyBUcmVlRWxlbWVudChsaS5pbm5lckhUTUwpOwotICAgICAgICAgICAgdHJlZU91dGxpbmUuYXBw
ZW5kQ2hpbGQodHJlZUVsZW1lbnQpOworICAgICAgICAgICAgcGFyZW50VHJlZUVsZW1lbnQuYXBw
ZW5kQ2hpbGQodHJlZUVsZW1lbnQpOwogICAgICAgICB9Ci0gICAgICAgIHJldHVybiBvbDsKKyAg
ICB9LAorCisgICAgX2FkZE1lc3NhZ2VIZWFkZXI6IGZ1bmN0aW9uKHBhcmVudEVsZW1lbnQsIGZv
cm1hdHRlZE1lc3NhZ2UpCisgICAgeworICAgICAgICBpZiAodGhpcy51cmwgJiYgdGhpcy51cmwg
IT09ICJ1bmRlZmluZWQiKSB7CisgICAgICAgICAgICB2YXIgdXJsRWxlbWVudCA9IFdlYkluc3Bl
Y3Rvci5saW5raWZ5UmVzb3VyY2VBc05vZGUodGhpcy51cmwsICJzY3JpcHRzIiwgdGhpcy5saW5l
LCAiY29uc29sZS1tZXNzYWdlLXVybCIpOyAKKyAgICAgICAgICAgIHBhcmVudEVsZW1lbnQuYXBw
ZW5kQ2hpbGQodXJsRWxlbWVudCk7CisgICAgICAgIH0KKworICAgICAgICB2YXIgbWVzc2FnZVRl
eHRFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpOworICAgICAgICBtZXNz
YWdlVGV4dEVsZW1lbnQuY2xhc3NOYW1lID0gImNvbnNvbGUtbWVzc2FnZS10ZXh0IHNvdXJjZS1j
b2RlIjsKKyAgICAgICAgaWYgKHRoaXMudHlwZSA9PT0gV2ViSW5zcGVjdG9yLkNvbnNvbGVNZXNz
YWdlLk1lc3NhZ2VUeXBlLkFzc2VydCkKKyAgICAgICAgICAgIG1lc3NhZ2VUZXh0RWxlbWVudC5h
cHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShXZWJJbnNwZWN0b3IuVUlTdHJpbmco
IkFzc2VydGlvbiBmYWlsZWQ6ICIpKSk7CisgICAgICAgIG1lc3NhZ2VUZXh0RWxlbWVudC5hcHBl
bmRDaGlsZChmb3JtYXR0ZWRNZXNzYWdlKTsKKyAgICAgICAgcGFyZW50RWxlbWVudC5hcHBlbmRD
aGlsZChtZXNzYWdlVGV4dEVsZW1lbnQpOwogICAgIH0sCiAKICAgICBfdXBkYXRlUmVwZWF0Q291
bnQ6IGZ1bmN0aW9uKCkgewpAQCAtOTE1LDYgKzkyNSw3IEBAIFdlYkluc3BlY3Rvci5Db25zb2xl
TWVzc2FnZS5wcm90b3R5cGUgPSB7CiAgICAgICAgIHZhciB0eXBlU3RyaW5nOwogICAgICAgICBz
d2l0Y2ggKHRoaXMudHlwZSkgewogICAgICAgICAgICAgY2FzZSBXZWJJbnNwZWN0b3IuQ29uc29s
ZU1lc3NhZ2UuTWVzc2FnZVR5cGUuTG9nOgorICAgICAgICAgICAgY2FzZSBXZWJJbnNwZWN0b3Iu
Q29uc29sZU1lc3NhZ2UuTWVzc2FnZVR5cGUuVW5jYXVnaHRFeGNlcHRpb246CiAgICAgICAgICAg
ICAgICAgdHlwZVN0cmluZyA9ICJMb2ciOwogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAg
ICAgICAgY2FzZSBXZWJJbnNwZWN0b3IuQ29uc29sZU1lc3NhZ2UuTWVzc2FnZVR5cGUuT2JqZWN0
OgpAQCAtOTk0LDcgKzEwMDUsOCBAQCBXZWJJbnNwZWN0b3IuQ29uc29sZU1lc3NhZ2UuTWVzc2Fn
ZVR5cGUgPSB7CiAgICAgU3RhcnRHcm91cENvbGxhcHNlZDogNCwKICAgICBFbmRHcm91cDogNSwK
ICAgICBBc3NlcnQ6IDYsCi0gICAgUmVzdWx0OiA3CisgICAgVW5jYXVnaHRFeGNlcHRpb246IDcs
CisgICAgUmVzdWx0OiA4CiB9CiAKIFdlYkluc3BlY3Rvci5Db25zb2xlTWVzc2FnZS5NZXNzYWdl
TGV2ZWwgPSB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVj
dG9yLmNzcyBiL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuY3NzCmluZGV4
IDY4ZTQwMzQzMjNkNzM2NjEyNjgyYTllNjc0MzhiMDU5NWNmMjFiOTEuLjEyZTk5YjRhZjhhYjQw
YmMzOWU4MDhjZTQ4MDM3NmIwOTc0ZjE3ZTIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9pbnNwZWN0b3IuY3NzCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC9pbnNwZWN0b3IuY3NzCkBAIC03MTEsMTQgKzcxMSw5IEBAIGJvZHkucGxhdGZvcm0tbGludXgg
Lm1vbm9zcGFjZSwgYm9keS5wbGF0Zm9ybS1saW51eCAuc291cmNlLWNvZGUgewogICAgIGNvbnRl
bnQ6IHVybChJbWFnZXMvdHJlZURvd25UcmlhbmdsZUJsYWNrLnBuZyk7CiB9CiAKLS5jb25zb2xl
LW1lc3NhZ2UgPiBvbC5zdGFjay10cmFjZSB7Ci0gICAgbWFyZ2luOiA1cHggMCA1cHggLTMwcHg7
Ci0gICAgbGlzdC1zdHlsZTogbm9uZTsKLX0KLQotLmNvbnNvbGUtbWVzc2FnZS5yZXBlYXRlZC1t
ZXNzYWdlID4gb2wuc3RhY2stdHJhY2UudHJhY2UtbWVzc2FnZSB7Ci0gICAgbWFyZ2luLXRvcDog
LTlweDsKLSAgICBtYXJnaW4tbGVmdDogLTEycHg7CisuY29uc29sZS1tZXNzYWdlLnJlcGVhdGVk
LW1lc3NhZ2UgPiBvbC5zdGFjay10cmFjZSB7CisgICAgbWFyZ2luLXRvcDogLTE0cHg7CisgICAg
bWFyZ2luLWxlZnQ6IDE4cHg7CiB9CiAKIC5jb25zb2xlLWdyb3VwLW1lc3NhZ2VzIC5zZWN0aW9u
IC5oZWFkZXIgLnRpdGxlIHsKQEAgLTExNzQsNiArMTE2OSw3IEBAIGJvZHkucGxhdGZvcm0tbGlu
dXggLm1vbm9zcGFjZSwgYm9keS5wbGF0Zm9ybS1saW51eCAuc291cmNlLWNvZGUgewogICAgIG1h
cmdpbi1sZWZ0OiAtMTJweDsKIH0KIAorLnN0YWNrLXRyYWNlIGxpLnBhcmVudDo6YmVmb3JlLAog
Lm91dGxpbmUtZGlzY2xvc3VyZSBsaS5wYXJlbnQ6OmJlZm9yZSB7CiAgICAgY29udGVudDogdXJs
KEltYWdlcy90cmVlUmlnaHRUcmlhbmdsZUJsYWNrLnBuZyk7CiAgICAgZmxvYXQ6IGxlZnQ7CkBA
IC0xMTgzLDI2ICsxMTc5LDMyIEBAIGJvZHkucGxhdGZvcm0tbGludXggLm1vbm9zcGFjZSwgYm9k
eS5wbGF0Zm9ybS1saW51eCAuc291cmNlLWNvZGUgewogICAgIHBhZGRpbmctcmlnaHQ6IDJweDsK
IH0KIAorLnN0YWNrLXRyYWNlIGxpLnBhcmVudDo6YmVmb3JlLAogLm91dGxpbmUtZGlzY2xvc3Vy
ZSBsaS5wYXJlbnQ6OmJlZm9yZSB7CiAgICAgY29udGVudDogdXJsKEltYWdlcy90cmVlUmlnaHRU
cmlhbmdsZUJsYWNrLnBuZyk7CiB9CiAKKy5zdGFjay10cmFjZSBvbDpmb2N1cyBsaS5wYXJlbnQu
c2VsZWN0ZWQ6OmJlZm9yZSwKIC5vdXRsaW5lLWRpc2Nsb3N1cmUgb2w6Zm9jdXMgbGkucGFyZW50
LnNlbGVjdGVkOjpiZWZvcmUgewogICAgIGNvbnRlbnQ6IHVybChJbWFnZXMvdHJlZVJpZ2h0VHJp
YW5nbGVXaGl0ZS5wbmcpOwogfQogCisuc3RhY2stdHJhY2UgbGkucGFyZW50LmV4cGFuZGVkOjpi
ZWZvcmUsCiAub3V0bGluZS1kaXNjbG9zdXJlIGxpLnBhcmVudC5leHBhbmRlZDo6YmVmb3JlIHsK
ICAgICBjb250ZW50OiB1cmwoSW1hZ2VzL3RyZWVEb3duVHJpYW5nbGVCbGFjay5wbmcpOwogfQog
Cisuc3RhY2stdHJhY2Ugb2w6Zm9jdXMgbGkucGFyZW50LmV4cGFuZGVkLnNlbGVjdGVkOjpiZWZv
cmUsCiAub3V0bGluZS1kaXNjbG9zdXJlIG9sOmZvY3VzIGxpLnBhcmVudC5leHBhbmRlZC5zZWxl
Y3RlZDo6YmVmb3JlIHsKICAgICBjb250ZW50OiB1cmwoSW1hZ2VzL3RyZWVEb3duVHJpYW5nbGVX
aGl0ZS5wbmcpOwogfQogCisuc3RhY2stdHJhY2Ugb2wuY2hpbGRyZW4sCiAub3V0bGluZS1kaXNj
bG9zdXJlIG9sLmNoaWxkcmVuIHsKICAgICBkaXNwbGF5OiBub25lOwogfQogCisuc3RhY2stdHJh
Y2Ugb2wuY2hpbGRyZW4uZXhwYW5kZWQsCiAub3V0bGluZS1kaXNjbG9zdXJlIG9sLmNoaWxkcmVu
LmV4cGFuZGVkIHsKICAgICBkaXNwbGF5OiBibG9jazsKIH0KQEAgLTEzODIsMTQgKzEzODQsMTgg
QEAgYm9keS5pbmFjdGl2ZSAucGxhY2FyZC5zZWxlY3RlZCB7CiAgICAgbWFyZ2luLWxlZnQ6IDFw
eDsKIH0KIAotLnNlY3Rpb24gLnByb3BlcnRpZXMgb2wsIC5ldmVudC1wcm9wZXJ0aWVzIG9sIHsK
Ky5zZWN0aW9uIC5wcm9wZXJ0aWVzIG9sLCAuZXZlbnQtcHJvcGVydGllcyBvbCwgLnN0YWNrLXRy
YWNlIG9sLCBvbC5zdGFjay10cmFjZSB7CiAgICAgZGlzcGxheTogbm9uZTsKICAgICBtYXJnaW46
IDA7CiAgICAgLXdlYmtpdC1wYWRkaW5nLXN0YXJ0OiAxMnB4OwogICAgIGxpc3Qtc3R5bGU6IG5v
bmU7CiB9CiAKLS5zZWN0aW9uIC5wcm9wZXJ0aWVzIG9sLmV4cGFuZGVkLCAuZXZlbnQtcHJvcGVy
dGllcyBvbC5leHBhbmRlZCB7CitvbC5zdGFjay10cmFjZSB7CisgICAgLXdlYmtpdC1wYWRkaW5n
LXN0YXJ0OiAwcHg7Cit9CisKKy5zZWN0aW9uIC5wcm9wZXJ0aWVzIG9sLmV4cGFuZGVkLCAuZXZl
bnQtcHJvcGVydGllcyBvbC5leHBhbmRlZCwgLnN0YWNrLXRyYWNlIG9sLCBvbC5zdGFjay10cmFj
ZSB7CiAgICAgZGlzcGxheTogYmxvY2s7CiB9CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9D
b25zb2xlLmNwcCBiL1dlYkNvcmUvcGFnZS9Db25zb2xlLmNwcAppbmRleCA0MjM0NzdhM2JiYTFj
MDgwZDk5YmY4OGY4MjhiNjExODAwZTFkMTkzLi42N2Y5YmVlMTU1Yjk5ZDE0NDQ3NzhlOWZiM2E0
Y2NjZDJiNmVjMTI4IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvQ29uc29sZS5jcHAKKysrIGIv
V2ViQ29yZS9wYWdlL0NvbnNvbGUuY3BwCkBAIC0xNDQsNyArMTQ0LDcgQEAgc3RhdGljIHZvaWQg
cHJpbnRNZXNzYWdlU291cmNlQW5kTGV2ZWxQcmVmaXgoTWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1l
c3NhZ2VMZXZlbAogICAgIHByaW50ZigiJXMgJXM6Iiwgc291cmNlU3RyaW5nLCBsZXZlbFN0cmlu
Zyk7CiB9CiAKLXZvaWQgQ29uc29sZTo6YWRkTWVzc2FnZShNZXNzYWdlU291cmNlIHNvdXJjZSwg
TWVzc2FnZVR5cGUgdHlwZSwgTWVzc2FnZUxldmVsIGxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3Nh
Z2UsIHVuc2lnbmVkIGxpbmVOdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMKQordm9pZCBD
b25zb2xlOjphZGRNZXNzYWdlKE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlVHlwZSB0eXBl
LCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgdW5zaWduZWQgbGlu
ZU51bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwsIFNjcmlwdENhbGxTdGFjayogY2FsbFN0
YWNrKQogewogICAgIFBhZ2UqIHBhZ2UgPSB0aGlzLT5wYWdlKCk7CiAgICAgaWYgKCFwYWdlKQpA
QCAtMTU0LDcgKzE1NCwxMCBAQCB2b2lkIENvbnNvbGU6OmFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJj
ZSBzb3VyY2UsIE1lc3NhZ2VUeXBlIHR5cGUsIE1lc3NhZ2VMZXZlbCBsZQogICAgICAgICBwYWdl
LT5jaHJvbWUoKS0+Y2xpZW50KCktPmFkZE1lc3NhZ2VUb0NvbnNvbGUoc291cmNlLCB0eXBlLCBs
ZXZlbCwgbWVzc2FnZSwgbGluZU51bWJlciwgc291cmNlVVJMKTsKIAogI2lmIEVOQUJMRShJTlNQ
RUNUT1IpCi0gICAgcGFnZS0+aW5zcGVjdG9yQ29udHJvbGxlcigpLT5hZGRNZXNzYWdlVG9Db25z
b2xlKHNvdXJjZSwgdHlwZSwgbGV2ZWwsIG1lc3NhZ2UsIGxpbmVOdW1iZXIsIHNvdXJjZVVSTCk7
CisgICAgaWYgKGNhbGxTdGFjaykKKyAgICAgICAgcGFnZS0+aW5zcGVjdG9yQ29udHJvbGxlcigp
LT5hZGRNZXNzYWdlVG9Db25zb2xlKHNvdXJjZSwgdHlwZSwgbGV2ZWwsIGNhbGxTdGFjaywgbWVz
c2FnZSk7CisgICAgZWxzZQorICAgICAgICBwYWdlLT5pbnNwZWN0b3JDb250cm9sbGVyKCktPmFk
ZE1lc3NhZ2VUb0NvbnNvbGUoc291cmNlLCB0eXBlLCBsZXZlbCwgbWVzc2FnZSwgbGluZU51bWJl
ciwgc291cmNlVVJMKTsKICNlbmRpZgogCiAgICAgaWYgKCFDb25zb2xlOjpzaG91bGRQcmludEV4
Y2VwdGlvbnMoKSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9Db25zb2xlLmggYi9XZWJDb3Jl
L3BhZ2UvQ29uc29sZS5oCmluZGV4IDNlMDAwNTBiZmI2M2JiOGI2YTY3MTU2ZjBkYTQwYjJmMTEw
NTQ3NjEuLmQwNTdmZjllOTc2M2Y2OTFkNjNkOTljNDY4ODg4NWNjMDZjOGM5YjcgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvcGFnZS9Db25zb2xlLmgKKysrIGIvV2ViQ29yZS9wYWdlL0NvbnNvbGUuaApA
QCAtNjQsNyArNjQsOCBAQCBlbnVtIE1lc3NhZ2VUeXBlIHsKICAgICBTdGFydEdyb3VwTWVzc2Fn
ZVR5cGUsCiAgICAgU3RhcnRHcm91cENvbGxhcHNlZE1lc3NhZ2VUeXBlLAogICAgIEVuZEdyb3Vw
TWVzc2FnZVR5cGUsCi0gICAgQXNzZXJ0TWVzc2FnZVR5cGUKKyAgICBBc3NlcnRNZXNzYWdlVHlw
ZSwKKyAgICBVbmNhdWdodEV4Y2VwdGlvbk1lc3NhZ2VUeXBlCiB9OwogCiBlbnVtIE1lc3NhZ2VM
ZXZlbCB7CkBAIC04Miw3ICs4Myw3IEBAIHB1YmxpYzoKICAgICBGcmFtZSogZnJhbWUoKSBjb25z
dDsKICAgICB2b2lkIGRpc2Nvbm5lY3RGcmFtZSgpOwogCi0gICAgdm9pZCBhZGRNZXNzYWdlKE1l
c3NhZ2VTb3VyY2UsIE1lc3NhZ2VUeXBlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVz
c2FnZSwgdW5zaWduZWQgbGluZU51bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwpOworICAg
IHZvaWQgYWRkTWVzc2FnZShNZXNzYWdlU291cmNlLCBNZXNzYWdlVHlwZSwgTWVzc2FnZUxldmVs
LCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIHVuc2lnbmVkIGxpbmVOdW1iZXIsIGNvbnN0IFN0cmlu
ZyYgc291cmNlVVJMLCBTY3JpcHRDYWxsU3RhY2sqIGNhbGxTdGFjayA9IDApOwogCiAgICAgdm9p
ZCBkZWJ1ZyhTY3JpcHRDYWxsU3RhY2sqKTsKICAgICB2b2lkIGVycm9yKFNjcmlwdENhbGxTdGFj
ayopOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>