<?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>56656</bug_id>
          
          <creation_ts>2011-03-18 10:34:16 -0700</creation_ts>
          <short_desc>[chromium] add a build target to make a zip file with the inspector debug files</short_desc>
          <delta_ts>2011-04-27 11:59:09 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</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="Tony Chang">tony</reporter>
          <assigned_to name="Tony Chang">tony</assigned_to>
          <cc>pfeldman</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>369711</commentid>
    <comment_count>0</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2011-03-18 10:34:16 -0700</bug_when>
    <thetext>[chromium] add a build target to make a zip file with the inspector debug files</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>369713</commentid>
    <comment_count>1</comment_count>
      <attachid>86177</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2011-03-18 10:36:16 -0700</bug_when>
    <thetext>Created attachment 86177
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>369725</commentid>
    <comment_count>2</comment_count>
      <attachid>86177</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2011-03-18 10:54:55 -0700</bug_when>
    <thetext>Comment on attachment 86177
Patch

still working out some build issues and testing on windows</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>369728</commentid>
    <comment_count>3</comment_count>
      <attachid>86180</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2011-03-18 11:03:37 -0700</bug_when>
    <thetext>Created attachment 86180
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>369733</commentid>
    <comment_count>4</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2011-03-18 11:07:50 -0700</bug_when>
    <thetext>On Windows, the target doesn&apos;t show up in chrome/chrome.sln (since we don&apos;t pull in the target), but it does show up in build/all.sln.  I think this is fine since the buildbots use all.sln.

This is chromium bug http://code.google.com/p/chromium/issues/detail?id=76553</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>371043</commentid>
    <comment_count>5</comment_count>
      <attachid>86392</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2011-03-21 17:13:01 -0700</bug_when>
    <thetext>Created attachment 86392
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>371044</commentid>
    <comment_count>6</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2011-03-21 17:13:48 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; Created an attachment (id=86392) [details]
&gt; Patch

Rebased the patch after bug 56661 landed.  Maybe yurys would like to review?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>393546</commentid>
    <comment_count>7</comment_count>
      <attachid>86392</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-04-27 07:59:41 -0700</bug_when>
    <thetext>Comment on attachment 86392
Patch

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

I checked that it generates healthy front-end archive, which means that it is working :)

&gt; Source/WebKit/chromium/WebKit.gyp:812
&gt; +                &apos;outputs&apos;: [&apos;&lt;(PRODUCT_DIR)/inspector_resources.zip&apos;],

Could we name this devtools_resources.zip or devtools_frontend.zip instead?

&gt; Source/WebKit/chromium/WebKit.gyp:813
&gt; +                &apos;action&apos;: [&apos;python&apos;, &apos;&lt;@(_script_name)&apos;, &apos;&lt;@(_inspector_html)&apos;,

Could we generate zip with resources/inspector as a base directory? Otherwise, all entries in the zip file have resources/inspector prefixes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>393613</commentid>
    <comment_count>8</comment_count>
      <attachid>91303</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2011-04-27 09:50:28 -0700</bug_when>
    <thetext>Created attachment 91303
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>393616</commentid>
    <comment_count>9</comment_count>
      <attachid>86392</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2011-04-27 09:51:06 -0700</bug_when>
    <thetext>Comment on attachment 86392
Patch

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

&gt;&gt; Source/WebKit/chromium/WebKit.gyp:812
&gt;&gt; +                &apos;outputs&apos;: [&apos;&lt;(PRODUCT_DIR)/inspector_resources.zip&apos;],
&gt; 
&gt; Could we name this devtools_resources.zip or devtools_frontend.zip instead?

Renamed to devtools_frontend.zip

&gt;&gt; Source/WebKit/chromium/WebKit.gyp:813
&gt;&gt; +                &apos;action&apos;: [&apos;python&apos;, &apos;&lt;@(_script_name)&apos;, &apos;&lt;@(_inspector_html)&apos;,
&gt; 
&gt; Could we generate zip with resources/inspector as a base directory? Otherwise, all entries in the zip file have resources/inspector prefixes.

Done (removed kBaseDir in the python script).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>393697</commentid>
    <comment_count>10</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2011-04-27 11:58:16 -0700</bug_when>
    <thetext>Committed r85071: &lt;http://trac.webkit.org/changeset/85071&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>86177</attachid>
            <date>2011-03-18 10:36:16 -0700</date>
            <delta_ts>2011-03-18 11:03:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-56656-20110318103724.patch</filename>
            <type>text/plain</type>
            <size>13460</size>
            <attacher name="Tony Chang">tony</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODE0ODIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXgg
NTgzZWNjZWIyNGJlOWIwOGJjMGQ0NmUxZDIwYTI3ZTNmMDYwOGRlYy4uYTdkMTU2Nzk4OTQ3MjRi
MGY5ZjJiMTE3M2Q1NmI4NTlmM2E4ODJhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxNyBAQAorMjAxMS0wMy0xOCAgVG9ueSBDaGFuZyAgPHRvbnlAY2hyb21pdW0ub3Jn
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtjaHJv
bWl1bV0gYWRkIGEgYnVpbGQgdGFyZ2V0IHRvIG1ha2UgYSB6aXAgZmlsZSB3aXRoIHRoZSBpbnNw
ZWN0b3IgZGVidWcgZmlsZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTU2NjU2CisKKyAgICAgICAgKiBXZWJLaXQuZ3lwOiBBZGQgdGFyZ2V0CisgICAg
ICAgICogc2NyaXB0cy9jb25jYXRlbmF0ZV9jc3NfZmlsZXMucHk6IFBhc3MgaW4gYSBzdHJpbmcg
b2YgaHRtbCByYXRoZXIKKyAgICAgICAgICAgIHRoYW4gYSBmaWxlbmFtZQorICAgICAgICAqIHNj
cmlwdHMvY29uY2F0ZW5hdGVfanNfZmlsZXMucHk6IFNhbWUgYXMgYWJvdmUKKyAgICAgICAgKiBz
Y3JpcHRzL2dlbmVyYXRlX2RldnRvb2xzX2h0bWwucHk6IFJlZmFjdG9yIG1haW4gaW50byBhIGhl
bHBlciBmdW5jdGlvbgorICAgICAgICAqIHNjcmlwdHMvZ2VuZXJhdGVfZGV2dG9vbHNfemlwLnB5
OiBBZGRlZC4KKwogMjAxMS0wMy0xNyAgQWxleGV5IE1hcmluaWNoZXYgIDxhbWFyaW5pY2hldkBj
aHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgS2VubmV0aCBSdXNzZWxsLgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9XZWJLaXQuZ3lwIGIvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9XZWJLaXQuZ3lwCmluZGV4IGVkMzg2OGNhNzY2ODMxZGYyOGEzZTY0ZTEzZjBi
YTZlNTVlZmFhYmUuLmU4ZTNlYjkyMWY3Y2VmY2IxOWVkZTc2MzZiNjNkN2JjNGJmODQwZDUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vV2ViS2l0Lmd5cAorKysgYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXAKQEAgLTgzMyw2ICs4MzMsNDAgQEAKICAgICAgICAg
ICAgIH1dLAogICAgICAgICB9LAogICAgICAgICB7CisgICAgICAgICAgICAndGFyZ2V0X25hbWUn
OiAnZ2VuZXJhdGVfZGV2dG9vbHNfemlwJywKKyAgICAgICAgICAgICd0eXBlJzogJ25vbmUnLAor
ICAgICAgICAgICAgJ2FjdGlvbnMnOiBbeworICAgICAgICAgICAgICAgICdhY3Rpb25fbmFtZSc6
ICdnZW5lcmF0ZV9kZXZ0b29sc196aXAnLAorICAgICAgICAgICAgICAgICdzY3JpcHRfbmFtZSc6
ICdzY3JpcHRzL2dlbmVyYXRlX2RldnRvb2xzX3ppcC5weScsCisgICAgICAgICAgICAgICAgJ2lu
c3BlY3Rvcl9odG1sJzogJy4uLy4uL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0
b3IuaHRtbCcsCisgICAgICAgICAgICAgICAgJ2lucHV0cyc6IFsKKyAgICAgICAgICAgICAgICAg
ICAgJzxAKF9zY3JpcHRfbmFtZSknLAorICAgICAgICAgICAgICAgICAgICAnc2NyaXB0cy9nZW5l
cmF0ZV9kZXZ0b29sc19odG1sLnB5JywKKyAgICAgICAgICAgICAgICAgICAgJzxAKF9pbnNwZWN0
b3JfaHRtbCknLAorICAgICAgICAgICAgICAgICAgICAnPEAoZGV2dG9vbHNfZmlsZXMpJywKKyAg
ICAgICAgICAgICAgICAgICAgJzxAKHdlYmluc3BlY3Rvcl9maWxlcyknLAorICAgICAgICAgICAg
ICAgICAgICAnPChTSEFSRURfSU5URVJNRURJQVRFX0RJUikvd2ViY29yZS9JbnNwZWN0b3JCYWNr
ZW5kU3R1Yi5qcycsCisgICAgICAgICAgICAgICAgICAgICc8QCh3ZWJpbnNwZWN0b3JfaW1hZ2Vf
ZmlsZXMpJywKKyAgICAgICAgICAgICAgICAgICAgJzxAKGRldnRvb2xzX2ltYWdlX2ZpbGVzKScs
CisgICAgICAgICAgICAgICAgXSwKKyAgICAgICAgICAgICAgICAnc2VhcmNoX3BhdGgnOiBbCisg
ICAgICAgICAgICAgICAgICAgICcuLi8uLi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQnLAor
ICAgICAgICAgICAgICAgICAgICAnc3JjL2pzJywKKyAgICAgICAgICAgICAgICAgICAgJzwoU0hB
UkVEX0lOVEVSTUVESUFURV9ESVIpL3dlYmNvcmUnLAorICAgICAgICAgICAgICAgIF0sCisgICAg
ICAgICAgICAgICAgJ2ltYWdlX3NlYXJjaF9wYXRoJzogWworICAgICAgICAgICAgICAgICAgICAn
Li4vLi4vV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0ltYWdlcycsCisgICAgICAgICAgICAg
ICAgICAgICdzcmMvanMvSW1hZ2VzJywKKyAgICAgICAgICAgICAgICBdLAorICAgICAgICAgICAg
ICAgICdvdXRwdXRzJzogWyc8KFBST0RVQ1RfRElSKS9pbnNwZWN0b3JfcmVzb3VyY2VzLnppcCdd
LAorICAgICAgICAgICAgICAgICdhY3Rpb24nOiBbJ3B5dGhvbicsICc8QChfc2NyaXB0X25hbWUp
JywgJzxAKF9pbnNwZWN0b3JfaHRtbCknLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICctLWRldnRvb2xzLWZpbGVzJywgJzxAKGRldnRvb2xzX2ZpbGVzKScsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy0tc2VhcmNoLXBhdGgnLCAnPEAoX3NlYXJj
aF9wYXRoKScsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy0taW1hZ2Ut
c2VhcmNoLXBhdGgnLCAnPEAoX2ltYWdlX3NlYXJjaF9wYXRoKScsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgJy0tb3V0cHV0JywgJzxAKF9vdXRwdXRzKSddLAorICAgICAg
ICAgICAgfV0sCisgICAgICAgIH0sCisgICAgICAgIHsKICAgICAgICAgICAgICd0YXJnZXRfbmFt
ZSc6ICd3ZWJraXRfdW5pdF90ZXN0cycsCiAgICAgICAgICAgICAndHlwZSc6ICdleGVjdXRhYmxl
JywKICAgICAgICAgICAgICdtc3ZzX2d1aWQnOiAnN0NFRkU4MDAtODQwMy00MThBLUFENkEtMkQ1
MkM2RkMzRUFEJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc2NyaXB0cy9j
b25jYXRlbmF0ZV9jc3NfZmlsZXMucHkgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NjcmlwdHMv
Y29uY2F0ZW5hdGVfY3NzX2ZpbGVzLnB5CmluZGV4IDBhYTVlZjMwYTY0MGQ2Zjk2ZjAxYzA5MGQx
N2UyN2FjZGFhZmZiM2MuLjYyODFiM2Y1Njg0MTIwMjMzZjBhZTI5YTVlNWJiZDA5MWM5OWU3Y2Ig
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc2NyaXB0cy9jb25jYXRlbmF0ZV9j
c3NfZmlsZXMucHkKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zY3JpcHRzL2NvbmNhdGVu
YXRlX2Nzc19maWxlcy5weQpAQCAtMzIsNiArMzIsOCBAQAogIyBUaGlzIHNjcmlwdCBjb25jYXRl
bmF0ZXMgaW4gcGxhY2UgQ1NTIGZpbGVzIGluIHRoZSBvcmRlciBzcGVjaWZpZWQKICMgdXNpbmcg
PGxpbms+IHRhZ3MgaW4gYSBnaXZlbiAnb3JkZXIuaHRtbCcgZmlsZS4KIAorZnJvbSBfX2Z1dHVy
ZV9fIGltcG9ydCB3aXRoX3N0YXRlbWVudAorCiBmcm9tIEhUTUxQYXJzZXIgaW1wb3J0IEhUTUxQ
YXJzZXIKIGZyb20gY1N0cmluZ0lPIGltcG9ydCBTdHJpbmdJTwogaW1wb3J0IG9zLnBhdGgKQEAg
LTQwLDExICs0MiwxMCBAQCBpbXBvcnQgc3lzCiAKIGNsYXNzIE9yZGVyZWRDU1NGaWxlc0V4dHJh
Y3RvcihIVE1MUGFyc2VyKToKIAotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBvcmRlcl9odG1sX25h
bWUpOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBvcmRlcl9odG1sKToKICAgICAgICAgSFRNTFBh
cnNlci5fX2luaXRfXyhzZWxmKQogICAgICAgICBzZWxmLm9yZGVyZWRfY3NzX2ZpbGVzID0gW10K
LSAgICAgICAgb3JkZXJfaHRtbCA9IG9wZW4ob3JkZXJfaHRtbF9uYW1lLCAncicpCi0gICAgICAg
IHNlbGYuZmVlZChvcmRlcl9odG1sLnJlYWQoKSkKKyAgICAgICAgc2VsZi5mZWVkKG9yZGVyX2h0
bWwpCiAKICAgICBkZWYgaGFuZGxlX3N0YXJ0dGFnKHNlbGYsIHRhZywgYXR0cnMpOgogICAgICAg
ICBpZiB0YWcgPT0gJ2xpbmsnOgpAQCAtODIsNyArODMsOCBAQCBkZWYgbWFpbihhcmd2KToKIAog
ICAgIG91dHB1dF9maWxlX25hbWUgPSBhcmd2LnBvcCgpCiAgICAgaW5wdXRfb3JkZXJfZmlsZV9u
YW1lID0gYXJndlsxXQotICAgIGV4dHJhY3RvciA9IE9yZGVyZWRDU1NGaWxlc0V4dHJhY3Rvcihp
bnB1dF9vcmRlcl9maWxlX25hbWUpCisgICAgd2l0aCBvcGVuKGlucHV0X29yZGVyX2ZpbGVfbmFt
ZSwgJ3InKSBhcyBvcmRlcl9odG1sOgorICAgICAgICBleHRyYWN0b3IgPSBPcmRlcmVkQ1NTRmls
ZXNFeHRyYWN0b3Iob3JkZXJfaHRtbC5yZWFkKCkpCiAgICAgIyBVbmNvbmRpdGlvbmFsbHkgYXBw
ZW5kIGRldlRvb2xzLmNzcy4gSXQgd2lsbCBjb250YWluIGNvbmNhdGVuYXRlZCBmaWxlcy4KICAg
ICBleHRyYWN0b3Iub3JkZXJlZF9jc3NfZmlsZXMuYXBwZW5kKCdkZXZUb29scy5jc3MnKQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NjcmlwdHMvY29uY2F0ZW5hdGVfanNf
ZmlsZXMucHkgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NjcmlwdHMvY29uY2F0ZW5hdGVfanNf
ZmlsZXMucHkKaW5kZXggMjA5NjYwYTEwZDMxM2E2ZDMzMzIzOTJhNWYzZTNiMGJiMDZjMjYxNC4u
MGViOTY1MjY3Y2RhMDQwNjU2NDQ1YzA0MDM1MDc5YTAyYzk2ZTUwYSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zY3JpcHRzL2NvbmNhdGVuYXRlX2pzX2ZpbGVzLnB5CisrKyBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc2NyaXB0cy9jb25jYXRlbmF0ZV9qc19maWxlcy5weQpA
QCAtMzIsNiArMzIsOCBAQAogIyBUaGlzIHNjcmlwdCBjb25jYXRlbmF0ZXMgaW4gcGxhY2UgSlMg
ZmlsZXMgaW4gdGhlIG9yZGVyIHNwZWNpZmllZAogIyB1c2luZyA8c2NyaXB0PiB0YWdzIGluIGEg
Z2l2ZW4gJ29yZGVyLmh0bWwnIGZpbGUuCiAKK2Zyb20gX19mdXR1cmVfXyBpbXBvcnQgd2l0aF9z
dGF0ZW1lbnQKKwogZnJvbSBIVE1MUGFyc2VyIGltcG9ydCBIVE1MUGFyc2VyCiBmcm9tIGNTdHJp
bmdJTyBpbXBvcnQgU3RyaW5nSU8KIApAQCAtNDIsMTEgKzQ0LDEwIEBAIGltcG9ydCBzeXMKIAog
Y2xhc3MgT3JkZXJlZEpTRmlsZXNFeHRyYWN0b3IoSFRNTFBhcnNlcik6CiAKLSAgICBkZWYgX19p
bml0X18oc2VsZiwgb3JkZXJfaHRtbF9uYW1lKToKKyAgICBkZWYgX19pbml0X18oc2VsZiwgb3Jk
ZXJfaHRtbCk6CiAgICAgICAgIEhUTUxQYXJzZXIuX19pbml0X18oc2VsZikKICAgICAgICAgc2Vs
Zi5vcmRlcmVkX2pzX2ZpbGVzID0gW10KLSAgICAgICAgb3JkZXJfaHRtbCA9IG9wZW4ob3JkZXJf
aHRtbF9uYW1lLCAncicpCi0gICAgICAgIHNlbGYuZmVlZChvcmRlcl9odG1sLnJlYWQoKSkKKyAg
ICAgICAgc2VsZi5mZWVkKG9yZGVyX2h0bWwpCiAKICAgICBkZWYgaGFuZGxlX3N0YXJ0dGFnKHNl
bGYsIHRhZywgYXR0cnMpOgogICAgICAgICBpZiB0YWcgPT0gJ3NjcmlwdCc6CkBAIC04Myw3ICs4
NCw4IEBAIGRlZiBtYWluKGFyZ3YpOgogCiAgICAgb3V0cHV0X2ZpbGVfbmFtZSA9IGFyZ3YucG9w
KCkKICAgICBpbnB1dF9vcmRlcl9maWxlX25hbWUgPSBhcmd2WzFdCi0gICAgZXh0cmFjdG9yID0g
T3JkZXJlZEpTRmlsZXNFeHRyYWN0b3IoaW5wdXRfb3JkZXJfZmlsZV9uYW1lKQorICAgIHdpdGgg
b3BlbihpbnB1dF9vcmRlcl9maWxlX25hbWUsICdyJykgYXMgb3JkZXJfaHRtbDoKKyAgICAgICAg
ZXh0cmFjdG9yID0gT3JkZXJlZEpTRmlsZXNFeHRyYWN0b3Iob3JkZXJfaHRtbC5yZWFkKCkpCiAg
ICAgZXh0cmFjdG9yLm9yZGVyZWRfanNfZmlsZXMuYXBwZW5kKCdEZXZUb29scy5qcycpCiAgICAg
ZXh0cmFjdG9yLm9yZGVyZWRfanNfZmlsZXMuYXBwZW5kKCdUZXN0cy5qcycpCiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc2NyaXB0cy9nZW5lcmF0ZV9kZXZ0b29sc19odG1s
LnB5IGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zY3JpcHRzL2dlbmVyYXRlX2RldnRvb2xzX2h0
bWwucHkKaW5kZXggYjliNWZmZmJlMjZkNTFhOTU0ZWUyNjM3MWQ0NzE4MmU0NGYyNmY0Mi4uM2Ni
OWMyZTNhMTdiZTAwZDc4ZjZkYWFmNDRkMTQzODczMmI4NzAzYiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zY3JpcHRzL2dlbmVyYXRlX2RldnRvb2xzX2h0bWwucHkKKysrIGIv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zY3JpcHRzL2dlbmVyYXRlX2RldnRvb2xzX2h0bWwucHkK
QEAgLTMzLDcgKzMzLDcgQEAgaW1wb3J0IG9zLnBhdGgKIGltcG9ydCBzeXMKIAogCi1kZWYgR2Vu
ZXJhdGVJbmNsdWRlVGFnKHJlc291cmNlX3BhdGgpOgorZGVmIGdlbmVyYXRlX2luY2x1ZGVfdGFn
KHJlc291cmNlX3BhdGgpOgogICAgIChkaXJfbmFtZSwgZmlsZV9uYW1lKSA9IG9zLnBhdGguc3Bs
aXQocmVzb3VyY2VfcGF0aCkKICAgICBpZiAoZmlsZV9uYW1lLmVuZHN3aXRoKCcuanMnKSk6CiAg
ICAgICAgIHJldHVybiAnICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9IiVz
Ij48L3NjcmlwdD5cbicgJSBmaWxlX25hbWUKQEAgLTQzLDYgKzQzLDIyIEBAIGRlZiBHZW5lcmF0
ZUluY2x1ZGVUYWcocmVzb3VyY2VfcGF0aCk6CiAgICAgICAgIGFzc2VydCByZXNvdXJjZV9wYXRo
CiAKIAorZGVmIHdyaXRlX2RldnRvb2xzX2h0bWwoaW5zcGVjdG9yX2ZpbGUsIGRldnRvb2xzX2Zp
bGUsIGRlYnVnLCBkZWJ1Z19maWxlcyk6CisgICAgZm9yIGxpbmUgaW4gaW5zcGVjdG9yX2ZpbGU6
CisgICAgICAgIGlmIG5vdCBkZWJ1ZyBhbmQgJzxzY3JpcHQgJyBpbiBsaW5lOgorICAgICAgICAg
ICAgY29udGludWUKKyAgICAgICAgaWYgbm90IGRlYnVnIGFuZCAnPGxpbmsgJyBpbiBsaW5lOgor
ICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgaWYgJzwvaGVhZD4nIGluIGxpbmU6CisgICAg
ICAgICAgICBpZiBkZWJ1ZzoKKyAgICAgICAgICAgICAgICBmb3IgcmVzb3VyY2UgaW4gZGVidWdf
ZmlsZXM6CisgICAgICAgICAgICAgICAgICAgIGRldnRvb2xzX2ZpbGUud3JpdGUoZ2VuZXJhdGVf
aW5jbHVkZV90YWcocmVzb3VyY2UpKQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAg
ICBkZXZ0b29sc19maWxlLndyaXRlKGdlbmVyYXRlX2luY2x1ZGVfdGFnKCJkZXZUb29scy5jc3Mi
KSkKKyAgICAgICAgICAgICAgICBkZXZ0b29sc19maWxlLndyaXRlKGdlbmVyYXRlX2luY2x1ZGVf
dGFnKCJEZXZUb29scy5qcyIpKQorICAgICAgICBkZXZ0b29sc19maWxlLndyaXRlKGxpbmUpCisK
KwogZGVmIG1haW4oYXJndik6CiAKICAgICBpZiBsZW4oYXJndikgPCA1OgpAQCAtNTksMTkgKzc1
LDcgQEAgZGVmIG1haW4oYXJndik6CiAgICAgaW5zcGVjdG9yX2h0bWwgPSBvcGVuKGluc3BlY3Rv
cl9odG1sX25hbWUsICdyJykKICAgICBkZXZ0b29sc19odG1sID0gb3BlbihkZXZ0b29sc19odG1s
X25hbWUsICd3JykKIAotICAgIGZvciBsaW5lIGluIGluc3BlY3Rvcl9odG1sOgotICAgICAgICBp
ZiBub3QgZGVidWcgYW5kICc8c2NyaXB0ICcgaW4gbGluZToKLSAgICAgICAgICAgIGNvbnRpbnVl
Ci0gICAgICAgIGlmIG5vdCBkZWJ1ZyBhbmQgJzxsaW5rICcgaW4gbGluZToKLSAgICAgICAgICAg
IGNvbnRpbnVlCi0gICAgICAgIGlmICc8L2hlYWQ+JyBpbiBsaW5lOgotICAgICAgICAgICAgaWYg
ZGVidWc6Ci0gICAgICAgICAgICAgICAgZm9yIHJlc291cmNlIGluIGFyZ3ZbNTpdOgotICAgICAg
ICAgICAgICAgICAgICBkZXZ0b29sc19odG1sLndyaXRlKEdlbmVyYXRlSW5jbHVkZVRhZyhyZXNv
dXJjZSkpCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIGRldnRvb2xzX2h0bWwu
d3JpdGUoR2VuZXJhdGVJbmNsdWRlVGFnKCJkZXZUb29scy5jc3MiKSkKLSAgICAgICAgICAgICAg
ICBkZXZ0b29sc19odG1sLndyaXRlKEdlbmVyYXRlSW5jbHVkZVRhZygiRGV2VG9vbHMuanMiKSkK
LSAgICAgICAgZGV2dG9vbHNfaHRtbC53cml0ZShsaW5lKQorICAgIHdyaXRlX2RldnRvb2xzX2h0
bWwoaW5zcGVjdG9yX2h0bWwsIGRldnRvb2xzX2h0bWwsIGRlYnVnLCBhcmd2WzU6XSkKIAogICAg
IGRldnRvb2xzX2h0bWwuY2xvc2UoKQogICAgIGluc3BlY3Rvcl9odG1sLmNsb3NlKCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc2NyaXB0cy9nZW5lcmF0ZV9kZXZ0b29sc196
aXAucHkgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NjcmlwdHMvZ2VuZXJhdGVfZGV2dG9vbHNf
emlwLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmY2OTU4ZmE2MDYwOTM4OGRkYmZkZTkyMmI3ODdkZDIxZmY1Yzc4
MDQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NjcmlwdHMvZ2Vu
ZXJhdGVfZGV2dG9vbHNfemlwLnB5CkBAIC0wLDAgKzEsMTE4IEBACisjIS91c3IvYmluL2VudiBw
eXRob24KKyMKKyMgQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisjCisjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisjIG1ldDoKKyMKKyMgICAg
ICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisjIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyMgICAgICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyMgY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorIyBpbiB0
aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
CisjIGRpc3RyaWJ1dGlvbi4KKyMgICAgICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xl
IEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRv
IGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyMgdGhpcyBzb2Z0d2Fy
ZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyMKKyMgVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJV
VE9SUworIyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVAorIyBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyMgQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyMgT1dORVIg
T1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsCisjIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QKKyMgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisjIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorIyBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisjIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCisiIiJDcmVhdGVzIGEgemlw
IGZpbGUgY29udGFpbmluZyB0aGUgd2ViIGluc3BlY3RvciBmaWxlcyBmb3IgZGVidWdnaW5nLgor
CitUaGUgemlwIGZpbGUgY29udGFpbnMgYWxsIHRoZSAuaHRtbCwgLmpzLCAuY3NzIGFuZCBpbWFn
ZSBmaWxlcyB1c2VkIGJ5IHRoZQord2ViIGluc3BlY3Rvci4gIFRoZSBqcyBmaWxlcyBhbmQgY3Nz
IGZpbGVzIGFyZSBub3QgY29uY2F0ZW5hdGVkIGFuZCBhcmUgbm90CittaW5pZmllZC4iIiIKKwor
ZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCB3aXRoX3N0YXRlbWVudAorCitpbXBvcnQgb3MKK2ltcG9y
dCBTdHJpbmdJTworaW1wb3J0IHN5cworaW1wb3J0IHppcGZpbGUKKworaW1wb3J0IGNvbmNhdGVu
YXRlX2Nzc19maWxlcworaW1wb3J0IGNvbmNhdGVuYXRlX2pzX2ZpbGVzCitpbXBvcnQgZ2VuZXJh
dGVfZGV2dG9vbHNfaHRtbAorCisKK2tCYXNlRGlyID0gJ3Jlc291cmNlcy9pbnNwZWN0b3InCisK
KworY2xhc3MgUGFyc2VkQXJnczoKKyAgICBkZWYgX19pbml0X18oc2VsZiwgaW5zcGVjdG9yX2h0
bWwsIGRldnRvb2xzX2ZpbGVzLCBzZWFyY2hfZGlycywKKyAgICAgICAgICAgICAgICAgaW1hZ2Vf
c2VhcmNoX2RpcnMsIG91dHB1dF9maWxlbmFtZSk6CisgICAgICAgIHNlbGYuaW5zcGVjdG9yX2h0
bWwgPSBpbnNwZWN0b3JfaHRtbAorICAgICAgICBzZWxmLmRldnRvb2xzX2ZpbGVzID0gZGV2dG9v
bHNfZmlsZXMKKyAgICAgICAgc2VsZi5zZWFyY2hfZGlycyA9IHNlYXJjaF9kaXJzCisgICAgICAg
IHNlbGYuaW1hZ2Vfc2VhcmNoX2RpcnMgPSBpbWFnZV9zZWFyY2hfZGlycworICAgICAgICBzZWxm
Lm91dHB1dF9maWxlbmFtZSA9IG91dHB1dF9maWxlbmFtZQorCisKK2RlZiBwYXJzZV9hcmdzKGFy
Z3YpOgorICAgIGluc3BlY3Rvcl9odG1sID0gYXJndlswXQorCisgICAgZGV2dG9vbHNfZmlsZXNf
cG9zaXRpb24gPSBhcmd2LmluZGV4KCctLWRldnRvb2xzLWZpbGVzJykKKyAgICBzZWFyY2hfcGF0
aF9wb3NpdGlvbiA9IGFyZ3YuaW5kZXgoJy0tc2VhcmNoLXBhdGgnKQorICAgIGltYWdlX3NlYXJj
aF9wYXRoX3Bvc2l0aW9uID0gYXJndi5pbmRleCgnLS1pbWFnZS1zZWFyY2gtcGF0aCcpCisgICAg
b3V0cHV0X3Bvc2l0aW9uID0gYXJndi5pbmRleCgnLS1vdXRwdXQnKQorCisgICAgZGV2dG9vbHNf
ZmlsZXMgPSBhcmd2W2RldnRvb2xzX2ZpbGVzX3Bvc2l0aW9uICsgMTpzZWFyY2hfcGF0aF9wb3Np
dGlvbl0KKyAgICBzZWFyY2hfZGlycyA9IGFyZ3Zbc2VhcmNoX3BhdGhfcG9zaXRpb24gKyAxOmlt
YWdlX3NlYXJjaF9wYXRoX3Bvc2l0aW9uXQorICAgIGltYWdlX3NlYXJjaF9kaXJzID0gYXJndltp
bWFnZV9zZWFyY2hfcGF0aF9wb3NpdGlvbiArIDE6b3V0cHV0X3Bvc2l0aW9uXQorCisgICAgcmV0
dXJuIFBhcnNlZEFyZ3MoaW5zcGVjdG9yX2h0bWwsIGRldnRvb2xzX2ZpbGVzLCBzZWFyY2hfZGly
cywKKyAgICAgICAgICAgICAgICAgICAgICBpbWFnZV9zZWFyY2hfZGlycywgYXJndltvdXRwdXRf
cG9zaXRpb24gKyAxXSkKKworCitkZWYgbWFpbihhcmd2KToKKyAgICBwYXJzZWRfYXJncyA9IHBh
cnNlX2FyZ3MoYXJndlsxOl0pCisKKyAgICBkZXZ0b29sc19odG1sID0gU3RyaW5nSU8uU3RyaW5n
SU8oKQorICAgIHdpdGggb3BlbihwYXJzZWRfYXJncy5pbnNwZWN0b3JfaHRtbCwgJ3InKSBhcyBp
bnNwZWN0b3JfZmlsZToKKyAgICAgICAgZ2VuZXJhdGVfZGV2dG9vbHNfaHRtbC53cml0ZV9kZXZ0
b29sc19odG1sKAorICAgICAgICAgICAgaW5zcGVjdG9yX2ZpbGUsIGRldnRvb2xzX2h0bWwsIFRy
dWUsIHBhcnNlZF9hcmdzLmRldnRvb2xzX2ZpbGVzKQorCisgICAgemlwID0gemlwZmlsZS5aaXBG
aWxlKHBhcnNlZF9hcmdzLm91dHB1dF9maWxlbmFtZSwgJ3cnLCB6aXBmaWxlLlpJUF9ERUZMQVRF
RCkKKyAgICB6aXAud3JpdGVzdHIob3MucGF0aC5qb2luKGtCYXNlRGlyLCAiZGV2dG9vbHMuaHRt
bCIpLAorICAgICAgICAgICAgICAgICBkZXZ0b29sc19odG1sLmdldHZhbHVlKCkpCisKKyAgICBj
c3NfZXh0cmFjdG9yID0gY29uY2F0ZW5hdGVfY3NzX2ZpbGVzLk9yZGVyZWRDU1NGaWxlc0V4dHJh
Y3RvcigKKyAgICAgICAgZGV2dG9vbHNfaHRtbC5nZXR2YWx1ZSgpKQorICAgIGpzX2V4dHJhY3Rv
ciA9IGNvbmNhdGVuYXRlX2pzX2ZpbGVzLk9yZGVyZWRKU0ZpbGVzRXh0cmFjdG9yKAorICAgICAg
ICBkZXZ0b29sc19odG1sLmdldHZhbHVlKCkpCisKKyAgICBleHBhbmRlciA9IGNvbmNhdGVuYXRl
X2Nzc19maWxlcy5QYXRoRXhwYW5kZXIocGFyc2VkX2FyZ3Muc2VhcmNoX2RpcnMpCisgICAgZmls
ZXMgPSBjc3NfZXh0cmFjdG9yLm9yZGVyZWRfY3NzX2ZpbGVzICsganNfZXh0cmFjdG9yLm9yZGVy
ZWRfanNfZmlsZXMKKyAgICBmb3IgaW5wdXRfZmlsZV9uYW1lIGluIHNldChmaWxlcyk6CisgICAg
ICAgIGZ1bGxfcGF0aCA9IGV4cGFuZGVyLmV4cGFuZChpbnB1dF9maWxlX25hbWUpCisgICAgICAg
IGlmIGZ1bGxfcGF0aCBpcyBOb25lOgorICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKCdGaWxl
ICVzIHJlZmVyZW5jZWQgaW4gJXMgbm90IGZvdW5kIG9uIGFueSBzb3VyY2UgcGF0aHMsICcKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAnY2hlY2sgc291cmNlIHRyZWUgZm9yIGNvbnNpc3Rl
bmN5JyAlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGlucHV0X2ZpbGVfbmFtZSwgJ2Rl
dnRvb2xzLmh0bWwnKSkKKyAgICAgICAgemlwLndyaXRlKGZ1bGxfcGF0aCwgb3MucGF0aC5qb2lu
KGtCYXNlRGlyLCBvcy5wYXRoLmJhc2VuYW1lKGZ1bGxfcGF0aCkpKQorCisgICAgZm9yIGRpcm5h
bWUgaW4gcGFyc2VkX2FyZ3MuaW1hZ2Vfc2VhcmNoX2RpcnM6CisgICAgICAgIGZvciBmaWxlbmFt
ZSBpbiBvcy5saXN0ZGlyKGRpcm5hbWUpOgorICAgICAgICAgICAgaWYgbm90IGZpbGVuYW1lLmVu
ZHN3aXRoKCcucG5nJykgYW5kIG5vdCBmaWxlbmFtZS5lbmRzd2l0aCgnLmdpZicpOgorICAgICAg
ICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgICAgICB6aXAud3JpdGUob3MucGF0aC5qb2luKGRp
cm5hbWUsIGZpbGVuYW1lKSwKKyAgICAgICAgICAgICAgICAgICAgICBvcy5wYXRoLmpvaW4oa0Jh
c2VEaXIsICdJbWFnZXMnLCBmaWxlbmFtZSkpCisKKyAgICAjIEl0IHdvdWxkIGJlIG5pY2UgdG8g
dXNlIHRoZSB3aXRoIHN0YXRlbWVudCB0byBzY29wZSBjbG9zaW5nIHRoZSBhcmNoaXZlLAorICAg
ICMgYnV0IHRoYXQgd2Fzbid0IGFkZGVkIHVudGlsIHB5dGhvbiAyLjcuCisgICAgemlwLmNsb3Nl
KCkKKworCitpZiAnX19tYWluX18nID09IF9fbmFtZV9fOgorICAgIHN5cy5leGl0KG1haW4oc3lz
LmFyZ3YpKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>86180</attachid>
            <date>2011-03-18 11:03:37 -0700</date>
            <delta_ts>2011-03-21 17:12:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-56656-20110318110446.patch</filename>
            <type>text/plain</type>
            <size>13592</size>
            <attacher name="Tony Chang">tony</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODE0ODIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXgg
NTgzZWNjZWIyNGJlOWIwOGJjMGQ0NmUxZDIwYTI3ZTNmMDYwOGRlYy4uYTdkMTU2Nzk4OTQ3MjRi
MGY5ZjJiMTE3M2Q1NmI4NTlmM2E4ODJhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxNyBAQAorMjAxMS0wMy0xOCAgVG9ueSBDaGFuZyAgPHRvbnlAY2hyb21pdW0ub3Jn
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtjaHJv
bWl1bV0gYWRkIGEgYnVpbGQgdGFyZ2V0IHRvIG1ha2UgYSB6aXAgZmlsZSB3aXRoIHRoZSBpbnNw
ZWN0b3IgZGVidWcgZmlsZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTU2NjU2CisKKyAgICAgICAgKiBXZWJLaXQuZ3lwOiBBZGQgdGFyZ2V0CisgICAg
ICAgICogc2NyaXB0cy9jb25jYXRlbmF0ZV9jc3NfZmlsZXMucHk6IFBhc3MgaW4gYSBzdHJpbmcg
b2YgaHRtbCByYXRoZXIKKyAgICAgICAgICAgIHRoYW4gYSBmaWxlbmFtZQorICAgICAgICAqIHNj
cmlwdHMvY29uY2F0ZW5hdGVfanNfZmlsZXMucHk6IFNhbWUgYXMgYWJvdmUKKyAgICAgICAgKiBz
Y3JpcHRzL2dlbmVyYXRlX2RldnRvb2xzX2h0bWwucHk6IFJlZmFjdG9yIG1haW4gaW50byBhIGhl
bHBlciBmdW5jdGlvbgorICAgICAgICAqIHNjcmlwdHMvZ2VuZXJhdGVfZGV2dG9vbHNfemlwLnB5
OiBBZGRlZC4KKwogMjAxMS0wMy0xNyAgQWxleGV5IE1hcmluaWNoZXYgIDxhbWFyaW5pY2hldkBj
aHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgS2VubmV0aCBSdXNzZWxsLgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9XZWJLaXQuZ3lwIGIvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9XZWJLaXQuZ3lwCmluZGV4IGVkMzg2OGNhNzY2ODMxZGYyOGEzZTY0ZTEzZjBi
YTZlNTVlZmFhYmUuLjdkOThhYjY1N2QyMTg0ZGVkMjk1ODI2N2Q1MTQxMzY2MTk2MmFjODggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vV2ViS2l0Lmd5cAorKysgYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXAKQEAgLTgzMyw2ICs4MzMsNDMgQEAKICAgICAgICAg
ICAgIH1dLAogICAgICAgICB9LAogICAgICAgICB7CisgICAgICAgICAgICAndGFyZ2V0X25hbWUn
OiAnZ2VuZXJhdGVfZGV2dG9vbHNfemlwJywKKyAgICAgICAgICAgICd0eXBlJzogJ25vbmUnLAor
ICAgICAgICAgICAgJ2RlcGVuZGVuY2llcyc6IFsKKyAgICAgICAgICAgICAgICAnLi4vLi4vV2Vi
Q29yZS9XZWJDb3JlLmd5cC9XZWJDb3JlLmd5cDppbnNwZWN0b3JfcHJvdG9jb2xfc291cmNlcycs
CisgICAgICAgICAgICBdLAorICAgICAgICAgICAgJ2FjdGlvbnMnOiBbeworICAgICAgICAgICAg
ICAgICdhY3Rpb25fbmFtZSc6ICdnZW5lcmF0ZV9kZXZ0b29sc196aXAnLAorICAgICAgICAgICAg
ICAgICdzY3JpcHRfbmFtZSc6ICdzY3JpcHRzL2dlbmVyYXRlX2RldnRvb2xzX3ppcC5weScsCisg
ICAgICAgICAgICAgICAgJ2luc3BlY3Rvcl9odG1sJzogJy4uLy4uL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9pbnNwZWN0b3IuaHRtbCcsCisgICAgICAgICAgICAgICAgJ2lucHV0cyc6IFsK
KyAgICAgICAgICAgICAgICAgICAgJzxAKF9zY3JpcHRfbmFtZSknLAorICAgICAgICAgICAgICAg
ICAgICAnc2NyaXB0cy9nZW5lcmF0ZV9kZXZ0b29sc19odG1sLnB5JywKKyAgICAgICAgICAgICAg
ICAgICAgJzxAKF9pbnNwZWN0b3JfaHRtbCknLAorICAgICAgICAgICAgICAgICAgICAnPEAoZGV2
dG9vbHNfZmlsZXMpJywKKyAgICAgICAgICAgICAgICAgICAgJzxAKHdlYmluc3BlY3Rvcl9maWxl
cyknLAorICAgICAgICAgICAgICAgICAgICAnPChTSEFSRURfSU5URVJNRURJQVRFX0RJUikvd2Vi
Y29yZS9JbnNwZWN0b3JCYWNrZW5kU3R1Yi5qcycsCisgICAgICAgICAgICAgICAgICAgICc8QCh3
ZWJpbnNwZWN0b3JfaW1hZ2VfZmlsZXMpJywKKyAgICAgICAgICAgICAgICAgICAgJzxAKGRldnRv
b2xzX2ltYWdlX2ZpbGVzKScsCisgICAgICAgICAgICAgICAgXSwKKyAgICAgICAgICAgICAgICAn
c2VhcmNoX3BhdGgnOiBbCisgICAgICAgICAgICAgICAgICAgICcuLi8uLi9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQnLAorICAgICAgICAgICAgICAgICAgICAnc3JjL2pzJywKKyAgICAgICAg
ICAgICAgICAgICAgJzwoU0hBUkVEX0lOVEVSTUVESUFURV9ESVIpL3dlYmNvcmUnLAorICAgICAg
ICAgICAgICAgIF0sCisgICAgICAgICAgICAgICAgJ2ltYWdlX3NlYXJjaF9wYXRoJzogWworICAg
ICAgICAgICAgICAgICAgICAnLi4vLi4vV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0ltYWdl
cycsCisgICAgICAgICAgICAgICAgICAgICdzcmMvanMvSW1hZ2VzJywKKyAgICAgICAgICAgICAg
ICBdLAorICAgICAgICAgICAgICAgICdvdXRwdXRzJzogWyc8KFBST0RVQ1RfRElSKS9pbnNwZWN0
b3JfcmVzb3VyY2VzLnppcCddLAorICAgICAgICAgICAgICAgICdhY3Rpb24nOiBbJ3B5dGhvbics
ICc8QChfc2NyaXB0X25hbWUpJywgJzxAKF9pbnNwZWN0b3JfaHRtbCknLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICctLWRldnRvb2xzLWZpbGVzJywgJzxAKGRldnRvb2xz
X2ZpbGVzKScsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy0tc2VhcmNo
LXBhdGgnLCAnPEAoX3NlYXJjaF9wYXRoKScsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgJy0taW1hZ2Utc2VhcmNoLXBhdGgnLCAnPEAoX2ltYWdlX3NlYXJjaF9wYXRoKScs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy0tb3V0cHV0JywgJzxAKF9v
dXRwdXRzKSddLAorICAgICAgICAgICAgfV0sCisgICAgICAgIH0sCisgICAgICAgIHsKICAgICAg
ICAgICAgICd0YXJnZXRfbmFtZSc6ICd3ZWJraXRfdW5pdF90ZXN0cycsCiAgICAgICAgICAgICAn
dHlwZSc6ICdleGVjdXRhYmxlJywKICAgICAgICAgICAgICdtc3ZzX2d1aWQnOiAnN0NFRkU4MDAt
ODQwMy00MThBLUFENkEtMkQ1MkM2RkMzRUFEJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc2NyaXB0cy9jb25jYXRlbmF0ZV9jc3NfZmlsZXMucHkgYi9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NjcmlwdHMvY29uY2F0ZW5hdGVfY3NzX2ZpbGVzLnB5CmluZGV4IDBhYTVlZjMw
YTY0MGQ2Zjk2ZjAxYzA5MGQxN2UyN2FjZGFhZmZiM2MuLjYyODFiM2Y1Njg0MTIwMjMzZjBhZTI5
YTVlNWJiZDA5MWM5OWU3Y2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc2Ny
aXB0cy9jb25jYXRlbmF0ZV9jc3NfZmlsZXMucHkKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9zY3JpcHRzL2NvbmNhdGVuYXRlX2Nzc19maWxlcy5weQpAQCAtMzIsNiArMzIsOCBAQAogIyBU
aGlzIHNjcmlwdCBjb25jYXRlbmF0ZXMgaW4gcGxhY2UgQ1NTIGZpbGVzIGluIHRoZSBvcmRlciBz
cGVjaWZpZWQKICMgdXNpbmcgPGxpbms+IHRhZ3MgaW4gYSBnaXZlbiAnb3JkZXIuaHRtbCcgZmls
ZS4KIAorZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCB3aXRoX3N0YXRlbWVudAorCiBmcm9tIEhUTUxQ
YXJzZXIgaW1wb3J0IEhUTUxQYXJzZXIKIGZyb20gY1N0cmluZ0lPIGltcG9ydCBTdHJpbmdJTwog
aW1wb3J0IG9zLnBhdGgKQEAgLTQwLDExICs0MiwxMCBAQCBpbXBvcnQgc3lzCiAKIGNsYXNzIE9y
ZGVyZWRDU1NGaWxlc0V4dHJhY3RvcihIVE1MUGFyc2VyKToKIAotICAgIGRlZiBfX2luaXRfXyhz
ZWxmLCBvcmRlcl9odG1sX25hbWUpOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBvcmRlcl9odG1s
KToKICAgICAgICAgSFRNTFBhcnNlci5fX2luaXRfXyhzZWxmKQogICAgICAgICBzZWxmLm9yZGVy
ZWRfY3NzX2ZpbGVzID0gW10KLSAgICAgICAgb3JkZXJfaHRtbCA9IG9wZW4ob3JkZXJfaHRtbF9u
YW1lLCAncicpCi0gICAgICAgIHNlbGYuZmVlZChvcmRlcl9odG1sLnJlYWQoKSkKKyAgICAgICAg
c2VsZi5mZWVkKG9yZGVyX2h0bWwpCiAKICAgICBkZWYgaGFuZGxlX3N0YXJ0dGFnKHNlbGYsIHRh
ZywgYXR0cnMpOgogICAgICAgICBpZiB0YWcgPT0gJ2xpbmsnOgpAQCAtODIsNyArODMsOCBAQCBk
ZWYgbWFpbihhcmd2KToKIAogICAgIG91dHB1dF9maWxlX25hbWUgPSBhcmd2LnBvcCgpCiAgICAg
aW5wdXRfb3JkZXJfZmlsZV9uYW1lID0gYXJndlsxXQotICAgIGV4dHJhY3RvciA9IE9yZGVyZWRD
U1NGaWxlc0V4dHJhY3RvcihpbnB1dF9vcmRlcl9maWxlX25hbWUpCisgICAgd2l0aCBvcGVuKGlu
cHV0X29yZGVyX2ZpbGVfbmFtZSwgJ3InKSBhcyBvcmRlcl9odG1sOgorICAgICAgICBleHRyYWN0
b3IgPSBPcmRlcmVkQ1NTRmlsZXNFeHRyYWN0b3Iob3JkZXJfaHRtbC5yZWFkKCkpCiAgICAgIyBV
bmNvbmRpdGlvbmFsbHkgYXBwZW5kIGRldlRvb2xzLmNzcy4gSXQgd2lsbCBjb250YWluIGNvbmNh
dGVuYXRlZCBmaWxlcy4KICAgICBleHRyYWN0b3Iub3JkZXJlZF9jc3NfZmlsZXMuYXBwZW5kKCdk
ZXZUb29scy5jc3MnKQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Njcmlw
dHMvY29uY2F0ZW5hdGVfanNfZmlsZXMucHkgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Njcmlw
dHMvY29uY2F0ZW5hdGVfanNfZmlsZXMucHkKaW5kZXggMjA5NjYwYTEwZDMxM2E2ZDMzMzIzOTJh
NWYzZTNiMGJiMDZjMjYxNC4uMGViOTY1MjY3Y2RhMDQwNjU2NDQ1YzA0MDM1MDc5YTAyYzk2ZTUw
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zY3JpcHRzL2NvbmNhdGVuYXRl
X2pzX2ZpbGVzLnB5CisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc2NyaXB0cy9jb25jYXRl
bmF0ZV9qc19maWxlcy5weQpAQCAtMzIsNiArMzIsOCBAQAogIyBUaGlzIHNjcmlwdCBjb25jYXRl
bmF0ZXMgaW4gcGxhY2UgSlMgZmlsZXMgaW4gdGhlIG9yZGVyIHNwZWNpZmllZAogIyB1c2luZyA8
c2NyaXB0PiB0YWdzIGluIGEgZ2l2ZW4gJ29yZGVyLmh0bWwnIGZpbGUuCiAKK2Zyb20gX19mdXR1
cmVfXyBpbXBvcnQgd2l0aF9zdGF0ZW1lbnQKKwogZnJvbSBIVE1MUGFyc2VyIGltcG9ydCBIVE1M
UGFyc2VyCiBmcm9tIGNTdHJpbmdJTyBpbXBvcnQgU3RyaW5nSU8KIApAQCAtNDIsMTEgKzQ0LDEw
IEBAIGltcG9ydCBzeXMKIAogY2xhc3MgT3JkZXJlZEpTRmlsZXNFeHRyYWN0b3IoSFRNTFBhcnNl
cik6CiAKLSAgICBkZWYgX19pbml0X18oc2VsZiwgb3JkZXJfaHRtbF9uYW1lKToKKyAgICBkZWYg
X19pbml0X18oc2VsZiwgb3JkZXJfaHRtbCk6CiAgICAgICAgIEhUTUxQYXJzZXIuX19pbml0X18o
c2VsZikKICAgICAgICAgc2VsZi5vcmRlcmVkX2pzX2ZpbGVzID0gW10KLSAgICAgICAgb3JkZXJf
aHRtbCA9IG9wZW4ob3JkZXJfaHRtbF9uYW1lLCAncicpCi0gICAgICAgIHNlbGYuZmVlZChvcmRl
cl9odG1sLnJlYWQoKSkKKyAgICAgICAgc2VsZi5mZWVkKG9yZGVyX2h0bWwpCiAKICAgICBkZWYg
aGFuZGxlX3N0YXJ0dGFnKHNlbGYsIHRhZywgYXR0cnMpOgogICAgICAgICBpZiB0YWcgPT0gJ3Nj
cmlwdCc6CkBAIC04Myw3ICs4NCw4IEBAIGRlZiBtYWluKGFyZ3YpOgogCiAgICAgb3V0cHV0X2Zp
bGVfbmFtZSA9IGFyZ3YucG9wKCkKICAgICBpbnB1dF9vcmRlcl9maWxlX25hbWUgPSBhcmd2WzFd
Ci0gICAgZXh0cmFjdG9yID0gT3JkZXJlZEpTRmlsZXNFeHRyYWN0b3IoaW5wdXRfb3JkZXJfZmls
ZV9uYW1lKQorICAgIHdpdGggb3BlbihpbnB1dF9vcmRlcl9maWxlX25hbWUsICdyJykgYXMgb3Jk
ZXJfaHRtbDoKKyAgICAgICAgZXh0cmFjdG9yID0gT3JkZXJlZEpTRmlsZXNFeHRyYWN0b3Iob3Jk
ZXJfaHRtbC5yZWFkKCkpCiAgICAgZXh0cmFjdG9yLm9yZGVyZWRfanNfZmlsZXMuYXBwZW5kKCdE
ZXZUb29scy5qcycpCiAgICAgZXh0cmFjdG9yLm9yZGVyZWRfanNfZmlsZXMuYXBwZW5kKCdUZXN0
cy5qcycpCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc2NyaXB0cy9nZW5l
cmF0ZV9kZXZ0b29sc19odG1sLnB5IGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zY3JpcHRzL2dl
bmVyYXRlX2RldnRvb2xzX2h0bWwucHkKaW5kZXggYjliNWZmZmJlMjZkNTFhOTU0ZWUyNjM3MWQ0
NzE4MmU0NGYyNmY0Mi4uM2NiOWMyZTNhMTdiZTAwZDc4ZjZkYWFmNDRkMTQzODczMmI4NzAzYiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zY3JpcHRzL2dlbmVyYXRlX2RldnRv
b2xzX2h0bWwucHkKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zY3JpcHRzL2dlbmVyYXRl
X2RldnRvb2xzX2h0bWwucHkKQEAgLTMzLDcgKzMzLDcgQEAgaW1wb3J0IG9zLnBhdGgKIGltcG9y
dCBzeXMKIAogCi1kZWYgR2VuZXJhdGVJbmNsdWRlVGFnKHJlc291cmNlX3BhdGgpOgorZGVmIGdl
bmVyYXRlX2luY2x1ZGVfdGFnKHJlc291cmNlX3BhdGgpOgogICAgIChkaXJfbmFtZSwgZmlsZV9u
YW1lKSA9IG9zLnBhdGguc3BsaXQocmVzb3VyY2VfcGF0aCkKICAgICBpZiAoZmlsZV9uYW1lLmVu
ZHN3aXRoKCcuanMnKSk6CiAgICAgICAgIHJldHVybiAnICAgIDxzY3JpcHQgdHlwZT0idGV4dC9q
YXZhc2NyaXB0IiBzcmM9IiVzIj48L3NjcmlwdD5cbicgJSBmaWxlX25hbWUKQEAgLTQzLDYgKzQz
LDIyIEBAIGRlZiBHZW5lcmF0ZUluY2x1ZGVUYWcocmVzb3VyY2VfcGF0aCk6CiAgICAgICAgIGFz
c2VydCByZXNvdXJjZV9wYXRoCiAKIAorZGVmIHdyaXRlX2RldnRvb2xzX2h0bWwoaW5zcGVjdG9y
X2ZpbGUsIGRldnRvb2xzX2ZpbGUsIGRlYnVnLCBkZWJ1Z19maWxlcyk6CisgICAgZm9yIGxpbmUg
aW4gaW5zcGVjdG9yX2ZpbGU6CisgICAgICAgIGlmIG5vdCBkZWJ1ZyBhbmQgJzxzY3JpcHQgJyBp
biBsaW5lOgorICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgaWYgbm90IGRlYnVnIGFuZCAn
PGxpbmsgJyBpbiBsaW5lOgorICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgaWYgJzwvaGVh
ZD4nIGluIGxpbmU6CisgICAgICAgICAgICBpZiBkZWJ1ZzoKKyAgICAgICAgICAgICAgICBmb3Ig
cmVzb3VyY2UgaW4gZGVidWdfZmlsZXM6CisgICAgICAgICAgICAgICAgICAgIGRldnRvb2xzX2Zp
bGUud3JpdGUoZ2VuZXJhdGVfaW5jbHVkZV90YWcocmVzb3VyY2UpKQorICAgICAgICAgICAgZWxz
ZToKKyAgICAgICAgICAgICAgICBkZXZ0b29sc19maWxlLndyaXRlKGdlbmVyYXRlX2luY2x1ZGVf
dGFnKCJkZXZUb29scy5jc3MiKSkKKyAgICAgICAgICAgICAgICBkZXZ0b29sc19maWxlLndyaXRl
KGdlbmVyYXRlX2luY2x1ZGVfdGFnKCJEZXZUb29scy5qcyIpKQorICAgICAgICBkZXZ0b29sc19m
aWxlLndyaXRlKGxpbmUpCisKKwogZGVmIG1haW4oYXJndik6CiAKICAgICBpZiBsZW4oYXJndikg
PCA1OgpAQCAtNTksMTkgKzc1LDcgQEAgZGVmIG1haW4oYXJndik6CiAgICAgaW5zcGVjdG9yX2h0
bWwgPSBvcGVuKGluc3BlY3Rvcl9odG1sX25hbWUsICdyJykKICAgICBkZXZ0b29sc19odG1sID0g
b3BlbihkZXZ0b29sc19odG1sX25hbWUsICd3JykKIAotICAgIGZvciBsaW5lIGluIGluc3BlY3Rv
cl9odG1sOgotICAgICAgICBpZiBub3QgZGVidWcgYW5kICc8c2NyaXB0ICcgaW4gbGluZToKLSAg
ICAgICAgICAgIGNvbnRpbnVlCi0gICAgICAgIGlmIG5vdCBkZWJ1ZyBhbmQgJzxsaW5rICcgaW4g
bGluZToKLSAgICAgICAgICAgIGNvbnRpbnVlCi0gICAgICAgIGlmICc8L2hlYWQ+JyBpbiBsaW5l
OgotICAgICAgICAgICAgaWYgZGVidWc6Ci0gICAgICAgICAgICAgICAgZm9yIHJlc291cmNlIGlu
IGFyZ3ZbNTpdOgotICAgICAgICAgICAgICAgICAgICBkZXZ0b29sc19odG1sLndyaXRlKEdlbmVy
YXRlSW5jbHVkZVRhZyhyZXNvdXJjZSkpCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAg
ICAgIGRldnRvb2xzX2h0bWwud3JpdGUoR2VuZXJhdGVJbmNsdWRlVGFnKCJkZXZUb29scy5jc3Mi
KSkKLSAgICAgICAgICAgICAgICBkZXZ0b29sc19odG1sLndyaXRlKEdlbmVyYXRlSW5jbHVkZVRh
ZygiRGV2VG9vbHMuanMiKSkKLSAgICAgICAgZGV2dG9vbHNfaHRtbC53cml0ZShsaW5lKQorICAg
IHdyaXRlX2RldnRvb2xzX2h0bWwoaW5zcGVjdG9yX2h0bWwsIGRldnRvb2xzX2h0bWwsIGRlYnVn
LCBhcmd2WzU6XSkKIAogICAgIGRldnRvb2xzX2h0bWwuY2xvc2UoKQogICAgIGluc3BlY3Rvcl9o
dG1sLmNsb3NlKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc2NyaXB0cy9n
ZW5lcmF0ZV9kZXZ0b29sc196aXAucHkgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NjcmlwdHMv
Z2VuZXJhdGVfZGV2dG9vbHNfemlwLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY2OTU4ZmE2MDYwOTM4OGRkYmZk
ZTkyMmI3ODdkZDIxZmY1Yzc4MDQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NjcmlwdHMvZ2VuZXJhdGVfZGV2dG9vbHNfemlwLnB5CkBAIC0wLDAgKzEsMTE4IEBA
CisjIS91c3IvYmluL2VudiBweXRob24KKyMKKyMgQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjCisjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorIyBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJl
CisjIG1ldDoKKyMKKyMgICAgICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisjIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyMgICAgICAgICAqIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyMgY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lcgorIyBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlCisjIGRpc3RyaWJ1dGlvbi4KKyMgICAgICAgICAqIE5laXRoZXIg
dGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyMgY29udHJpYnV0
b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZy
b20KKyMgdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlz
c2lvbi4KKyMKKyMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhP
TERFUlMgQU5EIENPTlRSSUJVVE9SUworIyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorIyBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyMgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBD
T1BZUklHSFQKKyMgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisjIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyMgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisjIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWQorIyBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisjIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorIyBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
CisiIiJDcmVhdGVzIGEgemlwIGZpbGUgY29udGFpbmluZyB0aGUgd2ViIGluc3BlY3RvciBmaWxl
cyBmb3IgZGVidWdnaW5nLgorCitUaGUgemlwIGZpbGUgY29udGFpbnMgYWxsIHRoZSAuaHRtbCwg
LmpzLCAuY3NzIGFuZCBpbWFnZSBmaWxlcyB1c2VkIGJ5IHRoZQord2ViIGluc3BlY3Rvci4gIFRo
ZSBqcyBmaWxlcyBhbmQgY3NzIGZpbGVzIGFyZSBub3QgY29uY2F0ZW5hdGVkIGFuZCBhcmUgbm90
CittaW5pZmllZC4iIiIKKworZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCB3aXRoX3N0YXRlbWVudAor
CitpbXBvcnQgb3MKK2ltcG9ydCBTdHJpbmdJTworaW1wb3J0IHN5cworaW1wb3J0IHppcGZpbGUK
KworaW1wb3J0IGNvbmNhdGVuYXRlX2Nzc19maWxlcworaW1wb3J0IGNvbmNhdGVuYXRlX2pzX2Zp
bGVzCitpbXBvcnQgZ2VuZXJhdGVfZGV2dG9vbHNfaHRtbAorCisKK2tCYXNlRGlyID0gJ3Jlc291
cmNlcy9pbnNwZWN0b3InCisKKworY2xhc3MgUGFyc2VkQXJnczoKKyAgICBkZWYgX19pbml0X18o
c2VsZiwgaW5zcGVjdG9yX2h0bWwsIGRldnRvb2xzX2ZpbGVzLCBzZWFyY2hfZGlycywKKyAgICAg
ICAgICAgICAgICAgaW1hZ2Vfc2VhcmNoX2RpcnMsIG91dHB1dF9maWxlbmFtZSk6CisgICAgICAg
IHNlbGYuaW5zcGVjdG9yX2h0bWwgPSBpbnNwZWN0b3JfaHRtbAorICAgICAgICBzZWxmLmRldnRv
b2xzX2ZpbGVzID0gZGV2dG9vbHNfZmlsZXMKKyAgICAgICAgc2VsZi5zZWFyY2hfZGlycyA9IHNl
YXJjaF9kaXJzCisgICAgICAgIHNlbGYuaW1hZ2Vfc2VhcmNoX2RpcnMgPSBpbWFnZV9zZWFyY2hf
ZGlycworICAgICAgICBzZWxmLm91dHB1dF9maWxlbmFtZSA9IG91dHB1dF9maWxlbmFtZQorCisK
K2RlZiBwYXJzZV9hcmdzKGFyZ3YpOgorICAgIGluc3BlY3Rvcl9odG1sID0gYXJndlswXQorCisg
ICAgZGV2dG9vbHNfZmlsZXNfcG9zaXRpb24gPSBhcmd2LmluZGV4KCctLWRldnRvb2xzLWZpbGVz
JykKKyAgICBzZWFyY2hfcGF0aF9wb3NpdGlvbiA9IGFyZ3YuaW5kZXgoJy0tc2VhcmNoLXBhdGgn
KQorICAgIGltYWdlX3NlYXJjaF9wYXRoX3Bvc2l0aW9uID0gYXJndi5pbmRleCgnLS1pbWFnZS1z
ZWFyY2gtcGF0aCcpCisgICAgb3V0cHV0X3Bvc2l0aW9uID0gYXJndi5pbmRleCgnLS1vdXRwdXQn
KQorCisgICAgZGV2dG9vbHNfZmlsZXMgPSBhcmd2W2RldnRvb2xzX2ZpbGVzX3Bvc2l0aW9uICsg
MTpzZWFyY2hfcGF0aF9wb3NpdGlvbl0KKyAgICBzZWFyY2hfZGlycyA9IGFyZ3Zbc2VhcmNoX3Bh
dGhfcG9zaXRpb24gKyAxOmltYWdlX3NlYXJjaF9wYXRoX3Bvc2l0aW9uXQorICAgIGltYWdlX3Nl
YXJjaF9kaXJzID0gYXJndltpbWFnZV9zZWFyY2hfcGF0aF9wb3NpdGlvbiArIDE6b3V0cHV0X3Bv
c2l0aW9uXQorCisgICAgcmV0dXJuIFBhcnNlZEFyZ3MoaW5zcGVjdG9yX2h0bWwsIGRldnRvb2xz
X2ZpbGVzLCBzZWFyY2hfZGlycywKKyAgICAgICAgICAgICAgICAgICAgICBpbWFnZV9zZWFyY2hf
ZGlycywgYXJndltvdXRwdXRfcG9zaXRpb24gKyAxXSkKKworCitkZWYgbWFpbihhcmd2KToKKyAg
ICBwYXJzZWRfYXJncyA9IHBhcnNlX2FyZ3MoYXJndlsxOl0pCisKKyAgICBkZXZ0b29sc19odG1s
ID0gU3RyaW5nSU8uU3RyaW5nSU8oKQorICAgIHdpdGggb3BlbihwYXJzZWRfYXJncy5pbnNwZWN0
b3JfaHRtbCwgJ3InKSBhcyBpbnNwZWN0b3JfZmlsZToKKyAgICAgICAgZ2VuZXJhdGVfZGV2dG9v
bHNfaHRtbC53cml0ZV9kZXZ0b29sc19odG1sKAorICAgICAgICAgICAgaW5zcGVjdG9yX2ZpbGUs
IGRldnRvb2xzX2h0bWwsIFRydWUsIHBhcnNlZF9hcmdzLmRldnRvb2xzX2ZpbGVzKQorCisgICAg
emlwID0gemlwZmlsZS5aaXBGaWxlKHBhcnNlZF9hcmdzLm91dHB1dF9maWxlbmFtZSwgJ3cnLCB6
aXBmaWxlLlpJUF9ERUZMQVRFRCkKKyAgICB6aXAud3JpdGVzdHIob3MucGF0aC5qb2luKGtCYXNl
RGlyLCAiZGV2dG9vbHMuaHRtbCIpLAorICAgICAgICAgICAgICAgICBkZXZ0b29sc19odG1sLmdl
dHZhbHVlKCkpCisKKyAgICBjc3NfZXh0cmFjdG9yID0gY29uY2F0ZW5hdGVfY3NzX2ZpbGVzLk9y
ZGVyZWRDU1NGaWxlc0V4dHJhY3RvcigKKyAgICAgICAgZGV2dG9vbHNfaHRtbC5nZXR2YWx1ZSgp
KQorICAgIGpzX2V4dHJhY3RvciA9IGNvbmNhdGVuYXRlX2pzX2ZpbGVzLk9yZGVyZWRKU0ZpbGVz
RXh0cmFjdG9yKAorICAgICAgICBkZXZ0b29sc19odG1sLmdldHZhbHVlKCkpCisKKyAgICBleHBh
bmRlciA9IGNvbmNhdGVuYXRlX2Nzc19maWxlcy5QYXRoRXhwYW5kZXIocGFyc2VkX2FyZ3Muc2Vh
cmNoX2RpcnMpCisgICAgZmlsZXMgPSBjc3NfZXh0cmFjdG9yLm9yZGVyZWRfY3NzX2ZpbGVzICsg
anNfZXh0cmFjdG9yLm9yZGVyZWRfanNfZmlsZXMKKyAgICBmb3IgaW5wdXRfZmlsZV9uYW1lIGlu
IHNldChmaWxlcyk6CisgICAgICAgIGZ1bGxfcGF0aCA9IGV4cGFuZGVyLmV4cGFuZChpbnB1dF9m
aWxlX25hbWUpCisgICAgICAgIGlmIGZ1bGxfcGF0aCBpcyBOb25lOgorICAgICAgICAgICAgcmFp
c2UgRXhjZXB0aW9uKCdGaWxlICVzIHJlZmVyZW5jZWQgaW4gJXMgbm90IGZvdW5kIG9uIGFueSBz
b3VyY2UgcGF0aHMsICcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAnY2hlY2sgc291cmNl
IHRyZWUgZm9yIGNvbnNpc3RlbmN5JyAlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGlu
cHV0X2ZpbGVfbmFtZSwgJ2RldnRvb2xzLmh0bWwnKSkKKyAgICAgICAgemlwLndyaXRlKGZ1bGxf
cGF0aCwgb3MucGF0aC5qb2luKGtCYXNlRGlyLCBvcy5wYXRoLmJhc2VuYW1lKGZ1bGxfcGF0aCkp
KQorCisgICAgZm9yIGRpcm5hbWUgaW4gcGFyc2VkX2FyZ3MuaW1hZ2Vfc2VhcmNoX2RpcnM6Cisg
ICAgICAgIGZvciBmaWxlbmFtZSBpbiBvcy5saXN0ZGlyKGRpcm5hbWUpOgorICAgICAgICAgICAg
aWYgbm90IGZpbGVuYW1lLmVuZHN3aXRoKCcucG5nJykgYW5kIG5vdCBmaWxlbmFtZS5lbmRzd2l0
aCgnLmdpZicpOgorICAgICAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgICAgICB6aXAud3Jp
dGUob3MucGF0aC5qb2luKGRpcm5hbWUsIGZpbGVuYW1lKSwKKyAgICAgICAgICAgICAgICAgICAg
ICBvcy5wYXRoLmpvaW4oa0Jhc2VEaXIsICdJbWFnZXMnLCBmaWxlbmFtZSkpCisKKyAgICAjIEl0
IHdvdWxkIGJlIG5pY2UgdG8gdXNlIHRoZSB3aXRoIHN0YXRlbWVudCB0byBzY29wZSBjbG9zaW5n
IHRoZSBhcmNoaXZlLAorICAgICMgYnV0IHRoYXQgd2Fzbid0IGFkZGVkIHVudGlsIHB5dGhvbiAy
LjcuCisgICAgemlwLmNsb3NlKCkKKworCitpZiAnX19tYWluX18nID09IF9fbmFtZV9fOgorICAg
IHN5cy5leGl0KG1haW4oc3lzLmFyZ3YpKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>86392</attachid>
            <date>2011-03-21 17:13:01 -0700</date>
            <delta_ts>2011-04-27 09:51:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-56656-20110321171424.patch</filename>
            <type>text/plain</type>
            <size>13584</size>
            <attacher name="Tony Chang">tony</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODE2MTkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXgg
ZjFmMDEzOWZjMmEzMDU1ZWE1NGI2YzBjM2ExYzhjMGE4NmE1NzE4YS4uMTVlNmQ0ZTBjNGZlN2Fm
YjE5MDgzM2E2ZjRiOWU5MTdmYzAxZTQ3MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxNyBAQAorMjAxMS0wMy0yMSAgVG9ueSBDaGFuZyAgPHRvbnlAY2hyb21pdW0ub3Jn
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtjaHJv
bWl1bV0gYWRkIGEgYnVpbGQgdGFyZ2V0IHRvIG1ha2UgYSB6aXAgZmlsZSB3aXRoIHRoZSBpbnNw
ZWN0b3IgZGVidWcgZmlsZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTU2NjU2CisKKyAgICAgICAgKiBXZWJLaXQuZ3lwOiBBZGQgdGFyZ2V0CisgICAg
ICAgICogc2NyaXB0cy9jb25jYXRlbmF0ZV9jc3NfZmlsZXMucHk6IFBhc3MgaW4gYSBzdHJpbmcg
b2YgaHRtbCByYXRoZXIKKyAgICAgICAgICAgIHRoYW4gYSBmaWxlbmFtZQorICAgICAgICAqIHNj
cmlwdHMvY29uY2F0ZW5hdGVfanNfZmlsZXMucHk6IFNhbWUgYXMgYWJvdmUKKyAgICAgICAgKiBz
Y3JpcHRzL2dlbmVyYXRlX2RldnRvb2xzX2h0bWwucHk6IFJlZmFjdG9yIG1haW4gaW50byBhIGhl
bHBlciBmdW5jdGlvbgorICAgICAgICAqIHNjcmlwdHMvZ2VuZXJhdGVfZGV2dG9vbHNfemlwLnB5
OiBBZGRlZC4KKwogMjAxMS0wMy0yMSAgUm9iZXJ0IEtyb2VnZXIgIDxyamtyb2VnZUBjaHJvbWl1
bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQW50b25pbyBHb21lcy4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vV2ViS2l0Lmd5cCBiL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vV2ViS2l0Lmd5cAppbmRleCA0NTM4ZjMxMzU2ODAyYjVjMDFhMGYyZDZhMmYyOTk0NmVmNDE4
YWQ2Li5kZGNmMjkzM2Q4MmRmOTZiZjQ5MDUyNGFhMGE3MmRkNWNiMDI1NTE2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXAKKysrIGIvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9XZWJLaXQuZ3lwCkBAIC03ODEsNiArNzgxLDQzIEBACiAgICAgICAgICAgICB9XSwK
ICAgICAgICAgfSwKICAgICAgICAgeworICAgICAgICAgICAgJ3RhcmdldF9uYW1lJzogJ2dlbmVy
YXRlX2RldnRvb2xzX3ppcCcsCisgICAgICAgICAgICAndHlwZSc6ICdub25lJywKKyAgICAgICAg
ICAgICdkZXBlbmRlbmNpZXMnOiBbCisgICAgICAgICAgICAgICAgJy4uLy4uL1dlYkNvcmUvV2Vi
Q29yZS5neXAvV2ViQ29yZS5neXA6aW5zcGVjdG9yX3Byb3RvY29sX3NvdXJjZXMnLAorICAgICAg
ICAgICAgXSwKKyAgICAgICAgICAgICdhY3Rpb25zJzogW3sKKyAgICAgICAgICAgICAgICAnYWN0
aW9uX25hbWUnOiAnZ2VuZXJhdGVfZGV2dG9vbHNfemlwJywKKyAgICAgICAgICAgICAgICAnc2Ny
aXB0X25hbWUnOiAnc2NyaXB0cy9nZW5lcmF0ZV9kZXZ0b29sc196aXAucHknLAorICAgICAgICAg
ICAgICAgICdpbnNwZWN0b3JfaHRtbCc6ICcuLi8uLi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvaW5zcGVjdG9yLmh0bWwnLAorICAgICAgICAgICAgICAgICdpbnB1dHMnOiBbCisgICAgICAg
ICAgICAgICAgICAgICc8QChfc2NyaXB0X25hbWUpJywKKyAgICAgICAgICAgICAgICAgICAgJ3Nj
cmlwdHMvZ2VuZXJhdGVfZGV2dG9vbHNfaHRtbC5weScsCisgICAgICAgICAgICAgICAgICAgICc8
QChfaW5zcGVjdG9yX2h0bWwpJywKKyAgICAgICAgICAgICAgICAgICAgJzxAKGRldnRvb2xzX2Zp
bGVzKScsCisgICAgICAgICAgICAgICAgICAgICc8QCh3ZWJpbnNwZWN0b3JfZmlsZXMpJywKKyAg
ICAgICAgICAgICAgICAgICAgJzwoU0hBUkVEX0lOVEVSTUVESUFURV9ESVIpL3dlYmNvcmUvSW5z
cGVjdG9yQmFja2VuZFN0dWIuanMnLAorICAgICAgICAgICAgICAgICAgICAnPEAod2ViaW5zcGVj
dG9yX2ltYWdlX2ZpbGVzKScsCisgICAgICAgICAgICAgICAgICAgICc8QChkZXZ0b29sc19pbWFn
ZV9maWxlcyknLAorICAgICAgICAgICAgICAgIF0sCisgICAgICAgICAgICAgICAgJ3NlYXJjaF9w
YXRoJzogWworICAgICAgICAgICAgICAgICAgICAnLi4vLi4vV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kJywKKyAgICAgICAgICAgICAgICAgICAgJ3NyYy9qcycsCisgICAgICAgICAgICAgICAg
ICAgICc8KFNIQVJFRF9JTlRFUk1FRElBVEVfRElSKS93ZWJjb3JlJywKKyAgICAgICAgICAgICAg
ICBdLAorICAgICAgICAgICAgICAgICdpbWFnZV9zZWFyY2hfcGF0aCc6IFsKKyAgICAgICAgICAg
ICAgICAgICAgJy4uLy4uL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9JbWFnZXMnLAorICAg
ICAgICAgICAgICAgICAgICAnc3JjL2pzL0ltYWdlcycsCisgICAgICAgICAgICAgICAgXSwKKyAg
ICAgICAgICAgICAgICAnb3V0cHV0cyc6IFsnPChQUk9EVUNUX0RJUikvaW5zcGVjdG9yX3Jlc291
cmNlcy56aXAnXSwKKyAgICAgICAgICAgICAgICAnYWN0aW9uJzogWydweXRob24nLCAnPEAoX3Nj
cmlwdF9uYW1lKScsICc8QChfaW5zcGVjdG9yX2h0bWwpJywKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAnLS1kZXZ0b29scy1maWxlcycsICc8QChkZXZ0b29sc19maWxlcykn
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICctLXNlYXJjaC1wYXRoJywg
JzxAKF9zZWFyY2hfcGF0aCknLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICctLWltYWdlLXNlYXJjaC1wYXRoJywgJzxAKF9pbWFnZV9zZWFyY2hfcGF0aCknLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICctLW91dHB1dCcsICc8QChfb3V0cHV0cykn
XSwKKyAgICAgICAgICAgIH1dLAorICAgICAgICB9LAorICAgICAgICB7CiAgICAgICAgICAgICAn
dGFyZ2V0X25hbWUnOiAnd2Via2l0X3VuaXRfdGVzdHMnLAogICAgICAgICAgICAgJ3R5cGUnOiAn
ZXhlY3V0YWJsZScsCiAgICAgICAgICAgICAnbXN2c19ndWlkJzogJzdDRUZFODAwLTg0MDMtNDE4
QS1BRDZBLTJENTJDNkZDM0VBRCcsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3NjcmlwdHMvY29uY2F0ZW5hdGVfY3NzX2ZpbGVzLnB5IGIvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9zY3JpcHRzL2NvbmNhdGVuYXRlX2Nzc19maWxlcy5weQppbmRleCAwYWE1ZWYzMGE2NDBkNmY5
NmYwMWMwOTBkMTdlMjdhY2RhYWZmYjNjLi42MjgxYjNmNTY4NDEyMDIzM2YwYWUyOWE1ZTViYmQw
OTFjOTllN2NiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NjcmlwdHMvY29u
Y2F0ZW5hdGVfY3NzX2ZpbGVzLnB5CisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc2NyaXB0
cy9jb25jYXRlbmF0ZV9jc3NfZmlsZXMucHkKQEAgLTMyLDYgKzMyLDggQEAKICMgVGhpcyBzY3Jp
cHQgY29uY2F0ZW5hdGVzIGluIHBsYWNlIENTUyBmaWxlcyBpbiB0aGUgb3JkZXIgc3BlY2lmaWVk
CiAjIHVzaW5nIDxsaW5rPiB0YWdzIGluIGEgZ2l2ZW4gJ29yZGVyLmh0bWwnIGZpbGUuCiAKK2Zy
b20gX19mdXR1cmVfXyBpbXBvcnQgd2l0aF9zdGF0ZW1lbnQKKwogZnJvbSBIVE1MUGFyc2VyIGlt
cG9ydCBIVE1MUGFyc2VyCiBmcm9tIGNTdHJpbmdJTyBpbXBvcnQgU3RyaW5nSU8KIGltcG9ydCBv
cy5wYXRoCkBAIC00MCwxMSArNDIsMTAgQEAgaW1wb3J0IHN5cwogCiBjbGFzcyBPcmRlcmVkQ1NT
RmlsZXNFeHRyYWN0b3IoSFRNTFBhcnNlcik6CiAKLSAgICBkZWYgX19pbml0X18oc2VsZiwgb3Jk
ZXJfaHRtbF9uYW1lKToKKyAgICBkZWYgX19pbml0X18oc2VsZiwgb3JkZXJfaHRtbCk6CiAgICAg
ICAgIEhUTUxQYXJzZXIuX19pbml0X18oc2VsZikKICAgICAgICAgc2VsZi5vcmRlcmVkX2Nzc19m
aWxlcyA9IFtdCi0gICAgICAgIG9yZGVyX2h0bWwgPSBvcGVuKG9yZGVyX2h0bWxfbmFtZSwgJ3In
KQotICAgICAgICBzZWxmLmZlZWQob3JkZXJfaHRtbC5yZWFkKCkpCisgICAgICAgIHNlbGYuZmVl
ZChvcmRlcl9odG1sKQogCiAgICAgZGVmIGhhbmRsZV9zdGFydHRhZyhzZWxmLCB0YWcsIGF0dHJz
KToKICAgICAgICAgaWYgdGFnID09ICdsaW5rJzoKQEAgLTgyLDcgKzgzLDggQEAgZGVmIG1haW4o
YXJndik6CiAKICAgICBvdXRwdXRfZmlsZV9uYW1lID0gYXJndi5wb3AoKQogICAgIGlucHV0X29y
ZGVyX2ZpbGVfbmFtZSA9IGFyZ3ZbMV0KLSAgICBleHRyYWN0b3IgPSBPcmRlcmVkQ1NTRmlsZXNF
eHRyYWN0b3IoaW5wdXRfb3JkZXJfZmlsZV9uYW1lKQorICAgIHdpdGggb3BlbihpbnB1dF9vcmRl
cl9maWxlX25hbWUsICdyJykgYXMgb3JkZXJfaHRtbDoKKyAgICAgICAgZXh0cmFjdG9yID0gT3Jk
ZXJlZENTU0ZpbGVzRXh0cmFjdG9yKG9yZGVyX2h0bWwucmVhZCgpKQogICAgICMgVW5jb25kaXRp
b25hbGx5IGFwcGVuZCBkZXZUb29scy5jc3MuIEl0IHdpbGwgY29udGFpbiBjb25jYXRlbmF0ZWQg
ZmlsZXMuCiAgICAgZXh0cmFjdG9yLm9yZGVyZWRfY3NzX2ZpbGVzLmFwcGVuZCgnZGV2VG9vbHMu
Y3NzJykKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zY3JpcHRzL2NvbmNh
dGVuYXRlX2pzX2ZpbGVzLnB5IGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zY3JpcHRzL2NvbmNh
dGVuYXRlX2pzX2ZpbGVzLnB5CmluZGV4IDIwOTY2MGExMGQzMTNhNmQzMzMyMzkyYTVmM2UzYjBi
YjA2YzI2MTQuLjBlYjk2NTI2N2NkYTA0MDY1NjQ0NWMwNDAzNTA3OWEwMmM5NmU1MGEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc2NyaXB0cy9jb25jYXRlbmF0ZV9qc19maWxl
cy5weQorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NjcmlwdHMvY29uY2F0ZW5hdGVfanNf
ZmlsZXMucHkKQEAgLTMyLDYgKzMyLDggQEAKICMgVGhpcyBzY3JpcHQgY29uY2F0ZW5hdGVzIGlu
IHBsYWNlIEpTIGZpbGVzIGluIHRoZSBvcmRlciBzcGVjaWZpZWQKICMgdXNpbmcgPHNjcmlwdD4g
dGFncyBpbiBhIGdpdmVuICdvcmRlci5odG1sJyBmaWxlLgogCitmcm9tIF9fZnV0dXJlX18gaW1w
b3J0IHdpdGhfc3RhdGVtZW50CisKIGZyb20gSFRNTFBhcnNlciBpbXBvcnQgSFRNTFBhcnNlcgog
ZnJvbSBjU3RyaW5nSU8gaW1wb3J0IFN0cmluZ0lPCiAKQEAgLTQyLDExICs0NCwxMCBAQCBpbXBv
cnQgc3lzCiAKIGNsYXNzIE9yZGVyZWRKU0ZpbGVzRXh0cmFjdG9yKEhUTUxQYXJzZXIpOgogCi0g
ICAgZGVmIF9faW5pdF9fKHNlbGYsIG9yZGVyX2h0bWxfbmFtZSk6CisgICAgZGVmIF9faW5pdF9f
KHNlbGYsIG9yZGVyX2h0bWwpOgogICAgICAgICBIVE1MUGFyc2VyLl9faW5pdF9fKHNlbGYpCiAg
ICAgICAgIHNlbGYub3JkZXJlZF9qc19maWxlcyA9IFtdCi0gICAgICAgIG9yZGVyX2h0bWwgPSBv
cGVuKG9yZGVyX2h0bWxfbmFtZSwgJ3InKQotICAgICAgICBzZWxmLmZlZWQob3JkZXJfaHRtbC5y
ZWFkKCkpCisgICAgICAgIHNlbGYuZmVlZChvcmRlcl9odG1sKQogCiAgICAgZGVmIGhhbmRsZV9z
dGFydHRhZyhzZWxmLCB0YWcsIGF0dHJzKToKICAgICAgICAgaWYgdGFnID09ICdzY3JpcHQnOgpA
QCAtODMsNyArODQsOCBAQCBkZWYgbWFpbihhcmd2KToKIAogICAgIG91dHB1dF9maWxlX25hbWUg
PSBhcmd2LnBvcCgpCiAgICAgaW5wdXRfb3JkZXJfZmlsZV9uYW1lID0gYXJndlsxXQotICAgIGV4
dHJhY3RvciA9IE9yZGVyZWRKU0ZpbGVzRXh0cmFjdG9yKGlucHV0X29yZGVyX2ZpbGVfbmFtZSkK
KyAgICB3aXRoIG9wZW4oaW5wdXRfb3JkZXJfZmlsZV9uYW1lLCAncicpIGFzIG9yZGVyX2h0bWw6
CisgICAgICAgIGV4dHJhY3RvciA9IE9yZGVyZWRKU0ZpbGVzRXh0cmFjdG9yKG9yZGVyX2h0bWwu
cmVhZCgpKQogICAgIGV4dHJhY3Rvci5vcmRlcmVkX2pzX2ZpbGVzLmFwcGVuZCgnRGV2VG9vbHMu
anMnKQogICAgIGV4dHJhY3Rvci5vcmRlcmVkX2pzX2ZpbGVzLmFwcGVuZCgnVGVzdHMuanMnKQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NjcmlwdHMvZ2VuZXJhdGVfZGV2
dG9vbHNfaHRtbC5weSBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc2NyaXB0cy9nZW5lcmF0ZV9k
ZXZ0b29sc19odG1sLnB5CmluZGV4IGI4ZWFiMDk5ZDhmYmUyZjVhYWUzY2YyZTYyYTUyYTFlZGI1
ZDkxOTguLjY2MjU1YTg0Y2ViMGE4NGMzMWRhZjJmNGQxNTQwOWJhZDdkZmE5ODAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc2NyaXB0cy9nZW5lcmF0ZV9kZXZ0b29sc19odG1s
LnB5CisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc2NyaXB0cy9nZW5lcmF0ZV9kZXZ0b29s
c19odG1sLnB5CkBAIC0zMyw3ICszMyw3IEBAIGltcG9ydCBvcy5wYXRoCiBpbXBvcnQgc3lzCiAK
IAotZGVmIEdlbmVyYXRlSW5jbHVkZVRhZyhyZXNvdXJjZV9wYXRoKToKK2RlZiBnZW5lcmF0ZV9p
bmNsdWRlX3RhZyhyZXNvdXJjZV9wYXRoKToKICAgICAoZGlyX25hbWUsIGZpbGVfbmFtZSkgPSBv
cy5wYXRoLnNwbGl0KHJlc291cmNlX3BhdGgpCiAgICAgaWYgKGZpbGVfbmFtZS5lbmRzd2l0aCgn
LmpzJykpOgogICAgICAgICByZXR1cm4gJyAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlw
dCIgc3JjPSIlcyI+PC9zY3JpcHQ+XG4nICUgZmlsZV9uYW1lCkBAIC00Myw2ICs0MywyMiBAQCBk
ZWYgR2VuZXJhdGVJbmNsdWRlVGFnKHJlc291cmNlX3BhdGgpOgogICAgICAgICBhc3NlcnQgcmVz
b3VyY2VfcGF0aAogCiAKK2RlZiB3cml0ZV9kZXZ0b29sc19odG1sKGluc3BlY3Rvcl9maWxlLCBk
ZXZ0b29sc19maWxlLCBkZWJ1ZywgZGVidWdfZmlsZXMpOgorICAgIGZvciBsaW5lIGluIGluc3Bl
Y3Rvcl9maWxlOgorICAgICAgICBpZiBub3QgZGVidWcgYW5kICc8c2NyaXB0ICcgaW4gbGluZToK
KyAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgIGlmIG5vdCBkZWJ1ZyBhbmQgJzxsaW5rICcg
aW4gbGluZToKKyAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgIGlmICc8L2hlYWQ+JyBpbiBs
aW5lOgorICAgICAgICAgICAgaWYgZGVidWc6CisgICAgICAgICAgICAgICAgZm9yIHJlc291cmNl
IGluIGRlYnVnX2ZpbGVzOgorICAgICAgICAgICAgICAgICAgICBkZXZ0b29sc19maWxlLndyaXRl
KGdlbmVyYXRlX2luY2x1ZGVfdGFnKHJlc291cmNlKSkKKyAgICAgICAgICAgIGVsc2U6CisgICAg
ICAgICAgICAgICAgZGV2dG9vbHNfZmlsZS53cml0ZShnZW5lcmF0ZV9pbmNsdWRlX3RhZygiZGV2
VG9vbHMuY3NzIikpCisgICAgICAgICAgICAgICAgZGV2dG9vbHNfZmlsZS53cml0ZShnZW5lcmF0
ZV9pbmNsdWRlX3RhZygiRGV2VG9vbHMuanMiKSkKKyAgICAgICAgZGV2dG9vbHNfZmlsZS53cml0
ZShsaW5lKQorCisKIGRlZiBtYWluKGFyZ3YpOgogCiAgICAgaWYgbGVuKGFyZ3YpIDwgNDoKQEAg
LTU5LDE5ICs3NSw3IEBAIGRlZiBtYWluKGFyZ3YpOgogICAgIGluc3BlY3Rvcl9odG1sID0gb3Bl
bihpbnNwZWN0b3JfaHRtbF9uYW1lLCAncicpCiAgICAgZGV2dG9vbHNfaHRtbCA9IG9wZW4oZGV2
dG9vbHNfaHRtbF9uYW1lLCAndycpCiAKLSAgICBmb3IgbGluZSBpbiBpbnNwZWN0b3JfaHRtbDoK
LSAgICAgICAgaWYgbm90IGRlYnVnIGFuZCAnPHNjcmlwdCAnIGluIGxpbmU6Ci0gICAgICAgICAg
ICBjb250aW51ZQotICAgICAgICBpZiBub3QgZGVidWcgYW5kICc8bGluayAnIGluIGxpbmU6Ci0g
ICAgICAgICAgICBjb250aW51ZQotICAgICAgICBpZiAnPC9oZWFkPicgaW4gbGluZToKLSAgICAg
ICAgICAgIGlmIGRlYnVnOgotICAgICAgICAgICAgICAgIGZvciByZXNvdXJjZSBpbiBhcmd2WzQ6
XToKLSAgICAgICAgICAgICAgICAgICAgZGV2dG9vbHNfaHRtbC53cml0ZShHZW5lcmF0ZUluY2x1
ZGVUYWcocmVzb3VyY2UpKQotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICBkZXZ0
b29sc19odG1sLndyaXRlKEdlbmVyYXRlSW5jbHVkZVRhZygiZGV2VG9vbHMuY3NzIikpCi0gICAg
ICAgICAgICAgICAgZGV2dG9vbHNfaHRtbC53cml0ZShHZW5lcmF0ZUluY2x1ZGVUYWcoIkRldlRv
b2xzLmpzIikpCi0gICAgICAgIGRldnRvb2xzX2h0bWwud3JpdGUobGluZSkKKyAgICB3cml0ZV9k
ZXZ0b29sc19odG1sKGluc3BlY3Rvcl9odG1sLCBkZXZ0b29sc19odG1sLCBkZWJ1ZywgYXJndls0
Ol0pCiAKICAgICBkZXZ0b29sc19odG1sLmNsb3NlKCkKICAgICBpbnNwZWN0b3JfaHRtbC5jbG9z
ZSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NjcmlwdHMvZ2VuZXJhdGVf
ZGV2dG9vbHNfemlwLnB5IGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zY3JpcHRzL2dlbmVyYXRl
X2RldnRvb2xzX3ppcC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mNjk1OGZhNjA2MDkzODhkZGJmZGU5MjJiNzg3
ZGQyMWZmNWM3ODA0Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9z
Y3JpcHRzL2dlbmVyYXRlX2RldnRvb2xzX3ppcC5weQpAQCAtMCwwICsxLDExOCBAQAorIyEvdXNy
L2Jpbi9lbnYgcHl0aG9uCisjCisjIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorIworIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyMgbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorIyBtZXQ6
CisjCisjICAgICAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorIyBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisjICAgICAgICAgKiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisjIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIKKyMgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZQorIyBkaXN0cmlidXRpb24uCisjICAgICAgICAgKiBOZWl0aGVyIHRoZSBuYW1l
IG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisjIGNvbnRyaWJ1dG9ycyBtYXkg
YmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisjIHRo
aXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisj
CisjIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFO
RCBDT05UUklCVVRPUlMKKyMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyMgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisjIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hU
CisjIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLAorIyBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisjIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorIyBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkKKyMgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAorIyAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKworIiIiQ3Jl
YXRlcyBhIHppcCBmaWxlIGNvbnRhaW5pbmcgdGhlIHdlYiBpbnNwZWN0b3IgZmlsZXMgZm9yIGRl
YnVnZ2luZy4KKworVGhlIHppcCBmaWxlIGNvbnRhaW5zIGFsbCB0aGUgLmh0bWwsIC5qcywgLmNz
cyBhbmQgaW1hZ2UgZmlsZXMgdXNlZCBieSB0aGUKK3dlYiBpbnNwZWN0b3IuICBUaGUganMgZmls
ZXMgYW5kIGNzcyBmaWxlcyBhcmUgbm90IGNvbmNhdGVuYXRlZCBhbmQgYXJlIG5vdAorbWluaWZp
ZWQuIiIiCisKK2Zyb20gX19mdXR1cmVfXyBpbXBvcnQgd2l0aF9zdGF0ZW1lbnQKKworaW1wb3J0
IG9zCitpbXBvcnQgU3RyaW5nSU8KK2ltcG9ydCBzeXMKK2ltcG9ydCB6aXBmaWxlCisKK2ltcG9y
dCBjb25jYXRlbmF0ZV9jc3NfZmlsZXMKK2ltcG9ydCBjb25jYXRlbmF0ZV9qc19maWxlcworaW1w
b3J0IGdlbmVyYXRlX2RldnRvb2xzX2h0bWwKKworCitrQmFzZURpciA9ICdyZXNvdXJjZXMvaW5z
cGVjdG9yJworCisKK2NsYXNzIFBhcnNlZEFyZ3M6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIGlu
c3BlY3Rvcl9odG1sLCBkZXZ0b29sc19maWxlcywgc2VhcmNoX2RpcnMsCisgICAgICAgICAgICAg
ICAgIGltYWdlX3NlYXJjaF9kaXJzLCBvdXRwdXRfZmlsZW5hbWUpOgorICAgICAgICBzZWxmLmlu
c3BlY3Rvcl9odG1sID0gaW5zcGVjdG9yX2h0bWwKKyAgICAgICAgc2VsZi5kZXZ0b29sc19maWxl
cyA9IGRldnRvb2xzX2ZpbGVzCisgICAgICAgIHNlbGYuc2VhcmNoX2RpcnMgPSBzZWFyY2hfZGly
cworICAgICAgICBzZWxmLmltYWdlX3NlYXJjaF9kaXJzID0gaW1hZ2Vfc2VhcmNoX2RpcnMKKyAg
ICAgICAgc2VsZi5vdXRwdXRfZmlsZW5hbWUgPSBvdXRwdXRfZmlsZW5hbWUKKworCitkZWYgcGFy
c2VfYXJncyhhcmd2KToKKyAgICBpbnNwZWN0b3JfaHRtbCA9IGFyZ3ZbMF0KKworICAgIGRldnRv
b2xzX2ZpbGVzX3Bvc2l0aW9uID0gYXJndi5pbmRleCgnLS1kZXZ0b29scy1maWxlcycpCisgICAg
c2VhcmNoX3BhdGhfcG9zaXRpb24gPSBhcmd2LmluZGV4KCctLXNlYXJjaC1wYXRoJykKKyAgICBp
bWFnZV9zZWFyY2hfcGF0aF9wb3NpdGlvbiA9IGFyZ3YuaW5kZXgoJy0taW1hZ2Utc2VhcmNoLXBh
dGgnKQorICAgIG91dHB1dF9wb3NpdGlvbiA9IGFyZ3YuaW5kZXgoJy0tb3V0cHV0JykKKworICAg
IGRldnRvb2xzX2ZpbGVzID0gYXJndltkZXZ0b29sc19maWxlc19wb3NpdGlvbiArIDE6c2VhcmNo
X3BhdGhfcG9zaXRpb25dCisgICAgc2VhcmNoX2RpcnMgPSBhcmd2W3NlYXJjaF9wYXRoX3Bvc2l0
aW9uICsgMTppbWFnZV9zZWFyY2hfcGF0aF9wb3NpdGlvbl0KKyAgICBpbWFnZV9zZWFyY2hfZGly
cyA9IGFyZ3ZbaW1hZ2Vfc2VhcmNoX3BhdGhfcG9zaXRpb24gKyAxOm91dHB1dF9wb3NpdGlvbl0K
KworICAgIHJldHVybiBQYXJzZWRBcmdzKGluc3BlY3Rvcl9odG1sLCBkZXZ0b29sc19maWxlcywg
c2VhcmNoX2RpcnMsCisgICAgICAgICAgICAgICAgICAgICAgaW1hZ2Vfc2VhcmNoX2RpcnMsIGFy
Z3Zbb3V0cHV0X3Bvc2l0aW9uICsgMV0pCisKKworZGVmIG1haW4oYXJndik6CisgICAgcGFyc2Vk
X2FyZ3MgPSBwYXJzZV9hcmdzKGFyZ3ZbMTpdKQorCisgICAgZGV2dG9vbHNfaHRtbCA9IFN0cmlu
Z0lPLlN0cmluZ0lPKCkKKyAgICB3aXRoIG9wZW4ocGFyc2VkX2FyZ3MuaW5zcGVjdG9yX2h0bWws
ICdyJykgYXMgaW5zcGVjdG9yX2ZpbGU6CisgICAgICAgIGdlbmVyYXRlX2RldnRvb2xzX2h0bWwu
d3JpdGVfZGV2dG9vbHNfaHRtbCgKKyAgICAgICAgICAgIGluc3BlY3Rvcl9maWxlLCBkZXZ0b29s
c19odG1sLCBUcnVlLCBwYXJzZWRfYXJncy5kZXZ0b29sc19maWxlcykKKworICAgIHppcCA9IHpp
cGZpbGUuWmlwRmlsZShwYXJzZWRfYXJncy5vdXRwdXRfZmlsZW5hbWUsICd3JywgemlwZmlsZS5a
SVBfREVGTEFURUQpCisgICAgemlwLndyaXRlc3RyKG9zLnBhdGguam9pbihrQmFzZURpciwgImRl
dnRvb2xzLmh0bWwiKSwKKyAgICAgICAgICAgICAgICAgZGV2dG9vbHNfaHRtbC5nZXR2YWx1ZSgp
KQorCisgICAgY3NzX2V4dHJhY3RvciA9IGNvbmNhdGVuYXRlX2Nzc19maWxlcy5PcmRlcmVkQ1NT
RmlsZXNFeHRyYWN0b3IoCisgICAgICAgIGRldnRvb2xzX2h0bWwuZ2V0dmFsdWUoKSkKKyAgICBq
c19leHRyYWN0b3IgPSBjb25jYXRlbmF0ZV9qc19maWxlcy5PcmRlcmVkSlNGaWxlc0V4dHJhY3Rv
cigKKyAgICAgICAgZGV2dG9vbHNfaHRtbC5nZXR2YWx1ZSgpKQorCisgICAgZXhwYW5kZXIgPSBj
b25jYXRlbmF0ZV9jc3NfZmlsZXMuUGF0aEV4cGFuZGVyKHBhcnNlZF9hcmdzLnNlYXJjaF9kaXJz
KQorICAgIGZpbGVzID0gY3NzX2V4dHJhY3Rvci5vcmRlcmVkX2Nzc19maWxlcyArIGpzX2V4dHJh
Y3Rvci5vcmRlcmVkX2pzX2ZpbGVzCisgICAgZm9yIGlucHV0X2ZpbGVfbmFtZSBpbiBzZXQoZmls
ZXMpOgorICAgICAgICBmdWxsX3BhdGggPSBleHBhbmRlci5leHBhbmQoaW5wdXRfZmlsZV9uYW1l
KQorICAgICAgICBpZiBmdWxsX3BhdGggaXMgTm9uZToKKyAgICAgICAgICAgIHJhaXNlIEV4Y2Vw
dGlvbignRmlsZSAlcyByZWZlcmVuY2VkIGluICVzIG5vdCBmb3VuZCBvbiBhbnkgc291cmNlIHBh
dGhzLCAnCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2NoZWNrIHNvdXJjZSB0cmVlIGZv
ciBjb25zaXN0ZW5jeScgJQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIChpbnB1dF9maWxl
X25hbWUsICdkZXZ0b29scy5odG1sJykpCisgICAgICAgIHppcC53cml0ZShmdWxsX3BhdGgsIG9z
LnBhdGguam9pbihrQmFzZURpciwgb3MucGF0aC5iYXNlbmFtZShmdWxsX3BhdGgpKSkKKworICAg
IGZvciBkaXJuYW1lIGluIHBhcnNlZF9hcmdzLmltYWdlX3NlYXJjaF9kaXJzOgorICAgICAgICBm
b3IgZmlsZW5hbWUgaW4gb3MubGlzdGRpcihkaXJuYW1lKToKKyAgICAgICAgICAgIGlmIG5vdCBm
aWxlbmFtZS5lbmRzd2l0aCgnLnBuZycpIGFuZCBub3QgZmlsZW5hbWUuZW5kc3dpdGgoJy5naWYn
KToKKyAgICAgICAgICAgICAgICBjb250aW51ZQorICAgICAgICAgICAgemlwLndyaXRlKG9zLnBh
dGguam9pbihkaXJuYW1lLCBmaWxlbmFtZSksCisgICAgICAgICAgICAgICAgICAgICAgb3MucGF0
aC5qb2luKGtCYXNlRGlyLCAnSW1hZ2VzJywgZmlsZW5hbWUpKQorCisgICAgIyBJdCB3b3VsZCBi
ZSBuaWNlIHRvIHVzZSB0aGUgd2l0aCBzdGF0ZW1lbnQgdG8gc2NvcGUgY2xvc2luZyB0aGUgYXJj
aGl2ZSwKKyAgICAjIGJ1dCB0aGF0IHdhc24ndCBhZGRlZCB1bnRpbCBweXRob24gMi43LgorICAg
IHppcC5jbG9zZSgpCisKKworaWYgJ19fbWFpbl9fJyA9PSBfX25hbWVfXzoKKyAgICBzeXMuZXhp
dChtYWluKHN5cy5hcmd2KSkK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>91303</attachid>
            <date>2011-04-27 09:50:28 -0700</date>
            <delta_ts>2011-04-27 11:59:09 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-56656-20110427095415.patch</filename>
            <type>text/plain</type>
            <size>13461</size>
            <attacher name="Tony Chang">tony</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODUwNTYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXgg
NmYzZWFkZWJhMDIwNzU4YTZlMDRiODYyNTk5M2Y2NTBlYjM2YzFmZS4uNDVmYzA4OTM4NWEwOGY2
MzJlMWMzNTA4ODlhYmFmN2FkNzUxODM0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxNyBAQAorMjAxMS0wNC0yNyAgVG9ueSBDaGFuZyAgPHRvbnlAY2hyb21pdW0ub3Jn
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE9qYW4gVmFmYWkuCisKKyAgICAgICAgW2Nocm9taXVt
XSBhZGQgYSBidWlsZCB0YXJnZXQgdG8gbWFrZSBhIHppcCBmaWxlIHdpdGggdGhlIGluc3BlY3Rv
ciBkZWJ1ZyBmaWxlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NTY2NTYKKworICAgICAgICAqIFdlYktpdC5neXA6IEFkZCB0YXJnZXQKKyAgICAgICAg
KiBzY3JpcHRzL2NvbmNhdGVuYXRlX2Nzc19maWxlcy5weTogUGFzcyBpbiBhIHN0cmluZyBvZiBo
dG1sIHJhdGhlcgorICAgICAgICAgICAgdGhhbiBhIGZpbGVuYW1lCisgICAgICAgICogc2NyaXB0
cy9jb25jYXRlbmF0ZV9qc19maWxlcy5weTogU2FtZSBhcyBhYm92ZQorICAgICAgICAqIHNjcmlw
dHMvZ2VuZXJhdGVfZGV2dG9vbHNfaHRtbC5weTogUmVmYWN0b3IgbWFpbiBpbnRvIGEgaGVscGVy
IGZ1bmN0aW9uCisgICAgICAgICogc2NyaXB0cy9nZW5lcmF0ZV9kZXZ0b29sc196aXAucHk6IEFk
ZGVkLgorCiAyMDExLTA0LTI3ICBNaWhhaSBQYXJwYXJpdGEgIDxtaWhhaXBAY2hyb21pdW0ub3Jn
PgogCiAgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgU2VpZGVsLgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9XZWJLaXQuZ3lwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9XZWJL
aXQuZ3lwCmluZGV4IGVkNzcyOWFiMTA3Y2U2YTlmMDIwMTZmNTViZDZkYzEwMGViY2MzZDAuLmI1
ODgwZWVmMGI1ZDc1NTY2MTc3YjJiZjFlZjM2OGRmOGJjOWE5NGIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vV2ViS2l0Lmd5cAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L1dlYktpdC5neXAKQEAgLTgxMSw2ICs4MTEsNDMgQEAKICAgICAgICAgICAgIH1dLAogICAgICAg
ICB9LAogICAgICAgICB7CisgICAgICAgICAgICAndGFyZ2V0X25hbWUnOiAnZ2VuZXJhdGVfZGV2
dG9vbHNfemlwJywKKyAgICAgICAgICAgICd0eXBlJzogJ25vbmUnLAorICAgICAgICAgICAgJ2Rl
cGVuZGVuY2llcyc6IFsKKyAgICAgICAgICAgICAgICAnLi4vLi4vV2ViQ29yZS9XZWJDb3JlLmd5
cC9XZWJDb3JlLmd5cDppbnNwZWN0b3JfcHJvdG9jb2xfc291cmNlcycsCisgICAgICAgICAgICBd
LAorICAgICAgICAgICAgJ2FjdGlvbnMnOiBbeworICAgICAgICAgICAgICAgICdhY3Rpb25fbmFt
ZSc6ICdnZW5lcmF0ZV9kZXZ0b29sc196aXAnLAorICAgICAgICAgICAgICAgICdzY3JpcHRfbmFt
ZSc6ICdzY3JpcHRzL2dlbmVyYXRlX2RldnRvb2xzX3ppcC5weScsCisgICAgICAgICAgICAgICAg
J2luc3BlY3Rvcl9odG1sJzogJy4uLy4uL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNw
ZWN0b3IuaHRtbCcsCisgICAgICAgICAgICAgICAgJ2lucHV0cyc6IFsKKyAgICAgICAgICAgICAg
ICAgICAgJzxAKF9zY3JpcHRfbmFtZSknLAorICAgICAgICAgICAgICAgICAgICAnc2NyaXB0cy9n
ZW5lcmF0ZV9kZXZ0b29sc19odG1sLnB5JywKKyAgICAgICAgICAgICAgICAgICAgJzxAKF9pbnNw
ZWN0b3JfaHRtbCknLAorICAgICAgICAgICAgICAgICAgICAnPEAoZGV2dG9vbHNfZmlsZXMpJywK
KyAgICAgICAgICAgICAgICAgICAgJzxAKHdlYmluc3BlY3Rvcl9maWxlcyknLAorICAgICAgICAg
ICAgICAgICAgICAnPChTSEFSRURfSU5URVJNRURJQVRFX0RJUikvd2ViY29yZS9JbnNwZWN0b3JC
YWNrZW5kU3R1Yi5qcycsCisgICAgICAgICAgICAgICAgICAgICc8QCh3ZWJpbnNwZWN0b3JfaW1h
Z2VfZmlsZXMpJywKKyAgICAgICAgICAgICAgICAgICAgJzxAKGRldnRvb2xzX2ltYWdlX2ZpbGVz
KScsCisgICAgICAgICAgICAgICAgXSwKKyAgICAgICAgICAgICAgICAnc2VhcmNoX3BhdGgnOiBb
CisgICAgICAgICAgICAgICAgICAgICcuLi8uLi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQn
LAorICAgICAgICAgICAgICAgICAgICAnc3JjL2pzJywKKyAgICAgICAgICAgICAgICAgICAgJzwo
U0hBUkVEX0lOVEVSTUVESUFURV9ESVIpL3dlYmNvcmUnLAorICAgICAgICAgICAgICAgIF0sCisg
ICAgICAgICAgICAgICAgJ2ltYWdlX3NlYXJjaF9wYXRoJzogWworICAgICAgICAgICAgICAgICAg
ICAnLi4vLi4vV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0ltYWdlcycsCisgICAgICAgICAg
ICAgICAgICAgICdzcmMvanMvSW1hZ2VzJywKKyAgICAgICAgICAgICAgICBdLAorICAgICAgICAg
ICAgICAgICdvdXRwdXRzJzogWyc8KFBST0RVQ1RfRElSKS9kZXZ0b29sc19mcm9udGVuZC56aXAn
XSwKKyAgICAgICAgICAgICAgICAnYWN0aW9uJzogWydweXRob24nLCAnPEAoX3NjcmlwdF9uYW1l
KScsICc8QChfaW5zcGVjdG9yX2h0bWwpJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAnLS1kZXZ0b29scy1maWxlcycsICc8QChkZXZ0b29sc19maWxlcyknLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICctLXNlYXJjaC1wYXRoJywgJzxAKF9zZWFy
Y2hfcGF0aCknLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICctLWltYWdl
LXNlYXJjaC1wYXRoJywgJzxAKF9pbWFnZV9zZWFyY2hfcGF0aCknLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICctLW91dHB1dCcsICc8QChfb3V0cHV0cyknXSwKKyAgICAg
ICAgICAgIH1dLAorICAgICAgICB9LAorICAgICAgICB7CiAgICAgICAgICAgICAndGFyZ2V0X25h
bWUnOiAnd2Via2l0X3VuaXRfdGVzdHMnLAogICAgICAgICAgICAgJ3R5cGUnOiAnZXhlY3V0YWJs
ZScsCiAgICAgICAgICAgICAnbXN2c19ndWlkJzogJzdDRUZFODAwLTg0MDMtNDE4QS1BRDZBLTJE
NTJDNkZDM0VBRCcsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NjcmlwdHMv
Y29uY2F0ZW5hdGVfY3NzX2ZpbGVzLnB5IGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zY3JpcHRz
L2NvbmNhdGVuYXRlX2Nzc19maWxlcy5weQppbmRleCAwYWE1ZWYzMGE2NDBkNmY5NmYwMWMwOTBk
MTdlMjdhY2RhYWZmYjNjLi42MjgxYjNmNTY4NDEyMDIzM2YwYWUyOWE1ZTViYmQwOTFjOTllN2Ni
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NjcmlwdHMvY29uY2F0ZW5hdGVf
Y3NzX2ZpbGVzLnB5CisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc2NyaXB0cy9jb25jYXRl
bmF0ZV9jc3NfZmlsZXMucHkKQEAgLTMyLDYgKzMyLDggQEAKICMgVGhpcyBzY3JpcHQgY29uY2F0
ZW5hdGVzIGluIHBsYWNlIENTUyBmaWxlcyBpbiB0aGUgb3JkZXIgc3BlY2lmaWVkCiAjIHVzaW5n
IDxsaW5rPiB0YWdzIGluIGEgZ2l2ZW4gJ29yZGVyLmh0bWwnIGZpbGUuCiAKK2Zyb20gX19mdXR1
cmVfXyBpbXBvcnQgd2l0aF9zdGF0ZW1lbnQKKwogZnJvbSBIVE1MUGFyc2VyIGltcG9ydCBIVE1M
UGFyc2VyCiBmcm9tIGNTdHJpbmdJTyBpbXBvcnQgU3RyaW5nSU8KIGltcG9ydCBvcy5wYXRoCkBA
IC00MCwxMSArNDIsMTAgQEAgaW1wb3J0IHN5cwogCiBjbGFzcyBPcmRlcmVkQ1NTRmlsZXNFeHRy
YWN0b3IoSFRNTFBhcnNlcik6CiAKLSAgICBkZWYgX19pbml0X18oc2VsZiwgb3JkZXJfaHRtbF9u
YW1lKToKKyAgICBkZWYgX19pbml0X18oc2VsZiwgb3JkZXJfaHRtbCk6CiAgICAgICAgIEhUTUxQ
YXJzZXIuX19pbml0X18oc2VsZikKICAgICAgICAgc2VsZi5vcmRlcmVkX2Nzc19maWxlcyA9IFtd
Ci0gICAgICAgIG9yZGVyX2h0bWwgPSBvcGVuKG9yZGVyX2h0bWxfbmFtZSwgJ3InKQotICAgICAg
ICBzZWxmLmZlZWQob3JkZXJfaHRtbC5yZWFkKCkpCisgICAgICAgIHNlbGYuZmVlZChvcmRlcl9o
dG1sKQogCiAgICAgZGVmIGhhbmRsZV9zdGFydHRhZyhzZWxmLCB0YWcsIGF0dHJzKToKICAgICAg
ICAgaWYgdGFnID09ICdsaW5rJzoKQEAgLTgyLDcgKzgzLDggQEAgZGVmIG1haW4oYXJndik6CiAK
ICAgICBvdXRwdXRfZmlsZV9uYW1lID0gYXJndi5wb3AoKQogICAgIGlucHV0X29yZGVyX2ZpbGVf
bmFtZSA9IGFyZ3ZbMV0KLSAgICBleHRyYWN0b3IgPSBPcmRlcmVkQ1NTRmlsZXNFeHRyYWN0b3Io
aW5wdXRfb3JkZXJfZmlsZV9uYW1lKQorICAgIHdpdGggb3BlbihpbnB1dF9vcmRlcl9maWxlX25h
bWUsICdyJykgYXMgb3JkZXJfaHRtbDoKKyAgICAgICAgZXh0cmFjdG9yID0gT3JkZXJlZENTU0Zp
bGVzRXh0cmFjdG9yKG9yZGVyX2h0bWwucmVhZCgpKQogICAgICMgVW5jb25kaXRpb25hbGx5IGFw
cGVuZCBkZXZUb29scy5jc3MuIEl0IHdpbGwgY29udGFpbiBjb25jYXRlbmF0ZWQgZmlsZXMuCiAg
ICAgZXh0cmFjdG9yLm9yZGVyZWRfY3NzX2ZpbGVzLmFwcGVuZCgnZGV2VG9vbHMuY3NzJykKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zY3JpcHRzL2NvbmNhdGVuYXRlX2pz
X2ZpbGVzLnB5IGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zY3JpcHRzL2NvbmNhdGVuYXRlX2pz
X2ZpbGVzLnB5CmluZGV4IDIwOTY2MGExMGQzMTNhNmQzMzMyMzkyYTVmM2UzYjBiYjA2YzI2MTQu
LjBlYjk2NTI2N2NkYTA0MDY1NjQ0NWMwNDAzNTA3OWEwMmM5NmU1MGEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc2NyaXB0cy9jb25jYXRlbmF0ZV9qc19maWxlcy5weQorKysg
Yi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NjcmlwdHMvY29uY2F0ZW5hdGVfanNfZmlsZXMucHkK
QEAgLTMyLDYgKzMyLDggQEAKICMgVGhpcyBzY3JpcHQgY29uY2F0ZW5hdGVzIGluIHBsYWNlIEpT
IGZpbGVzIGluIHRoZSBvcmRlciBzcGVjaWZpZWQKICMgdXNpbmcgPHNjcmlwdD4gdGFncyBpbiBh
IGdpdmVuICdvcmRlci5odG1sJyBmaWxlLgogCitmcm9tIF9fZnV0dXJlX18gaW1wb3J0IHdpdGhf
c3RhdGVtZW50CisKIGZyb20gSFRNTFBhcnNlciBpbXBvcnQgSFRNTFBhcnNlcgogZnJvbSBjU3Ry
aW5nSU8gaW1wb3J0IFN0cmluZ0lPCiAKQEAgLTQyLDExICs0NCwxMCBAQCBpbXBvcnQgc3lzCiAK
IGNsYXNzIE9yZGVyZWRKU0ZpbGVzRXh0cmFjdG9yKEhUTUxQYXJzZXIpOgogCi0gICAgZGVmIF9f
aW5pdF9fKHNlbGYsIG9yZGVyX2h0bWxfbmFtZSk6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIG9y
ZGVyX2h0bWwpOgogICAgICAgICBIVE1MUGFyc2VyLl9faW5pdF9fKHNlbGYpCiAgICAgICAgIHNl
bGYub3JkZXJlZF9qc19maWxlcyA9IFtdCi0gICAgICAgIG9yZGVyX2h0bWwgPSBvcGVuKG9yZGVy
X2h0bWxfbmFtZSwgJ3InKQotICAgICAgICBzZWxmLmZlZWQob3JkZXJfaHRtbC5yZWFkKCkpCisg
ICAgICAgIHNlbGYuZmVlZChvcmRlcl9odG1sKQogCiAgICAgZGVmIGhhbmRsZV9zdGFydHRhZyhz
ZWxmLCB0YWcsIGF0dHJzKToKICAgICAgICAgaWYgdGFnID09ICdzY3JpcHQnOgpAQCAtODMsNyAr
ODQsOCBAQCBkZWYgbWFpbihhcmd2KToKIAogICAgIG91dHB1dF9maWxlX25hbWUgPSBhcmd2LnBv
cCgpCiAgICAgaW5wdXRfb3JkZXJfZmlsZV9uYW1lID0gYXJndlsxXQotICAgIGV4dHJhY3RvciA9
IE9yZGVyZWRKU0ZpbGVzRXh0cmFjdG9yKGlucHV0X29yZGVyX2ZpbGVfbmFtZSkKKyAgICB3aXRo
IG9wZW4oaW5wdXRfb3JkZXJfZmlsZV9uYW1lLCAncicpIGFzIG9yZGVyX2h0bWw6CisgICAgICAg
IGV4dHJhY3RvciA9IE9yZGVyZWRKU0ZpbGVzRXh0cmFjdG9yKG9yZGVyX2h0bWwucmVhZCgpKQog
ICAgIGV4dHJhY3Rvci5vcmRlcmVkX2pzX2ZpbGVzLmFwcGVuZCgnRGV2VG9vbHMuanMnKQogICAg
IGV4dHJhY3Rvci5vcmRlcmVkX2pzX2ZpbGVzLmFwcGVuZCgnVGVzdHMuanMnKQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NjcmlwdHMvZ2VuZXJhdGVfZGV2dG9vbHNfaHRt
bC5weSBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc2NyaXB0cy9nZW5lcmF0ZV9kZXZ0b29sc19o
dG1sLnB5CmluZGV4IGI4ZWFiMDk5ZDhmYmUyZjVhYWUzY2YyZTYyYTUyYTFlZGI1ZDkxOTguLjY2
MjU1YTg0Y2ViMGE4NGMzMWRhZjJmNGQxNTQwOWJhZDdkZmE5ODAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc2NyaXB0cy9nZW5lcmF0ZV9kZXZ0b29sc19odG1sLnB5CisrKyBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc2NyaXB0cy9nZW5lcmF0ZV9kZXZ0b29sc19odG1sLnB5
CkBAIC0zMyw3ICszMyw3IEBAIGltcG9ydCBvcy5wYXRoCiBpbXBvcnQgc3lzCiAKIAotZGVmIEdl
bmVyYXRlSW5jbHVkZVRhZyhyZXNvdXJjZV9wYXRoKToKK2RlZiBnZW5lcmF0ZV9pbmNsdWRlX3Rh
ZyhyZXNvdXJjZV9wYXRoKToKICAgICAoZGlyX25hbWUsIGZpbGVfbmFtZSkgPSBvcy5wYXRoLnNw
bGl0KHJlc291cmNlX3BhdGgpCiAgICAgaWYgKGZpbGVfbmFtZS5lbmRzd2l0aCgnLmpzJykpOgog
ICAgICAgICByZXR1cm4gJyAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIl
cyI+PC9zY3JpcHQ+XG4nICUgZmlsZV9uYW1lCkBAIC00Myw2ICs0MywyMiBAQCBkZWYgR2VuZXJh
dGVJbmNsdWRlVGFnKHJlc291cmNlX3BhdGgpOgogICAgICAgICBhc3NlcnQgcmVzb3VyY2VfcGF0
aAogCiAKK2RlZiB3cml0ZV9kZXZ0b29sc19odG1sKGluc3BlY3Rvcl9maWxlLCBkZXZ0b29sc19m
aWxlLCBkZWJ1ZywgZGVidWdfZmlsZXMpOgorICAgIGZvciBsaW5lIGluIGluc3BlY3Rvcl9maWxl
OgorICAgICAgICBpZiBub3QgZGVidWcgYW5kICc8c2NyaXB0ICcgaW4gbGluZToKKyAgICAgICAg
ICAgIGNvbnRpbnVlCisgICAgICAgIGlmIG5vdCBkZWJ1ZyBhbmQgJzxsaW5rICcgaW4gbGluZToK
KyAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgIGlmICc8L2hlYWQ+JyBpbiBsaW5lOgorICAg
ICAgICAgICAgaWYgZGVidWc6CisgICAgICAgICAgICAgICAgZm9yIHJlc291cmNlIGluIGRlYnVn
X2ZpbGVzOgorICAgICAgICAgICAgICAgICAgICBkZXZ0b29sc19maWxlLndyaXRlKGdlbmVyYXRl
X2luY2x1ZGVfdGFnKHJlc291cmNlKSkKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAg
ICAgZGV2dG9vbHNfZmlsZS53cml0ZShnZW5lcmF0ZV9pbmNsdWRlX3RhZygiZGV2VG9vbHMuY3Nz
IikpCisgICAgICAgICAgICAgICAgZGV2dG9vbHNfZmlsZS53cml0ZShnZW5lcmF0ZV9pbmNsdWRl
X3RhZygiRGV2VG9vbHMuanMiKSkKKyAgICAgICAgZGV2dG9vbHNfZmlsZS53cml0ZShsaW5lKQor
CisKIGRlZiBtYWluKGFyZ3YpOgogCiAgICAgaWYgbGVuKGFyZ3YpIDwgNDoKQEAgLTU5LDE5ICs3
NSw3IEBAIGRlZiBtYWluKGFyZ3YpOgogICAgIGluc3BlY3Rvcl9odG1sID0gb3BlbihpbnNwZWN0
b3JfaHRtbF9uYW1lLCAncicpCiAgICAgZGV2dG9vbHNfaHRtbCA9IG9wZW4oZGV2dG9vbHNfaHRt
bF9uYW1lLCAndycpCiAKLSAgICBmb3IgbGluZSBpbiBpbnNwZWN0b3JfaHRtbDoKLSAgICAgICAg
aWYgbm90IGRlYnVnIGFuZCAnPHNjcmlwdCAnIGluIGxpbmU6Ci0gICAgICAgICAgICBjb250aW51
ZQotICAgICAgICBpZiBub3QgZGVidWcgYW5kICc8bGluayAnIGluIGxpbmU6Ci0gICAgICAgICAg
ICBjb250aW51ZQotICAgICAgICBpZiAnPC9oZWFkPicgaW4gbGluZToKLSAgICAgICAgICAgIGlm
IGRlYnVnOgotICAgICAgICAgICAgICAgIGZvciByZXNvdXJjZSBpbiBhcmd2WzQ6XToKLSAgICAg
ICAgICAgICAgICAgICAgZGV2dG9vbHNfaHRtbC53cml0ZShHZW5lcmF0ZUluY2x1ZGVUYWcocmVz
b3VyY2UpKQotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICBkZXZ0b29sc19odG1s
LndyaXRlKEdlbmVyYXRlSW5jbHVkZVRhZygiZGV2VG9vbHMuY3NzIikpCi0gICAgICAgICAgICAg
ICAgZGV2dG9vbHNfaHRtbC53cml0ZShHZW5lcmF0ZUluY2x1ZGVUYWcoIkRldlRvb2xzLmpzIikp
Ci0gICAgICAgIGRldnRvb2xzX2h0bWwud3JpdGUobGluZSkKKyAgICB3cml0ZV9kZXZ0b29sc19o
dG1sKGluc3BlY3Rvcl9odG1sLCBkZXZ0b29sc19odG1sLCBkZWJ1ZywgYXJndls0Ol0pCiAKICAg
ICBkZXZ0b29sc19odG1sLmNsb3NlKCkKICAgICBpbnNwZWN0b3JfaHRtbC5jbG9zZSgpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NjcmlwdHMvZ2VuZXJhdGVfZGV2dG9vbHNf
emlwLnB5IGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zY3JpcHRzL2dlbmVyYXRlX2RldnRvb2xz
X3ppcC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43MzZkYTA1MTQ1ZTQzN2UzZTg0MmFiNTkzNTRkNmU5N2NhZjI1
NjAwCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zY3JpcHRzL2dl
bmVyYXRlX2RldnRvb2xzX3ppcC5weQpAQCAtMCwwICsxLDExNCBAQAorIyEvdXNyL2Jpbi9lbnYg
cHl0aG9uCisjCisjIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorIworIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorIyBtZXQ6CisjCisjICAg
ICAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorIyBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisjICAgICAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisjIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyMgaW4g
dGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZQorIyBkaXN0cmlidXRpb24uCisjICAgICAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2ds
ZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisjIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0
byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisjIHRoaXMgc29mdHdh
cmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisjCisjIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklC
VVRPUlMKKyMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QKKyMgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisjIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisjIE9XTkVS
IE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLAorIyBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UCisjIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorIyBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyMgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAorIyAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKworIiIiQ3JlYXRlcyBhIHpp
cCBmaWxlIGNvbnRhaW5pbmcgdGhlIHdlYiBpbnNwZWN0b3IgZmlsZXMgZm9yIGRlYnVnZ2luZy4K
KworVGhlIHppcCBmaWxlIGNvbnRhaW5zIGFsbCB0aGUgLmh0bWwsIC5qcywgLmNzcyBhbmQgaW1h
Z2UgZmlsZXMgdXNlZCBieSB0aGUKK3dlYiBpbnNwZWN0b3IuICBUaGUganMgZmlsZXMgYW5kIGNz
cyBmaWxlcyBhcmUgbm90IGNvbmNhdGVuYXRlZCBhbmQgYXJlIG5vdAorbWluaWZpZWQuIiIiCisK
K2Zyb20gX19mdXR1cmVfXyBpbXBvcnQgd2l0aF9zdGF0ZW1lbnQKKworaW1wb3J0IG9zCitpbXBv
cnQgU3RyaW5nSU8KK2ltcG9ydCBzeXMKK2ltcG9ydCB6aXBmaWxlCisKK2ltcG9ydCBjb25jYXRl
bmF0ZV9jc3NfZmlsZXMKK2ltcG9ydCBjb25jYXRlbmF0ZV9qc19maWxlcworaW1wb3J0IGdlbmVy
YXRlX2RldnRvb2xzX2h0bWwKKworCitjbGFzcyBQYXJzZWRBcmdzOgorICAgIGRlZiBfX2luaXRf
XyhzZWxmLCBpbnNwZWN0b3JfaHRtbCwgZGV2dG9vbHNfZmlsZXMsIHNlYXJjaF9kaXJzLAorICAg
ICAgICAgICAgICAgICBpbWFnZV9zZWFyY2hfZGlycywgb3V0cHV0X2ZpbGVuYW1lKToKKyAgICAg
ICAgc2VsZi5pbnNwZWN0b3JfaHRtbCA9IGluc3BlY3Rvcl9odG1sCisgICAgICAgIHNlbGYuZGV2
dG9vbHNfZmlsZXMgPSBkZXZ0b29sc19maWxlcworICAgICAgICBzZWxmLnNlYXJjaF9kaXJzID0g
c2VhcmNoX2RpcnMKKyAgICAgICAgc2VsZi5pbWFnZV9zZWFyY2hfZGlycyA9IGltYWdlX3NlYXJj
aF9kaXJzCisgICAgICAgIHNlbGYub3V0cHV0X2ZpbGVuYW1lID0gb3V0cHV0X2ZpbGVuYW1lCisK
KworZGVmIHBhcnNlX2FyZ3MoYXJndik6CisgICAgaW5zcGVjdG9yX2h0bWwgPSBhcmd2WzBdCisK
KyAgICBkZXZ0b29sc19maWxlc19wb3NpdGlvbiA9IGFyZ3YuaW5kZXgoJy0tZGV2dG9vbHMtZmls
ZXMnKQorICAgIHNlYXJjaF9wYXRoX3Bvc2l0aW9uID0gYXJndi5pbmRleCgnLS1zZWFyY2gtcGF0
aCcpCisgICAgaW1hZ2Vfc2VhcmNoX3BhdGhfcG9zaXRpb24gPSBhcmd2LmluZGV4KCctLWltYWdl
LXNlYXJjaC1wYXRoJykKKyAgICBvdXRwdXRfcG9zaXRpb24gPSBhcmd2LmluZGV4KCctLW91dHB1
dCcpCisKKyAgICBkZXZ0b29sc19maWxlcyA9IGFyZ3ZbZGV2dG9vbHNfZmlsZXNfcG9zaXRpb24g
KyAxOnNlYXJjaF9wYXRoX3Bvc2l0aW9uXQorICAgIHNlYXJjaF9kaXJzID0gYXJndltzZWFyY2hf
cGF0aF9wb3NpdGlvbiArIDE6aW1hZ2Vfc2VhcmNoX3BhdGhfcG9zaXRpb25dCisgICAgaW1hZ2Vf
c2VhcmNoX2RpcnMgPSBhcmd2W2ltYWdlX3NlYXJjaF9wYXRoX3Bvc2l0aW9uICsgMTpvdXRwdXRf
cG9zaXRpb25dCisKKyAgICByZXR1cm4gUGFyc2VkQXJncyhpbnNwZWN0b3JfaHRtbCwgZGV2dG9v
bHNfZmlsZXMsIHNlYXJjaF9kaXJzLAorICAgICAgICAgICAgICAgICAgICAgIGltYWdlX3NlYXJj
aF9kaXJzLCBhcmd2W291dHB1dF9wb3NpdGlvbiArIDFdKQorCisKK2RlZiBtYWluKGFyZ3YpOgor
ICAgIHBhcnNlZF9hcmdzID0gcGFyc2VfYXJncyhhcmd2WzE6XSkKKworICAgIGRldnRvb2xzX2h0
bWwgPSBTdHJpbmdJTy5TdHJpbmdJTygpCisgICAgd2l0aCBvcGVuKHBhcnNlZF9hcmdzLmluc3Bl
Y3Rvcl9odG1sLCAncicpIGFzIGluc3BlY3Rvcl9maWxlOgorICAgICAgICBnZW5lcmF0ZV9kZXZ0
b29sc19odG1sLndyaXRlX2RldnRvb2xzX2h0bWwoCisgICAgICAgICAgICBpbnNwZWN0b3JfZmls
ZSwgZGV2dG9vbHNfaHRtbCwgVHJ1ZSwgcGFyc2VkX2FyZ3MuZGV2dG9vbHNfZmlsZXMpCisKKyAg
ICB6aXAgPSB6aXBmaWxlLlppcEZpbGUocGFyc2VkX2FyZ3Mub3V0cHV0X2ZpbGVuYW1lLCAndycs
IHppcGZpbGUuWklQX0RFRkxBVEVEKQorICAgIHppcC53cml0ZXN0cigiZGV2dG9vbHMuaHRtbCIs
IGRldnRvb2xzX2h0bWwuZ2V0dmFsdWUoKSkKKworICAgIGNzc19leHRyYWN0b3IgPSBjb25jYXRl
bmF0ZV9jc3NfZmlsZXMuT3JkZXJlZENTU0ZpbGVzRXh0cmFjdG9yKAorICAgICAgICBkZXZ0b29s
c19odG1sLmdldHZhbHVlKCkpCisgICAganNfZXh0cmFjdG9yID0gY29uY2F0ZW5hdGVfanNfZmls
ZXMuT3JkZXJlZEpTRmlsZXNFeHRyYWN0b3IoCisgICAgICAgIGRldnRvb2xzX2h0bWwuZ2V0dmFs
dWUoKSkKKworICAgIGV4cGFuZGVyID0gY29uY2F0ZW5hdGVfY3NzX2ZpbGVzLlBhdGhFeHBhbmRl
cihwYXJzZWRfYXJncy5zZWFyY2hfZGlycykKKyAgICBmaWxlcyA9IGNzc19leHRyYWN0b3Iub3Jk
ZXJlZF9jc3NfZmlsZXMgKyBqc19leHRyYWN0b3Iub3JkZXJlZF9qc19maWxlcworICAgIGZvciBp
bnB1dF9maWxlX25hbWUgaW4gc2V0KGZpbGVzKToKKyAgICAgICAgZnVsbF9wYXRoID0gZXhwYW5k
ZXIuZXhwYW5kKGlucHV0X2ZpbGVfbmFtZSkKKyAgICAgICAgaWYgZnVsbF9wYXRoIGlzIE5vbmU6
CisgICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oJ0ZpbGUgJXMgcmVmZXJlbmNlZCBpbiAlcyBu
b3QgZm91bmQgb24gYW55IHNvdXJjZSBwYXRocywgJworICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICdjaGVjayBzb3VyY2UgdHJlZSBmb3IgY29uc2lzdGVuY3knICUKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAoaW5wdXRfZmlsZV9uYW1lLCAnZGV2dG9vbHMuaHRtbCcpKQorICAgICAg
ICB6aXAud3JpdGUoZnVsbF9wYXRoLCBvcy5wYXRoLmJhc2VuYW1lKGZ1bGxfcGF0aCkpCisKKyAg
ICBmb3IgZGlybmFtZSBpbiBwYXJzZWRfYXJncy5pbWFnZV9zZWFyY2hfZGlyczoKKyAgICAgICAg
Zm9yIGZpbGVuYW1lIGluIG9zLmxpc3RkaXIoZGlybmFtZSk6CisgICAgICAgICAgICBpZiBub3Qg
ZmlsZW5hbWUuZW5kc3dpdGgoJy5wbmcnKSBhbmQgbm90IGZpbGVuYW1lLmVuZHN3aXRoKCcuZ2lm
Jyk6CisgICAgICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgICAgIHppcC53cml0ZShvcy5w
YXRoLmpvaW4oZGlybmFtZSwgZmlsZW5hbWUpLAorICAgICAgICAgICAgICAgICAgICAgIG9zLnBh
dGguam9pbignSW1hZ2VzJywgZmlsZW5hbWUpKQorCisgICAgIyBJdCB3b3VsZCBiZSBuaWNlIHRv
IHVzZSB0aGUgd2l0aCBzdGF0ZW1lbnQgdG8gc2NvcGUgY2xvc2luZyB0aGUgYXJjaGl2ZSwKKyAg
ICAjIGJ1dCB0aGF0IHdhc24ndCBhZGRlZCB1bnRpbCBweXRob24gMi43LgorICAgIHppcC5jbG9z
ZSgpCisKKworaWYgJ19fbWFpbl9fJyA9PSBfX25hbWVfXzoKKyAgICBzeXMuZXhpdChtYWluKHN5
cy5hcmd2KSkK
</data>

          </attachment>
      

    </bug>

</bugzilla>