<?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>74941</bug_id>
          
          <creation_ts>2011-12-20 10:42:02 -0800</creation_ts>
          <short_desc>Web Inspector: [Extension API] refactor extension API build code, expose experimental APIs conditionally in chromium</short_desc>
          <delta_ts>2011-12-21 09:25:31 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Andrey Kosyakov">caseq</reporter>
          <assigned_to name="Andrey Kosyakov">caseq</assigned_to>
          <cc>apavlov</cc>
    
    <cc>bweinstein</cc>
    
    <cc>dglazkov</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>524677</commentid>
    <comment_count>0</comment_count>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2011-12-20 10:42:02 -0800</bug_when>
    <thetext>This changes the way we build the extension API, including the way platform-specific APIs are processed and the remote API is generated. This allows us to expose experimental API in chromium conditionally.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>524678</commentid>
    <comment_count>1</comment_count>
      <attachid>120041</attachid>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2011-12-20 10:43:00 -0800</bug_when>
    <thetext>Created attachment 120041
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>524682</commentid>
    <comment_count>2</comment_count>
      <attachid>120043</attachid>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2011-12-20 10:50:36 -0800</bug_when>
    <thetext>Created attachment 120043
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>524960</commentid>
    <comment_count>3</comment_count>
      <attachid>120043</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-20 16:46:03 -0800</bug_when>
    <thetext>Comment on attachment 120043
Patch

Attachment 120043 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/10990441

New failing tests:
inspector/extensions/extensions-api.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>525135</commentid>
    <comment_count>4</comment_count>
      <attachid>120152</attachid>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2011-12-20 23:55:16 -0800</bug_when>
    <thetext>Created attachment 120152
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>525286</commentid>
    <comment_count>5</comment_count>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2011-12-21 09:25:31 -0800</bug_when>
    <thetext>Committed r103411: &lt;http://trac.webkit.org/changeset/103411&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>120041</attachid>
            <date>2011-12-20 10:43:00 -0800</date>
            <delta_ts>2011-12-20 10:50:17 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-74941-20111220224257.patch</filename>
            <type>text/plain</type>
            <size>18750</size>
            <attacher name="Andrey Kosyakov">caseq</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAzMzMzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGUwZTlkMzgzODM2MWVh
NmE3NGExNGMwMGRhNWNkYTlmZTYyY2I4Yi4uYjUzMzhkNGM1YzE4MTI5YTAyMWM0ZTNhMTAxNDhi
MzAwNWI1ZmE4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDExLTEyLTIwICBBbmRy
ZXkgS29zeWFrb3YgIDxjYXNlcUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3BlY3Rv
cjogW0V4dGVuc2lvbiBBUEldIHJlZmFjdG9yIGV4dGVuc2lvbiBBUEkgYnVpbGQgY29kZSwgZXhw
b3NlIGV4cGVyaW1lbnRhbCBBUElzIGNvbmRpdGlvbmFsbHkgaW4gY2hyb21pdW0KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTQxCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLiAoT09Q
UyEpCisKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250
LWVuZC9FeHRlbnNpb25BUEkuanM6CisgICAgICAgIChidWlsZFBsYXRmb3JtRXh0ZW5zaW9uQVBJ
LnBsYXRmb3JtRXh0ZW5zaW9uQVBJKToKKyAgICAgICAgKGJ1aWxkUGxhdGZvcm1FeHRlbnNpb25B
UEkpOgorICAgICAgICAoYnVpbGRFeHRlbnNpb25BUElJbmplY3RlZFNjcmlwdCk6CisgICAgICAg
ICogaW5zcGVjdG9yL2Zyb250LWVuZC9FeHRlbnNpb25TZXJ2ZXIuanM6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuRXh0ZW5zaW9uU2VydmVyLnByb3RvdHlwZS5fYWRkRXh0ZW5zaW9ucyk6CisgICAg
ICAgIChXZWJJbnNwZWN0b3IuRXh0ZW5zaW9uU2VydmVyLnByb3RvdHlwZS5fYWRkRXh0ZW5zaW9u
KToKKyAgICAgICAgKHdpbmRvdy5hZGRFeHRlbnNpb24pOgorCiAyMDExLTEyLTIwICBKdWxpZW4g
Q2hhZmZyYWl4ICA8amNoYWZmcmFpeEB3ZWJraXQub3JnPgogCiAgICAgICAgIFJlZ3Jlc3Npb24o
OTkyMTIpOiB0YWJsZSByb3dzIGdldCBpbmNvcnJlY3QgaGVpZ2h0IGFmdGVyIGNoYW5naW5nIHNv
bWUgY2VsbHMnIGhlaWdodApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCBhYTZkNGU2ZGUz
YzA3ZTE2MzU3MjkzYzI1ZWU0YjNmMzNkZDQ5ZWZlLi42NmIzNGJiMWYwODhmN2QwMTQ5YmI0Yzcw
Mjk5NTNlYTUyNWMzOGE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5
IEBACisyMDExLTEyLTIwICBBbmRyZXkgS29zeWFrb3YgIDxjYXNlcUBjaHJvbWl1bS5vcmc+CisK
KyAgICAgICAgV2ViIEluc3BlY3RvcjogW0V4dGVuc2lvbiBBUEldIHJlZmFjdG9yIGV4dGVuc2lv
biBBUEkgYnVpbGQgY29kZSwgZXhwb3NlIGV4cGVyaW1lbnRhbCBBUElzIGNvbmRpdGlvbmFsbHkg
aW4gY2hyb21pdW0KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTc0OTQxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBXZWJLaXQuZ3lwOgorICAgICAgICAqIFdlYktpdC5neXBpOgorICAgICAgICAqIHNjcmlw
dHMvY29uY2F0ZW5hdGVfanNfZmlsZXMucHk6CisgICAgICAgIChtYWluKToKKyAgICAgICAgKiBz
Y3JpcHRzL2dlbmVyYXRlX2RldnRvb2xzX2V4dGVuc2lvbl9hcGkucHk6CisgICAgICAgICh3cml0
ZV9kZXZ0b29sc19leHRlbnNpb25fYXBpKToKKyAgICAgICAgKiBzcmMvanMvRGV2VG9vbHMuanM6
CisgICAgICAgICgpOgorCiAyMDExLTEyLTIwICBHcmVnIEJpbGxvY2sgIDxnYmlsbG9ja0Bnb29n
bGUuY29tPgogCiAgICAgICAgIE1ha2UgV2ViSW50ZW50U2VydmljZUluZm8gY29uc3RydWN0b3Ig
cHVibGljIGZvciB0ZXN0aW5nLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5n
eXBpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IDg1Njk4NzAxMDNhNzhkMzIz
ZjJiMjhhYzE2N2UyNWFmNjE5OGE1NDEuLjA5YzA3MTBjNjk1ZDBjNmY5ZmNkNjM1ZDEyNTc1Y2Q0
MmFmMWNjMzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTY0MDcsNiArNjQwNyw3IEBACiAgICAgICAg
ICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9FbGVtZW50c1RyZWVPdXRsaW5lLmpzJywKICAgICAg
ICAgICAgICdpbnNwZWN0b3IvZnJvbnQtZW5kL0VtcHR5Vmlldy5qcycsCiAgICAgICAgICAgICAn
aW5zcGVjdG9yL2Zyb250LWVuZC9FdmVudExpc3RlbmVyc1NpZGViYXJQYW5lLmpzJywKKyAgICAg
ICAgICAgICdpbnNwZWN0b3IvZnJvbnQtZW5kL0V4dGVuc2lvbkFQSS5qcycsCiAgICAgICAgICAg
ICAnaW5zcGVjdG9yL2Zyb250LWVuZC9FeHRlbnNpb25BdWRpdENhdGVnb3J5LmpzJywKICAgICAg
ICAgICAgICdpbnNwZWN0b3IvZnJvbnQtZW5kL0V4dGVuc2lvblBhbmVsLmpzJywKICAgICAgICAg
ICAgICdpbnNwZWN0b3IvZnJvbnQtZW5kL0V4dGVuc2lvblJlZ2lzdHJ5U3R1Yi5qcycsCkBAIC02
NTE2LDcgKzY1MTcsNiBAQAogICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVj
dG9yU3ludGF4SGlnaGxpZ2h0LmNzcycsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVu
ZC9wb3BvdmVyLmNzcycsCiAgICAgICAgICAgICAnPEAod2ViaW5zcGVjdG9yX3N0YW5kYWxvbmVf
Y3NzX2ZpbGVzKScsCi0gICAgICAgICAgICAnPEAod2ViaW5zcGVjdG9yX2V4dGVuc2lvbl9hcGlf
ZmlsZXMpJywKICAgICAgICAgXSwKICAgICAgICAgJ3dlYmluc3BlY3Rvcl9zdGFuZGFsb25lX2Nz
c19maWxlcyc6IFsKICAgICAgICAgICAgICdpbnNwZWN0b3IvZnJvbnQtZW5kL2F1ZGl0c1BhbmVs
LmNzcycsCkBAIC02NTM2LDkgKzY1MzYsNiBAQAogICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9u
dC1lbmQvdGV4dFZpZXdlci5jc3MnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQv
dGltZWxpbmVQYW5lbC5jc3MnLAogICAgICAgICBdLAotICAgICAgICAnd2ViaW5zcGVjdG9yX2V4
dGVuc2lvbl9hcGlfZmlsZXMnOiBbCi0gICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9F
eHRlbnNpb25BUEkuanMnLAotICAgICAgICBdLAogICAgICAgICAnd2ViaW5zcGVjdG9yX3VnbGlm
eWpzX2ZpbGVzJzogWwogICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvVWdsaWZ5SlMv
cGFyc2UtanMuanMnLAogICAgICAgICBdLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9FeHRlbnNpb25BUEkuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL0V4dGVuc2lvbkFQSS5qcwppbmRleCA4MDQzYzBkMTEzZTNjNTc3NDVkODBk
YWM0OThiN2RjYjU3NDg2NDBkLi42YzQ5ZTYwODljZmQyOWY2ZjMyM2RmZTQ3MjEyMDg1MTcyZDMx
ZTViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0V4dGVu
c2lvbkFQSS5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0V4dGVu
c2lvbkFQSS5qcwpAQCAtODA2LDE5ICs4MDYsMjcgQEAgdmFyIFRpbWVsaW5lID0gZGVjbGFyZUlu
dGVyZmFjZUNsYXNzKFRpbWVsaW5lSW1wbCk7CiAKIHZhciBleHRlbnNpb25TZXJ2ZXIgPSBuZXcg
RXh0ZW5zaW9uU2VydmVyQ2xpZW50KCk7CiAKLXdpbmRvdy53ZWJJbnNwZWN0b3IgPSBuZXcgSW5z
cGVjdG9yRXh0ZW5zaW9uQVBJKCk7Ci13aW5kb3cuZXhwZXJpbWVudGFsID0gd2luZG93LmV4cGVy
aW1lbnRhbCB8fCB7fTsKLXdpbmRvdy5leHBlcmltZW50YWwud2ViSW5zcGVjdG9yID0gd2luZG93
LndlYkluc3BlY3RvcjsKK3JldHVybiBuZXcgSW5zcGVjdG9yRXh0ZW5zaW9uQVBJKCk7Cit9CiAK
Ky8vIERlZmF1bHQgaW1wbGVtZW50YXRpb247IHBsYXRmb3JtcyB3aWxsIG92ZXJyaWRlLgorZnVu
Y3Rpb24gYnVpbGRQbGF0Zm9ybUV4dGVuc2lvbkFQSSgpCit7CisgICAgZnVuY3Rpb24gcGxhdGZv
cm1FeHRlbnNpb25BUEkoY29yZUFQSSkKKyAgICB7CisgICAgICAgIHdpbmRvdy53ZWJJbnNwZWN0
b3IgPSBjb3JlQVBJOworICAgIH0KKyAgICByZXR1cm4gcGxhdGZvcm1FeHRlbnNpb25BUEkudG9T
dHJpbmcoKTsKIH0KIAotZnVuY3Rpb24gYnVpbGRFeHRlbnNpb25BUElJbmplY3RlZFNjcmlwdChw
bGF0Zm9ybUFQSSkKKworZnVuY3Rpb24gYnVpbGRFeHRlbnNpb25BUElJbmplY3RlZFNjcmlwdChl
eHRlbnNpb25JbmZvKQogewogICAgIHJldHVybiAiKGZ1bmN0aW9uKGluamVjdGVkU2NyaXB0SG9z
dCwgaW5zcGVjdGVkV2luZG93LCBpbmplY3RlZFNjcmlwdElkKXsgIiArCiAgICAgICAgIGRlZmlu
ZUNvbW1vbkV4dGVuc2lvblN5bWJvbHMudG9TdHJpbmcoKSArICI7IiArCiAgICAgICAgIGluamVj
dGVkRXh0ZW5zaW9uQVBJLnRvU3RyaW5nKCkgKyAiOyIgKwotICAgICAgICAiaW5qZWN0ZWRFeHRl
bnNpb25BUEkoaW5qZWN0ZWRTY3JpcHRJZCk7IiArCi0gICAgICAgIChwbGF0Zm9ybUFQSSB8fCAi
IikgKyAiOyIgKworICAgICAgICBidWlsZFBsYXRmb3JtRXh0ZW5zaW9uQVBJKGV4dGVuc2lvbklu
Zm8pICsgIjsiICsKKyAgICAgICAgInBsYXRmb3JtRXh0ZW5zaW9uQVBJKGluamVjdGVkRXh0ZW5z
aW9uQVBJKGluamVjdGVkU2NyaXB0SWQpKTsiICsKICAgICAgICAgInJldHVybiB7fTsiICsKICAg
ICAgICAgIn0pIjsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvRXh0ZW5zaW9uU2VydmVyLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9FeHRlbnNpb25TZXJ2ZXIuanMKaW5kZXggZDg0MDI2NDAzZTdjZDRjOGQxYTY5NGE1YWM3
MDk0OTY2MGE1ZWU4Ni4uZTAwZTRlZjgyNTFlNmM0YzRiMzE1OTQ2NDJiMzlhZjU0YWMyOTFiMiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9FeHRlbnNpb25T
ZXJ2ZXIuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9FeHRlbnNp
b25TZXJ2ZXIuanMKQEAgLTYwNCwxMiArNjA0LDE0IEBAIFdlYkluc3BlY3Rvci5FeHRlbnNpb25T
ZXJ2ZXIucHJvdG90eXBlID0gewogICAgIF9hZGRFeHRlbnNpb25zOiBmdW5jdGlvbihleHRlbnNp
b25zKQogICAgIHsKICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBleHRlbnNpb25zLmxlbmd0
aDsgKytpKQotICAgICAgICAgICAgdGhpcy5fYWRkRXh0ZW5zaW9uKGV4dGVuc2lvbnNbaV0uc3Rh
cnRQYWdlLCBleHRlbnNpb25zW2ldLm5hbWUpOworICAgICAgICAgICAgdGhpcy5fYWRkRXh0ZW5z
aW9uKGV4dGVuc2lvbnNbaV0pOwogICAgIH0sCiAKLSAgICBfYWRkRXh0ZW5zaW9uOiBmdW5jdGlv
bihzdGFydFBhZ2UsIG5hbWUpCisgICAgX2FkZEV4dGVuc2lvbjogZnVuY3Rpb24oZXh0ZW5zaW9u
SW5mbykKICAgICB7CiAgICAgICAgIGNvbnN0IHVybE9yaWdpblJlZ0V4cCA9IG5ldyBSZWdFeHAo
IihbXjpdKzpcL1wvW14vXSopXC8iKTsgLy8gQ2FuJ3QgdXNlIHJlZ2V4cCBsaXRlcmFsIGhlcmUs
IE1pbkpTIGNob2tlcyBvbiBpdC4KKyAgICAgICAgdmFyIHN0YXJ0UGFnZSA9IGV4dGVuc2lvbklu
Zm8uc3RhcnRQYWdlOworICAgICAgICB2YXIgbmFtZSA9IGV4dGVuc2lvbkluZm8ubmFtZTsKIAog
ICAgICAgICB0cnkgewogICAgICAgICAgICAgdmFyIG9yaWdpbk1hdGNoID0gdXJsT3JpZ2luUmVn
RXhwLmV4ZWMoc3RhcnRQYWdlKTsKQEAgLTYyMCw3ICs2MjIsNyBAQCBXZWJJbnNwZWN0b3IuRXh0
ZW5zaW9uU2VydmVyLnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIHZhciBleHRlbnNpb25Pcmln
aW4gPSBvcmlnaW5NYXRjaFsxXTsKICAgICAgICAgICAgIGlmICghdGhpcy5fcmVnaXN0ZXJlZEV4
dGVuc2lvbnNbZXh0ZW5zaW9uT3JpZ2luXSkgewogICAgICAgICAgICAgICAgIC8vIFNlZSBFeHRl
bnNpb25BUEkuanMgYW5kIEV4dGVuc2lvbkNvbW1vbi5qcyBmb3IgZGV0YWlscy4KLSAgICAgICAg
ICAgICAgICBJbnNwZWN0b3JGcm9udGVuZEhvc3Quc2V0SW5qZWN0ZWRTY3JpcHRGb3JPcmlnaW4o
ZXh0ZW5zaW9uT3JpZ2luLCB0aGlzLl9idWlsZEV4dGVuc2lvbkFQSVNjcmlwdCgpKTsKKyAgICAg
ICAgICAgICAgICBJbnNwZWN0b3JGcm9udGVuZEhvc3Quc2V0SW5qZWN0ZWRTY3JpcHRGb3JPcmln
aW4oZXh0ZW5zaW9uT3JpZ2luLCBidWlsZEV4dGVuc2lvbkFQSUluamVjdGVkU2NyaXB0KGV4dGVu
c2lvbkluZm8pKTsKICAgICAgICAgICAgICAgICB0aGlzLl9yZWdpc3RlcmVkRXh0ZW5zaW9uc1tl
eHRlbnNpb25PcmlnaW5dID0geyBuYW1lOiBuYW1lIH07CiAgICAgICAgICAgICB9CiAgICAgICAg
ICAgICB2YXIgaWZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7CkBAIC02
MzQsMTIgKzYzNiw2IEBAIFdlYkluc3BlY3Rvci5FeHRlbnNpb25TZXJ2ZXIucHJvdG90eXBlID0g
ewogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9LAogCi0gICAgX2J1aWxkRXh0ZW5zaW9uQVBJ
U2NyaXB0OiBmdW5jdGlvbigpCi0gICAgewotICAgICAgICB2YXIgcGxhdGZvcm1BUEkgPSBXZWJJ
bnNwZWN0b3IuYnVpbGRQbGF0Zm9ybUV4dGVuc2lvbkFQSSA/IFdlYkluc3BlY3Rvci5idWlsZFBs
YXRmb3JtRXh0ZW5zaW9uQVBJKCkgOiAiIjsKLSAgICAgICAgcmV0dXJuIGJ1aWxkRXh0ZW5zaW9u
QVBJSW5qZWN0ZWRTY3JpcHQocGxhdGZvcm1BUEkpOwotICAgIH0sCi0KICAgICBfb25XaW5kb3dN
ZXNzYWdlOiBmdW5jdGlvbihldmVudCkKICAgICB7CiAgICAgICAgIGlmIChldmVudC5kYXRhID09
PSAicmVnaXN0ZXJFeHRlbnNpb24iKQpAQCAtNzUyLDQgKzc0OCwxMCBAQCBkZWZpbmVDb21tb25F
eHRlbnNpb25TeW1ib2xzKFdlYkluc3BlY3Rvci5leHRlbnNpb25BUEkpOwogCiBXZWJJbnNwZWN0
b3IuZXh0ZW5zaW9uU2VydmVyID0gbmV3IFdlYkluc3BlY3Rvci5FeHRlbnNpb25TZXJ2ZXIoKTsK
IAotd2luZG93LmFkZEV4dGVuc2lvbiA9IFdlYkluc3BlY3Rvci5leHRlbnNpb25TZXJ2ZXIuX2Fk
ZEV4dGVuc2lvbi5iaW5kKFdlYkluc3BlY3Rvci5leHRlbnNpb25TZXJ2ZXIpOword2luZG93LmFk
ZEV4dGVuc2lvbiA9IGZ1bmN0aW9uKHBhZ2UsIG5hbWUpCit7CisgICAgV2ViSW5zcGVjdG9yLmV4
dGVuc2lvblNlcnZlci5fYWRkRXh0ZW5zaW9uKHsKKyAgICAgICAgc3RhcnRQYWdlOiBwYWdlLAor
ICAgICAgICBuYW1lOiBuYW1lLAorICAgIH0pOworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9XZWJLaXQuZ3lwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9XZWJLaXQuZ3lw
CmluZGV4IDNmY2NjYTViMjQ2ZTcwYzM2MGQ2OTQ2ZTNmM2M4ODdjNmUzYmU5ZjEuLjc0NzZiMjY3
YzRiZTdlMzVmNDcxMWUwZTM3MzhjMDk3YzBjZTllMTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vV2ViS2l0Lmd5cAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL1dlYktp
dC5neXAKQEAgLTkxNywxMCArOTE3LDEwIEBACiAgICAgICAgICAgICAgICAgJ3NjcmlwdF9uYW1l
JzogJ3NjcmlwdHMvZ2VuZXJhdGVfZGV2dG9vbHNfZXh0ZW5zaW9uX2FwaS5weScsCiAgICAgICAg
ICAgICAgICAgJ2lucHV0cyc6IFsKICAgICAgICAgICAgICAgICAgICAgJzxAKF9zY3JpcHRfbmFt
ZSknLAotICAgICAgICAgICAgICAgICAgICAnPEAod2ViaW5zcGVjdG9yX2V4dGVuc2lvbl9hcGlf
ZmlsZXMpJywKKyAgICAgICAgICAgICAgICAgICAgJzxAKGRldnRvb2xzX2V4dGVuc2lvbl9hcGlf
ZmlsZXMpJywKICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICdvdXRwdXRzJzog
Wyc8KFBST0RVQ1RfRElSKS9yZXNvdXJjZXMvaW5zcGVjdG9yL2RldnRvb2xzX2V4dGVuc2lvbl9h
cGkuanMnXSwKLSAgICAgICAgICAgICAgICAnYWN0aW9uJzogWydweXRob24nLCAnPEAoX3Njcmlw
dF9uYW1lKScsICc8QChfb3V0cHV0cyknLCAnPEAod2ViaW5zcGVjdG9yX2V4dGVuc2lvbl9hcGlf
ZmlsZXMpJ10sCisgICAgICAgICAgICAgICAgJ2FjdGlvbic6IFsncHl0aG9uJywgJzxAKF9zY3Jp
cHRfbmFtZSknLCAnPEAoX291dHB1dHMpJywgJzxAKGRldnRvb2xzX2V4dGVuc2lvbl9hcGlfZmls
ZXMpJ10sCiAgICAgICAgICAgICB9XSwKICAgICAgICAgfSwKICAgICAgICAgewpAQCAtOTk5LDcg
Kzk5OSw3IEBACiAgICAgICAgICAgICAgICAgICAgICc8QChfd29ya2Vyc19maWxlcyknLAogICAg
ICAgICAgICAgICAgICAgICAnPEAod2ViaW5zcGVjdG9yX2ltYWdlX2ZpbGVzKScsCiAgICAgICAg
ICAgICAgICAgICAgICc8QChkZXZ0b29sc19pbWFnZV9maWxlcyknLAotICAgICAgICAgICAgICAg
ICAgICAnPEAod2ViaW5zcGVjdG9yX2V4dGVuc2lvbl9hcGlfZmlsZXMpJywKKyAgICAgICAgICAg
ICAgICAgICAgJzxAKGRldnRvb2xzX2V4dGVuc2lvbl9hcGlfZmlsZXMpJywKICAgICAgICAgICAg
ICAgICBdLAogICAgICAgICAgICAgICAgICdzZWFyY2hfcGF0aCc6IFsKICAgICAgICAgICAgICAg
ICAgICAgJy4uLy4uL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZCcsCkBAIC0xMDEyLDcgKzEw
MTIsNyBAQAogICAgICAgICAgICAgICAgICdhY3Rpb24nOiBbJ3B5dGhvbicsICc8QChfc2NyaXB0
X25hbWUpJywgJzxAKF9pbnNwZWN0b3JfaHRtbCknLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICctLWRldnRvb2xzLWZpbGVzJywgJzxAKGRldnRvb2xzX2ZpbGVzKScsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy0td29ya2Vycy1maWxlcycsICc8
QChfd29ya2Vyc19maWxlcyknLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICctLWV4dGVuc2lvbi1hcGktZmlsZXMnLCAnPEAod2ViaW5zcGVjdG9yX2V4dGVuc2lvbl9hcGlf
ZmlsZXMpJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnLS1leHRlbnNp
b24tYXBpLWZpbGVzJywgJzxAKGRldnRvb2xzX2V4dGVuc2lvbl9hcGlfZmlsZXMpJywKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnLS1zZWFyY2gtcGF0aCcsICc8QChfc2Vh
cmNoX3BhdGgpJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnLS1qcy1z
ZWFyY2gtcGF0aCcsICc8QChfanNfc2VhcmNoX3BhdGgpJywKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAnLS1vdXRwdXQnLCAnPEAoX291dHB1dHMpJ10sCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXBpIGIvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9XZWJLaXQuZ3lwaQppbmRleCBiMmQwMTVhNDA5OGEyMDBmNzZhMzgwMzQ1NGFkYmRmZTU5
NWQwYmJjLi5lNjc0YmI2Yjg1YjA4NWNhYmFjYzlkOWQ2NDk5OTNkNWQ2MmZlNWNmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXBpCisrKyBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vV2ViS2l0Lmd5cGkKQEAgLTM0LDExICszNCwxNiBAQAogICAgICAgICAjIGZv
ciBjb3B5aW5nIHRoZW0gdG8gcmVzb3VyY2UgZGlyLCBhbmQgZm9yIGdlbmVyYXRpbmcgJ2RldnRv
b2xzLmh0bWwnIGZpbGUuCiAgICAgICAgICdkZXZ0b29sc19qc19maWxlcyc6IFsKICAgICAgICAg
ICAgICdzcmMvanMvRGV2VG9vbHMuanMnLAorICAgICAgICAgICAgJ3NyYy9qcy9EZXZUb29sc0V4
dGVuc2lvbkFQSS5qcycsCiAgICAgICAgICAgICAnc3JjL2pzL1Rlc3RzLmpzJywKICAgICAgICAg
XSwKICAgICAgICAgJ2RldnRvb2xzX2Nzc19maWxlcyc6IFsKICAgICAgICAgICAgICdzcmMvanMv
ZGV2VG9vbHMuY3NzJywKICAgICAgICAgXSwKKyAgICAgICAgJ2RldnRvb2xzX2V4dGVuc2lvbl9h
cGlfZmlsZXMnOiBbCisgICAgICAgICAgICAnLi4vLi4vV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL0V4dGVuc2lvbkFQSS5qcycsCisgICAgICAgICAgICAnc3JjL2pzL0RldlRvb2xzRXh0ZW5z
aW9uQVBJLmpzJworICAgICAgICBdLAogICAgICAgICAnZGV2dG9vbHNfaW1hZ2VfZmlsZXMnOiBb
CiAgICAgICAgICAgICAnc3JjL2pzL0ltYWdlcy9zZWdtZW50Q2hyb21pdW0ucG5nJywKICAgICAg
ICAgICAgICdzcmMvanMvSW1hZ2VzL3NlZ21lbnRIb3ZlckNocm9taXVtLnBuZycsCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NjcmlwdHMvY29uY2F0ZW5hdGVfanNfZmlsZXMu
cHkgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NjcmlwdHMvY29uY2F0ZW5hdGVfanNfZmlsZXMu
cHkKaW5kZXggMGViOTY1MjY3Y2RhMDQwNjU2NDQ1YzA0MDM1MDc5YTAyYzk2ZTUwYS4uODJjYmU4
NmM0ZjY2NjM0MzgwM2QzYjMzOTA4NjY0YzQ0MGY5ODRkOCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zY3JpcHRzL2NvbmNhdGVuYXRlX2pzX2ZpbGVzLnB5CisrKyBiL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc2NyaXB0cy9jb25jYXRlbmF0ZV9qc19maWxlcy5weQpAQCAtODcs
NiArODcsNyBAQCBkZWYgbWFpbihhcmd2KToKICAgICB3aXRoIG9wZW4oaW5wdXRfb3JkZXJfZmls
ZV9uYW1lLCAncicpIGFzIG9yZGVyX2h0bWw6CiAgICAgICAgIGV4dHJhY3RvciA9IE9yZGVyZWRK
U0ZpbGVzRXh0cmFjdG9yKG9yZGVyX2h0bWwucmVhZCgpKQogICAgIGV4dHJhY3Rvci5vcmRlcmVk
X2pzX2ZpbGVzLmFwcGVuZCgnRGV2VG9vbHMuanMnKQorICAgIGV4dHJhY3Rvci5vcmRlcmVkX2pz
X2ZpbGVzLmFwcGVuZCgnRGV2VG9vbHNFeHRlbnNpb25BUEkuanMnKQogICAgIGV4dHJhY3Rvci5v
cmRlcmVkX2pzX2ZpbGVzLmFwcGVuZCgnVGVzdHMuanMnKQogCiAgICAgZXhwYW5kZXIgPSBQYXRo
RXhwYW5kZXIoYXJndlsyOl0pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Nj
cmlwdHMvZ2VuZXJhdGVfZGV2dG9vbHNfZXh0ZW5zaW9uX2FwaS5weSBiL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc2NyaXB0cy9nZW5lcmF0ZV9kZXZ0b29sc19leHRlbnNpb25fYXBpLnB5CmluZGV4
IDdjN2M3M2IzYTc2ZDI5YzIxYjNmMmQxZjkxZTk5NGJjZTk4MzI2NjAuLmZiYjg3OGRmMjUwNjEx
NDQyZmJjMjZmN2QwYmQzY2FkYjQ1ZjYwNjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vc2NyaXB0cy9nZW5lcmF0ZV9kZXZ0b29sc19leHRlbnNpb25fYXBpLnB5CisrKyBiL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc2NyaXB0cy9nZW5lcmF0ZV9kZXZ0b29sc19leHRlbnNpb25f
YXBpLnB5CkBAIC0zOSwxNyArMzksOSBAQCBkZWYgd3JpdGVfZGV2dG9vbHNfZXh0ZW5zaW9uX2Fw
aShvdXRwdXQsIGlucHV0X25hbWVzKToKICAgICAgICAgaW5wdXQgPSBvcGVuKGlucHV0X25hbWUs
ICdyJykKICAgICAgICAgb3V0cHV0LndyaXRlKGlucHV0LnJlYWQoKSkKICAgICBvdXRwdXQud3Jp
dGUoIiIiCi0gICAgICAgIGluamVjdGVkRXh0ZW5zaW9uQVBJKCJyZW1vdGUtIiArIHRvcC5mcmFt
ZXMubGVuZ3RoKTsKLQotICAgICAgICBjaHJvbWUgPSB3aW5kb3cuY2hyb21lIHx8IHt9OwotICAg
ICAgICBjaHJvbWUuZXhwZXJpbWVudGFsID0gY2hyb21lLmV4cGVyaW1lbnRhbCB8fCB7fTsKLSAg
ICAgICAgY2hyb21lLmV4cGVyaW1lbnRhbC5kZXZ0b29scyA9IGNocm9tZS5leHBlcmltZW50YWwu
ZGV2dG9vbHMgfHwge307Ci0KLSAgICAgICAgdmFyIHByb3BlcnRpZXMgPSBPYmplY3QuZ2V0T3du
UHJvcGVydHlOYW1lcyh3ZWJJbnNwZWN0b3IpOwotICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8
IHByb3BlcnRpZXMubGVuZ3RoOyArK2kpIHsKLSAgICAgICAgICAgIHZhciBkZXNjcmlwdG9yID0g
T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih3ZWJJbnNwZWN0b3IsIHByb3BlcnRpZXNb
aV0pOwotICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNocm9tZS5leHBlcmltZW50
YWwuZGV2dG9vbHMsIHByb3BlcnRpZXNbaV0sIGRlc2NyaXB0b3IpOwotICAgICAgICB9CisgICAg
ICAgIHZhciB0YWJJZDsKKyAgICAgICAgdmFyIGV4dGVuc2lvbkluZm8gPSB7fTsKKyAgICAgICAg
cGxhdGZvcm1FeHRlbnNpb25BUEkoaW5qZWN0ZWRFeHRlbnNpb25BUEkoInJlbW90ZS0iICsgdG9w
LmZyYW1lcy5sZW5ndGgpKTsKICAgICB9KSgpOyIiIikKIAogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9qcy9EZXZUb29scy5qcyBiL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL2pzL0RldlRvb2xzLmpzCmluZGV4IDJiNjc3NmRmYzYwOGNhZWRjODkzZTM0NWVmYTJj
NDNkZTg0YzUwZGYuLjk5YmM4YzhmMTBhODVhMWNhODU3N2IwZmU5OTdlYjJkZmFjNTYwOTcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL2pzL0RldlRvb2xzLmpzCisrKyBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL2pzL0RldlRvb2xzLmpzCkBAIC0xLDUgKzEsNSBA
QAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCkBAIC00MiwyNyArNDIsMTEg
QEAKICAgICBQcmVmZXJlbmNlcy5leHBvc2VXb3JrZXJzSW5zcGVjdGlvbiA9IHRydWU7CiB9KSgp
O30KIAotV2ViSW5zcGVjdG9yLnBsYXRmb3JtRXh0ZW5zaW9uQVBJID0gZnVuY3Rpb24odGFiSWQp
CitmdW5jdGlvbiBidWlsZFBsYXRmb3JtRXh0ZW5zaW9uQVBJKGV4dGVuc2lvbkluZm8pCiB7Ci0g
ICAgZnVuY3Rpb24gZ2V0VGFiSWQoKQotICAgIHsKLSAgICAgICAgcmV0dXJuIHRhYklkOwotICAg
IH0KLSAgICB3ZWJJbnNwZWN0b3IuaW5zcGVjdGVkV2luZG93Ll9fcHJvdG9fXy5fX2RlZmluZUdl
dHRlcl9fKCJ0YWJJZCIsIGdldFRhYklkKTsKLSAgICBjaHJvbWUgPSB3aW5kb3cuY2hyb21lIHx8
IHt9OwotICAgIGNocm9tZS5leHBlcmltZW50YWwgPSBjaHJvbWUuZXhwZXJpbWVudGFsIHx8IHt9
OwotICAgIGNocm9tZS5leHBlcmltZW50YWwuZGV2dG9vbHMgPSBjaHJvbWUuZXhwZXJpbWVudGFs
LmRldnRvb2xzIHx8IHt9OwotCi0gICAgdmFyIHByb3BlcnRpZXMgPSBPYmplY3QuZ2V0T3duUHJv
cGVydHlOYW1lcyh3ZWJJbnNwZWN0b3IpOwotICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcHJvcGVy
dGllcy5sZW5ndGg7ICsraSkgewotICAgICAgICB2YXIgZGVzY3JpcHRvciA9IE9iamVjdC5nZXRP
d25Qcm9wZXJ0eURlc2NyaXB0b3Iod2ViSW5zcGVjdG9yLCBwcm9wZXJ0aWVzW2ldKTsKLSAgICAg
ICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNocm9tZS5leHBlcmltZW50YWwuZGV2dG9vbHMsIHBy
b3BlcnRpZXNbaV0sIGRlc2NyaXB0b3IpOwotICAgIH0KLX0KLQotV2ViSW5zcGVjdG9yLmJ1aWxk
UGxhdGZvcm1FeHRlbnNpb25BUEkgPSBmdW5jdGlvbigpCi17Ci0gICAgcmV0dXJuICIoIiArIFdl
Ykluc3BlY3Rvci5wbGF0Zm9ybUV4dGVuc2lvbkFQSSArICIpKCIgKyBXZWJJbnNwZWN0b3IuX2lu
c3BlY3RlZFRhYklkICsgIik7IjsKKyAgICByZXR1cm4gInZhciBleHRlbnNpb25JbmZvID0gIiAr
IEpTT04uc3RyaW5naWZ5KGV4dGVuc2lvbkluZm8pICsgIjsiICsKKyAgICAgICAidmFyIHRhYklk
ID0gIiArIFdlYkluc3BlY3Rvci5faW5zcGVjdGVkVGFiSWQgKyAiOyIgKworICAgICAgIHBsYXRm
b3JtRXh0ZW5zaW9uQVBJLnRvU3RyaW5nKCk7CiB9CiAKIFdlYkluc3BlY3Rvci5zZXRJbnNwZWN0
ZWRUYWJJZCA9IGZ1bmN0aW9uKHRhYklkKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGJlY2RiZTlkMTlhZDRlMzc5MTI2YTUw
ZjAyYTk4NmUyYjA4MWI3MjMuLjNhNjY4NjhjOTI2OTU4OGEwZTg5NzEwODM5ZThjMGJjYWZhZTBk
MzMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKQEAgLTEsNSArMSwxNyBAQAogMjAxMS0xMi0yMCAgQW5kcmV5IEtvc3lha292ICA8
Y2FzZXFAY2hyb21pdW0ub3JnPgogCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IFtFeHRlbnNpb24g
QVBJXSByZWZhY3RvciBleHRlbnNpb24gQVBJIGJ1aWxkIGNvZGUsIGV4cG9zZSBleHBlcmltZW50
YWwgQVBJcyBjb25kaXRpb25hbGx5IGluIGNocm9taXVtCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NDk0MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogaHR0cC90ZXN0cy9pbnNwZWN0b3IvZXh0ZW5zaW9u
cy10ZXN0LmpzOgorICAgICAgICAoaW5pdGlhbGl6ZV9FeHRlbnNpb25zVGVzdC5JbnNwZWN0b3JU
ZXN0LnJ1bkV4dGVuc2lvblRlc3RzKToKKyAgICAgICAgKGluaXRpYWxpemVfRXh0ZW5zaW9uc1Rl
c3QpOgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2luc3BlY3Rvci9leHRlbnNpb25zL2V4
dGVuc2lvbnMtYXBpLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKworMjAxMS0xMi0yMCAgQW5kcmV5
IEtvc3lha292ICA8Y2FzZXFAY2hyb21pdW0ub3JnPgorCiAgICAgICAgIFJFR1JFU1NJT04ocjEw
MzMyNSkgLSBpbmplY3RlZC1zY3JpcHQtZm9yLW9yaWdpbi5odG1sIGNyYXNoaW5nIGluIENocm9t
aXVtIExpbnV4IGRlYnVnCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD03NDkzNAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3Bl
Y3Rvci9leHRlbnNpb25zLXRlc3QuanMgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rv
ci9leHRlbnNpb25zLXRlc3QuanMKaW5kZXggMzVmYzkxYWUxMjk3YzBjMGU1YjJkMGJkNTg1MDEw
ZDYzMjU0NmNlMy4uYzY2YzU3OTc3ZjUyZTVkNDc3MjUwMmE0YmM1OTlkMjFiMzU0YTUyYyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvZXh0ZW5zaW9ucy10ZXN0
LmpzCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2V4dGVuc2lvbnMtdGVz
dC5qcwpAQCAtNTAsNyArNTAsNyBAQCBJbnNwZWN0b3JUZXN0LnJ1bkV4dGVuc2lvblRlc3RzID0g
ZnVuY3Rpb24oKQogICAgICAgICAgICAgcGFnZVVSTC5yZXBsYWNlKC9eKGh0dHBzPzpcL1wvW14v
XSpcLykuKiQvLCIkMSIpIDoKICAgICAgICAgICAgIHBhZ2VVUkwucmVwbGFjZSgvXC9pbnNwZWN0
b3JcL2V4dGVuc2lvbnNcL1teL10qJC8sICIvaHR0cC90ZXN0cyIpKSArCiAgICAgICAgICAgICAi
L2luc3BlY3Rvci9yZXNvdXJjZXMvZXh0ZW5zaW9uLW1haW4uaHRtbCI7Ci0gICAgICAgIFdlYklu
c3BlY3Rvci5hZGRFeHRlbnNpb25zKFt7IHN0YXJ0UGFnZTogZXh0ZW5zaW9uVVJMLCBuYW1lOiAi
dGVzdCBleHRlbnNpb24iIH1dKTsKKyAgICAgICAgV2ViSW5zcGVjdG9yLmFkZEV4dGVuc2lvbnMo
W3sgc3RhcnRQYWdlOiBleHRlbnNpb25VUkwsIG5hbWU6ICJ0ZXN0IGV4dGVuc2lvbiIsIGV4cG9z
ZVdlYkluc3BlY3Rvck5hbWVzcGFjZTogdHJ1ZSB9XSk7CiAgICAgfSk7CiB9CiAKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2luc3BlY3Rvci9leHRlbnNpb25zL2V4
dGVuc2lvbnMtYXBpLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVt
L2luc3BlY3Rvci9leHRlbnNpb25zL2V4dGVuc2lvbnMtYXBpLWV4cGVjdGVkLnR4dApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzkyOThjZGY3MjBkMmI3N2NmMWI4OTIxMjkxYzY2NDg2
MTBmODllOC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9pbnNwZWN0b3IvZXh0ZW5zaW9ucy9leHRlbnNp
b25zLWFwaS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw5NSArMCwwIEBACi1UZXN0
cyBwdWJsaWMgaW50ZXJmYWNlIG9mIFdlYkluc3BlY3RvciBFeHRlbnNpb25zIEFQSQotCi1TdGFy
dGVkIGV4dGVuc2lvbi4KLVJ1bm5pbmcgdGVzdHMuLi4KLVJVTk5JTkcgVEVTVDogZXh0ZW5zaW9u
X3Rlc3RBUEkKLXsKLSAgICBhdWRpdHMgOiB7Ci0gICAgICAgIGFkZENhdGVnb3J5IDogPGZ1bmN0
aW9uPgotICAgIH0KLSAgICBpbnNwZWN0ZWRXaW5kb3cgOiB7Ci0gICAgICAgIG9uUmVzb3VyY2VB
ZGRlZCA6IHsKLSAgICAgICAgICAgIGFkZExpc3RlbmVyIDogPGZ1bmN0aW9uPgotICAgICAgICAg
ICAgcmVtb3ZlTGlzdGVuZXIgOiA8ZnVuY3Rpb24+Ci0gICAgICAgIH0KLSAgICAgICAgb25SZXNv
dXJjZUNvbnRlbnRDb21taXR0ZWQgOiB7Ci0gICAgICAgICAgICBhZGRMaXN0ZW5lciA6IDxmdW5j
dGlvbj4KLSAgICAgICAgICAgIHJlbW92ZUxpc3RlbmVyIDogPGZ1bmN0aW9uPgotICAgICAgICB9
Ci0gICAgICAgIHJlbG9hZCA6IDxmdW5jdGlvbj4KLSAgICAgICAgZXZhbCA6IDxmdW5jdGlvbj4K
LSAgICAgICAgZ2V0UmVzb3VyY2VzIDogPGZ1bmN0aW9uPgotICAgICAgICB0YWJJZCA6IHVuZGVm
aW5lZAotICAgIH0KLSAgICBwYW5lbHMgOiB7Ci0gICAgICAgIGVsZW1lbnRzIDogewotICAgICAg
ICAgICAgY3JlYXRlU2lkZWJhclBhbmUgOiA8ZnVuY3Rpb24+Ci0gICAgICAgICAgICBvblNlbGVj
dGlvbkNoYW5nZWQgOiB7Ci0gICAgICAgICAgICAgICAgYWRkTGlzdGVuZXIgOiA8ZnVuY3Rpb24+
Ci0gICAgICAgICAgICAgICAgcmVtb3ZlTGlzdGVuZXIgOiA8ZnVuY3Rpb24+Ci0gICAgICAgICAg
ICB9Ci0gICAgICAgIH0KLSAgICAgICAgY3JlYXRlIDogPGZ1bmN0aW9uPgotICAgICAgICBzZXRP
cGVuUmVzb3VyY2VIYW5kbGVyIDogPGZ1bmN0aW9uPgotICAgIH0KLSAgICBuZXR3b3JrIDogewot
ICAgICAgICBvblJlcXVlc3RGaW5pc2hlZCA6IHsKLSAgICAgICAgICAgIGFkZExpc3RlbmVyIDog
PGZ1bmN0aW9uPgotICAgICAgICAgICAgcmVtb3ZlTGlzdGVuZXIgOiA8ZnVuY3Rpb24+Ci0gICAg
ICAgIH0KLSAgICAgICAgb25GaW5pc2hlZCA6IHsKLSAgICAgICAgICAgIGFkZExpc3RlbmVyIDog
PGZ1bmN0aW9uPgotICAgICAgICAgICAgcmVtb3ZlTGlzdGVuZXIgOiA8ZnVuY3Rpb24+Ci0gICAg
ICAgIH0KLSAgICAgICAgb25OYXZpZ2F0ZWQgOiB7Ci0gICAgICAgICAgICBhZGRMaXN0ZW5lciA6
IDxmdW5jdGlvbj4KLSAgICAgICAgICAgIHJlbW92ZUxpc3RlbmVyIDogPGZ1bmN0aW9uPgotICAg
ICAgICB9Ci0gICAgICAgIGdldEhBUiA6IDxmdW5jdGlvbj4KLSAgICAgICAgYWRkUmVxdWVzdEhl
YWRlcnMgOiA8ZnVuY3Rpb24+Ci0gICAgfQotICAgIHJlc291cmNlcyA6IHsKLSAgICAgICAgb25S
ZXF1ZXN0RmluaXNoZWQgOiB7Ci0gICAgICAgICAgICBhZGRMaXN0ZW5lciA6IDxmdW5jdGlvbj4K
LSAgICAgICAgICAgIHJlbW92ZUxpc3RlbmVyIDogPGZ1bmN0aW9uPgotICAgICAgICB9Ci0gICAg
ICAgIG9uRmluaXNoZWQgOiB7Ci0gICAgICAgICAgICBhZGRMaXN0ZW5lciA6IDxmdW5jdGlvbj4K
LSAgICAgICAgICAgIHJlbW92ZUxpc3RlbmVyIDogPGZ1bmN0aW9uPgotICAgICAgICB9Ci0gICAg
ICAgIG9uTmF2aWdhdGVkIDogewotICAgICAgICAgICAgYWRkTGlzdGVuZXIgOiA8ZnVuY3Rpb24+
Ci0gICAgICAgICAgICByZW1vdmVMaXN0ZW5lciA6IDxmdW5jdGlvbj4KLSAgICAgICAgfQotICAg
ICAgICBnZXRIQVIgOiA8ZnVuY3Rpb24+Ci0gICAgICAgIGFkZFJlcXVlc3RIZWFkZXJzIDogPGZ1
bmN0aW9uPgotICAgIH0KLSAgICB0aW1lbGluZSA6IHsKLSAgICAgICAgb25FdmVudFJlY29yZGVk
IDogewotICAgICAgICAgICAgYWRkTGlzdGVuZXIgOiA8ZnVuY3Rpb24+Ci0gICAgICAgICAgICBy
ZW1vdmVMaXN0ZW5lciA6IDxmdW5jdGlvbj4KLSAgICAgICAgfQotICAgIH0KLSAgICBjb25zb2xl
IDogewotICAgICAgICBvbk1lc3NhZ2VBZGRlZCA6IHsKLSAgICAgICAgICAgIGFkZExpc3RlbmVy
IDogPGZ1bmN0aW9uPgotICAgICAgICAgICAgcmVtb3ZlTGlzdGVuZXIgOiA8ZnVuY3Rpb24+Ci0g
ICAgICAgIH0KLSAgICAgICAgZ2V0TWVzc2FnZXMgOiA8ZnVuY3Rpb24+Ci0gICAgICAgIGFkZE1l
c3NhZ2UgOiA8ZnVuY3Rpb24+Ci0gICAgICAgIFNldmVyaXR5IDogewotICAgICAgICAgICAgVGlw
IDogInRpcCIKLSAgICAgICAgICAgIERlYnVnIDogImRlYnVnIgotICAgICAgICAgICAgTG9nIDog
ImxvZyIKLSAgICAgICAgICAgIFdhcm5pbmcgOiAid2FybmluZyIKLSAgICAgICAgICAgIEVycm9y
IDogImVycm9yIgotICAgICAgICB9Ci0gICAgfQotICAgIG9uUmVzZXQgOiB7Ci0gICAgICAgIGFk
ZExpc3RlbmVyIDogPGZ1bmN0aW9uPgotICAgICAgICByZW1vdmVMaXN0ZW5lciA6IDxmdW5jdGlv
bj4KLSAgICB9Ci0gICAgbG9nIDogPGZ1bmN0aW9uPgotfQotQWxsIHRlc3RzIGRvbmUuCi0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>120043</attachid>
            <date>2011-12-20 10:50:36 -0800</date>
            <delta_ts>2011-12-20 23:55:06 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-74941-20111220225032.patch</filename>
            <type>text/plain</type>
            <size>22039</size>
            <attacher name="Andrey Kosyakov">caseq</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAzMzMzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGUwZTlkMzgzODM2MWVh
NmE3NGExNGMwMGRhNWNkYTlmZTYyY2I4Yi4uYjUzMzhkNGM1YzE4MTI5YTAyMWM0ZTNhMTAxNDhi
MzAwNWI1ZmE4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDExLTEyLTIwICBBbmRy
ZXkgS29zeWFrb3YgIDxjYXNlcUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3BlY3Rv
cjogW0V4dGVuc2lvbiBBUEldIHJlZmFjdG9yIGV4dGVuc2lvbiBBUEkgYnVpbGQgY29kZSwgZXhw
b3NlIGV4cGVyaW1lbnRhbCBBUElzIGNvbmRpdGlvbmFsbHkgaW4gY2hyb21pdW0KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTQxCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLiAoT09Q
UyEpCisKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250
LWVuZC9FeHRlbnNpb25BUEkuanM6CisgICAgICAgIChidWlsZFBsYXRmb3JtRXh0ZW5zaW9uQVBJ
LnBsYXRmb3JtRXh0ZW5zaW9uQVBJKToKKyAgICAgICAgKGJ1aWxkUGxhdGZvcm1FeHRlbnNpb25B
UEkpOgorICAgICAgICAoYnVpbGRFeHRlbnNpb25BUElJbmplY3RlZFNjcmlwdCk6CisgICAgICAg
ICogaW5zcGVjdG9yL2Zyb250LWVuZC9FeHRlbnNpb25TZXJ2ZXIuanM6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuRXh0ZW5zaW9uU2VydmVyLnByb3RvdHlwZS5fYWRkRXh0ZW5zaW9ucyk6CisgICAg
ICAgIChXZWJJbnNwZWN0b3IuRXh0ZW5zaW9uU2VydmVyLnByb3RvdHlwZS5fYWRkRXh0ZW5zaW9u
KToKKyAgICAgICAgKHdpbmRvdy5hZGRFeHRlbnNpb24pOgorCiAyMDExLTEyLTIwICBKdWxpZW4g
Q2hhZmZyYWl4ICA8amNoYWZmcmFpeEB3ZWJraXQub3JnPgogCiAgICAgICAgIFJlZ3Jlc3Npb24o
OTkyMTIpOiB0YWJsZSByb3dzIGdldCBpbmNvcnJlY3QgaGVpZ2h0IGFmdGVyIGNoYW5naW5nIHNv
bWUgY2VsbHMnIGhlaWdodApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCBhYTZkNGU2ZGUz
YzA3ZTE2MzU3MjkzYzI1ZWU0YjNmMzNkZDQ5ZWZlLi42NmIzNGJiMWYwODhmN2QwMTQ5YmI0Yzcw
Mjk5NTNlYTUyNWMzOGE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5
IEBACisyMDExLTEyLTIwICBBbmRyZXkgS29zeWFrb3YgIDxjYXNlcUBjaHJvbWl1bS5vcmc+CisK
KyAgICAgICAgV2ViIEluc3BlY3RvcjogW0V4dGVuc2lvbiBBUEldIHJlZmFjdG9yIGV4dGVuc2lv
biBBUEkgYnVpbGQgY29kZSwgZXhwb3NlIGV4cGVyaW1lbnRhbCBBUElzIGNvbmRpdGlvbmFsbHkg
aW4gY2hyb21pdW0KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTc0OTQxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBXZWJLaXQuZ3lwOgorICAgICAgICAqIFdlYktpdC5neXBpOgorICAgICAgICAqIHNjcmlw
dHMvY29uY2F0ZW5hdGVfanNfZmlsZXMucHk6CisgICAgICAgIChtYWluKToKKyAgICAgICAgKiBz
Y3JpcHRzL2dlbmVyYXRlX2RldnRvb2xzX2V4dGVuc2lvbl9hcGkucHk6CisgICAgICAgICh3cml0
ZV9kZXZ0b29sc19leHRlbnNpb25fYXBpKToKKyAgICAgICAgKiBzcmMvanMvRGV2VG9vbHMuanM6
CisgICAgICAgICgpOgorCiAyMDExLTEyLTIwICBHcmVnIEJpbGxvY2sgIDxnYmlsbG9ja0Bnb29n
bGUuY29tPgogCiAgICAgICAgIE1ha2UgV2ViSW50ZW50U2VydmljZUluZm8gY29uc3RydWN0b3Ig
cHVibGljIGZvciB0ZXN0aW5nLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5n
eXBpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IDg1Njk4NzAxMDNhNzhkMzIz
ZjJiMjhhYzE2N2UyNWFmNjE5OGE1NDEuLjA5YzA3MTBjNjk1ZDBjNmY5ZmNkNjM1ZDEyNTc1Y2Q0
MmFmMWNjMzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTY0MDcsNiArNjQwNyw3IEBACiAgICAgICAg
ICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9FbGVtZW50c1RyZWVPdXRsaW5lLmpzJywKICAgICAg
ICAgICAgICdpbnNwZWN0b3IvZnJvbnQtZW5kL0VtcHR5Vmlldy5qcycsCiAgICAgICAgICAgICAn
aW5zcGVjdG9yL2Zyb250LWVuZC9FdmVudExpc3RlbmVyc1NpZGViYXJQYW5lLmpzJywKKyAgICAg
ICAgICAgICdpbnNwZWN0b3IvZnJvbnQtZW5kL0V4dGVuc2lvbkFQSS5qcycsCiAgICAgICAgICAg
ICAnaW5zcGVjdG9yL2Zyb250LWVuZC9FeHRlbnNpb25BdWRpdENhdGVnb3J5LmpzJywKICAgICAg
ICAgICAgICdpbnNwZWN0b3IvZnJvbnQtZW5kL0V4dGVuc2lvblBhbmVsLmpzJywKICAgICAgICAg
ICAgICdpbnNwZWN0b3IvZnJvbnQtZW5kL0V4dGVuc2lvblJlZ2lzdHJ5U3R1Yi5qcycsCkBAIC02
NTE2LDcgKzY1MTcsNiBAQAogICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVj
dG9yU3ludGF4SGlnaGxpZ2h0LmNzcycsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVu
ZC9wb3BvdmVyLmNzcycsCiAgICAgICAgICAgICAnPEAod2ViaW5zcGVjdG9yX3N0YW5kYWxvbmVf
Y3NzX2ZpbGVzKScsCi0gICAgICAgICAgICAnPEAod2ViaW5zcGVjdG9yX2V4dGVuc2lvbl9hcGlf
ZmlsZXMpJywKICAgICAgICAgXSwKICAgICAgICAgJ3dlYmluc3BlY3Rvcl9zdGFuZGFsb25lX2Nz
c19maWxlcyc6IFsKICAgICAgICAgICAgICdpbnNwZWN0b3IvZnJvbnQtZW5kL2F1ZGl0c1BhbmVs
LmNzcycsCkBAIC02NTM2LDkgKzY1MzYsNiBAQAogICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9u
dC1lbmQvdGV4dFZpZXdlci5jc3MnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQv
dGltZWxpbmVQYW5lbC5jc3MnLAogICAgICAgICBdLAotICAgICAgICAnd2ViaW5zcGVjdG9yX2V4
dGVuc2lvbl9hcGlfZmlsZXMnOiBbCi0gICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9F
eHRlbnNpb25BUEkuanMnLAotICAgICAgICBdLAogICAgICAgICAnd2ViaW5zcGVjdG9yX3VnbGlm
eWpzX2ZpbGVzJzogWwogICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvVWdsaWZ5SlMv
cGFyc2UtanMuanMnLAogICAgICAgICBdLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9FeHRlbnNpb25BUEkuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL0V4dGVuc2lvbkFQSS5qcwppbmRleCA4MDQzYzBkMTEzZTNjNTc3NDVkODBk
YWM0OThiN2RjYjU3NDg2NDBkLi42YzQ5ZTYwODljZmQyOWY2ZjMyM2RmZTQ3MjEyMDg1MTcyZDMx
ZTViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0V4dGVu
c2lvbkFQSS5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0V4dGVu
c2lvbkFQSS5qcwpAQCAtODA2LDE5ICs4MDYsMjcgQEAgdmFyIFRpbWVsaW5lID0gZGVjbGFyZUlu
dGVyZmFjZUNsYXNzKFRpbWVsaW5lSW1wbCk7CiAKIHZhciBleHRlbnNpb25TZXJ2ZXIgPSBuZXcg
RXh0ZW5zaW9uU2VydmVyQ2xpZW50KCk7CiAKLXdpbmRvdy53ZWJJbnNwZWN0b3IgPSBuZXcgSW5z
cGVjdG9yRXh0ZW5zaW9uQVBJKCk7Ci13aW5kb3cuZXhwZXJpbWVudGFsID0gd2luZG93LmV4cGVy
aW1lbnRhbCB8fCB7fTsKLXdpbmRvdy5leHBlcmltZW50YWwud2ViSW5zcGVjdG9yID0gd2luZG93
LndlYkluc3BlY3RvcjsKK3JldHVybiBuZXcgSW5zcGVjdG9yRXh0ZW5zaW9uQVBJKCk7Cit9CiAK
Ky8vIERlZmF1bHQgaW1wbGVtZW50YXRpb247IHBsYXRmb3JtcyB3aWxsIG92ZXJyaWRlLgorZnVu
Y3Rpb24gYnVpbGRQbGF0Zm9ybUV4dGVuc2lvbkFQSSgpCit7CisgICAgZnVuY3Rpb24gcGxhdGZv
cm1FeHRlbnNpb25BUEkoY29yZUFQSSkKKyAgICB7CisgICAgICAgIHdpbmRvdy53ZWJJbnNwZWN0
b3IgPSBjb3JlQVBJOworICAgIH0KKyAgICByZXR1cm4gcGxhdGZvcm1FeHRlbnNpb25BUEkudG9T
dHJpbmcoKTsKIH0KIAotZnVuY3Rpb24gYnVpbGRFeHRlbnNpb25BUElJbmplY3RlZFNjcmlwdChw
bGF0Zm9ybUFQSSkKKworZnVuY3Rpb24gYnVpbGRFeHRlbnNpb25BUElJbmplY3RlZFNjcmlwdChl
eHRlbnNpb25JbmZvKQogewogICAgIHJldHVybiAiKGZ1bmN0aW9uKGluamVjdGVkU2NyaXB0SG9z
dCwgaW5zcGVjdGVkV2luZG93LCBpbmplY3RlZFNjcmlwdElkKXsgIiArCiAgICAgICAgIGRlZmlu
ZUNvbW1vbkV4dGVuc2lvblN5bWJvbHMudG9TdHJpbmcoKSArICI7IiArCiAgICAgICAgIGluamVj
dGVkRXh0ZW5zaW9uQVBJLnRvU3RyaW5nKCkgKyAiOyIgKwotICAgICAgICAiaW5qZWN0ZWRFeHRl
bnNpb25BUEkoaW5qZWN0ZWRTY3JpcHRJZCk7IiArCi0gICAgICAgIChwbGF0Zm9ybUFQSSB8fCAi
IikgKyAiOyIgKworICAgICAgICBidWlsZFBsYXRmb3JtRXh0ZW5zaW9uQVBJKGV4dGVuc2lvbklu
Zm8pICsgIjsiICsKKyAgICAgICAgInBsYXRmb3JtRXh0ZW5zaW9uQVBJKGluamVjdGVkRXh0ZW5z
aW9uQVBJKGluamVjdGVkU2NyaXB0SWQpKTsiICsKICAgICAgICAgInJldHVybiB7fTsiICsKICAg
ICAgICAgIn0pIjsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvRXh0ZW5zaW9uU2VydmVyLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9FeHRlbnNpb25TZXJ2ZXIuanMKaW5kZXggZDg0MDI2NDAzZTdjZDRjOGQxYTY5NGE1YWM3
MDk0OTY2MGE1ZWU4Ni4uZTAwZTRlZjgyNTFlNmM0YzRiMzE1OTQ2NDJiMzlhZjU0YWMyOTFiMiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9FeHRlbnNpb25T
ZXJ2ZXIuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9FeHRlbnNp
b25TZXJ2ZXIuanMKQEAgLTYwNCwxMiArNjA0LDE0IEBAIFdlYkluc3BlY3Rvci5FeHRlbnNpb25T
ZXJ2ZXIucHJvdG90eXBlID0gewogICAgIF9hZGRFeHRlbnNpb25zOiBmdW5jdGlvbihleHRlbnNp
b25zKQogICAgIHsKICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBleHRlbnNpb25zLmxlbmd0
aDsgKytpKQotICAgICAgICAgICAgdGhpcy5fYWRkRXh0ZW5zaW9uKGV4dGVuc2lvbnNbaV0uc3Rh
cnRQYWdlLCBleHRlbnNpb25zW2ldLm5hbWUpOworICAgICAgICAgICAgdGhpcy5fYWRkRXh0ZW5z
aW9uKGV4dGVuc2lvbnNbaV0pOwogICAgIH0sCiAKLSAgICBfYWRkRXh0ZW5zaW9uOiBmdW5jdGlv
bihzdGFydFBhZ2UsIG5hbWUpCisgICAgX2FkZEV4dGVuc2lvbjogZnVuY3Rpb24oZXh0ZW5zaW9u
SW5mbykKICAgICB7CiAgICAgICAgIGNvbnN0IHVybE9yaWdpblJlZ0V4cCA9IG5ldyBSZWdFeHAo
IihbXjpdKzpcL1wvW14vXSopXC8iKTsgLy8gQ2FuJ3QgdXNlIHJlZ2V4cCBsaXRlcmFsIGhlcmUs
IE1pbkpTIGNob2tlcyBvbiBpdC4KKyAgICAgICAgdmFyIHN0YXJ0UGFnZSA9IGV4dGVuc2lvbklu
Zm8uc3RhcnRQYWdlOworICAgICAgICB2YXIgbmFtZSA9IGV4dGVuc2lvbkluZm8ubmFtZTsKIAog
ICAgICAgICB0cnkgewogICAgICAgICAgICAgdmFyIG9yaWdpbk1hdGNoID0gdXJsT3JpZ2luUmVn
RXhwLmV4ZWMoc3RhcnRQYWdlKTsKQEAgLTYyMCw3ICs2MjIsNyBAQCBXZWJJbnNwZWN0b3IuRXh0
ZW5zaW9uU2VydmVyLnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIHZhciBleHRlbnNpb25Pcmln
aW4gPSBvcmlnaW5NYXRjaFsxXTsKICAgICAgICAgICAgIGlmICghdGhpcy5fcmVnaXN0ZXJlZEV4
dGVuc2lvbnNbZXh0ZW5zaW9uT3JpZ2luXSkgewogICAgICAgICAgICAgICAgIC8vIFNlZSBFeHRl
bnNpb25BUEkuanMgYW5kIEV4dGVuc2lvbkNvbW1vbi5qcyBmb3IgZGV0YWlscy4KLSAgICAgICAg
ICAgICAgICBJbnNwZWN0b3JGcm9udGVuZEhvc3Quc2V0SW5qZWN0ZWRTY3JpcHRGb3JPcmlnaW4o
ZXh0ZW5zaW9uT3JpZ2luLCB0aGlzLl9idWlsZEV4dGVuc2lvbkFQSVNjcmlwdCgpKTsKKyAgICAg
ICAgICAgICAgICBJbnNwZWN0b3JGcm9udGVuZEhvc3Quc2V0SW5qZWN0ZWRTY3JpcHRGb3JPcmln
aW4oZXh0ZW5zaW9uT3JpZ2luLCBidWlsZEV4dGVuc2lvbkFQSUluamVjdGVkU2NyaXB0KGV4dGVu
c2lvbkluZm8pKTsKICAgICAgICAgICAgICAgICB0aGlzLl9yZWdpc3RlcmVkRXh0ZW5zaW9uc1tl
eHRlbnNpb25PcmlnaW5dID0geyBuYW1lOiBuYW1lIH07CiAgICAgICAgICAgICB9CiAgICAgICAg
ICAgICB2YXIgaWZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7CkBAIC02
MzQsMTIgKzYzNiw2IEBAIFdlYkluc3BlY3Rvci5FeHRlbnNpb25TZXJ2ZXIucHJvdG90eXBlID0g
ewogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9LAogCi0gICAgX2J1aWxkRXh0ZW5zaW9uQVBJ
U2NyaXB0OiBmdW5jdGlvbigpCi0gICAgewotICAgICAgICB2YXIgcGxhdGZvcm1BUEkgPSBXZWJJ
bnNwZWN0b3IuYnVpbGRQbGF0Zm9ybUV4dGVuc2lvbkFQSSA/IFdlYkluc3BlY3Rvci5idWlsZFBs
YXRmb3JtRXh0ZW5zaW9uQVBJKCkgOiAiIjsKLSAgICAgICAgcmV0dXJuIGJ1aWxkRXh0ZW5zaW9u
QVBJSW5qZWN0ZWRTY3JpcHQocGxhdGZvcm1BUEkpOwotICAgIH0sCi0KICAgICBfb25XaW5kb3dN
ZXNzYWdlOiBmdW5jdGlvbihldmVudCkKICAgICB7CiAgICAgICAgIGlmIChldmVudC5kYXRhID09
PSAicmVnaXN0ZXJFeHRlbnNpb24iKQpAQCAtNzUyLDQgKzc0OCwxMCBAQCBkZWZpbmVDb21tb25F
eHRlbnNpb25TeW1ib2xzKFdlYkluc3BlY3Rvci5leHRlbnNpb25BUEkpOwogCiBXZWJJbnNwZWN0
b3IuZXh0ZW5zaW9uU2VydmVyID0gbmV3IFdlYkluc3BlY3Rvci5FeHRlbnNpb25TZXJ2ZXIoKTsK
IAotd2luZG93LmFkZEV4dGVuc2lvbiA9IFdlYkluc3BlY3Rvci5leHRlbnNpb25TZXJ2ZXIuX2Fk
ZEV4dGVuc2lvbi5iaW5kKFdlYkluc3BlY3Rvci5leHRlbnNpb25TZXJ2ZXIpOword2luZG93LmFk
ZEV4dGVuc2lvbiA9IGZ1bmN0aW9uKHBhZ2UsIG5hbWUpCit7CisgICAgV2ViSW5zcGVjdG9yLmV4
dGVuc2lvblNlcnZlci5fYWRkRXh0ZW5zaW9uKHsKKyAgICAgICAgc3RhcnRQYWdlOiBwYWdlLAor
ICAgICAgICBuYW1lOiBuYW1lLAorICAgIH0pOworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9XZWJLaXQuZ3lwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9XZWJLaXQuZ3lw
CmluZGV4IDNmY2NjYTViMjQ2ZTcwYzM2MGQ2OTQ2ZTNmM2M4ODdjNmUzYmU5ZjEuLjc0NzZiMjY3
YzRiZTdlMzVmNDcxMWUwZTM3MzhjMDk3YzBjZTllMTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vV2ViS2l0Lmd5cAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL1dlYktp
dC5neXAKQEAgLTkxNywxMCArOTE3LDEwIEBACiAgICAgICAgICAgICAgICAgJ3NjcmlwdF9uYW1l
JzogJ3NjcmlwdHMvZ2VuZXJhdGVfZGV2dG9vbHNfZXh0ZW5zaW9uX2FwaS5weScsCiAgICAgICAg
ICAgICAgICAgJ2lucHV0cyc6IFsKICAgICAgICAgICAgICAgICAgICAgJzxAKF9zY3JpcHRfbmFt
ZSknLAotICAgICAgICAgICAgICAgICAgICAnPEAod2ViaW5zcGVjdG9yX2V4dGVuc2lvbl9hcGlf
ZmlsZXMpJywKKyAgICAgICAgICAgICAgICAgICAgJzxAKGRldnRvb2xzX2V4dGVuc2lvbl9hcGlf
ZmlsZXMpJywKICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICdvdXRwdXRzJzog
Wyc8KFBST0RVQ1RfRElSKS9yZXNvdXJjZXMvaW5zcGVjdG9yL2RldnRvb2xzX2V4dGVuc2lvbl9h
cGkuanMnXSwKLSAgICAgICAgICAgICAgICAnYWN0aW9uJzogWydweXRob24nLCAnPEAoX3Njcmlw
dF9uYW1lKScsICc8QChfb3V0cHV0cyknLCAnPEAod2ViaW5zcGVjdG9yX2V4dGVuc2lvbl9hcGlf
ZmlsZXMpJ10sCisgICAgICAgICAgICAgICAgJ2FjdGlvbic6IFsncHl0aG9uJywgJzxAKF9zY3Jp
cHRfbmFtZSknLCAnPEAoX291dHB1dHMpJywgJzxAKGRldnRvb2xzX2V4dGVuc2lvbl9hcGlfZmls
ZXMpJ10sCiAgICAgICAgICAgICB9XSwKICAgICAgICAgfSwKICAgICAgICAgewpAQCAtOTk5LDcg
Kzk5OSw3IEBACiAgICAgICAgICAgICAgICAgICAgICc8QChfd29ya2Vyc19maWxlcyknLAogICAg
ICAgICAgICAgICAgICAgICAnPEAod2ViaW5zcGVjdG9yX2ltYWdlX2ZpbGVzKScsCiAgICAgICAg
ICAgICAgICAgICAgICc8QChkZXZ0b29sc19pbWFnZV9maWxlcyknLAotICAgICAgICAgICAgICAg
ICAgICAnPEAod2ViaW5zcGVjdG9yX2V4dGVuc2lvbl9hcGlfZmlsZXMpJywKKyAgICAgICAgICAg
ICAgICAgICAgJzxAKGRldnRvb2xzX2V4dGVuc2lvbl9hcGlfZmlsZXMpJywKICAgICAgICAgICAg
ICAgICBdLAogICAgICAgICAgICAgICAgICdzZWFyY2hfcGF0aCc6IFsKICAgICAgICAgICAgICAg
ICAgICAgJy4uLy4uL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZCcsCkBAIC0xMDEyLDcgKzEw
MTIsNyBAQAogICAgICAgICAgICAgICAgICdhY3Rpb24nOiBbJ3B5dGhvbicsICc8QChfc2NyaXB0
X25hbWUpJywgJzxAKF9pbnNwZWN0b3JfaHRtbCknLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICctLWRldnRvb2xzLWZpbGVzJywgJzxAKGRldnRvb2xzX2ZpbGVzKScsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy0td29ya2Vycy1maWxlcycsICc8
QChfd29ya2Vyc19maWxlcyknLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICctLWV4dGVuc2lvbi1hcGktZmlsZXMnLCAnPEAod2ViaW5zcGVjdG9yX2V4dGVuc2lvbl9hcGlf
ZmlsZXMpJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnLS1leHRlbnNp
b24tYXBpLWZpbGVzJywgJzxAKGRldnRvb2xzX2V4dGVuc2lvbl9hcGlfZmlsZXMpJywKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnLS1zZWFyY2gtcGF0aCcsICc8QChfc2Vh
cmNoX3BhdGgpJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnLS1qcy1z
ZWFyY2gtcGF0aCcsICc8QChfanNfc2VhcmNoX3BhdGgpJywKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAnLS1vdXRwdXQnLCAnPEAoX291dHB1dHMpJ10sCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXBpIGIvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9XZWJLaXQuZ3lwaQppbmRleCBiMmQwMTVhNDA5OGEyMDBmNzZhMzgwMzQ1NGFkYmRmZTU5
NWQwYmJjLi5lNjc0YmI2Yjg1YjA4NWNhYmFjYzlkOWQ2NDk5OTNkNWQ2MmZlNWNmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXBpCisrKyBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vV2ViS2l0Lmd5cGkKQEAgLTM0LDExICszNCwxNiBAQAogICAgICAgICAjIGZv
ciBjb3B5aW5nIHRoZW0gdG8gcmVzb3VyY2UgZGlyLCBhbmQgZm9yIGdlbmVyYXRpbmcgJ2RldnRv
b2xzLmh0bWwnIGZpbGUuCiAgICAgICAgICdkZXZ0b29sc19qc19maWxlcyc6IFsKICAgICAgICAg
ICAgICdzcmMvanMvRGV2VG9vbHMuanMnLAorICAgICAgICAgICAgJ3NyYy9qcy9EZXZUb29sc0V4
dGVuc2lvbkFQSS5qcycsCiAgICAgICAgICAgICAnc3JjL2pzL1Rlc3RzLmpzJywKICAgICAgICAg
XSwKICAgICAgICAgJ2RldnRvb2xzX2Nzc19maWxlcyc6IFsKICAgICAgICAgICAgICdzcmMvanMv
ZGV2VG9vbHMuY3NzJywKICAgICAgICAgXSwKKyAgICAgICAgJ2RldnRvb2xzX2V4dGVuc2lvbl9h
cGlfZmlsZXMnOiBbCisgICAgICAgICAgICAnLi4vLi4vV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL0V4dGVuc2lvbkFQSS5qcycsCisgICAgICAgICAgICAnc3JjL2pzL0RldlRvb2xzRXh0ZW5z
aW9uQVBJLmpzJworICAgICAgICBdLAogICAgICAgICAnZGV2dG9vbHNfaW1hZ2VfZmlsZXMnOiBb
CiAgICAgICAgICAgICAnc3JjL2pzL0ltYWdlcy9zZWdtZW50Q2hyb21pdW0ucG5nJywKICAgICAg
ICAgICAgICdzcmMvanMvSW1hZ2VzL3NlZ21lbnRIb3ZlckNocm9taXVtLnBuZycsCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NjcmlwdHMvY29uY2F0ZW5hdGVfanNfZmlsZXMu
cHkgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NjcmlwdHMvY29uY2F0ZW5hdGVfanNfZmlsZXMu
cHkKaW5kZXggMGViOTY1MjY3Y2RhMDQwNjU2NDQ1YzA0MDM1MDc5YTAyYzk2ZTUwYS4uODJjYmU4
NmM0ZjY2NjM0MzgwM2QzYjMzOTA4NjY0YzQ0MGY5ODRkOCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zY3JpcHRzL2NvbmNhdGVuYXRlX2pzX2ZpbGVzLnB5CisrKyBiL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc2NyaXB0cy9jb25jYXRlbmF0ZV9qc19maWxlcy5weQpAQCAtODcs
NiArODcsNyBAQCBkZWYgbWFpbihhcmd2KToKICAgICB3aXRoIG9wZW4oaW5wdXRfb3JkZXJfZmls
ZV9uYW1lLCAncicpIGFzIG9yZGVyX2h0bWw6CiAgICAgICAgIGV4dHJhY3RvciA9IE9yZGVyZWRK
U0ZpbGVzRXh0cmFjdG9yKG9yZGVyX2h0bWwucmVhZCgpKQogICAgIGV4dHJhY3Rvci5vcmRlcmVk
X2pzX2ZpbGVzLmFwcGVuZCgnRGV2VG9vbHMuanMnKQorICAgIGV4dHJhY3Rvci5vcmRlcmVkX2pz
X2ZpbGVzLmFwcGVuZCgnRGV2VG9vbHNFeHRlbnNpb25BUEkuanMnKQogICAgIGV4dHJhY3Rvci5v
cmRlcmVkX2pzX2ZpbGVzLmFwcGVuZCgnVGVzdHMuanMnKQogCiAgICAgZXhwYW5kZXIgPSBQYXRo
RXhwYW5kZXIoYXJndlsyOl0pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Nj
cmlwdHMvZ2VuZXJhdGVfZGV2dG9vbHNfZXh0ZW5zaW9uX2FwaS5weSBiL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc2NyaXB0cy9nZW5lcmF0ZV9kZXZ0b29sc19leHRlbnNpb25fYXBpLnB5CmluZGV4
IDdjN2M3M2IzYTc2ZDI5YzIxYjNmMmQxZjkxZTk5NGJjZTk4MzI2NjAuLmZiYjg3OGRmMjUwNjEx
NDQyZmJjMjZmN2QwYmQzY2FkYjQ1ZjYwNjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vc2NyaXB0cy9nZW5lcmF0ZV9kZXZ0b29sc19leHRlbnNpb25fYXBpLnB5CisrKyBiL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc2NyaXB0cy9nZW5lcmF0ZV9kZXZ0b29sc19leHRlbnNpb25f
YXBpLnB5CkBAIC0zOSwxNyArMzksOSBAQCBkZWYgd3JpdGVfZGV2dG9vbHNfZXh0ZW5zaW9uX2Fw
aShvdXRwdXQsIGlucHV0X25hbWVzKToKICAgICAgICAgaW5wdXQgPSBvcGVuKGlucHV0X25hbWUs
ICdyJykKICAgICAgICAgb3V0cHV0LndyaXRlKGlucHV0LnJlYWQoKSkKICAgICBvdXRwdXQud3Jp
dGUoIiIiCi0gICAgICAgIGluamVjdGVkRXh0ZW5zaW9uQVBJKCJyZW1vdGUtIiArIHRvcC5mcmFt
ZXMubGVuZ3RoKTsKLQotICAgICAgICBjaHJvbWUgPSB3aW5kb3cuY2hyb21lIHx8IHt9OwotICAg
ICAgICBjaHJvbWUuZXhwZXJpbWVudGFsID0gY2hyb21lLmV4cGVyaW1lbnRhbCB8fCB7fTsKLSAg
ICAgICAgY2hyb21lLmV4cGVyaW1lbnRhbC5kZXZ0b29scyA9IGNocm9tZS5leHBlcmltZW50YWwu
ZGV2dG9vbHMgfHwge307Ci0KLSAgICAgICAgdmFyIHByb3BlcnRpZXMgPSBPYmplY3QuZ2V0T3du
UHJvcGVydHlOYW1lcyh3ZWJJbnNwZWN0b3IpOwotICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8
IHByb3BlcnRpZXMubGVuZ3RoOyArK2kpIHsKLSAgICAgICAgICAgIHZhciBkZXNjcmlwdG9yID0g
T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih3ZWJJbnNwZWN0b3IsIHByb3BlcnRpZXNb
aV0pOwotICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNocm9tZS5leHBlcmltZW50
YWwuZGV2dG9vbHMsIHByb3BlcnRpZXNbaV0sIGRlc2NyaXB0b3IpOwotICAgICAgICB9CisgICAg
ICAgIHZhciB0YWJJZDsKKyAgICAgICAgdmFyIGV4dGVuc2lvbkluZm8gPSB7fTsKKyAgICAgICAg
cGxhdGZvcm1FeHRlbnNpb25BUEkoaW5qZWN0ZWRFeHRlbnNpb25BUEkoInJlbW90ZS0iICsgdG9w
LmZyYW1lcy5sZW5ndGgpKTsKICAgICB9KSgpOyIiIikKIAogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9qcy9EZXZUb29scy5qcyBiL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL2pzL0RldlRvb2xzLmpzCmluZGV4IDJiNjc3NmRmYzYwOGNhZWRjODkzZTM0NWVmYTJj
NDNkZTg0YzUwZGYuLjk5YmM4YzhmMTBhODVhMWNhODU3N2IwZmU5OTdlYjJkZmFjNTYwOTcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL2pzL0RldlRvb2xzLmpzCisrKyBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL2pzL0RldlRvb2xzLmpzCkBAIC0xLDUgKzEsNSBA
QAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCkBAIC00MiwyNyArNDIsMTEg
QEAKICAgICBQcmVmZXJlbmNlcy5leHBvc2VXb3JrZXJzSW5zcGVjdGlvbiA9IHRydWU7CiB9KSgp
O30KIAotV2ViSW5zcGVjdG9yLnBsYXRmb3JtRXh0ZW5zaW9uQVBJID0gZnVuY3Rpb24odGFiSWQp
CitmdW5jdGlvbiBidWlsZFBsYXRmb3JtRXh0ZW5zaW9uQVBJKGV4dGVuc2lvbkluZm8pCiB7Ci0g
ICAgZnVuY3Rpb24gZ2V0VGFiSWQoKQotICAgIHsKLSAgICAgICAgcmV0dXJuIHRhYklkOwotICAg
IH0KLSAgICB3ZWJJbnNwZWN0b3IuaW5zcGVjdGVkV2luZG93Ll9fcHJvdG9fXy5fX2RlZmluZUdl
dHRlcl9fKCJ0YWJJZCIsIGdldFRhYklkKTsKLSAgICBjaHJvbWUgPSB3aW5kb3cuY2hyb21lIHx8
IHt9OwotICAgIGNocm9tZS5leHBlcmltZW50YWwgPSBjaHJvbWUuZXhwZXJpbWVudGFsIHx8IHt9
OwotICAgIGNocm9tZS5leHBlcmltZW50YWwuZGV2dG9vbHMgPSBjaHJvbWUuZXhwZXJpbWVudGFs
LmRldnRvb2xzIHx8IHt9OwotCi0gICAgdmFyIHByb3BlcnRpZXMgPSBPYmplY3QuZ2V0T3duUHJv
cGVydHlOYW1lcyh3ZWJJbnNwZWN0b3IpOwotICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcHJvcGVy
dGllcy5sZW5ndGg7ICsraSkgewotICAgICAgICB2YXIgZGVzY3JpcHRvciA9IE9iamVjdC5nZXRP
d25Qcm9wZXJ0eURlc2NyaXB0b3Iod2ViSW5zcGVjdG9yLCBwcm9wZXJ0aWVzW2ldKTsKLSAgICAg
ICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNocm9tZS5leHBlcmltZW50YWwuZGV2dG9vbHMsIHBy
b3BlcnRpZXNbaV0sIGRlc2NyaXB0b3IpOwotICAgIH0KLX0KLQotV2ViSW5zcGVjdG9yLmJ1aWxk
UGxhdGZvcm1FeHRlbnNpb25BUEkgPSBmdW5jdGlvbigpCi17Ci0gICAgcmV0dXJuICIoIiArIFdl
Ykluc3BlY3Rvci5wbGF0Zm9ybUV4dGVuc2lvbkFQSSArICIpKCIgKyBXZWJJbnNwZWN0b3IuX2lu
c3BlY3RlZFRhYklkICsgIik7IjsKKyAgICByZXR1cm4gInZhciBleHRlbnNpb25JbmZvID0gIiAr
IEpTT04uc3RyaW5naWZ5KGV4dGVuc2lvbkluZm8pICsgIjsiICsKKyAgICAgICAidmFyIHRhYklk
ID0gIiArIFdlYkluc3BlY3Rvci5faW5zcGVjdGVkVGFiSWQgKyAiOyIgKworICAgICAgIHBsYXRm
b3JtRXh0ZW5zaW9uQVBJLnRvU3RyaW5nKCk7CiB9CiAKIFdlYkluc3BlY3Rvci5zZXRJbnNwZWN0
ZWRUYWJJZCA9IGZ1bmN0aW9uKHRhYklkKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9zcmMvanMvRGV2VG9vbHNFeHRlbnNpb25BUEkuanMgYi9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9qcy9EZXZUb29sc0V4dGVuc2lvbkFQSS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xNDQzZjE0YWI3
MzdlM2IzMGM5NzZiOGY3ZDQ1M2YwNzY2NmRiMmUwCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvanMvRGV2VG9vbHNFeHRlbnNpb25BUEkuanMKQEAgLTAsMCAr
MSw2MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0Ogor
ICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisg
KiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdv
b2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVz
ZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBz
b2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQg
Q09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdI
VAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKK2Z1bmN0aW9uIHBsYXRmb3JtRXh0ZW5zaW9uQVBJKGNvcmVBUEkpCit7CisgICAgZnVu
Y3Rpb24gZ2V0VGFiSWQoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHRhYklkOworICAgIH0KKyAg
ICBjaHJvbWUgPSB3aW5kb3cuY2hyb21lIHx8IHt9OworICAgIHZhciBkZXZ0b29sc19kZXNjcmlw
dG9yID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjaHJvbWUsICJkZXZ0b29scyIp
OworICAgIGlmICghZGV2dG9vbHNfZGVzY3JpcHRvciB8fCBkZXZ0b29sc19kZXNjcmlwdG9yLmdl
dCkKKyAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNocm9tZSwgImRldnRvb2xzIiwgeyB2
YWx1ZToge30sIGVudW1lcmFibGU6IHRydWUgfSk7CisgICAgY2hyb21lLmRldnRvb2xzLmluc3Bl
Y3RlZFdpbmRvdyA9IGNvcmVBUEkuaW5zcGVjdGVkV2luZG93OworICAgIGNocm9tZS5kZXZ0b29s
cy5pbnNwZWN0ZWRXaW5kb3cuX19wcm90b19fLl9fZGVmaW5lR2V0dGVyX18oInRhYklkIiwgZ2V0
VGFiSWQpOworICAgIGNocm9tZS5kZXZ0b29scy5uZXR3b3JrID0gY29yZUFQSS5uZXR3b3JrOwor
ICAgIGNocm9tZS5kZXZ0b29scy5wYW5lbHMgPSBjb3JlQVBJLnBhbmVsczsKKworICAgIC8vIGRl
ZmF1bHQgdG8gZXhwb3NlIGV4cGVyaW1lbnRhbCBBUElzIGZvciBub3cuCisgICAgaWYgKGV4dGVu
c2lvbkluZm8uZXhwb3NlRXhwZXJpbWVudGFsQVBJcyAhPT0gZmFsc2UpIHsKKyAgICAgICAgY2hy
b21lLmV4cGVyaW1lbnRhbCA9IGNocm9tZS5leHBlcmltZW50YWwgfHwge307CisgICAgICAgIGNo
cm9tZS5leHBlcmltZW50YWwuZGV2dG9vbHMgPSBjaHJvbWUuZXhwZXJpbWVudGFsLmRldnRvb2xz
IHx8IHt9OworCisgICAgICAgIHZhciBwcm9wZXJ0aWVzID0gT2JqZWN0LmdldE93blByb3BlcnR5
TmFtZXMoY29yZUFQSSk7CisgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcHJvcGVydGllcy5s
ZW5ndGg7ICsraSkgeworICAgICAgICAgICAgdmFyIGRlc2NyaXB0b3IgPSBPYmplY3QuZ2V0T3du
UHJvcGVydHlEZXNjcmlwdG9yKGNvcmVBUEksIHByb3BlcnRpZXNbaV0pOworICAgICAgICAgICAg
T2JqZWN0LmRlZmluZVByb3BlcnR5KGNocm9tZS5leHBlcmltZW50YWwuZGV2dG9vbHMsIHByb3Bl
cnRpZXNbaV0sIGRlc2NyaXB0b3IpOworICAgICAgICB9CisgICAgICAgIGNocm9tZS5leHBlcmlt
ZW50YWwuZGV2dG9vbHMuaW5zcGVjdGVkV2luZG93Ll9fcHJvdG9fXy5fX2RlZmluZUdldHRlcl9f
KCJ0YWJJZCIsIGdldFRhYklkKTsKKyAgICB9CisgICAgaWYgKGV4dGVuc2lvbkluZm8uZXhwb3Nl
V2ViSW5zcGVjdG9yTmFtZXNwYWNlKQorICAgICAgICB3aW5kb3cud2ViSW5zcGVjdG9yID0gY29y
ZUFQSTsKK30KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwppbmRleCBiZWNkYmU5ZDE5YWQ0ZTM3OTEyNmE1MGYwMmE5ODZlMmIwODFiNzIz
Li4zYTY2ODY4YzkyNjk1ODhhMGU4OTcxMDgzOWU4YzBiY2FmYWUwZDMzIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDUg
KzEsMTcgQEAKIDIwMTEtMTItMjAgIEFuZHJleSBLb3N5YWtvdiAgPGNhc2VxQGNocm9taXVtLm9y
Zz4KIAorICAgICAgICBXZWIgSW5zcGVjdG9yOiBbRXh0ZW5zaW9uIEFQSV0gcmVmYWN0b3IgZXh0
ZW5zaW9uIEFQSSBidWlsZCBjb2RlLCBleHBvc2UgZXhwZXJpbWVudGFsIEFQSXMgY29uZGl0aW9u
YWxseSBpbiBjaHJvbWl1bQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NzQ5NDEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIGh0dHAvdGVzdHMvaW5zcGVjdG9yL2V4dGVuc2lvbnMtdGVzdC5qczoKKyAgICAg
ICAgKGluaXRpYWxpemVfRXh0ZW5zaW9uc1Rlc3QuSW5zcGVjdG9yVGVzdC5ydW5FeHRlbnNpb25U
ZXN0cyk6CisgICAgICAgIChpbml0aWFsaXplX0V4dGVuc2lvbnNUZXN0KToKKyAgICAgICAgKiBw
bGF0Zm9ybS9jaHJvbWl1bS9pbnNwZWN0b3IvZXh0ZW5zaW9ucy9leHRlbnNpb25zLWFwaS1leHBl
Y3RlZC50eHQ6IFJlbW92ZWQuCisKKzIwMTEtMTItMjAgIEFuZHJleSBLb3N5YWtvdiAgPGNhc2Vx
QGNocm9taXVtLm9yZz4KKwogICAgICAgICBSRUdSRVNTSU9OKHIxMDMzMjUpIC0gaW5qZWN0ZWQt
c2NyaXB0LWZvci1vcmlnaW4uaHRtbCBjcmFzaGluZyBpbiBDaHJvbWl1bSBMaW51eCBkZWJ1Zwog
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5MzQKIApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvZXh0ZW5zaW9ucy10
ZXN0LmpzIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvZXh0ZW5zaW9ucy10ZXN0
LmpzCmluZGV4IDM1ZmM5MWFlMTI5N2MwYzBlNWIyZDBiZDU4NTAxMGQ2MzI1NDZjZTMuLmM2NmM1
Nzk3N2Y1MmU1ZDQ3NzI1MDJhNGJjNTk5ZDIxYjM1NGE1MmMgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2V4dGVuc2lvbnMtdGVzdC5qcworKysgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9leHRlbnNpb25zLXRlc3QuanMKQEAgLTUwLDcgKzUw
LDcgQEAgSW5zcGVjdG9yVGVzdC5ydW5FeHRlbnNpb25UZXN0cyA9IGZ1bmN0aW9uKCkKICAgICAg
ICAgICAgIHBhZ2VVUkwucmVwbGFjZSgvXihodHRwcz86XC9cL1teL10qXC8pLiokLywiJDEiKSA6
CiAgICAgICAgICAgICBwYWdlVVJMLnJlcGxhY2UoL1wvaW5zcGVjdG9yXC9leHRlbnNpb25zXC9b
Xi9dKiQvLCAiL2h0dHAvdGVzdHMiKSkgKwogICAgICAgICAgICAgIi9pbnNwZWN0b3IvcmVzb3Vy
Y2VzL2V4dGVuc2lvbi1tYWluLmh0bWwiOwotICAgICAgICBXZWJJbnNwZWN0b3IuYWRkRXh0ZW5z
aW9ucyhbeyBzdGFydFBhZ2U6IGV4dGVuc2lvblVSTCwgbmFtZTogInRlc3QgZXh0ZW5zaW9uIiB9
XSk7CisgICAgICAgIFdlYkluc3BlY3Rvci5hZGRFeHRlbnNpb25zKFt7IHN0YXJ0UGFnZTogZXh0
ZW5zaW9uVVJMLCBuYW1lOiAidGVzdCBleHRlbnNpb24iLCBleHBvc2VXZWJJbnNwZWN0b3JOYW1l
c3BhY2U6IHRydWUgfV0pOwogICAgIH0pOwogfQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9jaHJvbWl1bS9pbnNwZWN0b3IvZXh0ZW5zaW9ucy9leHRlbnNpb25zLWFwaS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9pbnNwZWN0b3IvZXh0ZW5z
aW9ucy9leHRlbnNpb25zLWFwaS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IGM5Mjk4Y2RmNzIwZDJiNzdjZjFiODkyMTI5MWM2NjQ4NjEwZjg5ZTguLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vY2hyb21pdW0vaW5zcGVjdG9yL2V4dGVuc2lvbnMvZXh0ZW5zaW9ucy1hcGktZXhwZWN0ZWQu
dHh0CisrKyAvZGV2L251bGwKQEAgLTEsOTUgKzAsMCBAQAotVGVzdHMgcHVibGljIGludGVyZmFj
ZSBvZiBXZWJJbnNwZWN0b3IgRXh0ZW5zaW9ucyBBUEkKLQotU3RhcnRlZCBleHRlbnNpb24uCi1S
dW5uaW5nIHRlc3RzLi4uCi1SVU5OSU5HIFRFU1Q6IGV4dGVuc2lvbl90ZXN0QVBJCi17Ci0gICAg
YXVkaXRzIDogewotICAgICAgICBhZGRDYXRlZ29yeSA6IDxmdW5jdGlvbj4KLSAgICB9Ci0gICAg
aW5zcGVjdGVkV2luZG93IDogewotICAgICAgICBvblJlc291cmNlQWRkZWQgOiB7Ci0gICAgICAg
ICAgICBhZGRMaXN0ZW5lciA6IDxmdW5jdGlvbj4KLSAgICAgICAgICAgIHJlbW92ZUxpc3RlbmVy
IDogPGZ1bmN0aW9uPgotICAgICAgICB9Ci0gICAgICAgIG9uUmVzb3VyY2VDb250ZW50Q29tbWl0
dGVkIDogewotICAgICAgICAgICAgYWRkTGlzdGVuZXIgOiA8ZnVuY3Rpb24+Ci0gICAgICAgICAg
ICByZW1vdmVMaXN0ZW5lciA6IDxmdW5jdGlvbj4KLSAgICAgICAgfQotICAgICAgICByZWxvYWQg
OiA8ZnVuY3Rpb24+Ci0gICAgICAgIGV2YWwgOiA8ZnVuY3Rpb24+Ci0gICAgICAgIGdldFJlc291
cmNlcyA6IDxmdW5jdGlvbj4KLSAgICAgICAgdGFiSWQgOiB1bmRlZmluZWQKLSAgICB9Ci0gICAg
cGFuZWxzIDogewotICAgICAgICBlbGVtZW50cyA6IHsKLSAgICAgICAgICAgIGNyZWF0ZVNpZGVi
YXJQYW5lIDogPGZ1bmN0aW9uPgotICAgICAgICAgICAgb25TZWxlY3Rpb25DaGFuZ2VkIDogewot
ICAgICAgICAgICAgICAgIGFkZExpc3RlbmVyIDogPGZ1bmN0aW9uPgotICAgICAgICAgICAgICAg
IHJlbW92ZUxpc3RlbmVyIDogPGZ1bmN0aW9uPgotICAgICAgICAgICAgfQotICAgICAgICB9Ci0g
ICAgICAgIGNyZWF0ZSA6IDxmdW5jdGlvbj4KLSAgICAgICAgc2V0T3BlblJlc291cmNlSGFuZGxl
ciA6IDxmdW5jdGlvbj4KLSAgICB9Ci0gICAgbmV0d29yayA6IHsKLSAgICAgICAgb25SZXF1ZXN0
RmluaXNoZWQgOiB7Ci0gICAgICAgICAgICBhZGRMaXN0ZW5lciA6IDxmdW5jdGlvbj4KLSAgICAg
ICAgICAgIHJlbW92ZUxpc3RlbmVyIDogPGZ1bmN0aW9uPgotICAgICAgICB9Ci0gICAgICAgIG9u
RmluaXNoZWQgOiB7Ci0gICAgICAgICAgICBhZGRMaXN0ZW5lciA6IDxmdW5jdGlvbj4KLSAgICAg
ICAgICAgIHJlbW92ZUxpc3RlbmVyIDogPGZ1bmN0aW9uPgotICAgICAgICB9Ci0gICAgICAgIG9u
TmF2aWdhdGVkIDogewotICAgICAgICAgICAgYWRkTGlzdGVuZXIgOiA8ZnVuY3Rpb24+Ci0gICAg
ICAgICAgICByZW1vdmVMaXN0ZW5lciA6IDxmdW5jdGlvbj4KLSAgICAgICAgfQotICAgICAgICBn
ZXRIQVIgOiA8ZnVuY3Rpb24+Ci0gICAgICAgIGFkZFJlcXVlc3RIZWFkZXJzIDogPGZ1bmN0aW9u
PgotICAgIH0KLSAgICByZXNvdXJjZXMgOiB7Ci0gICAgICAgIG9uUmVxdWVzdEZpbmlzaGVkIDog
ewotICAgICAgICAgICAgYWRkTGlzdGVuZXIgOiA8ZnVuY3Rpb24+Ci0gICAgICAgICAgICByZW1v
dmVMaXN0ZW5lciA6IDxmdW5jdGlvbj4KLSAgICAgICAgfQotICAgICAgICBvbkZpbmlzaGVkIDog
ewotICAgICAgICAgICAgYWRkTGlzdGVuZXIgOiA8ZnVuY3Rpb24+Ci0gICAgICAgICAgICByZW1v
dmVMaXN0ZW5lciA6IDxmdW5jdGlvbj4KLSAgICAgICAgfQotICAgICAgICBvbk5hdmlnYXRlZCA6
IHsKLSAgICAgICAgICAgIGFkZExpc3RlbmVyIDogPGZ1bmN0aW9uPgotICAgICAgICAgICAgcmVt
b3ZlTGlzdGVuZXIgOiA8ZnVuY3Rpb24+Ci0gICAgICAgIH0KLSAgICAgICAgZ2V0SEFSIDogPGZ1
bmN0aW9uPgotICAgICAgICBhZGRSZXF1ZXN0SGVhZGVycyA6IDxmdW5jdGlvbj4KLSAgICB9Ci0g
ICAgdGltZWxpbmUgOiB7Ci0gICAgICAgIG9uRXZlbnRSZWNvcmRlZCA6IHsKLSAgICAgICAgICAg
IGFkZExpc3RlbmVyIDogPGZ1bmN0aW9uPgotICAgICAgICAgICAgcmVtb3ZlTGlzdGVuZXIgOiA8
ZnVuY3Rpb24+Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgY29uc29sZSA6IHsKLSAgICAgICAgb25N
ZXNzYWdlQWRkZWQgOiB7Ci0gICAgICAgICAgICBhZGRMaXN0ZW5lciA6IDxmdW5jdGlvbj4KLSAg
ICAgICAgICAgIHJlbW92ZUxpc3RlbmVyIDogPGZ1bmN0aW9uPgotICAgICAgICB9Ci0gICAgICAg
IGdldE1lc3NhZ2VzIDogPGZ1bmN0aW9uPgotICAgICAgICBhZGRNZXNzYWdlIDogPGZ1bmN0aW9u
PgotICAgICAgICBTZXZlcml0eSA6IHsKLSAgICAgICAgICAgIFRpcCA6ICJ0aXAiCi0gICAgICAg
ICAgICBEZWJ1ZyA6ICJkZWJ1ZyIKLSAgICAgICAgICAgIExvZyA6ICJsb2ciCi0gICAgICAgICAg
ICBXYXJuaW5nIDogIndhcm5pbmciCi0gICAgICAgICAgICBFcnJvciA6ICJlcnJvciIKLSAgICAg
ICAgfQotICAgIH0KLSAgICBvblJlc2V0IDogewotICAgICAgICBhZGRMaXN0ZW5lciA6IDxmdW5j
dGlvbj4KLSAgICAgICAgcmVtb3ZlTGlzdGVuZXIgOiA8ZnVuY3Rpb24+Ci0gICAgfQotICAgIGxv
ZyA6IDxmdW5jdGlvbj4KLX0KLUFsbCB0ZXN0cyBkb25lLgotCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>120152</attachid>
            <date>2011-12-20 23:55:16 -0800</date>
            <delta_ts>2011-12-21 03:52:56 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-74941-20111221115514.patch</filename>
            <type>text/plain</type>
            <size>22266</size>
            <attacher name="Andrey Kosyakov">caseq</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAzMzkwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGU0NWYxMjU0YmJkNDgy
YjY3Zjk1YTYyNTQ5MzM4NjUzMDc4NjNhYS4uNjAyNTdhOTEyZjBkYTg4MjRiMzRlNDVmOTY2NmIw
ZjFhYjQ5NjMyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDExLTEyLTIwICBBbmRy
ZXkgS29zeWFrb3YgIDxjYXNlcUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3BlY3Rv
cjogW0V4dGVuc2lvbiBBUEldIHJlZmFjdG9yIGV4dGVuc2lvbiBBUEkgYnVpbGQgY29kZSwgZXhw
b3NlIGV4cGVyaW1lbnRhbCBBUElzIGNvbmRpdGlvbmFsbHkgaW4gY2hyb21pdW0KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTQxCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLiAoT09Q
UyEpCisKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250
LWVuZC9FeHRlbnNpb25BUEkuanM6CisgICAgICAgIChidWlsZFBsYXRmb3JtRXh0ZW5zaW9uQVBJ
LnBsYXRmb3JtRXh0ZW5zaW9uQVBJKToKKyAgICAgICAgKGJ1aWxkUGxhdGZvcm1FeHRlbnNpb25B
UEkpOgorICAgICAgICAoYnVpbGRFeHRlbnNpb25BUElJbmplY3RlZFNjcmlwdCk6CisgICAgICAg
ICogaW5zcGVjdG9yL2Zyb250LWVuZC9FeHRlbnNpb25TZXJ2ZXIuanM6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuRXh0ZW5zaW9uU2VydmVyLnByb3RvdHlwZS5fYWRkRXh0ZW5zaW9ucyk6CisgICAg
ICAgIChXZWJJbnNwZWN0b3IuRXh0ZW5zaW9uU2VydmVyLnByb3RvdHlwZS5fYWRkRXh0ZW5zaW9u
KToKKyAgICAgICAgKHdpbmRvdy5hZGRFeHRlbnNpb24pOgorCiAyMDExLTEyLTIwICBQZXRlciBS
eWJpbiAgPHBldGVyLnJ5YmluQGdtYWlsLmNvbT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBD
b2RlR2VuZXJhdG9yIHNob3VsZCBub3QgdXNlIHBvaW50ZXJzIGZvciBvdXQgcGFyYW1zIG9mIFJl
ZlB0ciB0eXBlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCA4ZDJhMWRlZGRjZmNiNjg1
MjRhYzQ1N2YyNWVjZmUxYjVlN2ViN2RkLi5iYzJhYmViODJkMmQwYmUxN2NlYjU1ZDlhNmFkMGJl
NjFlMTk3YmYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisy
MDExLTEyLTIwICBBbmRyZXkgS29zeWFrb3YgIDxjYXNlcUBjaHJvbWl1bS5vcmc+CisKKyAgICAg
ICAgV2ViIEluc3BlY3RvcjogW0V4dGVuc2lvbiBBUEldIHJlZmFjdG9yIGV4dGVuc2lvbiBBUEkg
YnVpbGQgY29kZSwgZXhwb3NlIGV4cGVyaW1lbnRhbCBBUElzIGNvbmRpdGlvbmFsbHkgaW4gY2hy
b21pdW0KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc0
OTQxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBX
ZWJLaXQuZ3lwOgorICAgICAgICAqIFdlYktpdC5neXBpOgorICAgICAgICAqIHNjcmlwdHMvY29u
Y2F0ZW5hdGVfanNfZmlsZXMucHk6CisgICAgICAgIChtYWluKToKKyAgICAgICAgKiBzY3JpcHRz
L2dlbmVyYXRlX2RldnRvb2xzX2V4dGVuc2lvbl9hcGkucHk6CisgICAgICAgICh3cml0ZV9kZXZ0
b29sc19leHRlbnNpb25fYXBpKToKKyAgICAgICAgKiBzcmMvanMvRGV2VG9vbHMuanM6CisgICAg
ICAgICgpOgorCiAyMDExLTEyLTIwICBOYXRlIENoYXBpbiAgPGphcGhldEBjaHJvbWl1bS5vcmc+
CiAKICAgICAgICAgUmV2ZXJ0IGNvZGUgZm9yIHI5NjkxMiBhbmQgcjEwMTkwNSwgc2luY2UgdGhl
eSBjYXVzZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IGZjZGY1YjhiMzI1MDE5ZGQ4NDJjMjdlYTU4NTkw
ZDJlZTZlZTQ5MzUuLjExMjExZjNhYmNhNjRkMDQ1N2MxZjRiNTdmYjZkZDdmMTJkM2NkZmUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLmd5cGkKQEAgLTY0MDcsNiArNjQwNyw3IEBACiAgICAgICAgICAgICAnaW5zcGVj
dG9yL2Zyb250LWVuZC9FbGVtZW50c1RyZWVPdXRsaW5lLmpzJywKICAgICAgICAgICAgICdpbnNw
ZWN0b3IvZnJvbnQtZW5kL0VtcHR5Vmlldy5qcycsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL2Zy
b250LWVuZC9FdmVudExpc3RlbmVyc1NpZGViYXJQYW5lLmpzJywKKyAgICAgICAgICAgICdpbnNw
ZWN0b3IvZnJvbnQtZW5kL0V4dGVuc2lvbkFQSS5qcycsCiAgICAgICAgICAgICAnaW5zcGVjdG9y
L2Zyb250LWVuZC9FeHRlbnNpb25BdWRpdENhdGVnb3J5LmpzJywKICAgICAgICAgICAgICdpbnNw
ZWN0b3IvZnJvbnQtZW5kL0V4dGVuc2lvblBhbmVsLmpzJywKICAgICAgICAgICAgICdpbnNwZWN0
b3IvZnJvbnQtZW5kL0V4dGVuc2lvblJlZ2lzdHJ5U3R1Yi5qcycsCkBAIC02NTE2LDcgKzY1MTcs
NiBAQAogICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yU3ludGF4SGln
aGxpZ2h0LmNzcycsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9wb3BvdmVyLmNz
cycsCiAgICAgICAgICAgICAnPEAod2ViaW5zcGVjdG9yX3N0YW5kYWxvbmVfY3NzX2ZpbGVzKScs
Ci0gICAgICAgICAgICAnPEAod2ViaW5zcGVjdG9yX2V4dGVuc2lvbl9hcGlfZmlsZXMpJywKICAg
ICAgICAgXSwKICAgICAgICAgJ3dlYmluc3BlY3Rvcl9zdGFuZGFsb25lX2Nzc19maWxlcyc6IFsK
ICAgICAgICAgICAgICdpbnNwZWN0b3IvZnJvbnQtZW5kL2F1ZGl0c1BhbmVsLmNzcycsCkBAIC02
NTM2LDkgKzY1MzYsNiBAQAogICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvdGV4dFZp
ZXdlci5jc3MnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvdGltZWxpbmVQYW5l
bC5jc3MnLAogICAgICAgICBdLAotICAgICAgICAnd2ViaW5zcGVjdG9yX2V4dGVuc2lvbl9hcGlf
ZmlsZXMnOiBbCi0gICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9FeHRlbnNpb25BUEku
anMnLAotICAgICAgICBdLAogICAgICAgICAnd2ViaW5zcGVjdG9yX3VnbGlmeWpzX2ZpbGVzJzog
WwogICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvVWdsaWZ5SlMvcGFyc2UtanMuanMn
LAogICAgICAgICBdLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9FeHRlbnNpb25BUEkuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L0V4dGVuc2lvbkFQSS5qcwppbmRleCA4MDQzYzBkMTEzZTNjNTc3NDVkODBkYWM0OThiN2RjYjU3
NDg2NDBkLi42YzQ5ZTYwODljZmQyOWY2ZjMyM2RmZTQ3MjEyMDg1MTcyZDMxZTViIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0V4dGVuc2lvbkFQSS5qcwor
KysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0V4dGVuc2lvbkFQSS5qcwpA
QCAtODA2LDE5ICs4MDYsMjcgQEAgdmFyIFRpbWVsaW5lID0gZGVjbGFyZUludGVyZmFjZUNsYXNz
KFRpbWVsaW5lSW1wbCk7CiAKIHZhciBleHRlbnNpb25TZXJ2ZXIgPSBuZXcgRXh0ZW5zaW9uU2Vy
dmVyQ2xpZW50KCk7CiAKLXdpbmRvdy53ZWJJbnNwZWN0b3IgPSBuZXcgSW5zcGVjdG9yRXh0ZW5z
aW9uQVBJKCk7Ci13aW5kb3cuZXhwZXJpbWVudGFsID0gd2luZG93LmV4cGVyaW1lbnRhbCB8fCB7
fTsKLXdpbmRvdy5leHBlcmltZW50YWwud2ViSW5zcGVjdG9yID0gd2luZG93LndlYkluc3BlY3Rv
cjsKK3JldHVybiBuZXcgSW5zcGVjdG9yRXh0ZW5zaW9uQVBJKCk7Cit9CiAKKy8vIERlZmF1bHQg
aW1wbGVtZW50YXRpb247IHBsYXRmb3JtcyB3aWxsIG92ZXJyaWRlLgorZnVuY3Rpb24gYnVpbGRQ
bGF0Zm9ybUV4dGVuc2lvbkFQSSgpCit7CisgICAgZnVuY3Rpb24gcGxhdGZvcm1FeHRlbnNpb25B
UEkoY29yZUFQSSkKKyAgICB7CisgICAgICAgIHdpbmRvdy53ZWJJbnNwZWN0b3IgPSBjb3JlQVBJ
OworICAgIH0KKyAgICByZXR1cm4gcGxhdGZvcm1FeHRlbnNpb25BUEkudG9TdHJpbmcoKTsKIH0K
IAotZnVuY3Rpb24gYnVpbGRFeHRlbnNpb25BUElJbmplY3RlZFNjcmlwdChwbGF0Zm9ybUFQSSkK
KworZnVuY3Rpb24gYnVpbGRFeHRlbnNpb25BUElJbmplY3RlZFNjcmlwdChleHRlbnNpb25JbmZv
KQogewogICAgIHJldHVybiAiKGZ1bmN0aW9uKGluamVjdGVkU2NyaXB0SG9zdCwgaW5zcGVjdGVk
V2luZG93LCBpbmplY3RlZFNjcmlwdElkKXsgIiArCiAgICAgICAgIGRlZmluZUNvbW1vbkV4dGVu
c2lvblN5bWJvbHMudG9TdHJpbmcoKSArICI7IiArCiAgICAgICAgIGluamVjdGVkRXh0ZW5zaW9u
QVBJLnRvU3RyaW5nKCkgKyAiOyIgKwotICAgICAgICAiaW5qZWN0ZWRFeHRlbnNpb25BUEkoaW5q
ZWN0ZWRTY3JpcHRJZCk7IiArCi0gICAgICAgIChwbGF0Zm9ybUFQSSB8fCAiIikgKyAiOyIgKwor
ICAgICAgICBidWlsZFBsYXRmb3JtRXh0ZW5zaW9uQVBJKGV4dGVuc2lvbkluZm8pICsgIjsiICsK
KyAgICAgICAgInBsYXRmb3JtRXh0ZW5zaW9uQVBJKGluamVjdGVkRXh0ZW5zaW9uQVBJKGluamVj
dGVkU2NyaXB0SWQpKTsiICsKICAgICAgICAgInJldHVybiB7fTsiICsKICAgICAgICAgIn0pIjsK
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRXh0ZW5z
aW9uU2VydmVyLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9FeHRlbnNp
b25TZXJ2ZXIuanMKaW5kZXggZDg0MDI2NDAzZTdjZDRjOGQxYTY5NGE1YWM3MDk0OTY2MGE1ZWU4
Ni4uZTAwZTRlZjgyNTFlNmM0YzRiMzE1OTQ2NDJiMzlhZjU0YWMyOTFiMiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9FeHRlbnNpb25TZXJ2ZXIuanMKKysr
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9FeHRlbnNpb25TZXJ2ZXIuanMK
QEAgLTYwNCwxMiArNjA0LDE0IEBAIFdlYkluc3BlY3Rvci5FeHRlbnNpb25TZXJ2ZXIucHJvdG90
eXBlID0gewogICAgIF9hZGRFeHRlbnNpb25zOiBmdW5jdGlvbihleHRlbnNpb25zKQogICAgIHsK
ICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBleHRlbnNpb25zLmxlbmd0aDsgKytpKQotICAg
ICAgICAgICAgdGhpcy5fYWRkRXh0ZW5zaW9uKGV4dGVuc2lvbnNbaV0uc3RhcnRQYWdlLCBleHRl
bnNpb25zW2ldLm5hbWUpOworICAgICAgICAgICAgdGhpcy5fYWRkRXh0ZW5zaW9uKGV4dGVuc2lv
bnNbaV0pOwogICAgIH0sCiAKLSAgICBfYWRkRXh0ZW5zaW9uOiBmdW5jdGlvbihzdGFydFBhZ2Us
IG5hbWUpCisgICAgX2FkZEV4dGVuc2lvbjogZnVuY3Rpb24oZXh0ZW5zaW9uSW5mbykKICAgICB7
CiAgICAgICAgIGNvbnN0IHVybE9yaWdpblJlZ0V4cCA9IG5ldyBSZWdFeHAoIihbXjpdKzpcL1wv
W14vXSopXC8iKTsgLy8gQ2FuJ3QgdXNlIHJlZ2V4cCBsaXRlcmFsIGhlcmUsIE1pbkpTIGNob2tl
cyBvbiBpdC4KKyAgICAgICAgdmFyIHN0YXJ0UGFnZSA9IGV4dGVuc2lvbkluZm8uc3RhcnRQYWdl
OworICAgICAgICB2YXIgbmFtZSA9IGV4dGVuc2lvbkluZm8ubmFtZTsKIAogICAgICAgICB0cnkg
ewogICAgICAgICAgICAgdmFyIG9yaWdpbk1hdGNoID0gdXJsT3JpZ2luUmVnRXhwLmV4ZWMoc3Rh
cnRQYWdlKTsKQEAgLTYyMCw3ICs2MjIsNyBAQCBXZWJJbnNwZWN0b3IuRXh0ZW5zaW9uU2VydmVy
LnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIHZhciBleHRlbnNpb25PcmlnaW4gPSBvcmlnaW5N
YXRjaFsxXTsKICAgICAgICAgICAgIGlmICghdGhpcy5fcmVnaXN0ZXJlZEV4dGVuc2lvbnNbZXh0
ZW5zaW9uT3JpZ2luXSkgewogICAgICAgICAgICAgICAgIC8vIFNlZSBFeHRlbnNpb25BUEkuanMg
YW5kIEV4dGVuc2lvbkNvbW1vbi5qcyBmb3IgZGV0YWlscy4KLSAgICAgICAgICAgICAgICBJbnNw
ZWN0b3JGcm9udGVuZEhvc3Quc2V0SW5qZWN0ZWRTY3JpcHRGb3JPcmlnaW4oZXh0ZW5zaW9uT3Jp
Z2luLCB0aGlzLl9idWlsZEV4dGVuc2lvbkFQSVNjcmlwdCgpKTsKKyAgICAgICAgICAgICAgICBJ
bnNwZWN0b3JGcm9udGVuZEhvc3Quc2V0SW5qZWN0ZWRTY3JpcHRGb3JPcmlnaW4oZXh0ZW5zaW9u
T3JpZ2luLCBidWlsZEV4dGVuc2lvbkFQSUluamVjdGVkU2NyaXB0KGV4dGVuc2lvbkluZm8pKTsK
ICAgICAgICAgICAgICAgICB0aGlzLl9yZWdpc3RlcmVkRXh0ZW5zaW9uc1tleHRlbnNpb25Pcmln
aW5dID0geyBuYW1lOiBuYW1lIH07CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICB2YXIgaWZy
YW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7CkBAIC02MzQsMTIgKzYzNiw2
IEBAIFdlYkluc3BlY3Rvci5FeHRlbnNpb25TZXJ2ZXIucHJvdG90eXBlID0gewogICAgICAgICBy
ZXR1cm4gdHJ1ZTsKICAgICB9LAogCi0gICAgX2J1aWxkRXh0ZW5zaW9uQVBJU2NyaXB0OiBmdW5j
dGlvbigpCi0gICAgewotICAgICAgICB2YXIgcGxhdGZvcm1BUEkgPSBXZWJJbnNwZWN0b3IuYnVp
bGRQbGF0Zm9ybUV4dGVuc2lvbkFQSSA/IFdlYkluc3BlY3Rvci5idWlsZFBsYXRmb3JtRXh0ZW5z
aW9uQVBJKCkgOiAiIjsKLSAgICAgICAgcmV0dXJuIGJ1aWxkRXh0ZW5zaW9uQVBJSW5qZWN0ZWRT
Y3JpcHQocGxhdGZvcm1BUEkpOwotICAgIH0sCi0KICAgICBfb25XaW5kb3dNZXNzYWdlOiBmdW5j
dGlvbihldmVudCkKICAgICB7CiAgICAgICAgIGlmIChldmVudC5kYXRhID09PSAicmVnaXN0ZXJF
eHRlbnNpb24iKQpAQCAtNzUyLDQgKzc0OCwxMCBAQCBkZWZpbmVDb21tb25FeHRlbnNpb25TeW1i
b2xzKFdlYkluc3BlY3Rvci5leHRlbnNpb25BUEkpOwogCiBXZWJJbnNwZWN0b3IuZXh0ZW5zaW9u
U2VydmVyID0gbmV3IFdlYkluc3BlY3Rvci5FeHRlbnNpb25TZXJ2ZXIoKTsKIAotd2luZG93LmFk
ZEV4dGVuc2lvbiA9IFdlYkluc3BlY3Rvci5leHRlbnNpb25TZXJ2ZXIuX2FkZEV4dGVuc2lvbi5i
aW5kKFdlYkluc3BlY3Rvci5leHRlbnNpb25TZXJ2ZXIpOword2luZG93LmFkZEV4dGVuc2lvbiA9
IGZ1bmN0aW9uKHBhZ2UsIG5hbWUpCit7CisgICAgV2ViSW5zcGVjdG9yLmV4dGVuc2lvblNlcnZl
ci5fYWRkRXh0ZW5zaW9uKHsKKyAgICAgICAgc3RhcnRQYWdlOiBwYWdlLAorICAgICAgICBuYW1l
OiBuYW1lLAorICAgIH0pOworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9X
ZWJLaXQuZ3lwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9XZWJLaXQuZ3lwCmluZGV4IDNmY2Nj
YTViMjQ2ZTcwYzM2MGQ2OTQ2ZTNmM2M4ODdjNmUzYmU5ZjEuLjc0NzZiMjY3YzRiZTdlMzVmNDcx
MWUwZTM3MzhjMDk3YzBjZTllMTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
V2ViS2l0Lmd5cAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXAKQEAgLTkx
NywxMCArOTE3LDEwIEBACiAgICAgICAgICAgICAgICAgJ3NjcmlwdF9uYW1lJzogJ3NjcmlwdHMv
Z2VuZXJhdGVfZGV2dG9vbHNfZXh0ZW5zaW9uX2FwaS5weScsCiAgICAgICAgICAgICAgICAgJ2lu
cHV0cyc6IFsKICAgICAgICAgICAgICAgICAgICAgJzxAKF9zY3JpcHRfbmFtZSknLAotICAgICAg
ICAgICAgICAgICAgICAnPEAod2ViaW5zcGVjdG9yX2V4dGVuc2lvbl9hcGlfZmlsZXMpJywKKyAg
ICAgICAgICAgICAgICAgICAgJzxAKGRldnRvb2xzX2V4dGVuc2lvbl9hcGlfZmlsZXMpJywKICAg
ICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICdvdXRwdXRzJzogWyc8KFBST0RVQ1Rf
RElSKS9yZXNvdXJjZXMvaW5zcGVjdG9yL2RldnRvb2xzX2V4dGVuc2lvbl9hcGkuanMnXSwKLSAg
ICAgICAgICAgICAgICAnYWN0aW9uJzogWydweXRob24nLCAnPEAoX3NjcmlwdF9uYW1lKScsICc8
QChfb3V0cHV0cyknLCAnPEAod2ViaW5zcGVjdG9yX2V4dGVuc2lvbl9hcGlfZmlsZXMpJ10sCisg
ICAgICAgICAgICAgICAgJ2FjdGlvbic6IFsncHl0aG9uJywgJzxAKF9zY3JpcHRfbmFtZSknLCAn
PEAoX291dHB1dHMpJywgJzxAKGRldnRvb2xzX2V4dGVuc2lvbl9hcGlfZmlsZXMpJ10sCiAgICAg
ICAgICAgICB9XSwKICAgICAgICAgfSwKICAgICAgICAgewpAQCAtOTk5LDcgKzk5OSw3IEBACiAg
ICAgICAgICAgICAgICAgICAgICc8QChfd29ya2Vyc19maWxlcyknLAogICAgICAgICAgICAgICAg
ICAgICAnPEAod2ViaW5zcGVjdG9yX2ltYWdlX2ZpbGVzKScsCiAgICAgICAgICAgICAgICAgICAg
ICc8QChkZXZ0b29sc19pbWFnZV9maWxlcyknLAotICAgICAgICAgICAgICAgICAgICAnPEAod2Vi
aW5zcGVjdG9yX2V4dGVuc2lvbl9hcGlfZmlsZXMpJywKKyAgICAgICAgICAgICAgICAgICAgJzxA
KGRldnRvb2xzX2V4dGVuc2lvbl9hcGlfZmlsZXMpJywKICAgICAgICAgICAgICAgICBdLAogICAg
ICAgICAgICAgICAgICdzZWFyY2hfcGF0aCc6IFsKICAgICAgICAgICAgICAgICAgICAgJy4uLy4u
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZCcsCkBAIC0xMDEyLDcgKzEwMTIsNyBAQAogICAg
ICAgICAgICAgICAgICdhY3Rpb24nOiBbJ3B5dGhvbicsICc8QChfc2NyaXB0X25hbWUpJywgJzxA
KF9pbnNwZWN0b3JfaHRtbCknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICctLWRldnRvb2xzLWZpbGVzJywgJzxAKGRldnRvb2xzX2ZpbGVzKScsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgJy0td29ya2Vycy1maWxlcycsICc8QChfd29ya2Vyc19m
aWxlcyknLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICctLWV4dGVuc2lv
bi1hcGktZmlsZXMnLCAnPEAod2ViaW5zcGVjdG9yX2V4dGVuc2lvbl9hcGlfZmlsZXMpJywKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnLS1leHRlbnNpb24tYXBpLWZpbGVz
JywgJzxAKGRldnRvb2xzX2V4dGVuc2lvbl9hcGlfZmlsZXMpJywKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAnLS1zZWFyY2gtcGF0aCcsICc8QChfc2VhcmNoX3BhdGgpJywK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnLS1qcy1zZWFyY2gtcGF0aCcs
ICc8QChfanNfc2VhcmNoX3BhdGgpJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAnLS1vdXRwdXQnLCAnPEAoX291dHB1dHMpJ10sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL1dlYktpdC5neXBpIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9XZWJLaXQu
Z3lwaQppbmRleCBiMmQwMTVhNDA5OGEyMDBmNzZhMzgwMzQ1NGFkYmRmZTU5NWQwYmJjLi5lNjc0
YmI2Yjg1YjA4NWNhYmFjYzlkOWQ2NDk5OTNkNWQ2MmZlNWNmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXBpCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
V2ViS2l0Lmd5cGkKQEAgLTM0LDExICszNCwxNiBAQAogICAgICAgICAjIGZvciBjb3B5aW5nIHRo
ZW0gdG8gcmVzb3VyY2UgZGlyLCBhbmQgZm9yIGdlbmVyYXRpbmcgJ2RldnRvb2xzLmh0bWwnIGZp
bGUuCiAgICAgICAgICdkZXZ0b29sc19qc19maWxlcyc6IFsKICAgICAgICAgICAgICdzcmMvanMv
RGV2VG9vbHMuanMnLAorICAgICAgICAgICAgJ3NyYy9qcy9EZXZUb29sc0V4dGVuc2lvbkFQSS5q
cycsCiAgICAgICAgICAgICAnc3JjL2pzL1Rlc3RzLmpzJywKICAgICAgICAgXSwKICAgICAgICAg
J2RldnRvb2xzX2Nzc19maWxlcyc6IFsKICAgICAgICAgICAgICdzcmMvanMvZGV2VG9vbHMuY3Nz
JywKICAgICAgICAgXSwKKyAgICAgICAgJ2RldnRvb2xzX2V4dGVuc2lvbl9hcGlfZmlsZXMnOiBb
CisgICAgICAgICAgICAnLi4vLi4vV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0V4dGVuc2lv
bkFQSS5qcycsCisgICAgICAgICAgICAnc3JjL2pzL0RldlRvb2xzRXh0ZW5zaW9uQVBJLmpzJwor
ICAgICAgICBdLAogICAgICAgICAnZGV2dG9vbHNfaW1hZ2VfZmlsZXMnOiBbCiAgICAgICAgICAg
ICAnc3JjL2pzL0ltYWdlcy9zZWdtZW50Q2hyb21pdW0ucG5nJywKICAgICAgICAgICAgICdzcmMv
anMvSW1hZ2VzL3NlZ21lbnRIb3ZlckNocm9taXVtLnBuZycsCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NjcmlwdHMvY29uY2F0ZW5hdGVfanNfZmlsZXMucHkgYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NjcmlwdHMvY29uY2F0ZW5hdGVfanNfZmlsZXMucHkKaW5kZXggMGVi
OTY1MjY3Y2RhMDQwNjU2NDQ1YzA0MDM1MDc5YTAyYzk2ZTUwYS4uODJjYmU4NmM0ZjY2NjM0Mzgw
M2QzYjMzOTA4NjY0YzQ0MGY5ODRkOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9zY3JpcHRzL2NvbmNhdGVuYXRlX2pzX2ZpbGVzLnB5CisrKyBiL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vc2NyaXB0cy9jb25jYXRlbmF0ZV9qc19maWxlcy5weQpAQCAtODcsNiArODcsNyBAQCBk
ZWYgbWFpbihhcmd2KToKICAgICB3aXRoIG9wZW4oaW5wdXRfb3JkZXJfZmlsZV9uYW1lLCAncicp
IGFzIG9yZGVyX2h0bWw6CiAgICAgICAgIGV4dHJhY3RvciA9IE9yZGVyZWRKU0ZpbGVzRXh0cmFj
dG9yKG9yZGVyX2h0bWwucmVhZCgpKQogICAgIGV4dHJhY3Rvci5vcmRlcmVkX2pzX2ZpbGVzLmFw
cGVuZCgnRGV2VG9vbHMuanMnKQorICAgIGV4dHJhY3Rvci5vcmRlcmVkX2pzX2ZpbGVzLmFwcGVu
ZCgnRGV2VG9vbHNFeHRlbnNpb25BUEkuanMnKQogICAgIGV4dHJhY3Rvci5vcmRlcmVkX2pzX2Zp
bGVzLmFwcGVuZCgnVGVzdHMuanMnKQogCiAgICAgZXhwYW5kZXIgPSBQYXRoRXhwYW5kZXIoYXJn
dlsyOl0pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NjcmlwdHMvZ2VuZXJh
dGVfZGV2dG9vbHNfZXh0ZW5zaW9uX2FwaS5weSBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc2Ny
aXB0cy9nZW5lcmF0ZV9kZXZ0b29sc19leHRlbnNpb25fYXBpLnB5CmluZGV4IDdjN2M3M2IzYTc2
ZDI5YzIxYjNmMmQxZjkxZTk5NGJjZTk4MzI2NjAuLmZiYjg3OGRmMjUwNjExNDQyZmJjMjZmN2Qw
YmQzY2FkYjQ1ZjYwNjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc2NyaXB0
cy9nZW5lcmF0ZV9kZXZ0b29sc19leHRlbnNpb25fYXBpLnB5CisrKyBiL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc2NyaXB0cy9nZW5lcmF0ZV9kZXZ0b29sc19leHRlbnNpb25fYXBpLnB5CkBAIC0z
OSwxNyArMzksOSBAQCBkZWYgd3JpdGVfZGV2dG9vbHNfZXh0ZW5zaW9uX2FwaShvdXRwdXQsIGlu
cHV0X25hbWVzKToKICAgICAgICAgaW5wdXQgPSBvcGVuKGlucHV0X25hbWUsICdyJykKICAgICAg
ICAgb3V0cHV0LndyaXRlKGlucHV0LnJlYWQoKSkKICAgICBvdXRwdXQud3JpdGUoIiIiCi0gICAg
ICAgIGluamVjdGVkRXh0ZW5zaW9uQVBJKCJyZW1vdGUtIiArIHRvcC5mcmFtZXMubGVuZ3RoKTsK
LQotICAgICAgICBjaHJvbWUgPSB3aW5kb3cuY2hyb21lIHx8IHt9OwotICAgICAgICBjaHJvbWUu
ZXhwZXJpbWVudGFsID0gY2hyb21lLmV4cGVyaW1lbnRhbCB8fCB7fTsKLSAgICAgICAgY2hyb21l
LmV4cGVyaW1lbnRhbC5kZXZ0b29scyA9IGNocm9tZS5leHBlcmltZW50YWwuZGV2dG9vbHMgfHwg
e307Ci0KLSAgICAgICAgdmFyIHByb3BlcnRpZXMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1l
cyh3ZWJJbnNwZWN0b3IpOwotICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHByb3BlcnRpZXMu
bGVuZ3RoOyArK2kpIHsKLSAgICAgICAgICAgIHZhciBkZXNjcmlwdG9yID0gT2JqZWN0LmdldE93
blByb3BlcnR5RGVzY3JpcHRvcih3ZWJJbnNwZWN0b3IsIHByb3BlcnRpZXNbaV0pOwotICAgICAg
ICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNocm9tZS5leHBlcmltZW50YWwuZGV2dG9vbHMs
IHByb3BlcnRpZXNbaV0sIGRlc2NyaXB0b3IpOwotICAgICAgICB9CisgICAgICAgIHZhciB0YWJJ
ZDsKKyAgICAgICAgdmFyIGV4dGVuc2lvbkluZm8gPSB7fTsKKyAgICAgICAgcGxhdGZvcm1FeHRl
bnNpb25BUEkoaW5qZWN0ZWRFeHRlbnNpb25BUEkoInJlbW90ZS0iICsgdG9wLmZyYW1lcy5sZW5n
dGgpKTsKICAgICB9KSgpOyIiIikKIAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9qcy9EZXZUb29scy5qcyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL2pzL0Rl
dlRvb2xzLmpzCmluZGV4IDJiNjc3NmRmYzYwOGNhZWRjODkzZTM0NWVmYTJjNDNkZTg0YzUwZGYu
Ljk5YmM4YzhmMTBhODVhMWNhODU3N2IwZmU5OTdlYjJkZmFjNTYwOTcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL2pzL0RldlRvb2xzLmpzCisrKyBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vc3JjL2pzL0RldlRvb2xzLmpzCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENv
cHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29w
eXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCkBAIC00MiwyNyArNDIsMTEgQEAKICAgICBQcmVm
ZXJlbmNlcy5leHBvc2VXb3JrZXJzSW5zcGVjdGlvbiA9IHRydWU7CiB9KSgpO30KIAotV2ViSW5z
cGVjdG9yLnBsYXRmb3JtRXh0ZW5zaW9uQVBJID0gZnVuY3Rpb24odGFiSWQpCitmdW5jdGlvbiBi
dWlsZFBsYXRmb3JtRXh0ZW5zaW9uQVBJKGV4dGVuc2lvbkluZm8pCiB7Ci0gICAgZnVuY3Rpb24g
Z2V0VGFiSWQoKQotICAgIHsKLSAgICAgICAgcmV0dXJuIHRhYklkOwotICAgIH0KLSAgICB3ZWJJ
bnNwZWN0b3IuaW5zcGVjdGVkV2luZG93Ll9fcHJvdG9fXy5fX2RlZmluZUdldHRlcl9fKCJ0YWJJ
ZCIsIGdldFRhYklkKTsKLSAgICBjaHJvbWUgPSB3aW5kb3cuY2hyb21lIHx8IHt9OwotICAgIGNo
cm9tZS5leHBlcmltZW50YWwgPSBjaHJvbWUuZXhwZXJpbWVudGFsIHx8IHt9OwotICAgIGNocm9t
ZS5leHBlcmltZW50YWwuZGV2dG9vbHMgPSBjaHJvbWUuZXhwZXJpbWVudGFsLmRldnRvb2xzIHx8
IHt9OwotCi0gICAgdmFyIHByb3BlcnRpZXMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh3
ZWJJbnNwZWN0b3IpOwotICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcHJvcGVydGllcy5sZW5ndGg7
ICsraSkgewotICAgICAgICB2YXIgZGVzY3JpcHRvciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURl
c2NyaXB0b3Iod2ViSW5zcGVjdG9yLCBwcm9wZXJ0aWVzW2ldKTsKLSAgICAgICAgT2JqZWN0LmRl
ZmluZVByb3BlcnR5KGNocm9tZS5leHBlcmltZW50YWwuZGV2dG9vbHMsIHByb3BlcnRpZXNbaV0s
IGRlc2NyaXB0b3IpOwotICAgIH0KLX0KLQotV2ViSW5zcGVjdG9yLmJ1aWxkUGxhdGZvcm1FeHRl
bnNpb25BUEkgPSBmdW5jdGlvbigpCi17Ci0gICAgcmV0dXJuICIoIiArIFdlYkluc3BlY3Rvci5w
bGF0Zm9ybUV4dGVuc2lvbkFQSSArICIpKCIgKyBXZWJJbnNwZWN0b3IuX2luc3BlY3RlZFRhYklk
ICsgIik7IjsKKyAgICByZXR1cm4gInZhciBleHRlbnNpb25JbmZvID0gIiArIEpTT04uc3RyaW5n
aWZ5KGV4dGVuc2lvbkluZm8pICsgIjsiICsKKyAgICAgICAidmFyIHRhYklkID0gIiArIFdlYklu
c3BlY3Rvci5faW5zcGVjdGVkVGFiSWQgKyAiOyIgKworICAgICAgIHBsYXRmb3JtRXh0ZW5zaW9u
QVBJLnRvU3RyaW5nKCk7CiB9CiAKIFdlYkluc3BlY3Rvci5zZXRJbnNwZWN0ZWRUYWJJZCA9IGZ1
bmN0aW9uKHRhYklkKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvanMv
RGV2VG9vbHNFeHRlbnNpb25BUEkuanMgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9qcy9E
ZXZUb29sc0V4dGVuc2lvbkFQSS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lYmJhZmU3NGMwZGRlYTRjM2I4NGRm
NDJjYTU3MzUzMDFmNTVhOGE4Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9zcmMvanMvRGV2VG9vbHNFeHRlbnNpb25BUEkuanMKQEAgLTAsMCArMSw2NSBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAq
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBk
aXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5v
ciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3Jz
ZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRo
b3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JT
CisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIg
T1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICog
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK2Z1bmN0
aW9uIHBsYXRmb3JtRXh0ZW5zaW9uQVBJKGNvcmVBUEkpCit7CisgICAgZnVuY3Rpb24gZ2V0VGFi
SWQoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHRhYklkOworICAgIH0KKyAgICBjaHJvbWUgPSB3
aW5kb3cuY2hyb21lIHx8IHt9OworICAgIC8vIE92ZXJyaWRlIGNocm9tZS5kZXZ0b29scyBhcyBh
IHdvcmthcm91bmQgZm9yIGEgZXJyb3ItdGhyb3dpbmcgZ2V0dGVyIGJlaW5nIGV4cG9zZWQgCisg
ICAgLy8gaW4gZXh0ZW5zaW9uIHBhZ2VzIGxvYWRlZCBpbnRvIGEgbm9uLWV4dGVuc2lvbiBwcm9j
ZXNzIChvbmx5IGhhcHBlbnMgZm9yIHJlbW90ZSBjbGllbnQKKyAgICAvLyBleHRlbnNpb25zKQor
ICAgIHZhciBkZXZ0b29sc19kZXNjcmlwdG9yID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3Jp
cHRvcihjaHJvbWUsICJkZXZ0b29scyIpOworICAgIGlmICghZGV2dG9vbHNfZGVzY3JpcHRvciB8
fCBkZXZ0b29sc19kZXNjcmlwdG9yLmdldCkKKyAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5
KGNocm9tZSwgImRldnRvb2xzIiwgeyB2YWx1ZToge30sIGVudW1lcmFibGU6IHRydWUgfSk7Cisg
ICAgLy8gT25seSBleHBvc2UgdGFiSWQgb24gY2hyb21lLmRldnRvb2xzLmluc3BlY3RlZFdpbmRv
dywgbm90IHdlYkluc3BlY3Rvci5pbnNwZWN0ZWRXaW5kb3cuCisgICAgY2hyb21lLmRldnRvb2xz
Lmluc3BlY3RlZFdpbmRvdyA9IHt9OworICAgIGNocm9tZS5kZXZ0b29scy5pbnNwZWN0ZWRXaW5k
b3cuX19kZWZpbmVHZXR0ZXJfXygidGFiSWQiLCBnZXRUYWJJZCk7CisgICAgY2hyb21lLmRldnRv
b2xzLmluc3BlY3RlZFdpbmRvdy5fX3Byb3RvX18gPSBjb3JlQVBJLmluc3BlY3RlZFdpbmRvdzsK
KyAgICBjaHJvbWUuZGV2dG9vbHMubmV0d29yayA9IGNvcmVBUEkubmV0d29yazsKKyAgICBjaHJv
bWUuZGV2dG9vbHMucGFuZWxzID0gY29yZUFQSS5wYW5lbHM7CisKKyAgICAvLyBkZWZhdWx0IHRv
IGV4cG9zZSBleHBlcmltZW50YWwgQVBJcyBmb3Igbm93LgorICAgIGlmIChleHRlbnNpb25JbmZv
LmV4cG9zZUV4cGVyaW1lbnRhbEFQSXMgIT09IGZhbHNlKSB7CisgICAgICAgIGNocm9tZS5leHBl
cmltZW50YWwgPSBjaHJvbWUuZXhwZXJpbWVudGFsIHx8IHt9OworICAgICAgICBjaHJvbWUuZXhw
ZXJpbWVudGFsLmRldnRvb2xzID0gY2hyb21lLmV4cGVyaW1lbnRhbC5kZXZ0b29scyB8fCB7fTsK
KworICAgICAgICB2YXIgcHJvcGVydGllcyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKGNv
cmVBUEkpOworICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHByb3BlcnRpZXMubGVuZ3RoOyAr
K2kpIHsKKyAgICAgICAgICAgIHZhciBkZXNjcmlwdG9yID0gT2JqZWN0LmdldE93blByb3BlcnR5
RGVzY3JpcHRvcihjb3JlQVBJLCBwcm9wZXJ0aWVzW2ldKTsKKyAgICAgICAgICAgIE9iamVjdC5k
ZWZpbmVQcm9wZXJ0eShjaHJvbWUuZXhwZXJpbWVudGFsLmRldnRvb2xzLCBwcm9wZXJ0aWVzW2ld
LCBkZXNjcmlwdG9yKTsKKyAgICAgICAgfQorICAgICAgICBjaHJvbWUuZXhwZXJpbWVudGFsLmRl
dnRvb2xzLmluc3BlY3RlZFdpbmRvdyA9IGNocm9tZS5kZXZ0b29scy5pbnNwZWN0ZWRXaW5kb3c7
CisgICAgfQorICAgIGlmIChleHRlbnNpb25JbmZvLmV4cG9zZVdlYkluc3BlY3Rvck5hbWVzcGFj
ZSkKKyAgICAgICAgd2luZG93LndlYkluc3BlY3RvciA9IGNvcmVBUEk7Cit9CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZjM3
YWFlM2FjYzMzMmQ0ZDRlYTcyYTU5ZTAxNWEzZDVmZDJjZGM0NC4uYWNiMDYwN2UzNjZiN2MxMTUy
Zjg0NTdhOTg2YmM3ZWQ2OGMxYTA0MCAxMDA3NTUKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDExLTEyLTIw
ICBBbmRyZXkgS29zeWFrb3YgIDxjYXNlcUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIElu
c3BlY3RvcjogW0V4dGVuc2lvbiBBUEldIHJlZmFjdG9yIGV4dGVuc2lvbiBBUEkgYnVpbGQgY29k
ZSwgZXhwb3NlIGV4cGVyaW1lbnRhbCBBUElzIGNvbmRpdGlvbmFsbHkgaW4gY2hyb21pdW0KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTQxCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBodHRwL3Rlc3Rz
L2luc3BlY3Rvci9leHRlbnNpb25zLXRlc3QuanM6CisgICAgICAgIChpbml0aWFsaXplX0V4dGVu
c2lvbnNUZXN0Lkluc3BlY3RvclRlc3QucnVuRXh0ZW5zaW9uVGVzdHMpOgorICAgICAgICAoaW5p
dGlhbGl6ZV9FeHRlbnNpb25zVGVzdCk6CisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vaW5z
cGVjdG9yL2V4dGVuc2lvbnMvZXh0ZW5zaW9ucy1hcGktZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgor
CiAyMDExLTEyLTIwICBGbG9yaW4gTWFsaXRhICA8Zm1hbGl0YUBnb29nbGUuY29tPgogCiAgICAg
ICAgIHRkIGVsZW1lbnQgaWdub3JlcyB6ZXJvIHdpZHRoL2hlaWdodCBpbnB1dCBlbGVtZW50CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9leHRlbnNpb25zLXRl
c3QuanMgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9leHRlbnNpb25zLXRlc3Qu
anMKaW5kZXggMzVmYzkxYWUxMjk3YzBjMGU1YjJkMGJkNTg1MDEwZDYzMjU0NmNlMy4uYzY2YzU3
OTc3ZjUyZTVkNDc3MjUwMmE0YmM1OTlkMjFiMzU0YTUyYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvZXh0ZW5zaW9ucy10ZXN0LmpzCisrKyBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2V4dGVuc2lvbnMtdGVzdC5qcwpAQCAtNTAsNyArNTAs
NyBAQCBJbnNwZWN0b3JUZXN0LnJ1bkV4dGVuc2lvblRlc3RzID0gZnVuY3Rpb24oKQogICAgICAg
ICAgICAgcGFnZVVSTC5yZXBsYWNlKC9eKGh0dHBzPzpcL1wvW14vXSpcLykuKiQvLCIkMSIpIDoK
ICAgICAgICAgICAgIHBhZ2VVUkwucmVwbGFjZSgvXC9pbnNwZWN0b3JcL2V4dGVuc2lvbnNcL1te
L10qJC8sICIvaHR0cC90ZXN0cyIpKSArCiAgICAgICAgICAgICAiL2luc3BlY3Rvci9yZXNvdXJj
ZXMvZXh0ZW5zaW9uLW1haW4uaHRtbCI7Ci0gICAgICAgIFdlYkluc3BlY3Rvci5hZGRFeHRlbnNp
b25zKFt7IHN0YXJ0UGFnZTogZXh0ZW5zaW9uVVJMLCBuYW1lOiAidGVzdCBleHRlbnNpb24iIH1d
KTsKKyAgICAgICAgV2ViSW5zcGVjdG9yLmFkZEV4dGVuc2lvbnMoW3sgc3RhcnRQYWdlOiBleHRl
bnNpb25VUkwsIG5hbWU6ICJ0ZXN0IGV4dGVuc2lvbiIsIGV4cG9zZVdlYkluc3BlY3Rvck5hbWVz
cGFjZTogdHJ1ZSB9XSk7CiAgICAgfSk7CiB9CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2Nocm9taXVtL2luc3BlY3Rvci9leHRlbnNpb25zL2V4dGVuc2lvbnMtYXBpLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2luc3BlY3Rvci9leHRlbnNp
b25zL2V4dGVuc2lvbnMtYXBpLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggYzkyOThjZGY3MjBkMmI3N2NmMWI4OTIxMjkxYzY2NDg2MTBmODllOC4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9jaHJvbWl1bS9pbnNwZWN0b3IvZXh0ZW5zaW9ucy9leHRlbnNpb25zLWFwaS1leHBlY3RlZC50
eHQKKysrIC9kZXYvbnVsbApAQCAtMSw5NSArMCwwIEBACi1UZXN0cyBwdWJsaWMgaW50ZXJmYWNl
IG9mIFdlYkluc3BlY3RvciBFeHRlbnNpb25zIEFQSQotCi1TdGFydGVkIGV4dGVuc2lvbi4KLVJ1
bm5pbmcgdGVzdHMuLi4KLVJVTk5JTkcgVEVTVDogZXh0ZW5zaW9uX3Rlc3RBUEkKLXsKLSAgICBh
dWRpdHMgOiB7Ci0gICAgICAgIGFkZENhdGVnb3J5IDogPGZ1bmN0aW9uPgotICAgIH0KLSAgICBp
bnNwZWN0ZWRXaW5kb3cgOiB7Ci0gICAgICAgIG9uUmVzb3VyY2VBZGRlZCA6IHsKLSAgICAgICAg
ICAgIGFkZExpc3RlbmVyIDogPGZ1bmN0aW9uPgotICAgICAgICAgICAgcmVtb3ZlTGlzdGVuZXIg
OiA8ZnVuY3Rpb24+Ci0gICAgICAgIH0KLSAgICAgICAgb25SZXNvdXJjZUNvbnRlbnRDb21taXR0
ZWQgOiB7Ci0gICAgICAgICAgICBhZGRMaXN0ZW5lciA6IDxmdW5jdGlvbj4KLSAgICAgICAgICAg
IHJlbW92ZUxpc3RlbmVyIDogPGZ1bmN0aW9uPgotICAgICAgICB9Ci0gICAgICAgIHJlbG9hZCA6
IDxmdW5jdGlvbj4KLSAgICAgICAgZXZhbCA6IDxmdW5jdGlvbj4KLSAgICAgICAgZ2V0UmVzb3Vy
Y2VzIDogPGZ1bmN0aW9uPgotICAgICAgICB0YWJJZCA6IHVuZGVmaW5lZAotICAgIH0KLSAgICBw
YW5lbHMgOiB7Ci0gICAgICAgIGVsZW1lbnRzIDogewotICAgICAgICAgICAgY3JlYXRlU2lkZWJh
clBhbmUgOiA8ZnVuY3Rpb24+Ci0gICAgICAgICAgICBvblNlbGVjdGlvbkNoYW5nZWQgOiB7Ci0g
ICAgICAgICAgICAgICAgYWRkTGlzdGVuZXIgOiA8ZnVuY3Rpb24+Ci0gICAgICAgICAgICAgICAg
cmVtb3ZlTGlzdGVuZXIgOiA8ZnVuY3Rpb24+Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAg
ICAgICAgY3JlYXRlIDogPGZ1bmN0aW9uPgotICAgICAgICBzZXRPcGVuUmVzb3VyY2VIYW5kbGVy
IDogPGZ1bmN0aW9uPgotICAgIH0KLSAgICBuZXR3b3JrIDogewotICAgICAgICBvblJlcXVlc3RG
aW5pc2hlZCA6IHsKLSAgICAgICAgICAgIGFkZExpc3RlbmVyIDogPGZ1bmN0aW9uPgotICAgICAg
ICAgICAgcmVtb3ZlTGlzdGVuZXIgOiA8ZnVuY3Rpb24+Ci0gICAgICAgIH0KLSAgICAgICAgb25G
aW5pc2hlZCA6IHsKLSAgICAgICAgICAgIGFkZExpc3RlbmVyIDogPGZ1bmN0aW9uPgotICAgICAg
ICAgICAgcmVtb3ZlTGlzdGVuZXIgOiA8ZnVuY3Rpb24+Ci0gICAgICAgIH0KLSAgICAgICAgb25O
YXZpZ2F0ZWQgOiB7Ci0gICAgICAgICAgICBhZGRMaXN0ZW5lciA6IDxmdW5jdGlvbj4KLSAgICAg
ICAgICAgIHJlbW92ZUxpc3RlbmVyIDogPGZ1bmN0aW9uPgotICAgICAgICB9Ci0gICAgICAgIGdl
dEhBUiA6IDxmdW5jdGlvbj4KLSAgICAgICAgYWRkUmVxdWVzdEhlYWRlcnMgOiA8ZnVuY3Rpb24+
Ci0gICAgfQotICAgIHJlc291cmNlcyA6IHsKLSAgICAgICAgb25SZXF1ZXN0RmluaXNoZWQgOiB7
Ci0gICAgICAgICAgICBhZGRMaXN0ZW5lciA6IDxmdW5jdGlvbj4KLSAgICAgICAgICAgIHJlbW92
ZUxpc3RlbmVyIDogPGZ1bmN0aW9uPgotICAgICAgICB9Ci0gICAgICAgIG9uRmluaXNoZWQgOiB7
Ci0gICAgICAgICAgICBhZGRMaXN0ZW5lciA6IDxmdW5jdGlvbj4KLSAgICAgICAgICAgIHJlbW92
ZUxpc3RlbmVyIDogPGZ1bmN0aW9uPgotICAgICAgICB9Ci0gICAgICAgIG9uTmF2aWdhdGVkIDog
ewotICAgICAgICAgICAgYWRkTGlzdGVuZXIgOiA8ZnVuY3Rpb24+Ci0gICAgICAgICAgICByZW1v
dmVMaXN0ZW5lciA6IDxmdW5jdGlvbj4KLSAgICAgICAgfQotICAgICAgICBnZXRIQVIgOiA8ZnVu
Y3Rpb24+Ci0gICAgICAgIGFkZFJlcXVlc3RIZWFkZXJzIDogPGZ1bmN0aW9uPgotICAgIH0KLSAg
ICB0aW1lbGluZSA6IHsKLSAgICAgICAgb25FdmVudFJlY29yZGVkIDogewotICAgICAgICAgICAg
YWRkTGlzdGVuZXIgOiA8ZnVuY3Rpb24+Ci0gICAgICAgICAgICByZW1vdmVMaXN0ZW5lciA6IDxm
dW5jdGlvbj4KLSAgICAgICAgfQotICAgIH0KLSAgICBjb25zb2xlIDogewotICAgICAgICBvbk1l
c3NhZ2VBZGRlZCA6IHsKLSAgICAgICAgICAgIGFkZExpc3RlbmVyIDogPGZ1bmN0aW9uPgotICAg
ICAgICAgICAgcmVtb3ZlTGlzdGVuZXIgOiA8ZnVuY3Rpb24+Ci0gICAgICAgIH0KLSAgICAgICAg
Z2V0TWVzc2FnZXMgOiA8ZnVuY3Rpb24+Ci0gICAgICAgIGFkZE1lc3NhZ2UgOiA8ZnVuY3Rpb24+
Ci0gICAgICAgIFNldmVyaXR5IDogewotICAgICAgICAgICAgVGlwIDogInRpcCIKLSAgICAgICAg
ICAgIERlYnVnIDogImRlYnVnIgotICAgICAgICAgICAgTG9nIDogImxvZyIKLSAgICAgICAgICAg
IFdhcm5pbmcgOiAid2FybmluZyIKLSAgICAgICAgICAgIEVycm9yIDogImVycm9yIgotICAgICAg
ICB9Ci0gICAgfQotICAgIG9uUmVzZXQgOiB7Ci0gICAgICAgIGFkZExpc3RlbmVyIDogPGZ1bmN0
aW9uPgotICAgICAgICByZW1vdmVMaXN0ZW5lciA6IDxmdW5jdGlvbj4KLSAgICB9Ci0gICAgbG9n
IDogPGZ1bmN0aW9uPgotfQotQWxsIHRlc3RzIGRvbmUuCi0K
</data>
<flag name="review"
          id="120337"
          type_id="1"
          status="+"
          setter="pfeldman"
    />
          </attachment>
      

    </bug>

</bugzilla>