<?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>41692</bug_id>
          
          <creation_ts>2010-07-06 06:12:29 -0700</creation_ts>
          <short_desc>Web Inspector: generator part of of the patch for bug 40675</short_desc>
          <delta_ts>2010-07-07 00:34:48 -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>0</everconfirmed>
          <reporter name="Ilya Tikhonovsky">loislo</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>bweinstein</cc>
    
    <cc>gustavo</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>247045</commentid>
    <comment_count>0</comment_count>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2010-07-06 06:12:29 -0700</bug_when>
    <thetext>https://bugs.webkit.org/show_bug.cgi?id=40675

As far as the patch was quite big. It was split and this bug is created for generator related changes.

--------
On the way to Remote Debuging we want to support JSON serialization on both sides of WebInspector transport.
As far as InspectorFrontend class is a simple proxy to WebInspector it would be better to generate it from an IDL file.
We have generator infostructure for binding and will reuse it for new generator.
--------</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>247050</commentid>
    <comment_count>1</comment_count>
      <attachid>60626</attachid>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2010-07-06 06:29:28 -0700</bug_when>
    <thetext>Created attachment 60626
[patch] initial version.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>247070</commentid>
    <comment_count>2</comment_count>
      <attachid>60626</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2010-07-06 07:44:04 -0700</bug_when>
    <thetext>Comment on attachment 60626
[patch] initial version.

 +          WebInspector: generator part of of the patch for bug 40675.
of of -&gt; of here and in other ChangeLogs

Clear Main Comment Box:6
 +          On the way to Remote Debuging we want to support JSON serialization
Debuging  -&gt; Debugging  here and in other ChangeLogs

Please land it manually and watch the bots.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>247074</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-07-06 08:08:36 -0700</bug_when>
    <thetext>Attachment 60626 did not build on gtk:
Build output: http://webkit-commit-queue.appspot.com/results/3366372</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>247183</commentid>
    <comment_count>4</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2010-07-06 12:57:07 -0700</bug_when>
    <thetext>Looks like this was landed in:
http://trac.webkit.org/changeset/62549

There was a build fix in:
http://trac.webkit.org/changeset/62552

EFL build fix:
http://trac.webkit.org/changeset/62571

Ilya, if this is complete (and you have privileges) you can mark the
bug as resolved.

Nice work! My only comment on the patch would be that the
ChangeLog should contain more information, especially given that
there are new files.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>247361</commentid>
    <comment_count>5</comment_count>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2010-07-07 00:34:48 -0700</bug_when>
    <thetext>Committing to http://svn.webkit.org/repository/webkit/trunk ...
	M	ChangeLog
	M	GNUmakefile.am
	M	WebCore/CMakeLists.txt
	M	WebCore/ChangeLog
	M	WebCore/DerivedSources.make
	M	WebCore/GNUmakefile.am
	M	WebCore/WebCore.gyp/WebCore.gyp
	M	WebCore/WebCore.gyp/scripts/rule_binding.py
	M	WebCore/WebCore.gypi
	M	WebCore/WebCore.pri
	M	WebCore/WebCore.vcproj/WebCore.vcproj
	M	WebCore/WebCore.xcodeproj/project.pbxproj
	M	WebCore/bindings/scripts/CodeGenerator.pm
	M	WebCore/bindings/scripts/IDLParser.pm
	M	WebCore/bindings/scripts/generate-bindings.pl
	A	WebCore/inspector/CodeGeneratorInspector.pm
	M	WebCore/inspector/InspectorController.cpp
	M	WebCore/inspector/InspectorController.h
	M	WebCore/inspector/InspectorFrontend.cpp
	M	WebCore/inspector/InspectorFrontend.h
	A	WebCore/inspector/InspectorFrontend2.idl
	M	WebCore/inspector/InspectorTimelineAgent.cpp
	M	WebCore/inspector/InspectorTimelineAgent.h
Committed r62549</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>60626</attachid>
            <date>2010-07-06 06:29:28 -0700</date>
            <delta_ts>2010-07-06 07:44:03 -0700</delta_ts>
            <desc>[patch] initial version.</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>38361</size>
            <attacher name="Ilya Tikhonovsky">loislo</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCAyNzZkY2M5Li4yYzEyMDE4
IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAK
KzIwMTAtMDctMDYgIElseWEgVGlraG9ub3Zza3kgIDxsb2lzbG9AY2hyb21pdW0ub3JnPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdlYkluc3BlY3Rv
cjogZ2VuZXJhdG9yIHBhcnQgb2Ygb2YgdGhlIHBhdGNoIGZvciBidWcgNDA2NzUuCisgICAgICAg
IE9uIHRoZSB3YXkgdG8gUmVtb3RlIERlYnVnaW5nIHdlIHdhbnQgdG8gc3VwcG9ydCBKU09OIHNl
cmlhbGl6YXRpb24KKyAgICAgICAgb24gYm90aCBzaWRlcyBvZiBXZWJJbnNwZWN0b3IgdHJhbnNw
b3J0LgorICAgICAgICBBcyBmYXIgYXMgSW5zcGVjdG9yRnJvbnRlbmQgY2xhc3MgaXMgYSBzaW1w
bGUgcHJveHkgdG8gV2ViSW5zcGVjdG9yCisgICAgICAgIGl0IHdvdWxkIGJlIGJldHRlciB0byBn
ZW5lcmF0ZSBpdCBmcm9tIGFuIElETCBmaWxlLgorICAgICAgICBXZSBoYXZlIGdlbmVyYXRvciBp
bmZyYXN0cnVjdHVyZSBmb3IgYmluZGluZyBhbmQgd2lsbCByZXVzZSBpdCBmb3IKKyAgICAgICAg
bmV3IGdlbmVyYXRvci4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTQxNjkyCisKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5hbToKKwogMjAxMC0wNy0wNSAg
QW50dGkgS29pdmlzdG8gIDxrb2l2aXN0b0Bpa2kuZmk+CiAKICAgICAgICAgUmV2ZXJ0IHVucGxh
bm5lZCBwcm9qZWN0IGZpbGUgY2hhbmdlLgpkaWZmIC0tZ2l0IGEvR05VbWFrZWZpbGUuYW0gYi9H
TlVtYWtlZmlsZS5hbQppbmRleCBjY2JlMjhmLi40MTRjYjkxIDEwMDY0NAotLS0gYS9HTlVtYWtl
ZmlsZS5hbQorKysgYi9HTlVtYWtlZmlsZS5hbQpAQCAtNTcsNiArNTcsNyBAQCBub2luc3RfSEVB
REVSUyA6PQogbm9pbnN0X0xUTElCUkFSSUVTIDo9CiBsaWJfTFRMSUJSQVJJRVMgOj0KIElETF9C
SU5ESU5HUyA6PQorSU5TUEVDVE9SX0lOVEVSRkFDRVMgOj0KIFRFU1RfUFJPR1MgOj0KIFBPRklM
RVMgOj0KIE1PRklMRVMgOj0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9X
ZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IGEyYThmNzkuLmZlYjMxYTAgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAt
Mjg5LDYgKzI4OSw3IEBAIFNFVChXZWJDb3JlX0lETF9GSUxFUwogCiAgICAgaW5zcGVjdG9yL0lu
amVjdGVkU2NyaXB0SG9zdC5pZGwKICAgICBpbnNwZWN0b3IvSW5zcGVjdG9yQmFja2VuZC5pZGwK
KyAgICBpbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmQyLmlkbAogICAgIGluc3BlY3Rvci9JbnNw
ZWN0b3JGcm9udGVuZEhvc3QuaWRsCiAgICAgaW5zcGVjdG9yL0phdmFTY3JpcHRDYWxsRnJhbWUu
aWRsCiAgICAgaW5zcGVjdG9yL1NjcmlwdFByb2ZpbGUuaWRsCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGEwYTA2ODMuLjEwY2Q1MmQgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsNDMgQEAKKzIwMTAtMDctMDYgIElseWEgVGlraG9ub3Zza3kgIDxsb2lzbG9AY2hyb21p
dW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFdlYkluc3BlY3RvcjogZ2VuZXJhdG9yIHBhcnQgb2Ygb2YgdGhlIHBhdGNoIGZvciBidWcgNDA2
NzUuCisgICAgICAgIE9uIHRoZSB3YXkgdG8gUmVtb3RlIERlYnVnaW5nIHdlIHdhbnQgdG8gc3Vw
cG9ydCBKU09OIHNlcmlhbGl6YXRpb24KKyAgICAgICAgb24gYm90aCBzaWRlcyBvZiBXZWJJbnNw
ZWN0b3IgdHJhbnNwb3J0LgorICAgICAgICBBcyBmYXIgYXMgSW5zcGVjdG9yRnJvbnRlbmQgY2xh
c3MgaXMgYSBzaW1wbGUgcHJveHkgdG8gV2ViSW5zcGVjdG9yCisgICAgICAgIGl0IHdvdWxkIGJl
IGJldHRlciB0byBnZW5lcmF0ZSBpdCBmcm9tIGFuIElETCBmaWxlLgorICAgICAgICBXZSBoYXZl
IGdlbmVyYXRvciBpbmZyYXN0cnVjdHVyZSBmb3IgYmluZGluZyBhbmQgd2lsbCByZXVzZSBpdCBm
b3IKKyAgICAgICAgbmV3IGdlbmVyYXRvci4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTQxNjkyCisKKworICAgICAgICAqIENNYWtlTGlzdHMudHh0Ogor
ICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogR05VbWFrZWZpbGUuYW06
CisgICAgICAgICogV2ViQ29yZS5neXAvV2ViQ29yZS5neXA6CisgICAgICAgICogV2ViQ29yZS5n
eXAvc2NyaXB0cy9ydWxlX2JpbmRpbmcucHk6CisgICAgICAgICogV2ViQ29yZS5neXBpOgorICAg
ICAgICAqIFdlYkNvcmUucHJpOgorICAgICAgICAqIFdlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNw
cm9qOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAg
ICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3IucG06CisgICAgICAgICogYmluZGlu
Z3Mvc2NyaXB0cy9JRExQYXJzZXIucG06CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9nZW5l
cmF0ZS1iaW5kaW5ncy5wbDoKKyAgICAgICAgKiBpbnNwZWN0b3IvQ29kZUdlbmVyYXRvckluc3Bl
Y3Rvci5wbTogQWRkZWQuCisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQ29udHJvbGxlcjo6Y29ubmVjdEZyb250
ZW5kKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNvbnRyb2xsZXI6OnN0YXJ0VGltZWxp
bmVQcm9maWxlcik6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuaDoK
KyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmQuY3BwOgorICAgICAgICAqIGlu
c3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZC5oOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0
b3JGcm9udGVuZDIuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yVGlt
ZWxpbmVBZ2VudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JUaW1lbGluZUFnZW50
OjpJbnNwZWN0b3JUaW1lbGluZUFnZW50KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclRp
bWVsaW5lQWdlbnQ6OnJlc2V0RnJvbnRlbmRQcm94eU9iamVjdCk6CisgICAgICAgIChXZWJDb3Jl
OjpJbnNwZWN0b3JUaW1lbGluZUFnZW50OjphZGRSZWNvcmRUb1RpbWVsaW5lKToKKyAgICAgICAg
KiBpbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oOgorCiAyMDEwLTA3LTA1ICBJbHlh
IFRpa2hvbm92c2t5ICA8bG9pc2xvQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBi
eSBZdXJ5IFNlbWlraGF0c2t5LgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5t
YWtlIGIvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IDVlODBmMmUuLmFmNDA4M2Ig
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9XZWJDb3JlL0Rl
cml2ZWRTb3VyY2VzLm1ha2UKQEAgLTQ3MCw5ICs0NzAsMTEgQEAgRE9NX0NMQVNTRVMgPSBcCiAg
ICAgWFNMVFByb2Nlc3NvciBcCiAjCiAKK0lOU1BFQ1RPUl9DTEFTU0VTID0gSW5zcGVjdG9yRnJv
bnRlbmQyCisKIC5QSE9OWSA6IGFsbAogCi1KU19ET01fSEVBREVSUz0kKGZpbHRlci1vdXQgSlNF
dmVudExpc3RlbmVyLmggSlNFdmVudFRhcmdldC5oLCQoRE9NX0NMQVNTRVM6JT1KUyUuaCkpCitK
U19ET01fSEVBREVSUz0kKGZpbHRlci1vdXQgSlNFdmVudExpc3RlbmVyLmggSlNFdmVudFRhcmdl
dC5oLCQoRE9NX0NMQVNTRVM6JT1KUyUuaCkgJChJTlNQRUNUT1JfQ0xBU1NFUzolPVJlbW90ZSUu
aCkpCiAKIGFsbCA6IFwKICAgICAkKEpTX0RPTV9IRUFERVJTKSBcCkBAIC04MjAsMjAgKzgyMiwz
MiBAQCBlbmRpZgogCiAjIC0tLS0tLS0tCiAKLSMgSmF2YVNjcmlwdCBiaW5kaW5ncwotCi1HRU5F
UkFURV9CSU5ESU5HUyA9IHBlcmwgLUkgJChXZWJDb3JlKS9iaW5kaW5ncy9zY3JpcHRzICQoV2Vi
Q29yZSkvYmluZGluZ3Mvc2NyaXB0cy9nZW5lcmF0ZS1iaW5kaW5ncy5wbCBcCi0gICAgLS1pbmNs
dWRlIGRvbSAtLWluY2x1ZGUgaHRtbCAtLWluY2x1ZGUgY3NzIC0taW5jbHVkZSBwYWdlIC0taW5j
bHVkZSBub3RpZmljYXRpb25zIC0taW5jbHVkZSB4bWwgLS1pbmNsdWRlIHN2ZyAtLXdyaXRlLWRl
cGVuZGVuY2llcyAtLW91dHB1dERpciAuCisjIENvbW1vbiBnZW5lcmF0b3IgdGhpbmdzCiAKLUdF
TkVSQVRFX0JJTkRJTkdTX1NDUklQVFMgPSBcCitHRU5FUkFURV9TQ1JJUFRTID0gXAogICAgIGJp
bmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvci5wbSBcCiAgICAgYmluZGluZ3Mvc2NyaXB0cy9J
RExQYXJzZXIucG0gXAogICAgIGJpbmRpbmdzL3NjcmlwdHMvSURMU3RydWN0dXJlLnBtIFwKLSAg
ICBiaW5kaW5ncy9zY3JpcHRzL2dlbmVyYXRlLWJpbmRpbmdzLnBsIFwKLSMKKyAgICBiaW5kaW5n
cy9zY3JpcHRzL2dlbmVyYXRlLWJpbmRpbmdzLnBsCisKK2dlbmVyYXRvcl9zY3JpcHQgPSBwZXJs
ICQoYWRkcHJlZml4IC1JICQoV2ViQ29yZSkvLCAkKHNvcnQgJChkaXIgJCgxKSkpKSAkKFdlYkNv
cmUpL2JpbmRpbmdzL3NjcmlwdHMvZ2VuZXJhdGUtYmluZGluZ3MucGwKKworIyBKUyBiaW5kaW5n
cyBnZW5lcmF0b3IKKworSURMX0lOQ0xVREVTID0gZG9tIGh0bWwgY3NzIHBhZ2Ugbm90aWZpY2F0
aW9ucyB4bWwgc3ZnCitJRExfQ09NTU9OX0FSR1MgPSAkKElETF9JTkNMVURFUzolPS0taW5jbHVk
ZSAlKSAtLXdyaXRlLWRlcGVuZGVuY2llcyAtLW91dHB1dERpciAuCisKK0pTX0JJTkRJTkdTX1ND
UklQVFMgPSAkKEdFTkVSQVRFX1NDUklQVFMpIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRv
ckpTLnBtCisKK0pTJS5oIDogJS5pZGwgJChKU19CSU5ESU5HU19TQ1JJUFRTKQorCSQoY2FsbCBn
ZW5lcmF0b3Jfc2NyaXB0LCAkKEpTX0JJTkRJTkdTX1NDUklQVFMpKSAkKElETF9DT01NT05fQVJH
UykgLS1kZWZpbmVzICIkKEZFQVRVUkVfREVGSU5FUykgJChBRERJVElPTkFMX0lETF9ERUZJTkVT
KSBMQU5HVUFHRV9KQVZBU0NSSVBUIiAtLWdlbmVyYXRvciBKUyAkPAorCisjIEluc3BlY3RvciBp
bnRlcmZhY2VzIGdlbmVyYXRvcgorCitJTlNQRUNUT1JfR0VORVJBVE9SX1NDUklQVFMgPSAkKEdF
TkVSQVRFX1NDUklQVFMpIGluc3BlY3Rvci9Db2RlR2VuZXJhdG9ySW5zcGVjdG9yLnBtCiAKLUpT
JS5oIDogJS5pZGwgJChHRU5FUkFURV9CSU5ESU5HU19TQ1JJUFRTKSBiaW5kaW5ncy9zY3JpcHRz
L0NvZGVHZW5lcmF0b3JKUy5wbQotCSQoR0VORVJBVEVfQklORElOR1MpIC0tZGVmaW5lcyAiJChG
RUFUVVJFX0RFRklORVMpICQoQURESVRJT05BTF9JRExfREVGSU5FUykgTEFOR1VBR0VfSkFWQVND
UklQVCIgLS1nZW5lcmF0b3IgSlMgJDwKK1JlbW90ZSUuaCA6ICUuaWRsICQoSU5TUEVDVE9SX0dF
TkVSQVRPUl9TQ1JJUFRTKQorCSQoY2FsbCBnZW5lcmF0b3Jfc2NyaXB0LCAkKElOU1BFQ1RPUl9H
RU5FUkFUT1JfU0NSSVBUUykpIC0tb3V0cHV0RGlyIC4gIC0tZGVmaW5lcyAiTEFOR1VBR0VfSkFW
QVNDUklQVCIgLS1nZW5lcmF0b3IgSW5zcGVjdG9yICQ8CiAKIC1pbmNsdWRlICQoSlNfRE9NX0hF
QURFUlM6Lmg9LmRlcCkKIApAQCAtOTM4LDggKzk1Miw5IEBAIFdlYkNvcmUuTFA2NC5leHAgOiBX
ZWJDb3JlLmV4cAogCiAjIE9iamVjdGl2ZS1DIGJpbmRpbmdzCiAKLURPTSUuaCA6ICUuaWRsICQo
R0VORVJBVEVfQklORElOR1NfU0NSSVBUUykgYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9y
T2JqQy5wbSBiaW5kaW5ncy9vYmpjL1B1YmxpY0RPTUludGVyZmFjZXMuaAotCSQoR0VORVJBVEVf
QklORElOR1MpIC0tZGVmaW5lcyAiJChGRUFUVVJFX0RFRklORVMpICQoQURESVRJT05BTF9JRExf
REVGSU5FUykgTEFOR1VBR0VfT0JKRUNUSVZFX0MiIC0tZ2VuZXJhdG9yIE9iakMgJDwKK0RPTV9C
SU5ESU5HU19TQ1JJUFRTID0gJChHRU5FUkFURV9CSU5ESU5HX1NDUklQVFMpIGJpbmRpbmdzL3Nj
cmlwdHMvQ29kZUdlbmVyYXRvck9iakMucG0KK0RPTSUuaCA6ICUuaWRsICQoRE9NX0JJTkRJTkdT
X1NDUklQVFMpIGJpbmRpbmdzL29iamMvUHVibGljRE9NSW50ZXJmYWNlcy5oCisJJChjYWxsIGdl
bmVyYXRvcl9zY3JpcHQsICQoRE9NX0JJTkRJTkdTX1NDUklQVFMpKSAkKElETF9DT01NT05fQVJH
UykgLS1kZWZpbmVzICIkKEZFQVRVUkVfREVGSU5FUykgJChBRERJVElPTkFMX0lETF9ERUZJTkVT
KSBMQU5HVUFHRV9PQkpFQ1RJVkVfQyIgLS1nZW5lcmF0b3IgT2JqQyAkPAogCiAtaW5jbHVkZSAk
KE9CSkNfRE9NX0hFQURFUlM6Lmg9LmRlcCkKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9HTlVtYWtl
ZmlsZS5hbSBiL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KaW5kZXggMmRlZDVlMy4uYWY5MjgzNiAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQorKysgYi9XZWJDb3JlL0dOVW1ha2Vm
aWxlLmFtCkBAIC0zMzMsNiArMzMzLDggQEAgSURMX0JJTkRJTkdTICs9IFwKIAlXZWJDb3JlL3ht
bC9YTUxTZXJpYWxpemVyLmlkbCBcCiAJV2ViQ29yZS94bWwvWFNMVFByb2Nlc3Nvci5pZGwKIAor
SU5TUEVDVE9SX0lOVEVSRkFDRVMgKz0gV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRl
bmQyLmlkbAorCiB3ZWJjb3JlZ3RrX2RvbV9zb3VyY2VzID0gXAogCVdlYkNvcmUvYmluZGluZ3Mv
Z29iamVjdC9Db252ZXJ0VG9VVEY4U3RyaW5nLmNwcCBcCiAJV2ViQ29yZS9iaW5kaW5ncy9nb2Jq
ZWN0L0NvbnZlcnRUb1VURjhTdHJpbmcuaCBcCkBAIC0zOTkzLDEwICszOTk1LDE1IEBAIHZwYXRo
ICUuaWRsID0gJChJRExfUEFUSCkKIAogRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KUyUuaDogRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KUyUuY3BwOwogCitEZXJpdmVkU291cmNlcy9XZWJDb3JlL1Jl
bW90ZSUuaDogRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9SZW1vdGUlLmNwcDsKKwogLlNFQ09OREFS
WToKIERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlMlLmNwcDogJS5pZGwgJChTQ1JJUFRTX0JJTkRJ
TkdTKSAkKFdlYkNvcmUpL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCiAJJChB
TV9WX0dFTikkKFBFUkwpIC1JJChXZWJDb3JlKS9iaW5kaW5ncy9zY3JpcHRzICQoV2ViQ29yZSkv
YmluZGluZ3Mvc2NyaXB0cy9nZW5lcmF0ZS1iaW5kaW5ncy5wbCAkKElETF9QQVRIOiU9LS1pbmNs
dWRlICIlIikgLS1vdXRwdXREaXIgIiQoR0VOU09VUkNFU19XRUJDT1JFKSIgLS1kZWZpbmVzICJM
QU5HVUFHRV9KQVZBU0NSSVBUPTEgJChGRUFUVVJFX0RFRklORVMpIiAtLWdlbmVyYXRvciBKUyAk
PAogCitEZXJpdmVkU291cmNlcy9XZWJDb3JlL1JlbW90ZSUuY3BwOiAlLmlkbCAkKFNDUklQVFNf
QklORElOR1MpICQoV2ViQ29yZSkvaW5zcGVjdG9yL0NvZGVHZW5lcmF0b3JJbnNwZWN0b3IucG0K
KwkkKEFNX1ZfR0VOKSQoUEVSTCkgLUkkKFdlYkNvcmUpL2JpbmRpbmdzL3NjcmlwdHMgLUkkKFdl
YkNvcmUpL2luc3BlY3RvciAkKFdlYkNvcmUpL2JpbmRpbmdzL3NjcmlwdHMvZ2VuZXJhdGUtYmlu
ZGluZ3MucGwgJChJRExfUEFUSDolPS0taW5jbHVkZSAiJSIpIC0tb3V0cHV0RGlyICIkKEdFTlNP
VVJDRVMpIiAtLWRlZmluZXMgIkxBTkdVQUdFX0pBVkFTQ1JJUFQ9MSAkKEZFQVRVUkVfREVGSU5F
UykiIC0tZ2VuZXJhdG9yIEluc3BlY3RvciAkPAorCiBJRExfQklORElOR1NfSlNfUFVSRSA6PSBc
CiAJV2ViQ29yZS9zdmcvRWxlbWVudFRpbWVDb250cm9sLmlkbCBcCiAJV2ViQ29yZS9zdmcvU1ZH
QW5pbWF0ZWRQYXRoRGF0YS5pZGwgXApAQCAtNDAxNiw4ICs0MDIzLDExIEBAIElETF9CSU5ESU5H
U19KU19QVVJFIDo9IFwKIElETF9CSU5ESU5HU19KUyA6PSAkKGZpbHRlci1vdXQgJChJRExfQklO
RElOR1NfSlNfUFVSRSksJChJRExfQklORElOR1MpKQogCiB3ZWJjb3JlX2J1aWx0X25vc291cmNl
cyArPSAkKHBhdHN1YnN0ICUuaWRsLERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlMlLmgsJChub3Rk
aXIgJChJRExfQklORElOR1MpKSkKK3dlYmNvcmVfYnVpbHRfbm9zb3VyY2VzICs9ICQocGF0c3Vi
c3QgJS5pZGwsRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9SZW1vdGUlLmgsJChub3RkaXIgJChJTlNQ
RUNUT1JfSU5URVJGQUNFUykpKQogCi13ZWJjb3JlX2J1aWx0X25vc291cmNlcyArPSAkKHBhdHN1
YnN0ICUuaWRsLERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlMlLmNwcCwkKG5vdGRpciAkKElETF9C
SU5ESU5HU19KUykpKQord2ViY29yZV9idWlsdF9jcHAgPSAkKHBhdHN1YnN0ICUuaWRsLERlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSlMlLmNwcCwkKG5vdGRpciAkKElETF9CSU5ESU5HU19KUykpKQor
d2ViY29yZV9idWlsdF9jcHAgKz0gJChwYXRzdWJzdCAlLmlkbCxEZXJpdmVkU291cmNlcy9XZWJD
b3JlL1JlbW90ZSUuY3BwLCQobm90ZGlyICQoSU5TUEVDVE9SX0lOVEVSRkFDRVMpKSkKK3dlYmNv
cmVfYnVpbHRfbm9zb3VyY2VzICs9ICQod2ViY29yZV9idWlsdF9jcHApCiAKIHdlYmNvcmVfYnVp
bHRfb2JqZWN0cyA9IDo9ICQocGF0c3Vic3QgJS5jcHAsJS5sbywkKHdlYmNvcmVfYnVpbHRfbm9z
b3VyY2VzKSkKIApAQCAtNDAyNSw5ICs0MDM1LDkgQEAgJCh3ZWJjb3JlX2J1aWx0X29iamVjdHMp
OiBBTV9DUFBGTEFHUys9JChjb3Jla2l0X2NwcGZsYWdzKQogCiAkKHdlYmNvcmVfYnVpbHRfb2Jq
ZWN0cyk6IEFNX0NYWEZMQUdTKz0kKGxpYndlYmtpdGd0a19AV0VCS0lUR1RLX0FQSV9NQUpPUl9W
RVJTSU9OQF9AV0VCS0lUR1RLX0FQSV9NSU5PUl9WRVJTSU9OQF9sYV9DWFhGTEFHUykKIAotbGli
V2ViQ29yZUpTX29iamVjdHMgOj0gJChwYXRzdWJzdCAlLmlkbCxEZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTJS5sbywkKG5vdGRpciAkKElETF9CSU5ESU5HU19KUykpKQorbGliV2ViQ29yZUpTX29i
amVjdHMgOj0gJChwYXRzdWJzdCAlLmNwcCwlLmxvLCQod2ViY29yZV9idWlsdF9jcHApKQogCi1s
aWJXZWJDb3JlSlNfZGVwZmlsZXMgOj0gJChwYXRzdWJzdCAlLmlkbCxEZXJpdmVkU291cmNlcy9X
ZWJDb3JlLyQoREVQRElSKS9KUyUuUGxvLCQobm90ZGlyICQoSURMX0JJTkRJTkdTX0pTKSkpCits
aWJXZWJDb3JlSlNfZGVwZmlsZXMgOj0gJChwYXRzdWJzdCAlLmNwcCxEZXJpdmVkU291cmNlcy9X
ZWJDb3JlLyQoREVQRElSKS8lLlBsbywkKG5vdGRpciAkKHdlYmNvcmVfYnVpbHRfY3BwKSkpCiAK
ICMgT2xkZXIgYXV0b21ha2UgdmVyc2lvbnMgKDEuNykgcGxhY2UgUGxvIGZpbGVzIGluIGEgZGlm
ZmVyZW50IHBsYWNlOgogbGliV2ViQ29yZUpTX2RlcGZpbGVzICs9ICQocGF0c3Vic3QgJS5sbywk
KERFUERJUikvJS5QbG8sJChsaWJXZWJDb3JlSlNfb2JqZWN0cykpCmRpZmYgLS1naXQgYS9XZWJD
b3JlL1dlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwIGIvV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJDb3Jl
Lmd5cAppbmRleCAxODIxZmZjLi5lZGQ4YzhkIDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUu
Z3lwL1dlYkNvcmUuZ3lwCisrKyBiL1dlYkNvcmUvV2ViQ29yZS5neXAvV2ViQ29yZS5neXAKQEAg
LTQ1NCw2ICs0NTQsNDAgQEAKICAgICAgICAgICBdLAogICAgICAgICB9LAogICAgICAgICB7Cisg
ICAgICAgICAgJ2FjdGlvbl9uYW1lJzogJ0luc3BlY3RvckZyb250ZW5kMicsCisgICAgICAgICAg
J2lucHV0cyc6IFsKKyAgICAgICAgICAgICcuLi9iaW5kaW5ncy9zY3JpcHRzL2dlbmVyYXRlLWJp
bmRpbmdzLnBsJywKKyAgICAgICAgICAgICcuLi9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0
b3IucG0nLAorICAgICAgICAgICAgJy4uL2JpbmRpbmdzL3NjcmlwdHMvSURMUGFyc2VyLnBtJywK
KyAgICAgICAgICAgICcuLi9iaW5kaW5ncy9zY3JpcHRzL0lETFN0cnVjdHVyZS5wbScsCisgICAg
ICAgICAgICAnLi4vaW5zcGVjdG9yL0NvZGVHZW5lcmF0b3JJbnNwZWN0b3IucG0nLAorICAgICAg
ICAgICAgJy4uL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZDIuaWRsJywKKyAgICAgICAgICBd
LAorICAgICAgICAgICdvdXRwdXRzJzogWworICAgICAgICAgICAgJzwoU0hBUkVEX0lOVEVSTUVE
SUFURV9ESVIpL3dlYmNvcmUvYmluZGluZ3MvUmVtb3RlSW5zcGVjdG9yRnJvbnRlbmQyLmNwcCcs
CisgICAgICAgICAgICAnPChTSEFSRURfSU5URVJNRURJQVRFX0RJUikvd2Via2l0L2JpbmRpbmdz
L1JlbW90ZUluc3BlY3RvckZyb250ZW5kMi5oJywKKyAgICAgICAgICBdLAorICAgICAgICAgICd2
YXJpYWJsZXMnOiB7CisgICAgICAgICAgICAnZ2VuZXJhdG9yX2luY2x1ZGVfZGlycyc6IFsKKyAg
ICAgICAgICAgIF0sCisgICAgICAgICAgfSwKKyAgICAgICAgICAnYWN0aW9uJzogWworICAgICAg
ICAgICAgJ3B5dGhvbicsCisgICAgICAgICAgICAnc2NyaXB0cy9ydWxlX2JpbmRpbmcucHknLAor
ICAgICAgICAgICAgJy4uL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZDIuaWRsJywKKyAgICAg
ICAgICAgICc8KFNIQVJFRF9JTlRFUk1FRElBVEVfRElSKS93ZWJjb3JlL2JpbmRpbmdzJywKKyAg
ICAgICAgICAgICc8KFNIQVJFRF9JTlRFUk1FRElBVEVfRElSKS93ZWJraXQvYmluZGluZ3MnLAor
ICAgICAgICAgICAgJy0tJywKKyAgICAgICAgICAgICc8QChfaW5wdXRzKScsCisgICAgICAgICAg
ICAnLS0nLAorICAgICAgICAgICAgJy0tZGVmaW5lcycsICdMQU5HVUFHRV9KQVZBU0NSSVBUJywK
KyAgICAgICAgICAgICctLXByZWZpeCcsICdSZW1vdGUnLAorICAgICAgICAgICAgJy0tZ2VuZXJh
dG9yJywgJ0luc3BlY3RvcicsCisgICAgICAgICAgICAnPEAoZ2VuZXJhdG9yX2luY2x1ZGVfZGly
cyknCisgICAgICAgICAgXSwKKyAgICAgICAgICAnbWVzc2FnZSc6ICdHZW5lcmF0aW5nIEluc3Bl
Y3RvckZyb250ZW5kMiBjbGFzcyBmcm9tIEluc3BlY3RvckZyb250ZW5kMi5pZGwnLAorICAgICAg
ICB9LAorICAgICAgICB7CiAgICAgICAgICAgJ2FjdGlvbl9uYW1lJzogJ1hNTE5hbWVzJywKICAg
ICAgICAgICAnaW5wdXRzJzogWwogICAgICAgICAgICAgJy4uL2RvbS9tYWtlX25hbWVzLnBsJywK
QEAgLTY1NSw2ICs2ODksOSBAQAogICAgICAgICAjIEFkZGl0aW9uYWwgLmNwcCBmaWxlcyBmcm9t
IHRoZSB3ZWJjb3JlX2JpbmRpbmdzX3NvdXJjZXMgcnVsZXMuCiAgICAgICAgICc8KFNIQVJFRF9J
TlRFUk1FRElBVEVfRElSKS93ZWJraXQvQ1NTR3JhbW1hci5jcHAnLAogICAgICAgICAnPChTSEFS
RURfSU5URVJNRURJQVRFX0RJUikvd2Via2l0L1hQYXRoR3JhbW1hci5jcHAnLAorCisgICAgICAg
ICMgQWRkaXRpb25hbCAuY3BwIGZpbGVzIGZyb20gdGhlIHdlYmNvcmVfaW5zcGVjdG9yX3NvdXJj
ZXMgbGlzdC4KKyAgICAgICAgJzwoU0hBUkVEX0lOVEVSTUVESUFURV9ESVIpL3dlYmNvcmUvYmlu
ZGluZ3MvUmVtb3RlSW5zcGVjdG9yRnJvbnRlbmQyLmNwcCcsCiAgICAgICBdLAogICAgICAgJ2Nv
bmRpdGlvbnMnOiBbCiAgICAgICAgIFsnamF2YXNjcmlwdF9lbmdpbmU9PSJ2OCInLCB7CmRpZmYg
LS1naXQgYS9XZWJDb3JlL1dlYkNvcmUuZ3lwL3NjcmlwdHMvcnVsZV9iaW5kaW5nLnB5IGIvV2Vi
Q29yZS9XZWJDb3JlLmd5cC9zY3JpcHRzL3J1bGVfYmluZGluZy5weQppbmRleCAyNGQxNzhmLi5m
N2YzZWQxIDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUuZ3lwL3NjcmlwdHMvcnVsZV9iaW5k
aW5nLnB5CisrKyBiL1dlYkNvcmUvV2ViQ29yZS5neXAvc2NyaXB0cy9ydWxlX2JpbmRpbmcucHkK
QEAgLTk1LDYgKzk1LDE0IEBAIGRlZiBtYWluKGFyZ3MpOgogICAgICAgICBpZiBub3QgaW5jbHVk
ZURpciBpbiBpbmNsdWRlRGlyczoKICAgICAgICAgICAgIGluY2x1ZGVEaXJzLmFwcGVuZChpbmNs
dWRlRGlyKQogCisgICAgaWYgJy0tcHJlZml4JyBpbiBvcHRpb25zOgorICAgICAgICBwcmVmaXhJ
bmRleCA9IG9wdGlvbnMuaW5kZXgoJy0tcHJlZml4JykKKyAgICBlbHNlOgorICAgICAgICBwcmVm
aXhJbmRleCA9IG9wdGlvbnMuaW5kZXgoJy0tZ2VuZXJhdG9yJykKKworICAgIGlmIHByZWZpeElu
ZGV4ICsgMSA8IGxlbihvcHRpb25zKToKKyAgICAgICAgcHJlZml4ID0gb3B0aW9uc1twcmVmaXhJ
bmRleCArIDFdCisKICAgICAjIFRoZSBkZWZpbmVzIGNvbWUgaW4gYXMgb25lIGZsYXQgc3RyaW5n
LiBTcGxpdCBpdCB1cCBpbnRvIGRpc3RpbmN0IGFyZ3VtZW50cy4KICAgICBpZiAnLS1kZWZpbmVz
JyBpbiBvcHRpb25zOgogICAgICAgICBkZWZpbmVzSW5kZXggPSBvcHRpb25zLmluZGV4KCctLWRl
ZmluZXMnKQpAQCAtMTIyLDcgKzEzMCw3IEBAIGRlZiBtYWluKGFyZ3MpOgogICAgIGlmIGNwcGRp
ciAhPSBoZGlyOgogICAgICAgICBpbnB1dEJhc2VuYW1lID0gb3MucGF0aC5iYXNlbmFtZShpbnB1
dCkKICAgICAgICAgKHJvb3QsIGV4dCkgPSBvcy5wYXRoLnNwbGl0ZXh0KGlucHV0QmFzZW5hbWUp
Ci0gICAgICAgIGhuYW1lID0gJ1Y4JXMuaCcgJSByb290CisgICAgICAgIGhuYW1lID0gJyVzJXMu
aCcgJSAocHJlZml4LCByb290KQogICAgICAgICBoc3JjID0gb3MucGF0aC5qb2luKGNwcGRpciwg
aG5hbWUpCiAgICAgICAgIGhkc3QgPSBvcy5wYXRoLmpvaW4oaGRpciwgaG5hbWUpCiAgICAgICAg
IHNodXRpbC5jb3B5ZmlsZShoc3JjLCBoZHN0KQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3Jl
Lmd5cGkgYi9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCBiZTZkMjlmLi4yMGRkODA1IDEwMDY0
NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpA
QCAtMjc3LDYgKzI3Nyw5IEBACiAgICAgICAgICAgICAneG1sL1hQYXRoUmVzdWx0LmlkbCcsCiAg
ICAgICAgICAgICAneG1sL1hTTFRQcm9jZXNzb3IuaWRsJywKICAgICAgICAgXSwKKyAgICAgICAg
J3dlYmNvcmVfaW5zcGVjdG9yX2lkbF9maWxlcyc6IFsKKyAgICAgICAgICAgICdpbnNwZWN0b3Iv
SW5zcGVjdG9yRnJvbnRlbmQyLmlkbCcsCisgICAgICAgIF0sCiAgICAgICAgICd3ZWJjb3JlX3N2
Z19iaW5kaW5nc19pZGxfZmlsZXMnOiBbCiAgICAgICAgICAgICAnc3ZnL0VsZW1lbnRUaW1lQ29u
dHJvbC5pZGwnLAogICAgICAgICAgICAgJ3N2Zy9TVkdBRWxlbWVudC5pZGwnLApkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9XZWJDb3JlLnByaSBiL1dlYkNvcmUvV2ViQ29yZS5wcmkKaW5kZXggNjIzZGJi
Ni4uNmNjN2FhMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnByaQorKysgYi9XZWJDb3Jl
L1dlYkNvcmUucHJpCkBAIC02NTIsNiArNjUyLDggQEAgSURMX0JJTkRJTkdTICs9IFwKICAgICB4
bWwvWFBhdGhFdmFsdWF0b3IuaWRsIFwKICAgICB4bWwvWFNMVFByb2Nlc3Nvci5pZGwKIAorSU5T
UEVDVE9SX0lOVEVSRkFDRVMgPSBpbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmQyLmlkbAorCiBj
b250YWlucyhERUZJTkVTLCBFTkFCTEVfTUFUSE1MPTEpIHsKICAgICBtYXRobWxuYW1lcy5vdXRw
dXQgPSAkJHtXQ19HRU5FUkFURURfU09VUkNFU19ESVJ9L01hdGhNTE5hbWVzLmNwcAogICAgIG1h
dGhtbG5hbWVzLmlucHV0ID0gTUFUSE1MX05BTUVTCkBAIC03MTcsNiArNzE5LDE4IEBAIGlkbC5k
ZXBlbmRzID0gJCRQV0QvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yLnBtIFwKICAgICAg
ICAgICAgICAgJCRQV0QvYmluZGluZ3Mvc2NyaXB0cy9JbkZpbGVzUGFyc2VyLnBtCiBhZGRFeHRy
YUNvbXBpbGVyKGlkbCkKIAorIyBHRU5FUkFUT1IgMjogaW5zcGVjdG9yIGlkbCBjb21waWxlcgor
aW5zcGVjdG9ySURMLm91dHB1dCA9ICQke1dDX0dFTkVSQVRFRF9TT1VSQ0VTX0RJUn0vUmVtb3Rl
JHtRTUFLRV9GSUxFX0JBU0V9LmNwcAoraW5zcGVjdG9ySURMLmlucHV0ID0gSU5TUEVDVE9SX0lO
VEVSRkFDRVMKK2luc3BlY3RvcklETC53a1NjcmlwdCA9ICQkUFdEL2JpbmRpbmdzL3NjcmlwdHMv
Z2VuZXJhdGUtYmluZGluZ3MucGwKK2luc3BlY3RvcklETC5jb21tYW5kcyA9IHBlcmwgLUkkJFBX
RC9iaW5kaW5ncy9zY3JpcHRzIC1JJCRQV0QvaW5zcGVjdG9yICQkaW5zcGVjdG9ySURMLndrU2Ny
aXB0IC0tZGVmaW5lcyBcIiQke0ZFQVRVUkVfREVGSU5FU19KQVZBU0NSSVBUfVwiIC0tZ2VuZXJh
dG9yIEluc3BlY3RvciAtLW91dHB1dERpciAkJFdDX0dFTkVSQVRFRF9TT1VSQ0VTX0RJUiAtLXBy
ZXByb2Nlc3NvciBcIiQke1FNQUtFX01PQ30gLUVcIiAke1FNQUtFX0ZJTEVfTkFNRX0KK2luc3Bl
Y3RvcklETC5kZXBlbmRzID0gJCRQV0QvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yLnBt
IFwKKyAgICAgICAgICAgICAgJCRQV0QvaW5zcGVjdG9yL0NvZGVHZW5lcmF0b3JJbnNwZWN0b3Iu
cG0gXAorICAgICAgICAgICAgICAkJFBXRC9iaW5kaW5ncy9zY3JpcHRzL0lETFBhcnNlci5wbSBc
CisgICAgICAgICAgICAgICQkUFdEL2JpbmRpbmdzL3NjcmlwdHMvSURMU3RydWN0dXJlLnBtIFwK
KyAgICAgICAgICAgICAgJCRQV0QvYmluZGluZ3Mvc2NyaXB0cy9JbkZpbGVzUGFyc2VyLnBtCith
ZGRFeHRyYUNvbXBpbGVyKGluc3BlY3RvcklETCkKKwogIyBHRU5FUkFUT1IgMzogdG9rZW5pemVy
IChmbGV4KQogdG9rZW5pemVyLm91dHB1dCA9ICQke1dDX0dFTkVSQVRFRF9TT1VSQ0VTX0RJUn0v
JHtRTUFLRV9GSUxFX0JBU0V9LmNwcAogdG9rZW5pemVyLmlucHV0ID0gVE9LRU5JWkVSCmRpZmYg
LS1naXQgYS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qIGIvV2ViQ29yZS9X
ZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagppbmRleCA1ZjYyZDJhLi44Y2ZhM2Q1IDEwMDY0
NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCisrKyBiL1dlYkNv
cmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKQEAgLTIwNzQ1LDYgKzIwNzQ1LDE0IEBA
CiAJCQkJPg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9IiQoV2Vi
S2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcUmVtb3RlSW5z
cGVjdG9yRnJvbnRlbmQyLmNwcCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJ
CQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVy
aXZlZFNvdXJjZXNcUmVtb3RlSW5zcGVjdG9yRnJvbnRlbmQyLmgiDQorCQkJCT4NCisJCQk8L0Zp
bGU+DQorCQkJPEZpbGUNCiAJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2Jq
XCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXFdNTEVsZW1lbnRGYWN0b3J5LmNwcCINCiAJ
CQkJPg0KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCmluZGV4IGU1ODE3ZWEuLmUxMmNkNWQgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xMDE5LDYgKzEwMTksNyBAQAogCQk0RjE1
MzRFMDExQjUzMzAyMDAyMUZEODYgLyogRWRpdGluZ0JlaGF2aW9yVHlwZXMuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDRGMTUzNERGMTFCNTMzMDIwMDIx
RkQ4NiAvKiBFZGl0aW5nQmVoYXZpb3JUeXBlcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCTRGMzI4OUI1MTFBNDJBQUIwMDVBQkU3RSAvKiBJbnNw
ZWN0b3JWYWx1ZXMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNEYzMjg5QjMxMUE0MkFBQjAwNUFCRTdFIC8qIEluc3BlY3RvclZhbHVlcy5jcHAgKi87
IH07CiAJCTRGMzI4OUI2MTFBNDJBQUIwMDVBQkU3RSAvKiBJbnNwZWN0b3JWYWx1ZXMuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDRGMzI4OUI0MTFBNDJB
QUIwMDVBQkU3RSAvKiBJbnNwZWN0b3JWYWx1ZXMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OworCQk0RjRGNUZGQjExQ0JEMkUxMDBBMTg2QkYgLyogUmVt
b3RlSW5zcGVjdG9yRnJvbnRlbmQyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDRGNEY1RkZBMTFDQkQyRDIwMEExODZCRiAvKiBSZW1vdGVJbnNwZWN0
b3JGcm9udGVuZDIuY3BwICovOyB9OwogCQk0RkQ4RDBGMjExOUM3MThCMDAyRkE4MjUgLyogU2Ny
aXB0R0NFdmVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA0RkQ4RDBGMDExOUM3MThCMDAyRkE4MjUgLyogU2NyaXB0R0NFdmVudC5jcHAgKi87IH07
CiAJCTRGRDhEMEYzMTE5QzcxOEIwMDJGQTgyNSAvKiBTY3JpcHRHQ0V2ZW50LmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0RkQ4RDBGMTExOUM3MThCMDAy
RkE4MjUgLyogU2NyaXB0R0NFdmVudC5oICovOyB9OwogCQk1MTAxODQ2OTBCMDg2MDJBMDA0QTgy
NUYgLyogQ2FjaGVkUGFnZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNTEwMTg0NjcwQjA4NjAyQTAwNEE4MjVGIC8qIENhY2hlZFBhZ2UuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtNjcxNiw2ICs2NzE3
LDggQEAKIAkJNEYxNTM0REYxMUI1MzMwMjAwMjFGRDg2IC8qIEVkaXRpbmdCZWhhdmlvclR5cGVz
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEVkaXRpbmdCZWhhdmlvclR5cGVz
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTRGMzI4OUIzMTFBNDJBQUIwMDVBQkU3
RSAvKiBJbnNwZWN0b3JWYWx1ZXMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gSW5zcGVjdG9yVmFsdWVzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
NEYzMjg5QjQxMUE0MkFBQjAwNUFCRTdFIC8qIEluc3BlY3RvclZhbHVlcy5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBJbnNwZWN0b3JWYWx1ZXMuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJNEY0RjVGRkExMUNCRDJEMjAwQTE4NkJGIC8qIFJlbW90ZUluc3BlY3Rv
ckZyb250ZW5kMi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZW1v
dGVJbnNwZWN0b3JGcm9udGVuZDIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0
RjRGNUZGQzExQ0JEMzAxMDBBMTg2QkYgLyogUmVtb3RlSW5zcGVjdG9yRnJvbnRlbmQyLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlbW90ZUluc3BlY3RvckZyb250ZW5kMi5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0RkQ4RDBGMDExOUM3MThCMDAyRkE4MjUg
LyogU2NyaXB0R0NFdmVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBTY3JpcHRHQ0V2ZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNEZEOEQw
RjExMTlDNzE4QjAwMkZBODI1IC8qIFNjcmlwdEdDRXZlbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gU2NyaXB0R0NFdmVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk1MTAxODQ2NzBCMDg2MDJBMDA0QTgyNUYgLyogQ2FjaGVkUGFnZS5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBDYWNoZWRQYWdlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CkBAIC0xMTMzMyw2ICsxMTMzNiw4IEBACiAJCQkJOUZBMzdFRjcxMTcyRkQ5MzAwQzRD
RDU1IC8qIEpTU2NyaXB0UHJvZmlsZS5oICovLAogCQkJCTlGQTM3RUY4MTE3MkZEOTMwMEM0Q0Q1
NSAvKiBKU1NjcmlwdFByb2ZpbGVOb2RlLmNwcCAqLywKIAkJCQk5RkEzN0VGOTExNzJGRDkzMDBD
NENENTUgLyogSlNTY3JpcHRQcm9maWxlTm9kZS5oICovLAorCQkJCTRGNEY1RkZBMTFDQkQyRDIw
MEExODZCRiAvKiBSZW1vdGVJbnNwZWN0b3JGcm9udGVuZDIuY3BwICovLAorCQkJCTRGNEY1RkZD
MTFDQkQzMDEwMEExODZCRiAvKiBSZW1vdGVJbnNwZWN0b3JGcm9udGVuZDIuaCAqLywKIAkJCSk7
CiAJCQluYW1lID0gSW5zcGVjdG9yOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKQEAgLTIy
MDQwLDYgKzIyMDQ1LDcgQEAKIAkJCQlFMUJFNTEyRDBDRjZDNTEyMDAyRUE5NTkgLyogWFNMVFVu
aWNvZGVTb3J0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTk3REQ0RDg2MEZERjRENkUwMEVDRjlB
NCAvKiBYU1NBdWRpdG9yLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUI4ODVFOEQ0MTFFMDZERDIw
MDlGRkJGNCAvKiBJbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQuY3BwIGluIFNvdXJjZXMg
Ki8sCisJCQkJNEY0RjVGRkIxMUNCRDJFMTAwQTE4NkJGIC8qIFJlbW90ZUluc3BlY3RvckZyb250
ZW5kMi5jcHAgaW4gU291cmNlcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBv
c3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy9Db2RlR2VuZXJhdG9yLnBtIGIvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5l
cmF0b3IucG0KaW5kZXggZmJjZWUwMi4uOTE0Y2M0NiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3IucG0KKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL0NvZGVHZW5lcmF0b3IucG0KQEAgLTgzLDYgKzgzLDcgQEAgc3ViIG5ldwogICAgICR1c2VM
YXllck9uVG9wID0gc2hpZnQ7CiAgICAgJHByZXByb2Nlc3NvciA9IHNoaWZ0OwogICAgICR3cml0
ZURlcGVuZGVuY2llcyA9IHNoaWZ0OworICAgICR2ZXJib3NlID0gc2hpZnQ7CiAKICAgICBibGVz
cygkcmVmZXJlbmNlLCAkb2JqZWN0KTsKICAgICByZXR1cm4gJHJlZmVyZW5jZTsKQEAgLTEwMywx
MCArMTA0LDEwIEBAIHN1YiBQcm9jZXNzRG9jdW1lbnQKICAgICAkZGVmaW5lcyA9IHNoaWZ0Owog
CiAgICAgbXkgJGlmYWNlTmFtZSA9ICJDb2RlR2VuZXJhdG9yIiAuICR1c2VHZW5lcmF0b3I7Cisg
ICAgcmVxdWlyZSAkaWZhY2VOYW1lIC4gIi5wbSI7CiAKICAgICAjIER5bmFtaWNhbGx5IGxvYWQg
ZXh0ZXJuYWwgY29kZSBnZW5lcmF0aW9uIHBlcmwgbW9kdWxlCi0gICAgcmVxdWlyZSAkaWZhY2VO
YW1lIC4gIi5wbSI7Ci0gICAgJGNvZGVHZW5lcmF0b3IgPSAkaWZhY2VOYW1lLT5uZXcoJG9iamVj
dCwgJHVzZU91dHB1dERpciwgJHVzZUxheWVyT25Ub3AsICRwcmVwcm9jZXNzb3IsICR3cml0ZURl
cGVuZGVuY2llcyk7CisgICAgJGNvZGVHZW5lcmF0b3IgPSAkaWZhY2VOYW1lLT5uZXcoJG9iamVj
dCwgJHVzZU91dHB1dERpciwgJHVzZUxheWVyT25Ub3AsICRwcmVwcm9jZXNzb3IsICR3cml0ZURl
cGVuZGVuY2llcywgJHZlcmJvc2UpOwogICAgIHVubGVzcyAoZGVmaW5lZCgkY29kZUdlbmVyYXRv
cikpIHsKICAgICAgICAgbXkgJGNsYXNzZXMgPSAkdXNlRG9jdW1lbnQtPmNsYXNzZXM7CiAgICAg
ICAgIGZvcmVhY2ggbXkgJGNsYXNzIChAJGNsYXNzZXMpIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy9JRExQYXJzZXIucG0gYi9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
SURMUGFyc2VyLnBtCmluZGV4IDNkZjk2YWIuLmUyNTBhNGQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy9JRExQYXJzZXIucG0KKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL0lETFBhcnNlci5wbQpAQCAtMjU5LDcgKzI1OSw3IEBAIHN1YiBQYXJzZUludGVyZmFjZQog
ICAgICAgICBteSBAaW50ZXJmYWNlTWV0aG9kcyA9IHNwbGl0KC87LywgJGludGVyZmFjZURhdGEp
OwogCiAgICAgICAgIGZvcmVhY2ggbXkgJGxpbmUgKEBpbnRlcmZhY2VNZXRob2RzKSB7Ci0gICAg
ICAgICAgICBpZiAoJGxpbmUgPX4gL2F0dHJpYnV0ZS8pIHsKKyAgICAgICAgICAgIGlmICgkbGlu
ZSA9fiAvXFdhdHRyaWJ1dGVcVy8pIHsKICAgICAgICAgICAgICAgICAkbGluZSA9fiAvJElETFN0
cnVjdHVyZTo6aW50ZXJmYWNlQXR0cmlidXRlU2VsZWN0b3IvOwogCiAgICAgICAgICAgICAgICAg
bXkgJGF0dHJpYnV0ZVR5cGUgPSAoZGVmaW5lZCgkMSkgPyAkMSA6IGRpZSgiUGFyc2luZyBlcnJv
ciFcblNvdXJjZTpcbiRsaW5lXG4pIikpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL2dlbmVyYXRlLWJpbmRpbmdzLnBsIGIvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL2dl
bmVyYXRlLWJpbmRpbmdzLnBsCmluZGV4IDQ0ZWQ0ZDMuLmIyOTNiM2MgMTAwNzU1Ci0tLSBhL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9nZW5lcmF0ZS1iaW5kaW5ncy5wbAorKysgYi9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvZ2VuZXJhdGUtYmluZGluZ3MucGwKQEAgLTQxLDMwICs0MSwzNiBA
QCBteSBAaWRsRGlyZWN0b3JpZXM7CiBteSAkb3V0cHV0RGlyZWN0b3J5OwogbXkgJGdlbmVyYXRv
cjsKIG15ICRkZWZpbmVzOworbXkgJHByZWZpeDsKIG15ICRwcmVwcm9jZXNzb3I7CiBteSAkd3Jp
dGVEZXBlbmRlbmNpZXM7CitteSAkdmVyYm9zZTsKIAogR2V0T3B0aW9ucygnaW5jbHVkZT1zQCcg
PT4gXEBpZGxEaXJlY3RvcmllcywKICAgICAgICAgICAgJ291dHB1dERpcj1zJyA9PiBcJG91dHB1
dERpcmVjdG9yeSwKICAgICAgICAgICAgJ2dlbmVyYXRvcj1zJyA9PiBcJGdlbmVyYXRvciwKICAg
ICAgICAgICAgJ2RlZmluZXM9cycgPT4gXCRkZWZpbmVzLAorICAgICAgICAgICAncHJlZml4PXMn
ID0+IFwkcHJlZml4LAogICAgICAgICAgICAncHJlcHJvY2Vzc29yPXMnID0+IFwkcHJlcHJvY2Vz
c29yLAorICAgICAgICAgICAndmVyYm9zZScgPT4gXCR2ZXJib3NlLAogICAgICAgICAgICAnd3Jp
dGUtZGVwZW5kZW5jaWVzJyA9PiBcJHdyaXRlRGVwZW5kZW5jaWVzKTsKIAogbXkgJGlkbEZpbGUg
PSAkQVJHVlswXTsKIAogZGllKCdNdXN0IHNwZWNpZnkgaW5wdXQgZmlsZS4nKSB1bmxlc3MgZGVm
aW5lZCgkaWRsRmlsZSk7Ci1kaWUoJ011c3Qgc3BlY2lmeSBJREwgc2VhcmNoIHBhdGguJykgdW5s
ZXNzIEBpZGxEaXJlY3RvcmllczsKIGRpZSgnTXVzdCBzcGVjaWZ5IGdlbmVyYXRvcicpIHVubGVz
cyBkZWZpbmVkKCRnZW5lcmF0b3IpOwogZGllKCdNdXN0IHNwZWNpZnkgb3V0cHV0IGRpcmVjdG9y
eS4nKSB1bmxlc3MgZGVmaW5lZCgkb3V0cHV0RGlyZWN0b3J5KTsKIGRpZSgnTXVzdCBzcGVjaWZ5
IGRlZmluZXMnKSB1bmxlc3MgZGVmaW5lZCgkZGVmaW5lcyk7CiAKK2lmICgkdmVyYm9zZSkgewor
ICAgIHByaW50ICIkZ2VuZXJhdG9yOiAkaWRsRmlsZVxuIjsKK30KICRkZWZpbmVzID1+IHMvXlxz
K3xccyskLy9nOyAjIHRyaW0gd2hpdGVzcGFjZQogCiAjIFBhcnNlIHRoZSBnaXZlbiBJREwgZmls
ZS4KLW15ICRwYXJzZXIgPSBJRExQYXJzZXItPm5ldygxKTsKK215ICRwYXJzZXIgPSBJRExQYXJz
ZXItPm5ldyghJHZlcmJvc2UpOwogbXkgJGRvY3VtZW50ID0gJHBhcnNlci0+UGFyc2UoJGlkbEZp
bGUsICRkZWZpbmVzLCAkcHJlcHJvY2Vzc29yKTsKIAogIyBHZW5lcmF0ZSBkZXNpcmVkIG91dHB1
dCBmb3IgZ2l2ZW4gSURMIGZpbGUuCi1teSAkY29kZUdlbiA9IENvZGVHZW5lcmF0b3ItPm5ldyhc
QGlkbERpcmVjdG9yaWVzLCAkZ2VuZXJhdG9yLCAkb3V0cHV0RGlyZWN0b3J5LCAwLCAkcHJlcHJv
Y2Vzc29yLCAkd3JpdGVEZXBlbmRlbmNpZXMpOworbXkgJGNvZGVHZW4gPSBDb2RlR2VuZXJhdG9y
LT5uZXcoXEBpZGxEaXJlY3RvcmllcywgJGdlbmVyYXRvciwgJG91dHB1dERpcmVjdG9yeSwgMCwg
JHByZXByb2Nlc3NvciwgJHdyaXRlRGVwZW5kZW5jaWVzLCAkdmVyYm9zZSk7CiAkY29kZUdlbi0+
UHJvY2Vzc0RvY3VtZW50KCRkb2N1bWVudCwgJGRlZmluZXMpOwpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9pbnNwZWN0b3IvQ29kZUdlbmVyYXRvckluc3BlY3Rvci5wbSBiL1dlYkNvcmUvaW5zcGVjdG9y
L0NvZGVHZW5lcmF0b3JJbnNwZWN0b3IucG0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMC4uNzVjZGE1OQotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL0NvZGVH
ZW5lcmF0b3JJbnNwZWN0b3IucG0KQEAgLTAsMCArMSwyOTEgQEAKKyMgQ29weXJpZ2h0IChjKSAy
MDEwIFRoZSBDaHJvbWl1bSBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorIyBVc2Ugb2Yg
dGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlIHRoYXQg
Y2FuIGJlCisjIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKK3BhY2thZ2UgQ29kZUdlbmVy
YXRvckluc3BlY3RvcjsKKwordXNlIHN0cmljdDsKKwordXNlIEZpbGU6OnN0YXQ7CisKK215ICV0
eXBlVHJhbnNmb3JtOworJHR5cGVUcmFuc2Zvcm17Ikluc3BlY3RvckNsaWVudCJ9ID0geworICAg
ICJmb3J3YXJkIiA9PiAiSW5zcGVjdG9yQ2xpZW50IiwKKyAgICAiaGVhZGVyIiA9PiAiSW5zcGVj
dG9yQ2xpZW50LmgiLAorfTsKKyR0eXBlVHJhbnNmb3JteyJSZWZQdHIifSA9IHsKKyAgICAiZm9y
d2FyZEhlYWRlciIgPT4gInd0Zi9SZWZQdHIuaCIsCit9OworJHR5cGVUcmFuc2Zvcm17Ik9iamVj
dCJ9ID0geworICAgICJwYXJhbSIgPT4gImNvbnN0IFJlZlB0cjxJbnNwZWN0b3JPYmplY3Q+JiIs
CisgICAgInJldFZhbCIgPT4gIlBhc3NSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiIsCisgICAgImZv
cndhcmQiID0+ICJJbnNwZWN0b3JPYmplY3QiLAorICAgICJoZWFkZXIiID0+ICJJbnNwZWN0b3JW
YWx1ZXMuaCIsCisgICAgInB1c2giID0+ICJwdXNoIgorfTsKKyR0eXBlVHJhbnNmb3JteyJBcnJh
eSJ9ID0geworICAgICJwYXJhbSIgPT4gImNvbnN0IFJlZlB0cjxJbnNwZWN0b3JBcnJheT4mIiwK
KyAgICAicmV0VmFsIiA9PiAiUGFzc1JlZlB0cjxJbnNwZWN0b3JBcnJheT4iLAorICAgICJmb3J3
YXJkIiA9PiAiSW5zcGVjdG9yQXJyYXkiLAorICAgICJoZWFkZXIiID0+ICJJbnNwZWN0b3JWYWx1
ZXMuaCIsCisgICAgInB1c2giID0+ICJwdXNoIgorfTsKKyR0eXBlVHJhbnNmb3JteyJWYWx1ZSJ9
ID0geworICAgICJwYXJhbSIgPT4gImNvbnN0IFJlZlB0cjxJbnNwZWN0b3JWYWx1ZT4mIiwKKyAg
ICAicmV0VmFsIiA9PiAiUGFzc1JlZlB0cjxJbnNwZWN0b3JWYWx1ZT4iLAorICAgICJmb3J3YXJk
IiA9PiAiSW5zcGVjdG9yVmFsdWUiLAorICAgICJoZWFkZXIiID0+ICJJbnNwZWN0b3JWYWx1ZXMu
aCIsCisgICAgInB1c2giID0+ICJwdXNoIgorfTsKKyR0eXBlVHJhbnNmb3JteyJTdHJpbmcifSA9
IHsKKyAgICAicGFyYW0iID0+ICJjb25zdCBTdHJpbmcmIiwKKyAgICAicmV0VmFsIiA9PiAiU3Ry
aW5nIiwKKyAgICAiZm9yd2FyZCIgPT4gIlN0cmluZyIsCisgICAgImhlYWRlciIgPT4gIlBsYXRm
b3JtU3RyaW5nLmgiLAorICAgICJwdXNoIiA9PiAicHVzaFN0cmluZyIKK307CiskdHlwZVRyYW5z
Zm9ybXsibG9uZyJ9ID0geworICAgICJwYXJhbSIgPT4gImxvbmciLAorICAgICJyZXRWYWwiID0+
ICJsb25nIiwKKyAgICAiZm9yd2FyZCIgPT4gIiIsCisgICAgImhlYWRlciIgPT4gIiIsCisgICAg
InB1c2giID0+ICJwdXNoTnVtYmVyIgorfTsKKyR0eXBlVHJhbnNmb3JteyJ1bnNpZ25lZCBsb25n
In0gPSB7CisgICAgInBhcmFtIiA9PiAidW5zaWduZWQgbG9uZyIsCisgICAgInJldFZhbCIgPT4g
InVuc2lnbmVkIGxvbmciLAorICAgICJmb3J3YXJkIiA9PiAiIiwKKyAgICAiaGVhZGVyIiA9PiAi
IiwKKyAgICAicHVzaCIgPT4gInB1c2hOdW1iZXIiCit9OworJHR5cGVUcmFuc2Zvcm17ImJvb2xl
YW4ifSA9IHsKKyAgICAicGFyYW0iID0+ICJib29sIiwKKyAgICAicmV0VmFsIj0+ICJib29sIiwK
KyAgICAiZm9yd2FyZCIgPT4gIiIsCisgICAgImhlYWRlciIgPT4gIiIsCisgICAgInB1c2giID0+
ICJwdXNoQm9vbCIKK307CiskdHlwZVRyYW5zZm9ybXsidm9pZCJ9ID0geworICAgICJyZXRWYWwi
ID0+ICJ2b2lkIiwKKyAgICAiZm9yd2FyZCIgPT4gIiIsCisgICAgImhlYWRlciIgPT4gIiIKK307
CisKKyMgRGVmYXVsdCBMaWNlbnNlIFRlbXBsYXRlcworCitteSAkbGljZW5zZVRlbXBsYXRlID0g
PDwgIkVPRiI7CisvLyBDb3B5cmlnaHQgKGMpIDIwMTAgVGhlIENocm9taXVtIEF1dGhvcnMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisvLyBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5l
ZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCisvLyBmb3VuZCBpbiB0aGUgTElD
RU5TRSBmaWxlLgorRU9GCisKK215ICRjb2RlR2VuZXJhdG9yOworbXkgJG91dHB1dERpcjsKK215
ICR3cml0ZURlcGVuZGVuY2llczsKK215ICR2ZXJib3NlOworCitteSAkbmFtZXNwYWNlOworbXkg
JGZpbGVOYW1lOworbXkgJWRpc2NvdmVyZWRUeXBlczsKKworbXkgQGNsYXNzRGVmaW5pdGlvbjsK
K215IEBmdW5jdGlvbkRlZmluaXRpb25zOworCitzdWIgdHlwZVNwZWMKK3sKKyAgICBteSAkcGFy
YW0gPSBzaGlmdDsKKyAgICBteSAkcmV0VmFsdWUgPSBzaGlmdDsKKworICAgIG15ICR0eXBlID0g
JHR5cGVUcmFuc2Zvcm17JHBhcmFtLT50eXBlfS0+eyRyZXRWYWx1ZSA/ICJyZXRWYWwiIDogInBh
cmFtIn07CisgICAgJGRpc2NvdmVyZWRUeXBlc3skcGFyYW0tPnR5cGV9ID0gMTsKKyAgICAkdHlw
ZSBvciBkaWUgImludmFsaWQgdHlwZSBzcGVjaWZpY2F0aW9uIFwiIiAuICRwYXJhbS0+dHlwZSAu
IlwiIjsKKyAgICByZXR1cm4gJHR5cGU7Cit9CisKKyMgRGVmYXVsdCBjb25zdHJ1Y3Rvcgorc3Vi
IG5ldworeworICAgIG15ICRvYmplY3QgPSBzaGlmdDsKKyAgICBteSAkcmVmZXJlbmNlID0geyB9
OworCisgICAgJGNvZGVHZW5lcmF0b3IgPSBzaGlmdDsKKyAgICAkb3V0cHV0RGlyID0gc2hpZnQ7
CisgICAgc2hpZnQ7ICMgJHVzZUxheWVyT25Ub3AKKyAgICBzaGlmdDsgIyAkcHJlcHJvY2Vzc29y
CisgICAgJHdyaXRlRGVwZW5kZW5jaWVzID0gc2hpZnQ7CisgICAgJHZlcmJvc2UgPSBzaGlmdDsK
KworICAgIGJsZXNzKCRyZWZlcmVuY2UsICRvYmplY3QpOworICAgIHJldHVybiAkcmVmZXJlbmNl
OworfQorCisjIFBhcmFtczogJ2lkbERvY3VtZW50JyBzdHJ1Y3QKK3N1YiBHZW5lcmF0ZU1vZHVs
ZQoreworICAgIG15ICRvYmplY3QgPSBzaGlmdDsKKyAgICBteSAkZGF0YU5vZGUgPSBzaGlmdDsK
KworICAgICRuYW1lc3BhY2UgPSAkZGF0YU5vZGUtPm1vZHVsZTsKK30KKworIyBQYXJhbXM6ICdp
ZGxEb2N1bWVudCcgc3RydWN0CitzdWIgR2VuZXJhdGVJbnRlcmZhY2UKK3sKKyAgICBteSAkb2Jq
ZWN0ID0gc2hpZnQ7CisgICAgbXkgJGludGVyZmFjZSA9IHNoaWZ0OworICAgIG15ICRkZWZpbmVz
ID0gc2hpZnQ7CisKKyAgICBteSAkY2xhc3NOYW1lID0gJGludGVyZmFjZS0+bmFtZTsKKyAgICAk
ZmlsZU5hbWUgPSAkY2xhc3NOYW1lOworCisgICAgJGRpc2NvdmVyZWRUeXBlc3siU3RyaW5nIn0g
PSAxOworICAgICRkaXNjb3ZlcmVkVHlwZXN7Ikluc3BlY3RvckNsaWVudCJ9ID0gMTsKKyAgICAk
ZGlzY292ZXJlZFR5cGVzeyJSZWZQdHIifSA9IDE7CisKKyAgICBwdXNoKEBjbGFzc0RlZmluaXRp
b24sICJjbGFzcyAkY2xhc3NOYW1lIHsiKTsKKyAgICBwdXNoKEBjbGFzc0RlZmluaXRpb24sICJw
dWJsaWM6Iik7CisgICAgcHVzaChAY2xhc3NEZWZpbml0aW9uLCAiICAgICRjbGFzc05hbWUoSW5z
cGVjdG9yQ2xpZW50KiBpbnNwZWN0b3JDbGllbnQpIDogbV9pbnNwZWN0b3JDbGllbnQoaW5zcGVj
dG9yQ2xpZW50KSB7IH0iKTsKKyAgICBwdXNoKEBjbGFzc0RlZmluaXRpb24sICIiKTsKKyAgICBw
dXNoKEBjbGFzc0RlZmluaXRpb24sIGdlbmVyYXRlRnVuY3Rpb25zRGVjbGFyYXRpb25zKCRpbnRl
cmZhY2UsICRjbGFzc05hbWUpKTsKKyAgICBwdXNoKEBjbGFzc0RlZmluaXRpb24sICIiKTsKKyAg
ICBwdXNoKEBjbGFzc0RlZmluaXRpb24sICJwcml2YXRlOiIpOworICAgIHB1c2goQGNsYXNzRGVm
aW5pdGlvbiwgIiAgICB2b2lkIHNlbmRTaW1wbGVNZXNzYWdlVG9Gcm9udGVuZChjb25zdCBTdHJp
bmcmKTsiKTsKKyAgICBwdXNoKEBjbGFzc0RlZmluaXRpb24sICIgICAgSW5zcGVjdG9yQ2xpZW50
KiBtX2luc3BlY3RvckNsaWVudDsiKTsKKyAgICBwdXNoKEBjbGFzc0RlZmluaXRpb24sICJ9OyIp
OworCisgICAgcHVzaChAZnVuY3Rpb25EZWZpbml0aW9ucywgInZvaWQgJHtjbGFzc05hbWV9Ojpz
ZW5kU2ltcGxlTWVzc2FnZVRvRnJvbnRlbmQoY29uc3QgU3RyaW5nJiBmdW5jdGlvbk5hbWUpIik7
CisgICAgcHVzaChAZnVuY3Rpb25EZWZpbml0aW9ucywgInsiKTsKKyAgICBwdXNoKEBmdW5jdGlv
bkRlZmluaXRpb25zLCAiICAgIFJlZlB0cjxJbnNwZWN0b3JBcnJheT4gYXJndW1lbnRzID0gSW5z
cGVjdG9yQXJyYXk6OmNyZWF0ZSgpOyIpOworICAgIHB1c2goQGZ1bmN0aW9uRGVmaW5pdGlvbnMs
ICIgICAgYXJndW1lbnRzLT5wdXNoU3RyaW5nKGZ1bmN0aW9uTmFtZSk7Iik7CisgICAgcHVzaChA
ZnVuY3Rpb25EZWZpbml0aW9ucywgIiAgICBtX2luc3BlY3RvckNsaWVudC0+c2VuZE1lc3NhZ2VU
b0Zyb250ZW5kKGFyZ3VtZW50cy0+dG9KU09OU3RyaW5nKCkpOyIpOworICAgIHB1c2goQGZ1bmN0
aW9uRGVmaW5pdGlvbnMsICJ9Iik7Cit9CisKK3N1YiBnZW5lcmF0ZUZ1bmN0aW9uc0RlY2xhcmF0
aW9ucworeworICAgIG15ICRpbnRlcmZhY2UgPSBzaGlmdDsKKyAgICBteSAkY2xhc3NOYW1lID0g
c2hpZnQ7CisKKyAgICBteSBAZnVuY3Rpb25EZWNsYXJhdGlvbnM7CisgICAgZm9yZWFjaCBteSAk
ZnVuY3Rpb24gKEB7JGludGVyZmFjZS0+ZnVuY3Rpb25zfSkgeworICAgICAgICBteSAkZnVuY3Rp
b25OYW1lID0gJGZ1bmN0aW9uLT5zaWduYXR1cmUtPm5hbWU7CisgICAgICAgIG15ICRhYnN0cmFj
dCA9ICRmdW5jdGlvbi0+c2lnbmF0dXJlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiYWJzdHJhY3Qi
fTsKKyAgICAgICAgbXkgJGFyZ3VtZW50cyA9ICIiOworICAgICAgICBmb3JlYWNoIG15ICRwYXJh
bWV0ZXIgKEB7JGZ1bmN0aW9uLT5wYXJhbWV0ZXJzfSkgeworICAgICAgICAgICAgJHBhcmFtZXRl
ci0+bmFtZSBvciBkaWUgImVtcHR5IGFyZ3VtZW50IG5hbWUgc3BlY2lmaWVkIGZvciBmdW5jdGlv
biAke2NsYXNzTmFtZX06OiRmdW5jdGlvbk5hbWUgYW5kIGFyZ3VtZW50IHR5cGUgIiAuICRwYXJh
bWV0ZXItPnR5cGU7CisgICAgICAgICAgICAkYXJndW1lbnRzID0gJGFyZ3VtZW50cyAuICIsICIg
aWYgKCRhcmd1bWVudHMpOworICAgICAgICAgICAgJGFyZ3VtZW50cyA9ICRhcmd1bWVudHMgLiB0
eXBlU3BlYygkcGFyYW1ldGVyKSAuICIgIiAuICRwYXJhbWV0ZXItPm5hbWU7CisgICAgICAgIH0K
KyAgICAgICAgbXkgJHNpZ25hdHVyZSA9ICIgICAgIiAuIHR5cGVTcGVjKCRmdW5jdGlvbi0+c2ln
bmF0dXJlLCAxKSAuICIgJGZ1bmN0aW9uTmFtZSgkYXJndW1lbnRzKSI7CisgICAgICAgIHB1c2go
QGZ1bmN0aW9uRGVjbGFyYXRpb25zLCAkYWJzdHJhY3QgPyAiJHNpZ25hdHVyZSA9IDA7IiA6ICIk
c2lnbmF0dXJlOyIpOworICAgICAgICBwdXNoKEBmdW5jdGlvbkRlZmluaXRpb25zLCBnZW5lcmF0
ZUZ1bmN0aW9uc0ltcGwoJGNsYXNzTmFtZSwgJGZ1bmN0aW9uLCAkYXJndW1lbnRzKSkgaWYgISRh
YnN0cmFjdDsKKyAgICB9CisgICAgcmV0dXJuIEBmdW5jdGlvbkRlY2xhcmF0aW9uczsKK30KKwor
c3ViIGdlbmVyYXRlSGVhZGVyCit7CisgICAgbXkgQGhlYWRlckNvbnRlbnQgPSBzcGxpdCgiXHIi
LCAkbGljZW5zZVRlbXBsYXRlKTsKKyAgICBwdXNoKEBoZWFkZXJDb250ZW50LCAiI2lmbmRlZiAk
e2ZpbGVOYW1lfV9oIik7CisgICAgcHVzaChAaGVhZGVyQ29udGVudCwgIiNkZWZpbmUgJHtmaWxl
TmFtZX1faCIpOworICAgIHB1c2goQGhlYWRlckNvbnRlbnQsICIiKTsKKworICAgIG15IEBmb3J3
YXJkSGVhZGVyczsKKyAgICBmb3JlYWNoIG15ICR0eXBlIChrZXlzICVkaXNjb3ZlcmVkVHlwZXMp
IHsKKyAgICAgICAgcHVzaChAZm9yd2FyZEhlYWRlcnMsICIjaW5jbHVkZSA8IiAuICR0eXBlVHJh
bnNmb3JteyR0eXBlfS0+eyJmb3J3YXJkSGVhZGVyIn0gLiAiPiIpIGlmICEkdHlwZVRyYW5zZm9y
bXskdHlwZX0tPnsiZm9yd2FyZEhlYWRlciJ9IGVxICAiIjsKKyAgICB9CisgICAgcHVzaChAaGVh
ZGVyQ29udGVudCwgc29ydCBAZm9yd2FyZEhlYWRlcnMpOworICAgIHB1c2goQGhlYWRlckNvbnRl
bnQsICIiKTsKKyAgICBwdXNoKEBoZWFkZXJDb250ZW50LCAibmFtZXNwYWNlICRuYW1lc3BhY2Ug
eyIpOworICAgIHB1c2goQGhlYWRlckNvbnRlbnQsICIiKTsKKworICAgIG15IEBmb3J3YXJkRGVj
bGFyYXRpb25zOworICAgIGZvcmVhY2ggbXkgJHR5cGUgKGtleXMgJWRpc2NvdmVyZWRUeXBlcykg
eworICAgICAgICBwdXNoKEBmb3J3YXJkRGVjbGFyYXRpb25zLCAiY2xhc3MgIiAuICR0eXBlVHJh
bnNmb3JteyR0eXBlfS0+eyJmb3J3YXJkIn0gLiAiOyIpIGlmICEkdHlwZVRyYW5zZm9ybXskdHlw
ZX0tPnsiZm9yd2FyZCJ9IGVxICAiIjsKKyAgICB9CisgICAgcHVzaChAaGVhZGVyQ29udGVudCwg
c29ydCBAZm9yd2FyZERlY2xhcmF0aW9ucyk7CisKKyAgICBwdXNoKEBoZWFkZXJDb250ZW50LCAi
Iik7CisgICAgcHVzaChAaGVhZGVyQ29udGVudCwgQGNsYXNzRGVmaW5pdGlvbik7CisgICAgcHVz
aChAaGVhZGVyQ29udGVudCwgIiIpOworICAgIHB1c2goQGhlYWRlckNvbnRlbnQsICJ9IC8vIG5h
bWVzcGFjZSAkbmFtZXNwYWNlIik7CisgICAgcHVzaChAaGVhZGVyQ29udGVudCwgIiIpOworICAg
IHB1c2goQGhlYWRlckNvbnRlbnQsICIjZW5kaWYgLy8gIWRlZmluZWQoJHtmaWxlTmFtZX1faCki
KTsKKyAgICBwdXNoKEBoZWFkZXJDb250ZW50LCAiIik7CisgICAgcmV0dXJuIEBoZWFkZXJDb250
ZW50OworfQorCitzdWIgZ2VuZXJhdGVTb3VyY2UKK3sKKyAgICBteSBAc291cmNlQ29udGVudCA9
IHNwbGl0KCJcciIsICRsaWNlbnNlVGVtcGxhdGUpOworICAgIHB1c2goQHNvdXJjZUNvbnRlbnQs
ICJcbiNpbmNsdWRlIFwiY29uZmlnLmhcIiIpOworICAgIHB1c2goQHNvdXJjZUNvbnRlbnQsICIj
aW5jbHVkZSBcIlJlbW90ZSRmaWxlTmFtZS5oXCIiKTsKKyAgICBwdXNoKEBzb3VyY2VDb250ZW50
LCAiIik7CisgICAgcHVzaChAc291cmNlQ29udGVudCwgIiNpZiBFTkFCTEUoSU5TUEVDVE9SKSIp
OworICAgIHB1c2goQHNvdXJjZUNvbnRlbnQsICIiKTsKKworICAgIG15ICVoZWFkZXJzOworICAg
IGZvcmVhY2ggbXkgJHR5cGUgKGtleXMgJWRpc2NvdmVyZWRUeXBlcykgeworICAgICAgICAkaGVh
ZGVyc3siI2luY2x1ZGUgXCIiIC4gJHR5cGVUcmFuc2Zvcm17JHR5cGV9LT57ImhlYWRlciJ9IC4g
IlwiIn0gPSAxIGlmICEkdHlwZVRyYW5zZm9ybXskdHlwZX0tPnsiaGVhZGVyIn0gZXEgICIiOwor
ICAgIH0KKyAgICBwdXNoKEBzb3VyY2VDb250ZW50LCBzb3J0IGtleXMgJWhlYWRlcnMpOworICAg
IHB1c2goQHNvdXJjZUNvbnRlbnQsICIiKTsKKyAgICBwdXNoKEBzb3VyY2VDb250ZW50LCAibmFt
ZXNwYWNlICRuYW1lc3BhY2UgeyIpOworICAgIHB1c2goQHNvdXJjZUNvbnRlbnQsICIiKTsKKyAg
ICBwdXNoKEBzb3VyY2VDb250ZW50LCBAZnVuY3Rpb25EZWZpbml0aW9ucyk7CisgICAgcHVzaChA
c291cmNlQ29udGVudCwgIiIpOworICAgIHB1c2goQHNvdXJjZUNvbnRlbnQsICJ9IC8vIG5hbWVz
cGFjZSAkbmFtZXNwYWNlIik7CisgICAgcHVzaChAc291cmNlQ29udGVudCwgIiIpOworICAgIHB1
c2goQHNvdXJjZUNvbnRlbnQsICIjZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikiKTsKKyAgICBw
dXNoKEBzb3VyY2VDb250ZW50LCAiIik7CisgICAgcmV0dXJuIEBzb3VyY2VDb250ZW50OworfQor
CitzdWIgZ2VuZXJhdGVGdW5jdGlvbnNJbXBsCit7CisgICAgbXkgJGNsYXNzTmFtZSA9IHNoaWZ0
OworICAgIG15ICRmdW5jdGlvbiA9IHNoaWZ0OworICAgIG15ICRhcmd1bWVudHMgPSBzaGlmdDsK
KworICAgIG15IEBmdW5jOworCisgICAgbXkgJGZ1bmN0aW9uTmFtZSA9ICRmdW5jdGlvbi0+c2ln
bmF0dXJlLT5uYW1lOworCisgICAgcHVzaChAZnVuYywgdHlwZVNwZWMoJGZ1bmN0aW9uLT5zaWdu
YXR1cmUsIDEpIC4gIiAiIC4gJGNsYXNzTmFtZSAuICI6OiIgLiAkZnVuY3Rpb25OYW1lIC4gIigi
IC4gJGFyZ3VtZW50cyAuICIpIik7CisgICAgcHVzaChAZnVuYywgInsiKTsKKworICAgIG15ICRu
dW1QYXJhbWV0ZXJzID0gQHskZnVuY3Rpb24tPnBhcmFtZXRlcnN9OworICAgIGlmICgkbnVtUGFy
YW1ldGVycyA+IDApIHsKKyAgICAgICAgcHVzaChAZnVuYywgIiAgICBSZWZQdHI8SW5zcGVjdG9y
QXJyYXk+IGFyZ3VtZW50cyA9IEluc3BlY3RvckFycmF5OjpjcmVhdGUoKTsiKTsKKyAgICAgICAg
cHVzaChAZnVuYywgIiAgICBhcmd1bWVudHMtPnB1c2hTdHJpbmcoXCIkZnVuY3Rpb25OYW1lXCIp
OyIpOworICAgICAgICBmb3JlYWNoIG15ICRwYXJhbWV0ZXIgKEB7JGZ1bmN0aW9uLT5wYXJhbWV0
ZXJzfSkgeworICAgICAgICAgICAgbXkgJHB1c2hDYWxsID0gICR0eXBlVHJhbnNmb3JteyRwYXJh
bWV0ZXItPnR5cGV9LT57InB1c2gifTsKKyAgICAgICAgICAgIHB1c2goQGZ1bmMsICIgICAgYXJn
dW1lbnRzLT4kcHVzaENhbGwoIiAuICRwYXJhbWV0ZXItPm5hbWUgLiAiKTsiKTsKKyAgICAgICAg
fQorICAgICAgICBwdXNoKEBmdW5jLCAiICAgIG1faW5zcGVjdG9yQ2xpZW50LT5zZW5kTWVzc2Fn
ZVRvRnJvbnRlbmQoYXJndW1lbnRzLT50b0pTT05TdHJpbmcoKSk7Iik7CisgICAgfSBlbHNlIHsK
KyAgICAgICAgcHVzaChAZnVuYywgIiAgICBzZW5kU2ltcGxlTWVzc2FnZVRvRnJvbnRlbmQoXCIk
ZnVuY3Rpb25OYW1lXCIpOyIpOworICAgIH0KKworICAgIHB1c2goQGZ1bmMsICJ9Iik7CisgICAg
cHVzaChAZnVuYywgIiIpOworICAgIHJldHVybiBAZnVuYzsKK30KKworc3ViIGZpbmlzaAorewor
ICAgIG15ICRvYmplY3QgPSBzaGlmdDsKKworICAgIG9wZW4obXkgJFNPVVJDRSwgIj4kb3V0cHV0
RGlyL1JlbW90ZSRmaWxlTmFtZS5jcHAiKSB8fCBkaWUgIkNvdWxkbid0IG9wZW4gZmlsZSAkb3V0
cHV0RGlyL1JlbW90ZSRmaWxlTmFtZS5jcHAiOworICAgIG9wZW4obXkgJEhFQURFUiwgIj4kb3V0
cHV0RGlyL1JlbW90ZSRmaWxlTmFtZS5oIikgfHwgZGllICJDb3VsZG4ndCBvcGVuIGZpbGUgJG91
dHB1dERpci9SZW1vdGUkZmlsZU5hbWUuaCI7CisKKyAgICBwcmludCAkU09VUkNFIGpvaW4oIlxu
IiwgZ2VuZXJhdGVTb3VyY2UoKSk7CisgICAgY2xvc2UoJFNPVVJDRSk7CisgICAgdW5kZWYoJFNP
VVJDRSk7CisKKyAgICBwcmludCAkSEVBREVSIGpvaW4oIlxuIiwgZ2VuZXJhdGVIZWFkZXIoKSk7
CisgICAgY2xvc2UoJEhFQURFUik7CisgICAgdW5kZWYoJEhFQURFUik7Cit9CisKKzE7CmRpZmYg
LS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcCBiL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwCmluZGV4IGQ0MTdhNmEuLmYyMGEz
ZTkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3Bw
CisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwCkBAIC02OCw2
ICs2OCw3IEBACiAjaW5jbHVkZSAiUGFnZS5oIgogI2luY2x1ZGUgIlByb2dyZXNzVHJhY2tlci5o
IgogI2luY2x1ZGUgIlJhbmdlLmgiCisjaW5jbHVkZSAiUmVtb3RlSW5zcGVjdG9yRnJvbnRlbmQy
LmgiCiAjaW5jbHVkZSAiUmVuZGVySW5saW5lLmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VSZXF1ZXN0
LmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VSZXNwb25zZS5oIgpAQCAtNDg1LDkgKzQ4NiwxMCBAQCB2
b2lkIEluc3BlY3RvckNvbnRyb2xsZXI6OmNvbm5lY3RGcm9udGVuZChjb25zdCBTY3JpcHRPYmpl
Y3QmIHdlYkluc3BlY3RvcikKICAgICBtX29wZW5pbmdGcm9udGVuZCA9IGZhbHNlOwogICAgIHJl
bGVhc2VGcm9udGVuZExpZmV0aW1lQWdlbnRzKCk7CiAgICAgbV9mcm9udGVuZCA9IG5ldyBJbnNw
ZWN0b3JGcm9udGVuZCh3ZWJJbnNwZWN0b3IsIG1fY2xpZW50KTsKKyAgICBtX2Zyb250ZW5kMiA9
IG5ldyBJbnNwZWN0b3JGcm9udGVuZDIobV9jbGllbnQpOwogICAgIG1fZG9tQWdlbnQgPSBJbnNw
ZWN0b3JET01BZ2VudDo6Y3JlYXRlKG1fY3NzU3RvcmUuZ2V0KCksIG1fZnJvbnRlbmQuZ2V0KCkp
OwogICAgIGlmIChtX3RpbWVsaW5lQWdlbnQpCi0gICAgICAgIG1fdGltZWxpbmVBZ2VudC0+cmVz
ZXRGcm9udGVuZFByb3h5T2JqZWN0KG1fZnJvbnRlbmQuZ2V0KCkpOworICAgICAgICBtX3RpbWVs
aW5lQWdlbnQtPnJlc2V0RnJvbnRlbmRQcm94eU9iamVjdChtX2Zyb250ZW5kMi5nZXQoKSk7CiAK
ICAgICAvLyBJbml0aWFsaXplIFdlYiBJbnNwZWN0b3IgdGl0bGUuCiAgICAgbV9mcm9udGVuZC0+
aW5zcGVjdGVkVVJMQ2hhbmdlZChtX2luc3BlY3RlZFBhZ2UtPm1haW5GcmFtZSgpLT5sb2FkZXIo
KS0+dXJsKCkuc3RyaW5nKCkpOwpAQCAtMTE2MSw3ICsxMTYzLDcgQEAgdm9pZCBJbnNwZWN0b3JD
b250cm9sbGVyOjpzdGFydFRpbWVsaW5lUHJvZmlsZXIoKQogICAgIGlmIChtX3RpbWVsaW5lQWdl
bnQpCiAgICAgICAgIHJldHVybjsKIAotICAgIG1fdGltZWxpbmVBZ2VudCA9IG5ldyBJbnNwZWN0
b3JUaW1lbGluZUFnZW50KG1fZnJvbnRlbmQuZ2V0KCkpOworICAgIG1fdGltZWxpbmVBZ2VudCA9
IG5ldyBJbnNwZWN0b3JUaW1lbGluZUFnZW50KG1fZnJvbnRlbmQyLmdldCgpKTsKICAgICBpZiAo
bV9mcm9udGVuZCkKICAgICAgICAgbV9mcm9udGVuZC0+dGltZWxpbmVQcm9maWxlcldhc1N0YXJ0
ZWQoKTsKICAgICBtX2NsaWVudC0+dGltZWxpbmVQcm9maWxlcldhc1N0YXJ0ZWQoKTsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuaCBiL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuaAppbmRleCAzY2MzZTNlLi4wZTVlMmNmIDEw
MDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmgKKysrIGIv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oCkBAIC02OSw2ICs2OSw3IEBA
IGNsYXNzIEluc3BlY3RvckNTU1N0b3JlOwogY2xhc3MgSW5zcGVjdG9yRE9NU3RvcmFnZVJlc291
cmNlOwogY2xhc3MgSW5zcGVjdG9yRGF0YWJhc2VSZXNvdXJjZTsKIGNsYXNzIEluc3BlY3RvckZy
b250ZW5kOworY2xhc3MgSW5zcGVjdG9yRnJvbnRlbmQyOwogY2xhc3MgSW5zcGVjdG9yRnJvbnRl
bmRDbGllbnQ7CiBjbGFzcyBJbnNwZWN0b3JSZXNvdXJjZTsKIGNsYXNzIEluc3BlY3RvclRpbWVs
aW5lQWdlbnQ7CkBAIC0zNDMsNiArMzQ0LDcgQEAgcHJpdmF0ZToKICAgICBPd25QdHI8SW5zcGVj
dG9yRnJvbnRlbmRDbGllbnQ+IG1faW5zcGVjdG9yRnJvbnRlbmRDbGllbnQ7CiAgICAgYm9vbCBt
X29wZW5pbmdGcm9udGVuZDsKICAgICBPd25QdHI8SW5zcGVjdG9yRnJvbnRlbmQ+IG1fZnJvbnRl
bmQ7CisgICAgT3duUHRyPEluc3BlY3RvckZyb250ZW5kMj4gbV9mcm9udGVuZDI7CiAgICAgUmVm
UHRyPEluc3BlY3RvckRPTUFnZW50PiBtX2RvbUFnZW50OwogICAgIE93blB0cjxJbnNwZWN0b3JD
U1NTdG9yZT4gbV9jc3NTdG9yZTsKICAgICBPd25QdHI8SW5zcGVjdG9yVGltZWxpbmVBZ2VudD4g
bV90aW1lbGluZUFnZW50OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
RnJvbnRlbmQuY3BwIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmQuY3BwCmlu
ZGV4IDZmMzIzYjkuLmQxNmU0M2YgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvckZyb250ZW5kLmNwcAorKysgYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVu
ZC5jcHAKQEAgLTI5NywxNCArMjk3LDYgQEAgdm9pZCBJbnNwZWN0b3JGcm9udGVuZDo6dGltZWxp
bmVQcm9maWxlcldhc1N0b3BwZWQoKQogICAgIGNhbGxTaW1wbGVGdW5jdGlvbigidGltZWxpbmVQ
cm9maWxlcldhc1N0b3BwZWQiKTsKIH0KIAotdm9pZCBJbnNwZWN0b3JGcm9udGVuZDo6YWRkUmVj
b3JkVG9UaW1lbGluZShjb25zdCBSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiYgcmVjb3JkKQotewot
ICAgIFJlZlB0cjxJbnNwZWN0b3JBcnJheT4gYXJndW1lbnRzID0gSW5zcGVjdG9yQXJyYXk6OmNy
ZWF0ZSgpOwotICAgIGFyZ3VtZW50cy0+cHVzaFN0cmluZygiYWRkUmVjb3JkVG9UaW1lbGluZSIp
OwotICAgIGFyZ3VtZW50cy0+cHVzaChyZWNvcmQpOwotICAgIG1faW5zcGVjdG9yQ2xpZW50LT5z
ZW5kTWVzc2FnZVRvRnJvbnRlbmQoYXJndW1lbnRzLT50b0pTT05TdHJpbmcoKSk7Ci19Ci0KICNp
ZiBFTkFCTEUoSkFWQVNDUklQVF9ERUJVR0dFUikKIHZvaWQgSW5zcGVjdG9yRnJvbnRlbmQ6OmF0
dGFjaERlYnVnZ2VyV2hlblNob3duKCkKIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvckZyb250ZW5kLmggYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVu
ZC5oCmluZGV4IGM3YjRiOWIuLjY3YTkzY2UgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvckZyb250ZW5kLmgKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJv
bnRlbmQuaApAQCAtMTcxLDcgKzE3MSw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgICAg
ICB2b2lkIHRpbWVsaW5lUHJvZmlsZXJXYXNTdGFydGVkKCk7CiAgICAgICAgIHZvaWQgdGltZWxp
bmVQcm9maWxlcldhc1N0b3BwZWQoKTsKLSAgICAgICAgdm9pZCBhZGRSZWNvcmRUb1RpbWVsaW5l
KGNvbnN0IFJlZlB0cjxJbnNwZWN0b3JPYmplY3Q+JiByZWNvcmQpOwogCiAjaWYgRU5BQkxFKFdP
UktFUlMpCiAgICAgICAgIHZvaWQgZGlkQ3JlYXRlV29ya2VyKGNvbnN0IEluc3BlY3Rvcldvcmtl
clJlc291cmNlJik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9u
dGVuZDIuaWRsIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmQyLmlkbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MTliM2JlCi0tLSAvZGV2L251bGwKKysr
IGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmQyLmlkbApAQCAtMCwwICsxLDEw
IEBACisvLyBDb3B5cmlnaHQgKGMpIDIwMDkgVGhlIENocm9taXVtIEF1dGhvcnMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisvLyBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBh
IEJTRC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCisvLyBmb3VuZCBpbiB0aGUgTElDRU5TRSBm
aWxlLgorCittb2R1bGUgV2ViQ29yZSB7CisKKyAgICBpbnRlcmZhY2UgW0NvbmRpdGlvbmFsPUlO
U1BFQ1RPUiwgSlNdIEluc3BlY3RvckZyb250ZW5kMiB7CisgICAgICAgIHZvaWQgYWRkUmVjb3Jk
VG9UaW1lbGluZShpbiBPYmplY3QgcmVjb3JkKTsKKyAgICB9OworfQpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHAgYi9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcAppbmRleCBjNzAwMWMzLi5jMWNjODY3IDEw
MDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcAor
KysgYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcApAQCAtMzQs
OCArMzQsOCBAQAogI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAKICNpbmNsdWRlICJFdmVudC5oIgot
I2luY2x1ZGUgIkluc3BlY3RvckZyb250ZW5kLmgiCiAjaW5jbHVkZSAiSW50UmVjdC5oIgorI2lu
Y2x1ZGUgIlJlbW90ZUluc3BlY3RvckZyb250ZW5kMi5oIgogI2luY2x1ZGUgIlJlc291cmNlUmVx
dWVzdC5oIgogI2luY2x1ZGUgIlJlc291cmNlUmVzcG9uc2UuaCIKICNpbmNsdWRlICJUaW1lbGlu
ZVJlY29yZEZhY3RvcnkuaCIKQEAgLTQ2LDcgKzQ2LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
CiBpbnQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6c19pbnN0YW5jZUNvdW50ID0gMDsKIAotSW5z
cGVjdG9yVGltZWxpbmVBZ2VudDo6SW5zcGVjdG9yVGltZWxpbmVBZ2VudChJbnNwZWN0b3JGcm9u
dGVuZCogZnJvbnRlbmQpCitJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpJbnNwZWN0b3JUaW1lbGlu
ZUFnZW50KEluc3BlY3RvckZyb250ZW5kMiogZnJvbnRlbmQpCiAgICAgOiBtX2Zyb250ZW5kKGZy
b250ZW5kKQogewogICAgICsrc19pbnN0YW5jZUNvdW50OwpAQCAtMjc5LDcgKzI3OSw3IEBAIHZv
aWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6cmVzZXQoKQogICAgIG1fcmVjb3JkU3RhY2suY2xl
YXIoKTsKIH0KIAotdm9pZCBJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpyZXNldEZyb250ZW5kUHJv
eHlPYmplY3QoSW5zcGVjdG9yRnJvbnRlbmQqIGZyb250ZW5kKQordm9pZCBJbnNwZWN0b3JUaW1l
bGluZUFnZW50OjpyZXNldEZyb250ZW5kUHJveHlPYmplY3QoSW5zcGVjdG9yRnJvbnRlbmQyKiBm
cm9udGVuZCkKIHsKICAgICBBU1NFUlQoZnJvbnRlbmQpOwogICAgIHJlc2V0KCk7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmggYi9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmgKaW5kZXggMGU5OTc3YS4uMTBlOGE2
NSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5o
CisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaApAQCAtNDIs
NyArNDIsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBFdmVudDsKLWNsYXNzIElu
c3BlY3RvckZyb250ZW5kOworY2xhc3MgSW5zcGVjdG9yRnJvbnRlbmQyOwogY2xhc3MgSW50UmVj
dDsKIGNsYXNzIFJlc291cmNlUmVxdWVzdDsKIGNsYXNzIFJlc291cmNlUmVzcG9uc2U7CkBAIC03
NCwxMSArNzQsMTEgQEAgZW51bSBUaW1lbGluZVJlY29yZFR5cGUgewogCiBjbGFzcyBJbnNwZWN0
b3JUaW1lbGluZUFnZW50IDogU2NyaXB0R0NFdmVudExpc3RlbmVyLCBwdWJsaWMgTm9uY29weWFi
bGUgewogcHVibGljOgotICAgIEluc3BlY3RvclRpbWVsaW5lQWdlbnQoSW5zcGVjdG9yRnJvbnRl
bmQqIGZyb250ZW5kKTsKKyAgICBJbnNwZWN0b3JUaW1lbGluZUFnZW50KEluc3BlY3RvckZyb250
ZW5kMiogZnJvbnRlbmQpOwogICAgIH5JbnNwZWN0b3JUaW1lbGluZUFnZW50KCk7CiAKICAgICB2
b2lkIHJlc2V0KCk7Ci0gICAgdm9pZCByZXNldEZyb250ZW5kUHJveHlPYmplY3QoSW5zcGVjdG9y
RnJvbnRlbmQqKTsKKyAgICB2b2lkIHJlc2V0RnJvbnRlbmRQcm94eU9iamVjdChJbnNwZWN0b3JG
cm9udGVuZDIqKTsKIAogICAgIC8vIE1ldGhvZHMgY2FsbGVkIGZyb20gV2ViQ29yZS4KICAgICB2
b2lkIHdpbGxDYWxsRnVuY3Rpb24oY29uc3QgU3RyaW5nJiBzY3JpcHROYW1lLCBpbnQgc2NyaXB0
TGluZSk7CkBAIC0xNTIsNyArMTUyLDcgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgcHVzaEdDRXZl
bnRSZWNvcmRzKCk7CiAKLSAgICBJbnNwZWN0b3JGcm9udGVuZCogbV9mcm9udGVuZDsKKyAgICBJ
bnNwZWN0b3JGcm9udGVuZDIqIG1fZnJvbnRlbmQ7CiAKICAgICBWZWN0b3I8VGltZWxpbmVSZWNv
cmRFbnRyeT4gbV9yZWNvcmRTdGFjazsKICAgICBzdGF0aWMgaW50IHNfaW5zdGFuY2VDb3VudDsK
</data>
<flag name="review"
          id="48252"
          type_id="1"
          status="+"
          setter="yurys"
    />
    <flag name="commit-queue"
          id="48253"
          type_id="3"
          status="-"
          setter="yurys"
    />
          </attachment>
      

    </bug>

</bugzilla>