<?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>138125</bug_id>
          
          <creation_ts>2014-10-27 21:55:57 -0700</creation_ts>
          <short_desc>Move &quot;Number&quot; CSS properties to the new StyleBuilder</short_desc>
          <delta_ts>2014-10-28 12:12:40 -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>CSS</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</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>
          <dependson>137910</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>barraclough</cc>
    
    <cc>benjamin</cc>
    
    <cc>buildbot</cc>
    
    <cc>commit-queue</cc>
    
    <cc>kling</cc>
    
    <cc>koivisto</cc>
    
    <cc>rniwa</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1044410</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-10-27 21:55:57 -0700</bug_when>
    <thetext>Move &quot;Number&quot; CSS properties from DeprecatedStyleBuilder to the new StyleBuilder:
-webkit-hyphenate-limit-after / -webkit-hyphenate-limit-before / -webkit-shape-image-threshold

They are now generated from CSSPropertyNames.in</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1044428</commentid>
    <comment_count>1</comment_count>
      <attachid>240530</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-10-27 23:02:58 -0700</bug_when>
    <thetext>Created attachment 240530
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1044465</commentid>
    <comment_count>2</comment_count>
      <attachid>240530</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2014-10-28 07:53:36 -0700</bug_when>
    <thetext>Comment on attachment 240530
Patch

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

&gt; Source/WebCore/css/CSSPropertyNames.in:340
&gt; +-webkit-hyphenate-limit-after [Inherited, NewStyleBuilder, NameForMethods=HyphenationLimitAfter, Converter=Number&lt;short&gt;]
&gt; +-webkit-hyphenate-limit-before [Inherited, NewStyleBuilder, NameForMethods=HyphenationLimitBefore, Converter=Number&lt;short&gt;]
&gt; +-webkit-hyphenate-limit-lines [Inherited, NewStyleBuilder, NameForMethods=HyphenationLimitLines, Custom=Value]

You should add some documentation on how these annotations work, what the name mappings are, where the custom implementations should go and so on. Top of this file might be a good place.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1044496</commentid>
    <comment_count>3</comment_count>
      <attachid>240547</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-10-28 09:21:53 -0700</bug_when>
    <thetext>Created attachment 240547
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1044498</commentid>
    <comment_count>4</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-10-28 09:22:38 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; Comment on attachment 240530 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=240530&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/css/CSSPropertyNames.in:340
&gt; &gt; +-webkit-hyphenate-limit-after [Inherited, NewStyleBuilder, NameForMethods=HyphenationLimitAfter, Converter=Number&lt;short&gt;]
&gt; &gt; +-webkit-hyphenate-limit-before [Inherited, NewStyleBuilder, NameForMethods=HyphenationLimitBefore, Converter=Number&lt;short&gt;]
&gt; &gt; +-webkit-hyphenate-limit-lines [Inherited, NewStyleBuilder, NameForMethods=HyphenationLimitLines, Custom=Value]
&gt; 
&gt; You should add some documentation on how these annotations work, what the
&gt; name mappings are, where the custom implementations should go and so on. Top
&gt; of this file might be a good place.

Yes, I have just added the doc to this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1044520</commentid>
    <comment_count>5</comment_count>
      <attachid>240552</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-10-28 10:29:22 -0700</bug_when>
    <thetext>Created attachment 240552
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1044576</commentid>
    <comment_count>6</comment_count>
      <attachid>240552</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-10-28 12:12:35 -0700</bug_when>
    <thetext>Comment on attachment 240552
Patch

Clearing flags on attachment: 240552

Committed r175267: &lt;http://trac.webkit.org/changeset/175267&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1044577</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-10-28 12:12:40 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>240530</attachid>
            <date>2014-10-27 23:02:58 -0700</date>
            <delta_ts>2014-10-28 09:21:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-138125-20141027230306.patch</filename>
            <type>text/plain</type>
            <size>19821</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc1MjM2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzY5Mzc0NWQ5MWVlZDA1
MmExY2ZhYzRlMjA0M2E2OGU5OGY1YjE0My4uN2U0NDc3YzFmOTFhZGQ4ZTRmZGU2MjgzMTljZDJi
NzA2MjM4YzI1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDE0LTEwLTI3ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgTW92ZSAiTnVtYmVyIiBDU1Mg
cHJvcGVydGllcyB0byB0aGUgbmV3IFN0eWxlQnVpbGRlcgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM4MTI1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTW92ZSAiTnVtYmVyIiBDU1MgcHJvcGVydGllcyBm
cm9tIERlcHJlY2F0ZWRTdHlsZUJ1aWxkZXIgdG8gdGhlIG5ldworICAgICAgICBTdHlsZUJ1aWxk
ZXI6CisgICAgICAgIC13ZWJraXQtaHlwaGVuYXRlLWxpbWl0LWFmdGVyCisgICAgICAgIC13ZWJr
aXQtaHlwaGVuYXRlLWxpbWl0LWJlZm9yZQorICAgICAgICAtd2Via2l0LXNoYXBlLWltYWdlLXRo
cmVzaG9sZAorICAgICAgICAtd2Via2l0LWh5cGhlbmF0ZS1saW1pdC1saW5lcworCisgICAgICAg
IFRoZXkgYXJlIG5vdyBnZW5lcmF0ZWQgZnJvbSBDU1NQcm9wZXJ0eU5hbWVzLmluCisKKyAgICAg
ICAgRm9yIC13ZWJraXQtaHlwaGVuYXRlLWxpbWl0LWxpbmVzLCBJIHVzZWQgY3VzdG9tIGNvZGUg
aW5zdGVhZCBvZgorICAgICAgICB0aGUgTnVtYmVyIGNvbnZlcnRlciBhcyBpdCByZXF1aXJlZCBz
cGVjaWFsIGhhbmRsaW5nIGZvciB0aGUgaWQKKyAgICAgICAgdmFsdWUuIFRoaXMgcGF0Y2ggdGh1
cyBhZGRzIHN1cHBvcnQgZm9yIFtDdXN0b209VmFsdWVdIHRvCisgICAgICAgIENTU1Byb3BlcnR5
TmFtZXMuaW4gYW5kIHRoZSBjdXN0b20gY29kZSBnb2VzIGludG8KKyAgICAgICAgY3NzL1N0eWxl
QnVpbGRlckN1c3RvbS5oLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgbm8gYmVoYXZpb3IgY2hh
bmdlLgorCisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAg
ICAgICAqIGNzcy9DU1NQcm9wZXJ0eU5hbWVzLmluOgorICAgICAgICAqIGNzcy9EZXByZWNhdGVk
U3R5bGVCdWlsZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRlcHJlY2F0ZWRTdHlsZUJ1aWxk
ZXI6OkRlcHJlY2F0ZWRTdHlsZUJ1aWxkZXIpOgorICAgICAgICAoV2ViQ29yZTo6QXBwbHlQcm9w
ZXJ0eU51bWJlcjo6c2V0VmFsdWUpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6QXBwbHlQ
cm9wZXJ0eU51bWJlcjo6YXBwbHlWYWx1ZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpB
cHBseVByb3BlcnR5TnVtYmVyOjpjcmVhdGVIYW5kbGVyKTogRGVsZXRlZC4KKyAgICAgICAgKiBj
c3MvU3R5bGVCdWlsZGVyQ29udmVydGVyLmg6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZUJ1aWxk
ZXJDb252ZXJ0ZXI6OmNvbnZlcnROdW1iZXIpOgorICAgICAgICAqIGNzcy9TdHlsZUJ1aWxkZXJD
dXN0b20uaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpTdHlsZUJ1aWxkZXJGdW5jdGlvbnM6
OmFwcGx5VmFsdWVXZWJraXRIeXBoZW5hdGVMaW1pdExpbmVzKToKKyAgICAgICAgKiBjc3MvbWFr
ZXByb3AucGw6CisKIDIwMTQtMTAtMjQgIERhdmlkIEh5YXR0ICA8aHlhdHRAYXBwbGUuY29tPgog
CiAgICAgICAgIHRleHQtY29tYmluZSBuZWVkcyB0byBjZW50ZXIgdGV4dCB3aXRoaW4gdGhlIHZl
cnRpY2FsIHNwYWNlIHVzaW5nIGdseXBoIGJvdW5kcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGQxZWMzN2IwMTI5ZDZiYTA0ZmQ3
ZWJmNDlhN2FhYTI2ZGU3MDdjZDEuLjlmYzVmN2JmM2VjNzY0Nzg4NzYzNGFlNmY2MDU5ZDQ0ZTk4
YmNmNmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKQEAgLTI1MDIsNiArMjUwMiw3IEBACiAJCTgyRTNEOERGMTIyRUEwRDEwMDNBRTVC
QyAvKiBDU1NQcm9wZXJ0eVNvdXJjZURhdGEuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDgyRTNEOEREMTIyRUEwRDEwMDNBRTVCQyAvKiBDU1NQcm9wZXJ0
eVNvdXJjZURhdGEuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwogCQk4MzJCODQzNDE5RDhFNTUxMDBCMjYwNTUgLyogU1ZHQW5pbWF0ZUVsZW1lbnRCYXNl
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4MzJCODQz
MzE5RDhFNTUxMDBCMjYwNTUgLyogU1ZHQW5pbWF0ZUVsZW1lbnRCYXNlLmggKi87IH07CiAJCTgz
MkI4NDM2MTlEOEU1NzQwMEIyNjA1NSAvKiBTVkdBbmltYXRlRWxlbWVudEJhc2UuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODMyQjg0MzUxOUQ4RTU3
NDAwQjI2MDU1IC8qIFNWR0FuaW1hdGVFbGVtZW50QmFzZS5jcHAgKi87IH07CisJCTgzNUQzNjM3
MTlGRjYxOTMwMDRDOTNBQiAvKiBTdHlsZUJ1aWxkZXJDdXN0b20uaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDgzNUQzNjM2MTlGRjYxOTMwMDRDOTNBQiAv
KiBTdHlsZUJ1aWxkZXJDdXN0b20uaCAqLzsgfTsKIAkJODM2RkJDRUExNzhDMTEzMjAwQjIxQTE1
IC8qIFNWR0FuaW1hdGVkVHlwZUFuaW1hdG9yLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDgzNkZCQ0U5MTc4QzExMzIwMEIyMUExNSAvKiBTVkdBbmlt
YXRlZFR5cGVBbmltYXRvci5jcHAgKi87IH07CiAJCTgzNkZCQ0VDMTc4QzExN0YwMEIyMUExNSAv
KiBTVkdBbmltYXRlZFByb3BlcnR5LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDgzNkZCQ0VCMTc4QzExN0YwMEIyMUExNSAvKiBTVkdBbmltYXRlZFBy
b3BlcnR5LmNwcCAqLzsgfTsKIAkJODM4NkE5NkQxOUY2MUIyRTAwRTFFQzRBIC8qIFN0eWxlQnVp
bGRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODM4
NkE5NkMxOUY2MUIyRTAwRTFFQzRBIC8qIFN0eWxlQnVpbGRlci5oICovOyB9OwpAQCAtOTY4Nyw2
ICs5Njg4LDcgQEAKIAkJODJFM0Q4REQxMjJFQTBEMTAwM0FFNUJDIC8qIENTU1Byb3BlcnR5U291
cmNlRGF0YS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDU1NQcm9wZXJ0eVNv
dXJjZURhdGEuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODMyQjg0MzMxOUQ4RTU1
MTAwQjI2MDU1IC8qIFNWR0FuaW1hdGVFbGVtZW50QmFzZS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBTVkdBbmltYXRlRWxlbWVudEJhc2UuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJODMyQjg0MzUxOUQ4RTU3NDAwQjI2MDU1IC8qIFNWR0FuaW1hdGVFbGVtZW50
QmFzZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTVkdBbmltYXRl
RWxlbWVudEJhc2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4MzVEMzYzNjE5
RkY2MTkzMDA0QzkzQUIgLyogU3R5bGVCdWlsZGVyQ3VzdG9tLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFN0eWxlQnVpbGRlckN1c3RvbS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk4MzZGQkNFOTE3OEMxMTMyMDBCMjFBMTUgLyogU1ZHQW5pbWF0ZWRUeXBlQW5p
bWF0b3IuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU1ZHQW5pbWF0
ZWRUeXBlQW5pbWF0b3IuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4MzZGQkNF
QjE3OEMxMTdGMDBCMjFBMTUgLyogU1ZHQW5pbWF0ZWRQcm9wZXJ0eS5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTVkdBbmltYXRlZFByb3BlcnR5LmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODM4NkE5NkMxOUY2MUIyRTAwRTFFQzRBIC8qIFN0eWxl
QnVpbGRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTdHlsZUJ1aWxkZXIu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTIyMjMxLDYgKzIyMjMzLDcgQEAKIAkJ
CQk1MzZENUEyNjE5M0Y0MTBCMDBDRTRDQUIgLyogU291cmNlU2l6ZUxpc3QuaCAqLywKIAkJCQk4
Mzg2QTk2QzE5RjYxQjJFMDBFMUVDNEEgLyogU3R5bGVCdWlsZGVyLmggKi8sCiAJCQkJODNCOTY4
NzkxOUY4QUI4MzAwNEVGN0FGIC8qIFN0eWxlQnVpbGRlckNvbnZlcnRlci5oICovLAorCQkJCTgz
NUQzNjM2MTlGRjYxOTMwMDRDOTNBQiAvKiBTdHlsZUJ1aWxkZXJDdXN0b20uaCAqLywKIAkJCQlF
NDdBOTdDRTE2MzA1OUZDMDA1RENEOTkgLyogU3R5bGVJbnZhbGlkYXRpb25BbmFseXNpcy5jcHAg
Ki8sCiAJCQkJRTQ3QTk3Q0YxNjMwNTlGQzAwNURDRDk5IC8qIFN0eWxlSW52YWxpZGF0aW9uQW5h
bHlzaXMuaCAqLywKIAkJCQkwRkY1MDI2RTEwMkJBOTY2MDA2NkYzOUEgLyogU3R5bGVNZWRpYS5j
cHAgKi8sCkBAIC0yNTU2OCw2ICsyNTU3MSw3IEBACiAJCQkJRkQzMTYwMUExMkIwMjY3NjAwQzFB
MzU5IC8qIFBhbm5lck5vZGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ0Nzk1ODA0MTY0M0I0OUEw
MDFFMEE3RiAvKiBQYXJzZWRDb250ZW50VHlwZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkM3NkFD
MTMwREQ3QUQ1QzAwNDE1RjM0IC8qIFBhcnNlclV0aWxpdGllcy5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJODM1RDM2MzcxOUZGNjE5MzAwNEM5M0FCIC8qIFN0eWxlQnVpbGRlckN1c3RvbS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJRjU1QjNEQ0ExMjUxRjEyRDAwM0VGMjY5IC8qIFBhc3N3b3JkSW5wdXRU
eXBlLmggaW4gSGVhZGVycyAqLywKIAkJCQk0QjI3MDhDNzBBRjE5RUU0MDA2NTEyN0YgLyogUGFz
dGVib2FyZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQzU5ODkwNTcxNEU5QzI4MDAwRThEMThCIC8q
IFBhc3RlYm9hcmRTdHJhdGVneS5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTUHJvcGVydHlOYW1lcy5pbiBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQ
cm9wZXJ0eU5hbWVzLmluCmluZGV4IDZkYWIzNTdmMGM3OTRlODMyYjQ2NDAyYzQzMzQ3ZTBlY2M5
NmYyODkuLmVjODkxYmRhNmQ1OTA5YTkxMjJlNzFiNTkzODEyMTA5MDJkYzE3ZDggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eU5hbWVzLmluCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eU5hbWVzLmluCkBAIC0zMzUsOSArMzM1LDkgQEAganVzdGlm
eS1jb250ZW50IFtOZXdTdHlsZUJ1aWxkZXJdCiAtd2Via2l0LWdyaWQtYXV0by1mbG93CiAjZW5k
aWYKIC13ZWJraXQtaHlwaGVuYXRlLWNoYXJhY3RlciBbSW5oZXJpdGVkXQotLXdlYmtpdC1oeXBo
ZW5hdGUtbGltaXQtYWZ0ZXIgW0luaGVyaXRlZF0KLS13ZWJraXQtaHlwaGVuYXRlLWxpbWl0LWJl
Zm9yZSBbSW5oZXJpdGVkXQotLXdlYmtpdC1oeXBoZW5hdGUtbGltaXQtbGluZXMgW0luaGVyaXRl
ZF0KKy13ZWJraXQtaHlwaGVuYXRlLWxpbWl0LWFmdGVyIFtJbmhlcml0ZWQsIE5ld1N0eWxlQnVp
bGRlciwgTmFtZUZvck1ldGhvZHM9SHlwaGVuYXRpb25MaW1pdEFmdGVyLCBDb252ZXJ0ZXI9TnVt
YmVyPHNob3J0Pl0KKy13ZWJraXQtaHlwaGVuYXRlLWxpbWl0LWJlZm9yZSBbSW5oZXJpdGVkLCBO
ZXdTdHlsZUJ1aWxkZXIsIE5hbWVGb3JNZXRob2RzPUh5cGhlbmF0aW9uTGltaXRCZWZvcmUsIENv
bnZlcnRlcj1OdW1iZXI8c2hvcnQ+XQorLXdlYmtpdC1oeXBoZW5hdGUtbGltaXQtbGluZXMgW0lu
aGVyaXRlZCwgTmV3U3R5bGVCdWlsZGVyLCBOYW1lRm9yTWV0aG9kcz1IeXBoZW5hdGlvbkxpbWl0
TGluZXMsIEN1c3RvbT1WYWx1ZV0KIC13ZWJraXQtaHlwaGVucyBbSW5oZXJpdGVkLCBOZXdTdHls
ZUJ1aWxkZXIsIFR5cGVOYW1lPUh5cGhlbnNdCiAtZXB1Yi1oeXBoZW5zID0gLXdlYmtpdC1oeXBo
ZW5zCiAtd2Via2l0LWluaXRpYWwtbGV0dGVyCkBAIC00NjEsNyArNDYxLDcgQEAgdGV4dC1lbXBo
YXNpcy1zdHlsZSA9IC13ZWJraXQtdGV4dC1lbXBoYXNpcy1zdHlsZQogI2lmIGRlZmluZWQoRU5B
QkxFX0NTU19TSEFQRVMpICYmIEVOQUJMRV9DU1NfU0hBUEVTCiAtd2Via2l0LXNoYXBlLW91dHNp
ZGUKIC13ZWJraXQtc2hhcGUtbWFyZ2luIFtOZXdTdHlsZUJ1aWxkZXIsIENvbnZlcnRlcj1MZW5n
dGhdCi0td2Via2l0LXNoYXBlLWltYWdlLXRocmVzaG9sZAorLXdlYmtpdC1zaGFwZS1pbWFnZS10
aHJlc2hvbGQgW05ld1N0eWxlQnVpbGRlciwgQ29udmVydGVyPU51bWJlcjxmbG9hdD5dCiAjZW5k
aWYKICNpZiBkZWZpbmVkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICYmIEVOQUJMRV9D
U1NfREVWSUNFX0FEQVBUQVRJT04KIG1heC16b29tCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvRGVwcmVjYXRlZFN0eWxlQnVpbGRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvRGVw
cmVjYXRlZFN0eWxlQnVpbGRlci5jcHAKaW5kZXggN2IyYjFkMGZjOTgzYmY1NzViYTUzNTdiZTYz
ZDdlM2ZjMTM3YjMzNy4uYjYzMTAzMWQxZTQzZmVjZThhN2IwYzIyZmNlMTliZTNkOTRhODA2MyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0RlcHJlY2F0ZWRTdHlsZUJ1aWxkZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9EZXByZWNhdGVkU3R5bGVCdWlsZGVyLmNwcApAQCAt
MTYwLDI4ICsxNjAsNiBAQCBwdWJsaWM6CiAgICAgfQogfTsKIAotdGVtcGxhdGUgPHR5cGVuYW1l
IE51bWJlclR5cGUsIE51bWJlclR5cGUgKFJlbmRlclN0eWxlOjoqZ2V0dGVyRnVuY3Rpb24pKCkg
Y29uc3QsIHZvaWQgKFJlbmRlclN0eWxlOjoqc2V0dGVyRnVuY3Rpb24pKE51bWJlclR5cGUpLCBO
dW1iZXJUeXBlICgqaW5pdGlhbEZ1bmN0aW9uKSgpLCBpbnQgaWRNYXBzVG9NaW51c09uZSA9IENT
U1ZhbHVlQXV0bz4KLWNsYXNzIEFwcGx5UHJvcGVydHlOdW1iZXIgewotcHVibGljOgotICAgIHN0
YXRpYyB2b2lkIHNldFZhbHVlKFJlbmRlclN0eWxlKiBzdHlsZSwgTnVtYmVyVHlwZSB2YWx1ZSkg
eyAoc3R5bGUtPipzZXR0ZXJGdW5jdGlvbikodmFsdWUpOyB9Ci0gICAgc3RhdGljIHZvaWQgYXBw
bHlWYWx1ZShDU1NQcm9wZXJ0eUlELCBTdHlsZVJlc29sdmVyKiBzdHlsZVJlc29sdmVyLCBDU1NW
YWx1ZSogdmFsdWUpCi0gICAgewotICAgICAgICBpZiAoIWlzPENTU1ByaW1pdGl2ZVZhbHVlPigq
dmFsdWUpKQotICAgICAgICAgICAgcmV0dXJuOwotCi0gICAgICAgIENTU1ByaW1pdGl2ZVZhbHVl
JiBwcmltaXRpdmVWYWx1ZSA9IGRvd25jYXN0PENTU1ByaW1pdGl2ZVZhbHVlPigqdmFsdWUpOwot
ICAgICAgICBpZiAocHJpbWl0aXZlVmFsdWUuZ2V0VmFsdWVJRCgpID09IGlkTWFwc1RvTWludXNP
bmUpCi0gICAgICAgICAgICBzZXRWYWx1ZShzdHlsZVJlc29sdmVyLT5zdHlsZSgpLCAtMSk7Ci0g
ICAgICAgIGVsc2UKLSAgICAgICAgICAgIHNldFZhbHVlKHN0eWxlUmVzb2x2ZXItPnN0eWxlKCks
IHByaW1pdGl2ZVZhbHVlLmdldFZhbHVlPE51bWJlclR5cGU+KENTU1ByaW1pdGl2ZVZhbHVlOjpD
U1NfTlVNQkVSKSk7Ci0gICAgfQotICAgIHN0YXRpYyBQcm9wZXJ0eUhhbmRsZXIgY3JlYXRlSGFu
ZGxlcigpCi0gICAgewotICAgICAgICBQcm9wZXJ0eUhhbmRsZXIgaGFuZGxlciA9IEFwcGx5UHJv
cGVydHlEZWZhdWx0QmFzZTxOdW1iZXJUeXBlLCBnZXR0ZXJGdW5jdGlvbiwgTnVtYmVyVHlwZSwg
c2V0dGVyRnVuY3Rpb24sIE51bWJlclR5cGUsIGluaXRpYWxGdW5jdGlvbj46OmNyZWF0ZUhhbmRs
ZXIoKTsKLSAgICAgICAgcmV0dXJuIFByb3BlcnR5SGFuZGxlcihoYW5kbGVyLmluaGVyaXRGdW5j
dGlvbigpLCBoYW5kbGVyLmluaXRpYWxGdW5jdGlvbigpLCAmYXBwbHlWYWx1ZSk7Ci0gICAgfQot
fTsKLQogdGVtcGxhdGUgPFN0eWxlSW1hZ2UqIChSZW5kZXJTdHlsZTo6KmdldHRlckZ1bmN0aW9u
KSgpIGNvbnN0LCB2b2lkIChSZW5kZXJTdHlsZTo6KnNldHRlckZ1bmN0aW9uKShQYXNzUmVmUHRy
PFN0eWxlSW1hZ2U+KSwgU3R5bGVJbWFnZSogKCppbml0aWFsRnVuY3Rpb24pKCksIENTU1Byb3Bl
cnR5SUQgcHJvcGVydHk+CiBjbGFzcyBBcHBseVByb3BlcnR5U3R5bGVJbWFnZSB7CiBwdWJsaWM6
CkBAIC0yMzIxLDkgKzIyOTksNiBAQCBEZXByZWNhdGVkU3R5bGVCdWlsZGVyOjpEZXByZWNhdGVk
U3R5bGVCdWlsZGVyKCkKICAgICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVydHlXZWJraXRG
b250U21vb3RoaW5nLCBBcHBseVByb3BlcnR5Rm9udDxGb250U21vb3RoaW5nTW9kZSwgJkZvbnRE
ZXNjcmlwdGlvbjo6Zm9udFNtb290aGluZywgJkZvbnREZXNjcmlwdGlvbjo6c2V0Rm9udFNtb290
aGluZywgQXV0b1Ntb290aGluZz46OmNyZWF0ZUhhbmRsZXIoKSk7CiAgICAgc2V0UHJvcGVydHlI
YW5kbGVyKENTU1Byb3BlcnR5V2Via2l0Rm9udFZhcmlhbnRMaWdhdHVyZXMsIEFwcGx5UHJvcGVy
dHlGb250VmFyaWFudExpZ2F0dXJlczo6Y3JlYXRlSGFuZGxlcigpKTsKICAgICBzZXRQcm9wZXJ0
eUhhbmRsZXIoQ1NTUHJvcGVydHlXZWJraXRIeXBoZW5hdGVDaGFyYWN0ZXIsIEFwcGx5UHJvcGVy
dHlTdHJpbmc8TWFwQXV0b1RvTnVsbCwgJlJlbmRlclN0eWxlOjpoeXBoZW5hdGlvblN0cmluZywg
JlJlbmRlclN0eWxlOjpzZXRIeXBoZW5hdGlvblN0cmluZywgJlJlbmRlclN0eWxlOjppbml0aWFs
SHlwaGVuYXRpb25TdHJpbmc+OjpjcmVhdGVIYW5kbGVyKCkpOwotICAgIHNldFByb3BlcnR5SGFu
ZGxlcihDU1NQcm9wZXJ0eVdlYmtpdEh5cGhlbmF0ZUxpbWl0QWZ0ZXIsIEFwcGx5UHJvcGVydHlO
dW1iZXI8c2hvcnQsICZSZW5kZXJTdHlsZTo6aHlwaGVuYXRpb25MaW1pdEFmdGVyLCAmUmVuZGVy
U3R5bGU6OnNldEh5cGhlbmF0aW9uTGltaXRBZnRlciwgJlJlbmRlclN0eWxlOjppbml0aWFsSHlw
aGVuYXRpb25MaW1pdEFmdGVyPjo6Y3JlYXRlSGFuZGxlcigpKTsKLSAgICBzZXRQcm9wZXJ0eUhh
bmRsZXIoQ1NTUHJvcGVydHlXZWJraXRIeXBoZW5hdGVMaW1pdEJlZm9yZSwgQXBwbHlQcm9wZXJ0
eU51bWJlcjxzaG9ydCwgJlJlbmRlclN0eWxlOjpoeXBoZW5hdGlvbkxpbWl0QmVmb3JlLCAmUmVu
ZGVyU3R5bGU6OnNldEh5cGhlbmF0aW9uTGltaXRCZWZvcmUsICZSZW5kZXJTdHlsZTo6aW5pdGlh
bEh5cGhlbmF0aW9uTGltaXRCZWZvcmU+OjpjcmVhdGVIYW5kbGVyKCkpOwotICAgIHNldFByb3Bl
cnR5SGFuZGxlcihDU1NQcm9wZXJ0eVdlYmtpdEh5cGhlbmF0ZUxpbWl0TGluZXMsIEFwcGx5UHJv
cGVydHlOdW1iZXI8c2hvcnQsICZSZW5kZXJTdHlsZTo6aHlwaGVuYXRpb25MaW1pdExpbmVzLCAm
UmVuZGVyU3R5bGU6OnNldEh5cGhlbmF0aW9uTGltaXRMaW5lcywgJlJlbmRlclN0eWxlOjppbml0
aWFsSHlwaGVuYXRpb25MaW1pdExpbmVzLCBDU1NWYWx1ZU5vTGltaXQ+OjpjcmVhdGVIYW5kbGVy
KCkpOwogICAgIHNldFByb3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0eVdlYmtpdExpbmVHcmlkLCBB
cHBseVByb3BlcnR5U3RyaW5nPE1hcE5vbmVUb051bGwsICZSZW5kZXJTdHlsZTo6bGluZUdyaWQs
ICZSZW5kZXJTdHlsZTo6c2V0TGluZUdyaWQsICZSZW5kZXJTdHlsZTo6aW5pdGlhbExpbmVHcmlk
Pjo6Y3JlYXRlSGFuZGxlcigpKTsKICAgICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVydHlX
ZWJraXRNYXJxdWVlSW5jcmVtZW50LCBBcHBseVByb3BlcnR5TWFycXVlZUluY3JlbWVudDo6Y3Jl
YXRlSGFuZGxlcigpKTsKICAgICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVydHlXZWJraXRN
YXJxdWVlUmVwZXRpdGlvbiwgQXBwbHlQcm9wZXJ0eU1hcnF1ZWVSZXBldGl0aW9uOjpjcmVhdGVI
YW5kbGVyKCkpOwpAQCAtMjM1Niw3ICsyMzMxLDYgQEAgRGVwcmVjYXRlZFN0eWxlQnVpbGRlcjo6
RGVwcmVjYXRlZFN0eWxlQnVpbGRlcigpCiAgICAgc2V0UHJvcGVydHlIYW5kbGVyKENTU1Byb3Bl
cnR5V2Via2l0VHJhbnNpdGlvblRpbWluZ0Z1bmN0aW9uLCBBcHBseVByb3BlcnR5QW5pbWF0aW9u
PGNvbnN0IFBhc3NSZWZQdHI8VGltaW5nRnVuY3Rpb24+LCAmQW5pbWF0aW9uOjp0aW1pbmdGdW5j
dGlvbiwgJkFuaW1hdGlvbjo6c2V0VGltaW5nRnVuY3Rpb24sICZBbmltYXRpb246OmlzVGltaW5n
RnVuY3Rpb25TZXQsICZBbmltYXRpb246OmNsZWFyVGltaW5nRnVuY3Rpb24sICZBbmltYXRpb246
OmluaXRpYWxBbmltYXRpb25UaW1pbmdGdW5jdGlvbiwgJkNTU1RvU3R5bGVNYXA6Om1hcEFuaW1h
dGlvblRpbWluZ0Z1bmN0aW9uLCAmUmVuZGVyU3R5bGU6OmFjY2Vzc1RyYW5zaXRpb25zLCAmUmVu
ZGVyU3R5bGU6OnRyYW5zaXRpb25zPjo6Y3JlYXRlSGFuZGxlcigpKTsKICAgICBzZXRQcm9wZXJ0
eUhhbmRsZXIoQ1NTUHJvcGVydHlXZWJraXRDbGlwUGF0aCwgQXBwbHlQcm9wZXJ0eUNsaXBQYXRo
PCZSZW5kZXJTdHlsZTo6Y2xpcFBhdGgsICZSZW5kZXJTdHlsZTo6c2V0Q2xpcFBhdGgsICZSZW5k
ZXJTdHlsZTo6aW5pdGlhbENsaXBQYXRoPjo6Y3JlYXRlSGFuZGxlcigpKTsKICNpZiBFTkFCTEUo
Q1NTX1NIQVBFUykKLSAgICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVydHlXZWJraXRTaGFw
ZUltYWdlVGhyZXNob2xkLCBBcHBseVByb3BlcnR5TnVtYmVyPGZsb2F0LCAmUmVuZGVyU3R5bGU6
OnNoYXBlSW1hZ2VUaHJlc2hvbGQsICZSZW5kZXJTdHlsZTo6c2V0U2hhcGVJbWFnZVRocmVzaG9s
ZCwgJlJlbmRlclN0eWxlOjppbml0aWFsU2hhcGVJbWFnZVRocmVzaG9sZD46OmNyZWF0ZUhhbmRs
ZXIoKSk7CiAgICAgc2V0UHJvcGVydHlIYW5kbGVyKENTU1Byb3BlcnR5V2Via2l0U2hhcGVPdXRz
aWRlLCBBcHBseVByb3BlcnR5U2hhcGU8JlJlbmRlclN0eWxlOjpzaGFwZU91dHNpZGUsICZSZW5k
ZXJTdHlsZTo6c2V0U2hhcGVPdXRzaWRlLCAmUmVuZGVyU3R5bGU6OmluaXRpYWxTaGFwZU91dHNp
ZGU+OjpjcmVhdGVIYW5kbGVyKCkpOwogI2VuZGlmCiAgICAgc2V0UHJvcGVydHlIYW5kbGVyKENT
U1Byb3BlcnR5V2lkb3dzLCBBcHBseVByb3BlcnR5QXV0bzxzaG9ydCwgJlJlbmRlclN0eWxlOjp3
aWRvd3MsICZSZW5kZXJTdHlsZTo6c2V0V2lkb3dzLCAmUmVuZGVyU3R5bGU6Omhhc0F1dG9XaWRv
d3MsICZSZW5kZXJTdHlsZTo6c2V0SGFzQXV0b1dpZG93cz46OmNyZWF0ZUhhbmRsZXIoKSk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVCdWlsZGVyQ29udmVydGVyLmggYi9T
b3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVCdWlsZGVyQ29udmVydGVyLmgKaW5kZXggNWM5NzU5MmFj
ZGNkODNmOWEzMTg3YzMyOGI3MzVmODM1ODU1NWI2Yi4uNWVjMzUxMmZjNWE0ZGZjYWZmM2YxNWFk
MjZmZWY0ZjU3M2NiNzkyNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlQnVp
bGRlckNvbnZlcnRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZUJ1aWxkZXJDb252
ZXJ0ZXIuaApAQCAtNDUsNiArNDUsNyBAQCBwdWJsaWM6CiAgICAgdGVtcGxhdGUgPHR5cGVuYW1l
IFQ+IHN0YXRpYyBUIGNvbnZlcnRMaW5lV2lkdGgoU3R5bGVSZXNvbHZlciYsIENTU1ZhbHVlJik7
CiAgICAgc3RhdGljIGZsb2F0IGNvbnZlcnRTcGFjaW5nKFN0eWxlUmVzb2x2ZXImLCBDU1NWYWx1
ZSYpOwogICAgIHN0YXRpYyBMZW5ndGhTaXplIGNvbnZlcnRSYWRpdXMoU3R5bGVSZXNvbHZlciYs
IENTU1ZhbHVlJik7CisgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFQ+IHN0YXRpYyBUIGNvbnZlcnRO
dW1iZXIoU3R5bGVSZXNvbHZlciYsIENTU1ZhbHVlJik7CiAKIHByaXZhdGU6CiAgICAgc3RhdGlj
IExlbmd0aCBjb252ZXJ0VG9SYWRpdXNMZW5ndGgoQ1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YSYs
IENTU1ByaW1pdGl2ZVZhbHVlJik7CkBAIC0xODcsNiArMTg4LDE1IEBAIExlbmd0aFNpemUgU3R5
bGVCdWlsZGVyQ29udmVydGVyOjpjb252ZXJ0UmFkaXVzKFN0eWxlUmVzb2x2ZXImIHN0eWxlUmVz
b2x2ZXIsIENTCiAgICAgcmV0dXJuIExlbmd0aFNpemUocmFkaXVzV2lkdGgsIHJhZGl1c0hlaWdo
dCk7CiB9CiAKK3RlbXBsYXRlIDx0eXBlbmFtZSBUPgoraW5saW5lIFQgU3R5bGVCdWlsZGVyQ29u
dmVydGVyOjpjb252ZXJ0TnVtYmVyKFN0eWxlUmVzb2x2ZXImLCBDU1NWYWx1ZSYgdmFsdWUpCit7
CisgICAgYXV0byYgcHJpbWl0aXZlVmFsdWUgPSBkb3duY2FzdDxDU1NQcmltaXRpdmVWYWx1ZT4o
dmFsdWUpOworICAgIGlmIChwcmltaXRpdmVWYWx1ZS5nZXRWYWx1ZUlEKCkgPT0gQ1NTVmFsdWVB
dXRvKQorICAgICAgICByZXR1cm4gLTE7CisgICAgcmV0dXJuIHByaW1pdGl2ZVZhbHVlLmdldFZh
bHVlPFQ+KENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfTlVNQkVSKTsKK30KKwogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gU3R5bGVCdWlsZGVyQ29udmVydGVyX2gKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZUJ1aWxkZXJDdXN0b20uaCBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9TdHlsZUJ1aWxkZXJDdXN0b20uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45NWU3OGZhYzc0NzRjY2My
NDllZTgxM2E1YjY2NjlmNzlmZjZkMWZkCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNv
cmUvY3NzL1N0eWxlQnVpbGRlckN1c3RvbS5oCkBAIC0wLDAgKzEsNTEgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTMgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHly
aWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpZm5kZWYgU3R5bGVCdWlsZGVyQ3VzdG9tX2gKKyNkZWZpbmUgU3R5bGVCdWlsZGVyQ3VzdG9t
X2gKKworI2luY2x1ZGUgIlN0eWxlUmVzb2x2ZXIuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgewor
CituYW1lc3BhY2UgU3R5bGVCdWlsZGVyRnVuY3Rpb25zIHsKKwordm9pZCBhcHBseVZhbHVlV2Vi
a2l0SHlwaGVuYXRlTGltaXRMaW5lcyhTdHlsZVJlc29sdmVyJiwgQ1NTVmFsdWUmKTsKKworaW5s
aW5lIHZvaWQgYXBwbHlWYWx1ZVdlYmtpdEh5cGhlbmF0ZUxpbWl0TGluZXMoU3R5bGVSZXNvbHZl
ciYgc3R5bGVSZXNvbHZlciwgQ1NTVmFsdWUmIHZhbHVlKQoreworICAgIGF1dG8mIHByaW1pdGl2
ZVZhbHVlID0gZG93bmNhc3Q8Q1NTUHJpbWl0aXZlVmFsdWU+KHZhbHVlKTsKKyAgICBzaG9ydCBu
dW1iZXIgPSAtMTsKKyAgICBpZiAocHJpbWl0aXZlVmFsdWUuZ2V0VmFsdWVJRCgpICE9IENTU1Zh
bHVlTm9MaW1pdCkKKyAgICAgICAgbnVtYmVyID0gcHJpbWl0aXZlVmFsdWUuZ2V0VmFsdWU8c2hv
cnQ+KENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfTlVNQkVSKTsKKyAgICBzdHlsZVJlc29sdmVyLnN0
eWxlKCktPnNldEh5cGhlbmF0aW9uTGltaXRMaW5lcyhudW1iZXIpOworfQorCit9IC8vIG5hbWVz
cGFjZSBTdHlsZUJ1aWxkZXJGdW5jdGlvbnMKKworfSAvLyBuYW1lc3BhY2UgVmFsdWUKKworI2Vu
ZGlmIC8vIFN0eWxlQnVpbGRlckN1c3RvbV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvbWFrZXByb3AucGwgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvbWFrZXByb3AucGwKaW5kZXggMTA2
MzI4ODVlMWE0YWFmY2RmYWE0NGZiNGEzMWU0MGMzN2Q1YjJjYi4uY2Y5MGViMzUzZTZiOGE1Yzgz
NmI1OTU2NjBmNTA0ZDZjYTdkYzBlYSAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL21h
a2Vwcm9wLnBsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9tYWtlcHJvcC5wbApAQCAtNDYsNiAr
NDYsNyBAQCBteSAlbmFtZUlzSW5oZXJpdGVkOwogbXkgJXByb3BlcnRpZXNVc2luZ05ld1N0eWxl
QnVpbGRlcjsKIG15ICVuZXdTdHlsZUJ1aWxkZXJPcHRpb25zID0gKAogICBDb252ZXJ0ZXIgPT4g
MSwgIyBEZWZpbmVkIGluIFNvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZUJ1aWxkZXJDb252ZXJ0ZXIu
aAorICBDdXN0b20gPT4gMSwKICAgR2V0dGVyID0+IDEsCiAgIEluaXRpYWwgPT4gMSwKICAgTmFt
ZUZvck1ldGhvZHMgPT4gMSwKQEAgLTM1MCw2ICszNTEsOSBAQCBmb3JlYWNoIG15ICRuYW1lIChA
bmFtZXMpIHsKICAgaWYgKCFleGlzdHMoJHByb3BlcnRpZXNVc2luZ05ld1N0eWxlQnVpbGRlcnsk
bmFtZX17IkluaXRpYWwifSkpIHsKICAgICAkcHJvcGVydGllc1VzaW5nTmV3U3R5bGVCdWlsZGVy
eyRuYW1lfXsiSW5pdGlhbCJ9ID0gImluaXRpYWwiIC4gJG5hbWVGb3JNZXRob2RzOwogICB9Cisg
IGlmICghZXhpc3RzKCRwcm9wZXJ0aWVzVXNpbmdOZXdTdHlsZUJ1aWxkZXJ7JG5hbWV9eyJDdXN0
b20ifSkpIHsKKyAgICAkcHJvcGVydGllc1VzaW5nTmV3U3R5bGVCdWlsZGVyeyRuYW1lfXsiQ3Vz
dG9tIn0gPSAiTm9uZSI7CisgIH0KIH0KIAogb3BlbiBTVFlMRUJVSUxERVIsICI+U3R5bGVCdWls
ZGVyLmNwcCIgfHwgZGllICJDb3VsZCBub3Qgb3BlbiBTdHlsZUJ1aWxkZXIuY3BwIGZvciB3cml0
aW5nIjsKQEAgLTM2MywxMiArMzY3LDEyIEBAIHByaW50IFNUWUxFQlVJTERFUiA8PCAiRU9GIjsK
ICNpbmNsdWRlICJDU1NQcm9wZXJ0eS5oIgogI2luY2x1ZGUgIlJlbmRlclN0eWxlLmgiCiAjaW5j
bHVkZSAiU3R5bGVCdWlsZGVyQ29udmVydGVyLmgiCisjaW5jbHVkZSAiU3R5bGVCdWlsZGVyQ3Vz
dG9tLmgiCiAjaW5jbHVkZSAiU3R5bGVSZXNvbHZlci5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKLWNsYXNzIFN0eWxlQnVpbGRlckZ1bmN0aW9ucyB7Ci1wdWJsaWM6CituYW1lc3BhY2UgU3R5
bGVCdWlsZGVyRnVuY3Rpb25zIHsKIEVPRgogCiBmb3JlYWNoIG15ICRuYW1lIChAbmFtZXMpIHsK
QEAgLTM3NiwyOCArMzgwLDMzIEBAIGZvcmVhY2ggbXkgJG5hbWUgKEBuYW1lcykgewogICBuZXh0
IHVubGVzcyBleGlzdHMoJHByb3BlcnRpZXNVc2luZ05ld1N0eWxlQnVpbGRlcnskbmFtZX0pOwog
CiAgIG15ICRzZXRWYWx1ZSA9ICJzdHlsZVJlc29sdmVyLnN0eWxlKCktPiIgLiAkcHJvcGVydGll
c1VzaW5nTmV3U3R5bGVCdWlsZGVyeyRuYW1lfXsiU2V0dGVyIn07Ci0gIHByaW50IFNUWUxFQlVJ
TERFUiAiICAgIHN0YXRpYyB2b2lkIGFwcGx5SW5pdGlhbCIgLiAkbmFtZVRvSWR7JG5hbWV9IC4g
IihTdHlsZVJlc29sdmVyJiBzdHlsZVJlc29sdmVyKVxuIjsKKyAgcHJpbnQgU1RZTEVCVUlMREVS
ICIgICAgdm9pZCBhcHBseUluaXRpYWwiIC4gJG5hbWVUb0lkeyRuYW1lfSAuICIoU3R5bGVSZXNv
bHZlciYpO1xuIjsKKyAgcHJpbnQgU1RZTEVCVUlMREVSICIgICAgaW5saW5lIHZvaWQgYXBwbHlJ
bml0aWFsIiAuICRuYW1lVG9JZHskbmFtZX0gLiAiKFN0eWxlUmVzb2x2ZXImIHN0eWxlUmVzb2x2
ZXIpXG4iOwogICBwcmludCBTVFlMRUJVSUxERVIgIiAgICB7XG4iOwogICBwcmludCBTVFlMRUJV
SUxERVIgIiAgICAgICAgIiAuICRzZXRWYWx1ZSAuICIoUmVuZGVyU3R5bGU6OiIgLiAkcHJvcGVy
dGllc1VzaW5nTmV3U3R5bGVCdWlsZGVyeyRuYW1lfXsiSW5pdGlhbCJ9IC4gIigpKTtcbiI7CiAg
IHByaW50IFNUWUxFQlVJTERFUiAiICAgIH1cbiI7Ci0gIHByaW50IFNUWUxFQlVJTERFUiAiICAg
IHN0YXRpYyB2b2lkIGFwcGx5SW5oZXJpdCIgLiAkbmFtZVRvSWR7JG5hbWV9IC4gIihTdHlsZVJl
c29sdmVyJiBzdHlsZVJlc29sdmVyKVxuIjsKKyAgcHJpbnQgU1RZTEVCVUlMREVSICIgICAgdm9p
ZCBhcHBseUluaGVyaXQiIC4gJG5hbWVUb0lkeyRuYW1lfSAuICIoU3R5bGVSZXNvbHZlciYpO1xu
IjsKKyAgcHJpbnQgU1RZTEVCVUlMREVSICIgICAgaW5saW5lIHZvaWQgYXBwbHlJbmhlcml0IiAu
ICRuYW1lVG9JZHskbmFtZX0gLiAiKFN0eWxlUmVzb2x2ZXImIHN0eWxlUmVzb2x2ZXIpXG4iOwog
ICBwcmludCBTVFlMRUJVSUxERVIgIiAgICB7XG4iOwogICBwcmludCBTVFlMRUJVSUxERVIgIiAg
ICAgICAgIiAuICRzZXRWYWx1ZSAuICIoc3R5bGVSZXNvbHZlci5wYXJlbnRTdHlsZSgpLT4iIC4g
ICRwcm9wZXJ0aWVzVXNpbmdOZXdTdHlsZUJ1aWxkZXJ7JG5hbWV9eyJHZXR0ZXIifSAuICIoKSk7
XG4iOwogICBwcmludCBTVFlMRUJVSUxERVIgIiAgICB9XG4iOwotICBwcmludCBTVFlMRUJVSUxE
RVIgIiAgICBzdGF0aWMgdm9pZCBhcHBseVZhbHVlIiAuICRuYW1lVG9JZHskbmFtZX0gLiAiKFN0
eWxlUmVzb2x2ZXImIHN0eWxlUmVzb2x2ZXIsIENTU1ZhbHVlJiB2YWx1ZSlcbiI7Ci0gIHByaW50
IFNUWUxFQlVJTERFUiAiICAgIHtcbiI7Ci0gIG15ICRjb252ZXJ0ZWRWYWx1ZTsKLSAgaWYgKGV4
aXN0cygkcHJvcGVydGllc1VzaW5nTmV3U3R5bGVCdWlsZGVyeyRuYW1lfXsiQ29udmVydGVyIn0p
KSB7Ci0gICAgJGNvbnZlcnRlZFZhbHVlID0gIlN0eWxlQnVpbGRlckNvbnZlcnRlcjo6Y29udmVy
dCIgLiAkcHJvcGVydGllc1VzaW5nTmV3U3R5bGVCdWlsZGVyeyRuYW1lfXsiQ29udmVydGVyIn0g
LiAiKHN0eWxlUmVzb2x2ZXIsIHZhbHVlKSI7Ci0gIH0gZWxzZSB7Ci0gICAgJGNvbnZlcnRlZFZh
bHVlID0gInN0YXRpY19jYXN0PCIgLiAkcHJvcGVydGllc1VzaW5nTmV3U3R5bGVCdWlsZGVyeyRu
YW1lfXsiVHlwZU5hbWUifSAuICI+KGRvd25jYXN0PENTU1ByaW1pdGl2ZVZhbHVlPih2YWx1ZSkp
IjsKKyAgaWYgKCRwcm9wZXJ0aWVzVXNpbmdOZXdTdHlsZUJ1aWxkZXJ7JG5hbWV9eyJDdXN0b20i
fSBuZSAiVmFsdWUiKSB7CisgICAgcHJpbnQgU1RZTEVCVUlMREVSICIgICAgdm9pZCBhcHBseVZh
bHVlIiAuICRuYW1lVG9JZHskbmFtZX0gLiAiKFN0eWxlUmVzb2x2ZXImLCBDU1NWYWx1ZSYpO1xu
IjsKKyAgICBwcmludCBTVFlMRUJVSUxERVIgIiAgICBpbmxpbmUgdm9pZCBhcHBseVZhbHVlIiAu
ICRuYW1lVG9JZHskbmFtZX0gLiAiKFN0eWxlUmVzb2x2ZXImIHN0eWxlUmVzb2x2ZXIsIENTU1Zh
bHVlJiB2YWx1ZSlcbiI7CisgICAgcHJpbnQgU1RZTEVCVUlMREVSICIgICAge1xuIjsKKyAgICBt
eSAkY29udmVydGVkVmFsdWU7CisgICAgaWYgKGV4aXN0cygkcHJvcGVydGllc1VzaW5nTmV3U3R5
bGVCdWlsZGVyeyRuYW1lfXsiQ29udmVydGVyIn0pKSB7CisgICAgICAkY29udmVydGVkVmFsdWUg
PSAiU3R5bGVCdWlsZGVyQ29udmVydGVyOjpjb252ZXJ0IiAuICRwcm9wZXJ0aWVzVXNpbmdOZXdT
dHlsZUJ1aWxkZXJ7JG5hbWV9eyJDb252ZXJ0ZXIifSAuICIoc3R5bGVSZXNvbHZlciwgdmFsdWUp
IjsKKyAgICB9IGVsc2UgeworICAgICAgJGNvbnZlcnRlZFZhbHVlID0gInN0YXRpY19jYXN0PCIg
LiAkcHJvcGVydGllc1VzaW5nTmV3U3R5bGVCdWlsZGVyeyRuYW1lfXsiVHlwZU5hbWUifSAuICI+
KGRvd25jYXN0PENTU1ByaW1pdGl2ZVZhbHVlPih2YWx1ZSkpIjsKKyAgICB9CisgICAgcHJpbnQg
U1RZTEVCVUlMREVSICIgICAgICAgICIgLiAkc2V0VmFsdWUgLiAiKCIgLiAkY29udmVydGVkVmFs
dWUgLiAiKTtcbiI7CisgICAgcHJpbnQgU1RZTEVCVUlMREVSICIgICAgfVxuIjsKICAgfQotICBw
cmludCBTVFlMRUJVSUxERVIgIiAgICAgICAgIiAuICRzZXRWYWx1ZSAuICIoIiAuICRjb252ZXJ0
ZWRWYWx1ZSAuICIpO1xuIjsKLSAgcHJpbnQgU1RZTEVCVUlMREVSICIgICAgfVxuIjsKIH0KIAog
cHJpbnQgU1RZTEVCVUlMREVSIDw8ICJFT0YiOwotfTsKK30gLy8gbmFtZXNwYWNlIFN0eWxlQnVp
bGRlckZ1bmN0aW9ucwogCiBib29sIFN0eWxlQnVpbGRlcjo6YXBwbHlQcm9wZXJ0eShDU1NQcm9w
ZXJ0eUlEIHByb3BlcnR5LCBTdHlsZVJlc29sdmVyJiBzdHlsZVJlc29sdmVyLCBDU1NWYWx1ZSYg
dmFsdWUsIGJvb2wgaXNJbml0aWFsLCBib29sIGlzSW5oZXJpdCkKIHsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>240547</attachid>
            <date>2014-10-28 09:21:53 -0700</date>
            <delta_ts>2014-10-28 10:29:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-138125-20141028092201.patch</filename>
            <type>text/plain</type>
            <size>21899</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc1MjUyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWFlOGIyMjVkY2E4MjVl
YzIwOTQ2OGNjYjAyODg4NjBiYjNjZTA2ZS4uZTQ4ZTE2ZjQyYWIzYTY2ZmM5NDc2MzFkZGY5ZWVm
NjI3YWYyZjE0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDE0LTEwLTI3ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgTW92ZSAiTnVtYmVyIiBDU1Mg
cHJvcGVydGllcyB0byB0aGUgbmV3IFN0eWxlQnVpbGRlcgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM4MTI1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
QW50dGkgS29pdmlzdG8uCisKKyAgICAgICAgTW92ZSAiTnVtYmVyIiBDU1MgcHJvcGVydGllcyBm
cm9tIERlcHJlY2F0ZWRTdHlsZUJ1aWxkZXIgdG8gdGhlIG5ldworICAgICAgICBTdHlsZUJ1aWxk
ZXI6CisgICAgICAgIC13ZWJraXQtaHlwaGVuYXRlLWxpbWl0LWFmdGVyCisgICAgICAgIC13ZWJr
aXQtaHlwaGVuYXRlLWxpbWl0LWJlZm9yZQorICAgICAgICAtd2Via2l0LXNoYXBlLWltYWdlLXRo
cmVzaG9sZAorICAgICAgICAtd2Via2l0LWh5cGhlbmF0ZS1saW1pdC1saW5lcworCisgICAgICAg
IFRoZXkgYXJlIG5vdyBnZW5lcmF0ZWQgZnJvbSBDU1NQcm9wZXJ0eU5hbWVzLmluCisKKyAgICAg
ICAgRm9yIC13ZWJraXQtaHlwaGVuYXRlLWxpbWl0LWxpbmVzLCBJIHVzZWQgY3VzdG9tIGNvZGUg
aW5zdGVhZCBvZgorICAgICAgICB0aGUgTnVtYmVyIGNvbnZlcnRlciBhcyBpdCByZXF1aXJlZCBz
cGVjaWFsIGhhbmRsaW5nIGZvciB0aGUgaWQKKyAgICAgICAgdmFsdWUuIFRoaXMgcGF0Y2ggdGh1
cyBhZGRzIHN1cHBvcnQgZm9yIFtDdXN0b209VmFsdWVdIHRvCisgICAgICAgIENTU1Byb3BlcnR5
TmFtZXMuaW4gYW5kIHRoZSBjdXN0b20gY29kZSBnb2VzIGludG8KKyAgICAgICAgY3NzL1N0eWxl
QnVpbGRlckN1c3RvbS5oLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgbm8gYmVoYXZpb3IgY2hh
bmdlLgorCisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAg
ICAgICAqIGNzcy9DU1NQcm9wZXJ0eU5hbWVzLmluOgorICAgICAgICAqIGNzcy9EZXByZWNhdGVk
U3R5bGVCdWlsZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRlcHJlY2F0ZWRTdHlsZUJ1aWxk
ZXI6OkRlcHJlY2F0ZWRTdHlsZUJ1aWxkZXIpOgorICAgICAgICAoV2ViQ29yZTo6QXBwbHlQcm9w
ZXJ0eU51bWJlcjo6c2V0VmFsdWUpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6QXBwbHlQ
cm9wZXJ0eU51bWJlcjo6YXBwbHlWYWx1ZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpB
cHBseVByb3BlcnR5TnVtYmVyOjpjcmVhdGVIYW5kbGVyKTogRGVsZXRlZC4KKyAgICAgICAgKiBj
c3MvU3R5bGVCdWlsZGVyQ29udmVydGVyLmg6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZUJ1aWxk
ZXJDb252ZXJ0ZXI6OmNvbnZlcnROdW1iZXIpOgorICAgICAgICAqIGNzcy9TdHlsZUJ1aWxkZXJD
dXN0b20uaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpTdHlsZUJ1aWxkZXJGdW5jdGlvbnM6
OmFwcGx5VmFsdWVXZWJraXRIeXBoZW5hdGVMaW1pdExpbmVzKToKKyAgICAgICAgKiBjc3MvbWFr
ZXByb3AucGw6CisKIDIwMTQtMTAtMjggIE1paG5lYSBPdmlkZW5pZSAgPG1paG5lYUBhZG9iZS5j
b20+CiAKICAgICAgICAgQ2xlYW4gdXAgc3VidHJlZXMgc2VsZWN0aW9uIGNvZGUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBkMWVj
MzdiMDEyOWQ2YmEwNGZkN2ViZjQ5YTdhYWEyNmRlNzA3Y2QxLi45ZmM1ZjdiZjNlYzc2NDc4ODc2
MzRhZTZmNjA1OWQ0NGU5OGJjZjZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0yNTAyLDYgKzI1MDIsNyBAQAogCQk4MkUzRDhE
RjEyMkVBMEQxMDAzQUU1QkMgLyogQ1NTUHJvcGVydHlTb3VyY2VEYXRhLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4MkUzRDhERDEyMkVBMEQxMDAzQUU1
QkMgLyogQ1NTUHJvcGVydHlTb3VyY2VEYXRhLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJODMyQjg0MzQxOUQ4RTU1MTAwQjI2MDU1IC8qIFNWR0Fu
aW1hdGVFbGVtZW50QmFzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gODMyQjg0MzMxOUQ4RTU1MTAwQjI2MDU1IC8qIFNWR0FuaW1hdGVFbGVtZW50QmFz
ZS5oICovOyB9OwogCQk4MzJCODQzNjE5RDhFNTc0MDBCMjYwNTUgLyogU1ZHQW5pbWF0ZUVsZW1l
bnRCYXNlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDgzMkI4NDM1MTlEOEU1NzQwMEIyNjA1NSAvKiBTVkdBbmltYXRlRWxlbWVudEJhc2UuY3BwICov
OyB9OworCQk4MzVEMzYzNzE5RkY2MTkzMDA0QzkzQUIgLyogU3R5bGVCdWlsZGVyQ3VzdG9tLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4MzVEMzYzNjE5
RkY2MTkzMDA0QzkzQUIgLyogU3R5bGVCdWlsZGVyQ3VzdG9tLmggKi87IH07CiAJCTgzNkZCQ0VB
MTc4QzExMzIwMEIyMUExNSAvKiBTVkdBbmltYXRlZFR5cGVBbmltYXRvci5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4MzZGQkNFOTE3OEMxMTMyMDBC
MjFBMTUgLyogU1ZHQW5pbWF0ZWRUeXBlQW5pbWF0b3IuY3BwICovOyB9OwogCQk4MzZGQkNFQzE3
OEMxMTdGMDBCMjFBMTUgLyogU1ZHQW5pbWF0ZWRQcm9wZXJ0eS5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4MzZGQkNFQjE3OEMxMTdGMDBCMjFBMTUg
LyogU1ZHQW5pbWF0ZWRQcm9wZXJ0eS5jcHAgKi87IH07CiAJCTgzODZBOTZEMTlGNjFCMkUwMEUx
RUM0QSAvKiBTdHlsZUJ1aWxkZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDgzODZBOTZDMTlGNjFCMkUwMEUxRUM0QSAvKiBTdHlsZUJ1aWxkZXIuaCAq
LzsgfTsKQEAgLTk2ODcsNiArOTY4OCw3IEBACiAJCTgyRTNEOEREMTIyRUEwRDEwMDNBRTVCQyAv
KiBDU1NQcm9wZXJ0eVNvdXJjZURhdGEuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gQ1NTUHJvcGVydHlTb3VyY2VEYXRhLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTgzMkI4NDMzMTlEOEU1NTEwMEIyNjA1NSAvKiBTVkdBbmltYXRlRWxlbWVudEJhc2UuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU1ZHQW5pbWF0ZUVsZW1lbnRCYXNlLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTgzMkI4NDM1MTlEOEU1NzQwMEIyNjA1NSAvKiBT
VkdBbmltYXRlRWxlbWVudEJhc2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gU1ZHQW5pbWF0ZUVsZW1lbnRCYXNlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJODM1RDM2MzYxOUZGNjE5MzAwNEM5M0FCIC8qIFN0eWxlQnVpbGRlckN1c3RvbS5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTdHlsZUJ1aWxkZXJDdXN0b20uaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODM2RkJDRTkxNzhDMTEzMjAwQjIxQTE1IC8qIFNW
R0FuaW1hdGVkVHlwZUFuaW1hdG9yLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IFNWR0FuaW1hdGVkVHlwZUFuaW1hdG9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJODM2RkJDRUIxNzhDMTE3RjAwQjIxQTE1IC8qIFNWR0FuaW1hdGVkUHJvcGVydHku
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU1ZHQW5pbWF0ZWRQcm9w
ZXJ0eS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTgzODZBOTZDMTlGNjFCMkUw
MEUxRUM0QSAvKiBTdHlsZUJ1aWxkZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gU3R5bGVCdWlsZGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMjIzMSw2
ICsyMjIzMyw3IEBACiAJCQkJNTM2RDVBMjYxOTNGNDEwQjAwQ0U0Q0FCIC8qIFNvdXJjZVNpemVM
aXN0LmggKi8sCiAJCQkJODM4NkE5NkMxOUY2MUIyRTAwRTFFQzRBIC8qIFN0eWxlQnVpbGRlci5o
ICovLAogCQkJCTgzQjk2ODc5MTlGOEFCODMwMDRFRjdBRiAvKiBTdHlsZUJ1aWxkZXJDb252ZXJ0
ZXIuaCAqLywKKwkJCQk4MzVEMzYzNjE5RkY2MTkzMDA0QzkzQUIgLyogU3R5bGVCdWlsZGVyQ3Vz
dG9tLmggKi8sCiAJCQkJRTQ3QTk3Q0UxNjMwNTlGQzAwNURDRDk5IC8qIFN0eWxlSW52YWxpZGF0
aW9uQW5hbHlzaXMuY3BwICovLAogCQkJCUU0N0E5N0NGMTYzMDU5RkMwMDVEQ0Q5OSAvKiBTdHls
ZUludmFsaWRhdGlvbkFuYWx5c2lzLmggKi8sCiAJCQkJMEZGNTAyNkUxMDJCQTk2NjAwNjZGMzlB
IC8qIFN0eWxlTWVkaWEuY3BwICovLApAQCAtMjU1NjgsNiArMjU1NzEsNyBAQAogCQkJCUZEMzE2
MDFBMTJCMDI2NzYwMEMxQTM1OSAvKiBQYW5uZXJOb2RlLmggaW4gSGVhZGVycyAqLywKIAkJCQk0
NDc5NTgwNDE2NDNCNDlBMDAxRTBBN0YgLyogUGFyc2VkQ29udGVudFR5cGUuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUJDNzZBQzEzMEREN0FENUMwMDQxNUYzNCAvKiBQYXJzZXJVdGlsaXRpZXMuaCBp
biBIZWFkZXJzICovLAorCQkJCTgzNUQzNjM3MTlGRjYxOTMwMDRDOTNBQiAvKiBTdHlsZUJ1aWxk
ZXJDdXN0b20uaCBpbiBIZWFkZXJzICovLAogCQkJCUY1NUIzRENBMTI1MUYxMkQwMDNFRjI2OSAv
KiBQYXNzd29yZElucHV0VHlwZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNEIyNzA4QzcwQUYxOUVF
NDAwNjUxMjdGIC8qIFBhc3RlYm9hcmQuaCBpbiBIZWFkZXJzICovLAogCQkJCUM1OTg5MDU3MTRF
OUMyODAwMEU4RDE4QiAvKiBQYXN0ZWJvYXJkU3RyYXRlZ3kuaCBpbiBIZWFkZXJzICovLApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5TmFtZXMuaW4gYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTUHJvcGVydHlOYW1lcy5pbgppbmRleCA0YmQ4ZmQ4MDY4ZTFiNTdiYmM0
NGMyOTE2ZTkxM2JiYjllNDhiZjhkLi44NzU0OWViZmJkODUyYzRlYmQ5MGNjMTgyMzA5ZjI3ZWVh
NTE2Nzk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHlOYW1lcy5p
bgorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHlOYW1lcy5pbgpAQCAtNyw3ICs3
LDQ4IEBACiAvLyBNaWNyb3NvZnQgZXh0ZW5zaW9ucyBhcmUgZG9jdW1lbnRlZCBoZXJlOgogLy8g
aHR0cDovL21zZG4ubWljcm9zb2Z0LmNvbS93b3Jrc2hvcC9hdXRob3IvY3NzL3JlZmVyZW5jZS9h
dHRyaWJ1dGVzLmFzcAogLy8gCi0KKy8vIFN0eWxlQnVpbGRlciBvcHRpb25zOgorLy8gKiBOZXdT
dHlsZUJ1aWxkZXI6CisvLyBJbmRpY2F0ZXMgdG8gbWFrZXByb3AucGwgdGhhdCB0aGlzIHByb3Bl
cnR5IHNob3VsZCBiZSBnZW5lcmF0ZWQKKy8vIGluIHRoZSBuZXcgU3R5bGVCdWlsZGVyLmNwcC4g
VGhpcyBvcHRpb24gaXMgdGVtcG9yYXJ5IHVudGlsIGFsbAorLy8gQ1NTIHByb3BlcnRpZXMgYXJl
IGdlbmVyYXRlZC4KKy8vCisvLyAqIFR5cGVOYW1lOgorLy8gT3ZlcnJpZGVzIHRoZSB0eXBlIG9m
IHRoZSBzZXR0ZXIgbWV0aG9kIGFyZ3VtZW50IG9uIFJlbmRlclN0eWxlLiBCeQorLy8gZGVmYXVs
dCwgJ0UnICsgUHJvcGVydHlJZCBpcyB1c2VkIChlLmcuIEVCb3JkZXJDb2xsYXBzZSkuIFRoaXMg
b3B0aW9uCisvLyBpcyBub3QgbmVlZGVkIGlmIHRoZSAiQ29udmVydGVyIiBvcHRpb24gaXMgdXNl
ZC4KKy8vCisvLyAqIEluaXRpYWw6CisvLyBPdmVycmlkZXMgdGhlIG1ldGhvZCBuYW1lIG9uIFJl
bmRlclN0eWxlIHRvIGdldCB0aGUgaW5pdGlhbCB2YWx1ZSBmb3IKKy8vIHRoZSBwcm9wZXJ0eS4g
QnkgZGVmYXVsdCwgaW5pdGlhbCcgKyBQcm9wZXJ0eUlkIGlzIHVzZWQgKGUuZy4KKy8vIGluaXRp
YWxCb3JkZXJDb2xsYXBzZSgpKS4KKy8vCisvLyAqIEdldHRlcjoKKy8vIE92ZXJyaWRlcyB0aGUg
bWV0aG9kIG5hbWUgb24gUmVuZGVyU3R5bGUgdG8gZ2V0IHRoZSBjdXJyZW50IHZhbHVlIGZvcgor
Ly8gdGhlIHByb3BlcnR5LiBCeSBkZWZhdWx0LCB0aGUgUHJvcGVydHlJZCB3aXRoIGZpcnN0IGxl
dHRlciBsb3dlcmNhc2VkCisvLyBpcyB1c2VkIChlLmcuIGJvcmRlckNvbGxhcHNlKCkpLgorLy8K
Ky8vICogU2V0dGVyOgorLy8gT3ZlcnJpZGVzIHRoZSBtZXRob2QgbmFtZSBvbiBSZW5kZXJTdHls
ZSB0byBzZXQgdGhlIGN1cnJlbnQgdmFsdWUgZm9yCisvLyB0aGUgcHJvcGVydHkuIEJ5IGRlZmF1
bHQsICdzZXQnICsgUHJvcGVydHlJZCBpcyB1c2VkIChlLmcuCisvLyBzZXRCb3JkZXJDb2xsYXBz
ZSgpKS4KKy8vCisvLyAqIE5hbWVGb3JNZXRob2RzOgorLy8gT3ZlcnJpZGVzIHRoZSBHZXR0ZXIg
LyBTZXR0ZXIgLyBJbml0aWFsIG1ldGhvZCBuYW1lcyBvbiBSZW5kZXJTdHlsZS4KKy8vIEZvciBl
LmcuICJOYW1lRm9yTWV0aG9kcz1PdmVyZmxvd1dyYXAiIHdpbGwgdXNlCisvLyAib3ZlcmZsb3dX
cmFwKCkgLyBzZXRPdmVyZmxvd1dyYXAoKSAvIGluaXRpYWxPdmVyZmxvd1dyYXAoKSIuCisvLwor
Ly8gKiBDb252ZXJ0ZXI9WFhYOgorLy8gSWYgY29udmVydGluZyB0aGUgaW5wdXQgQ1NTVmFsdWUg
aW50byB0aGUgc2V0dGVyIG1ldGhvZCBhcmd1bWVudCB0eXBlCisvLyBpcyBub3QgdHJpdmlhbCAo
aS5lLiBjYXN0aW5nIHRvIFR5cGVOYW1lIGRvZXMgbm90IHN1ZmZpY2UpLCB0aGVuIHlvdQorLy8g
Y2FuIGluZGljYXRlIHRoYXQgYSBDb252ZXJ0ZXIgaGVscGVyIGZ1bmN0aW9uIGluCisvLyBjc3Mv
U3R5bGVCdWlsZGVyQ29udmVydGVyLmggc2hvdWxkIGJlIHVzZWQuCisvLworLy8gKiBDdXN0b209
VmFsdWU6CisvLyBUaGlzIG9wdGlvbiBpcyB1c2VkIHRvIGluZGljYXRlIHRoYXQgdGhlIENTUyBw
cm9wZXJ0eSByZXF1aXJlcyBzcGVjaWFsCisvLyBoYW5kbGluZyB0byBzZXQgaXRzIHZhbHVlLCBh
bmQgYSByZWd1bGFyIENvbnZlcnRlciBoZWxwZXIgY2Fubm90IGJlCisvLyB1c2VkLiBUaGUgQ3Vz
dG9tIGNvZGUgZm9yIHRoZSBwcm9wZXJ0eSBzaG91bGQgYmUgbG9jYXRlZCBpbgorLy8gY3NzL1N0
eWxlQnVpbGRlckN1c3RvbS5oIGFuZCBuYW1lZCBhcHBseVZhbHVlW0NTU1Byb3BlcnR5TmFtZV0o
KS4KIAogLy8gaGlnaC1wcmlvcml0eSBwcm9wZXJ0eSBuYW1lcyBoYXZlIHRvIGJlIGxpc3RlZCBm
aXJzdCwgdG8gc2ltcGxpZnkgdGhlIGNoZWNrCiAvLyBmb3IgYXBwbHlpbmcgdGhlbSBmaXJzdC4K
QEAgLTMzNSw5ICszNzYsOSBAQCBqdXN0aWZ5LWNvbnRlbnQgW05ld1N0eWxlQnVpbGRlcl0KIC13
ZWJraXQtZ3JpZC1hdXRvLWZsb3cKICNlbmRpZgogLXdlYmtpdC1oeXBoZW5hdGUtY2hhcmFjdGVy
IFtJbmhlcml0ZWRdCi0td2Via2l0LWh5cGhlbmF0ZS1saW1pdC1hZnRlciBbSW5oZXJpdGVkXQot
LXdlYmtpdC1oeXBoZW5hdGUtbGltaXQtYmVmb3JlIFtJbmhlcml0ZWRdCi0td2Via2l0LWh5cGhl
bmF0ZS1saW1pdC1saW5lcyBbSW5oZXJpdGVkXQorLXdlYmtpdC1oeXBoZW5hdGUtbGltaXQtYWZ0
ZXIgW0luaGVyaXRlZCwgTmV3U3R5bGVCdWlsZGVyLCBOYW1lRm9yTWV0aG9kcz1IeXBoZW5hdGlv
bkxpbWl0QWZ0ZXIsIENvbnZlcnRlcj1OdW1iZXI8c2hvcnQ+XQorLXdlYmtpdC1oeXBoZW5hdGUt
bGltaXQtYmVmb3JlIFtJbmhlcml0ZWQsIE5ld1N0eWxlQnVpbGRlciwgTmFtZUZvck1ldGhvZHM9
SHlwaGVuYXRpb25MaW1pdEJlZm9yZSwgQ29udmVydGVyPU51bWJlcjxzaG9ydD5dCistd2Via2l0
LWh5cGhlbmF0ZS1saW1pdC1saW5lcyBbSW5oZXJpdGVkLCBOZXdTdHlsZUJ1aWxkZXIsIE5hbWVG
b3JNZXRob2RzPUh5cGhlbmF0aW9uTGltaXRMaW5lcywgQ3VzdG9tPVZhbHVlXQogLXdlYmtpdC1o
eXBoZW5zIFtJbmhlcml0ZWQsIE5ld1N0eWxlQnVpbGRlciwgVHlwZU5hbWU9SHlwaGVuc10KIC1l
cHViLWh5cGhlbnMgPSAtd2Via2l0LWh5cGhlbnMKIC13ZWJraXQtaW5pdGlhbC1sZXR0ZXIKQEAg
LTQ2MSw3ICs1MDIsNyBAQCB0ZXh0LWVtcGhhc2lzLXN0eWxlID0gLXdlYmtpdC10ZXh0LWVtcGhh
c2lzLXN0eWxlCiAjaWYgZGVmaW5lZChFTkFCTEVfQ1NTX1NIQVBFUykgJiYgRU5BQkxFX0NTU19T
SEFQRVMKIC13ZWJraXQtc2hhcGUtb3V0c2lkZQogLXdlYmtpdC1zaGFwZS1tYXJnaW4gW05ld1N0
eWxlQnVpbGRlciwgQ29udmVydGVyPUxlbmd0aF0KLS13ZWJraXQtc2hhcGUtaW1hZ2UtdGhyZXNo
b2xkCistd2Via2l0LXNoYXBlLWltYWdlLXRocmVzaG9sZCBbTmV3U3R5bGVCdWlsZGVyLCBDb252
ZXJ0ZXI9TnVtYmVyPGZsb2F0Pl0KICNlbmRpZgogI2lmIGRlZmluZWQoRU5BQkxFX0NTU19ERVZJ
Q0VfQURBUFRBVElPTikgJiYgRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTgogbWF4LXpvb20K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9EZXByZWNhdGVkU3R5bGVCdWlsZGVyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9EZXByZWNhdGVkU3R5bGVCdWlsZGVyLmNwcAppbmRleCBj
NDIwMzlkZDE2ZDQ3MGNjZTRlZjI0MDZjOGYxN2M1ODlmNDYxZTY4Li4zYmE0YjhkMTQ1NmRmMmYz
OTJhMTFlYzJkYTk0MTA3NTEyYWZmNGM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
RGVwcmVjYXRlZFN0eWxlQnVpbGRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0RlcHJl
Y2F0ZWRTdHlsZUJ1aWxkZXIuY3BwCkBAIC0xNjAsMjggKzE2MCw2IEBAIHB1YmxpYzoKICAgICB9
CiB9OwogCi10ZW1wbGF0ZSA8dHlwZW5hbWUgTnVtYmVyVHlwZSwgTnVtYmVyVHlwZSAoUmVuZGVy
U3R5bGU6OipnZXR0ZXJGdW5jdGlvbikoKSBjb25zdCwgdm9pZCAoUmVuZGVyU3R5bGU6OipzZXR0
ZXJGdW5jdGlvbikoTnVtYmVyVHlwZSksIE51bWJlclR5cGUgKCppbml0aWFsRnVuY3Rpb24pKCks
IGludCBpZE1hcHNUb01pbnVzT25lID0gQ1NTVmFsdWVBdXRvPgotY2xhc3MgQXBwbHlQcm9wZXJ0
eU51bWJlciB7Ci1wdWJsaWM6Ci0gICAgc3RhdGljIHZvaWQgc2V0VmFsdWUoUmVuZGVyU3R5bGUq
IHN0eWxlLCBOdW1iZXJUeXBlIHZhbHVlKSB7IChzdHlsZS0+KnNldHRlckZ1bmN0aW9uKSh2YWx1
ZSk7IH0KLSAgICBzdGF0aWMgdm9pZCBhcHBseVZhbHVlKENTU1Byb3BlcnR5SUQsIFN0eWxlUmVz
b2x2ZXIqIHN0eWxlUmVzb2x2ZXIsIENTU1ZhbHVlKiB2YWx1ZSkKLSAgICB7Ci0gICAgICAgIGlm
ICghaXM8Q1NTUHJpbWl0aXZlVmFsdWU+KCp2YWx1ZSkpCi0gICAgICAgICAgICByZXR1cm47Ci0K
LSAgICAgICAgQ1NTUHJpbWl0aXZlVmFsdWUmIHByaW1pdGl2ZVZhbHVlID0gZG93bmNhc3Q8Q1NT
UHJpbWl0aXZlVmFsdWU+KCp2YWx1ZSk7Ci0gICAgICAgIGlmIChwcmltaXRpdmVWYWx1ZS5nZXRW
YWx1ZUlEKCkgPT0gaWRNYXBzVG9NaW51c09uZSkKLSAgICAgICAgICAgIHNldFZhbHVlKHN0eWxl
UmVzb2x2ZXItPnN0eWxlKCksIC0xKTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgc2V0VmFs
dWUoc3R5bGVSZXNvbHZlci0+c3R5bGUoKSwgcHJpbWl0aXZlVmFsdWUuZ2V0VmFsdWU8TnVtYmVy
VHlwZT4oQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19OVU1CRVIpKTsKLSAgICB9Ci0gICAgc3RhdGlj
IFByb3BlcnR5SGFuZGxlciBjcmVhdGVIYW5kbGVyKCkKLSAgICB7Ci0gICAgICAgIFByb3BlcnR5
SGFuZGxlciBoYW5kbGVyID0gQXBwbHlQcm9wZXJ0eURlZmF1bHRCYXNlPE51bWJlclR5cGUsIGdl
dHRlckZ1bmN0aW9uLCBOdW1iZXJUeXBlLCBzZXR0ZXJGdW5jdGlvbiwgTnVtYmVyVHlwZSwgaW5p
dGlhbEZ1bmN0aW9uPjo6Y3JlYXRlSGFuZGxlcigpOwotICAgICAgICByZXR1cm4gUHJvcGVydHlI
YW5kbGVyKGhhbmRsZXIuaW5oZXJpdEZ1bmN0aW9uKCksIGhhbmRsZXIuaW5pdGlhbEZ1bmN0aW9u
KCksICZhcHBseVZhbHVlKTsKLSAgICB9Ci19OwotCiB0ZW1wbGF0ZSA8U3R5bGVJbWFnZSogKFJl
bmRlclN0eWxlOjoqZ2V0dGVyRnVuY3Rpb24pKCkgY29uc3QsIHZvaWQgKFJlbmRlclN0eWxlOjoq
c2V0dGVyRnVuY3Rpb24pKFBhc3NSZWZQdHI8U3R5bGVJbWFnZT4pLCBTdHlsZUltYWdlKiAoKmlu
aXRpYWxGdW5jdGlvbikoKSwgQ1NTUHJvcGVydHlJRCBwcm9wZXJ0eT4KIGNsYXNzIEFwcGx5UHJv
cGVydHlTdHlsZUltYWdlIHsKIHB1YmxpYzoKQEAgLTIzMDEsOSArMjI3OSw2IEBAIERlcHJlY2F0
ZWRTdHlsZUJ1aWxkZXI6OkRlcHJlY2F0ZWRTdHlsZUJ1aWxkZXIoKQogICAgIHNldFByb3BlcnR5
SGFuZGxlcihDU1NQcm9wZXJ0eVdlYmtpdEZvbnRTbW9vdGhpbmcsIEFwcGx5UHJvcGVydHlGb250
PEZvbnRTbW9vdGhpbmdNb2RlLCAmRm9udERlc2NyaXB0aW9uOjpmb250U21vb3RoaW5nLCAmRm9u
dERlc2NyaXB0aW9uOjpzZXRGb250U21vb3RoaW5nLCBBdXRvU21vb3RoaW5nPjo6Y3JlYXRlSGFu
ZGxlcigpKTsKICAgICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVydHlXZWJraXRGb250VmFy
aWFudExpZ2F0dXJlcywgQXBwbHlQcm9wZXJ0eUZvbnRWYXJpYW50TGlnYXR1cmVzOjpjcmVhdGVI
YW5kbGVyKCkpOwogICAgIHNldFByb3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0eVdlYmtpdEh5cGhl
bmF0ZUNoYXJhY3RlciwgQXBwbHlQcm9wZXJ0eVN0cmluZzxNYXBBdXRvVG9OdWxsLCAmUmVuZGVy
U3R5bGU6Omh5cGhlbmF0aW9uU3RyaW5nLCAmUmVuZGVyU3R5bGU6OnNldEh5cGhlbmF0aW9uU3Ry
aW5nLCAmUmVuZGVyU3R5bGU6OmluaXRpYWxIeXBoZW5hdGlvblN0cmluZz46OmNyZWF0ZUhhbmRs
ZXIoKSk7Ci0gICAgc2V0UHJvcGVydHlIYW5kbGVyKENTU1Byb3BlcnR5V2Via2l0SHlwaGVuYXRl
TGltaXRBZnRlciwgQXBwbHlQcm9wZXJ0eU51bWJlcjxzaG9ydCwgJlJlbmRlclN0eWxlOjpoeXBo
ZW5hdGlvbkxpbWl0QWZ0ZXIsICZSZW5kZXJTdHlsZTo6c2V0SHlwaGVuYXRpb25MaW1pdEFmdGVy
LCAmUmVuZGVyU3R5bGU6OmluaXRpYWxIeXBoZW5hdGlvbkxpbWl0QWZ0ZXI+OjpjcmVhdGVIYW5k
bGVyKCkpOwotICAgIHNldFByb3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0eVdlYmtpdEh5cGhlbmF0
ZUxpbWl0QmVmb3JlLCBBcHBseVByb3BlcnR5TnVtYmVyPHNob3J0LCAmUmVuZGVyU3R5bGU6Omh5
cGhlbmF0aW9uTGltaXRCZWZvcmUsICZSZW5kZXJTdHlsZTo6c2V0SHlwaGVuYXRpb25MaW1pdEJl
Zm9yZSwgJlJlbmRlclN0eWxlOjppbml0aWFsSHlwaGVuYXRpb25MaW1pdEJlZm9yZT46OmNyZWF0
ZUhhbmRsZXIoKSk7Ci0gICAgc2V0UHJvcGVydHlIYW5kbGVyKENTU1Byb3BlcnR5V2Via2l0SHlw
aGVuYXRlTGltaXRMaW5lcywgQXBwbHlQcm9wZXJ0eU51bWJlcjxzaG9ydCwgJlJlbmRlclN0eWxl
OjpoeXBoZW5hdGlvbkxpbWl0TGluZXMsICZSZW5kZXJTdHlsZTo6c2V0SHlwaGVuYXRpb25MaW1p
dExpbmVzLCAmUmVuZGVyU3R5bGU6OmluaXRpYWxIeXBoZW5hdGlvbkxpbWl0TGluZXMsIENTU1Zh
bHVlTm9MaW1pdD46OmNyZWF0ZUhhbmRsZXIoKSk7CiAgICAgc2V0UHJvcGVydHlIYW5kbGVyKENT
U1Byb3BlcnR5V2Via2l0TGluZUdyaWQsIEFwcGx5UHJvcGVydHlTdHJpbmc8TWFwTm9uZVRvTnVs
bCwgJlJlbmRlclN0eWxlOjpsaW5lR3JpZCwgJlJlbmRlclN0eWxlOjpzZXRMaW5lR3JpZCwgJlJl
bmRlclN0eWxlOjppbml0aWFsTGluZUdyaWQ+OjpjcmVhdGVIYW5kbGVyKCkpOwogICAgIHNldFBy
b3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0eVdlYmtpdE1hcnF1ZWVJbmNyZW1lbnQsIEFwcGx5UHJv
cGVydHlNYXJxdWVlSW5jcmVtZW50OjpjcmVhdGVIYW5kbGVyKCkpOwogICAgIHNldFByb3BlcnR5
SGFuZGxlcihDU1NQcm9wZXJ0eVdlYmtpdE1hcnF1ZWVSZXBldGl0aW9uLCBBcHBseVByb3BlcnR5
TWFycXVlZVJlcGV0aXRpb246OmNyZWF0ZUhhbmRsZXIoKSk7CkBAIC0yMzM2LDcgKzIzMTEsNiBA
QCBEZXByZWNhdGVkU3R5bGVCdWlsZGVyOjpEZXByZWNhdGVkU3R5bGVCdWlsZGVyKCkKICAgICBz
ZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVydHlXZWJraXRUcmFuc2l0aW9uVGltaW5nRnVuY3Rp
b24sIEFwcGx5UHJvcGVydHlBbmltYXRpb248Y29uc3QgUGFzc1JlZlB0cjxUaW1pbmdGdW5jdGlv
bj4sICZBbmltYXRpb246OnRpbWluZ0Z1bmN0aW9uLCAmQW5pbWF0aW9uOjpzZXRUaW1pbmdGdW5j
dGlvbiwgJkFuaW1hdGlvbjo6aXNUaW1pbmdGdW5jdGlvblNldCwgJkFuaW1hdGlvbjo6Y2xlYXJU
aW1pbmdGdW5jdGlvbiwgJkFuaW1hdGlvbjo6aW5pdGlhbEFuaW1hdGlvblRpbWluZ0Z1bmN0aW9u
LCAmQ1NTVG9TdHlsZU1hcDo6bWFwQW5pbWF0aW9uVGltaW5nRnVuY3Rpb24sICZSZW5kZXJTdHls
ZTo6YWNjZXNzVHJhbnNpdGlvbnMsICZSZW5kZXJTdHlsZTo6dHJhbnNpdGlvbnM+OjpjcmVhdGVI
YW5kbGVyKCkpOwogICAgIHNldFByb3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0eVdlYmtpdENsaXBQ
YXRoLCBBcHBseVByb3BlcnR5Q2xpcFBhdGg8JlJlbmRlclN0eWxlOjpjbGlwUGF0aCwgJlJlbmRl
clN0eWxlOjpzZXRDbGlwUGF0aCwgJlJlbmRlclN0eWxlOjppbml0aWFsQ2xpcFBhdGg+OjpjcmVh
dGVIYW5kbGVyKCkpOwogI2lmIEVOQUJMRShDU1NfU0hBUEVTKQotICAgIHNldFByb3BlcnR5SGFu
ZGxlcihDU1NQcm9wZXJ0eVdlYmtpdFNoYXBlSW1hZ2VUaHJlc2hvbGQsIEFwcGx5UHJvcGVydHlO
dW1iZXI8ZmxvYXQsICZSZW5kZXJTdHlsZTo6c2hhcGVJbWFnZVRocmVzaG9sZCwgJlJlbmRlclN0
eWxlOjpzZXRTaGFwZUltYWdlVGhyZXNob2xkLCAmUmVuZGVyU3R5bGU6OmluaXRpYWxTaGFwZUlt
YWdlVGhyZXNob2xkPjo6Y3JlYXRlSGFuZGxlcigpKTsKICAgICBzZXRQcm9wZXJ0eUhhbmRsZXIo
Q1NTUHJvcGVydHlXZWJraXRTaGFwZU91dHNpZGUsIEFwcGx5UHJvcGVydHlTaGFwZTwmUmVuZGVy
U3R5bGU6OnNoYXBlT3V0c2lkZSwgJlJlbmRlclN0eWxlOjpzZXRTaGFwZU91dHNpZGUsICZSZW5k
ZXJTdHlsZTo6aW5pdGlhbFNoYXBlT3V0c2lkZT46OmNyZWF0ZUhhbmRsZXIoKSk7CiAjZW5kaWYK
ICAgICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVydHlXaWRvd3MsIEFwcGx5UHJvcGVydHlB
dXRvPHNob3J0LCAmUmVuZGVyU3R5bGU6OndpZG93cywgJlJlbmRlclN0eWxlOjpzZXRXaWRvd3Ms
ICZSZW5kZXJTdHlsZTo6aGFzQXV0b1dpZG93cywgJlJlbmRlclN0eWxlOjpzZXRIYXNBdXRvV2lk
b3dzPjo6Y3JlYXRlSGFuZGxlcigpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9T
dHlsZUJ1aWxkZXJDb252ZXJ0ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZUJ1aWxkZXJD
b252ZXJ0ZXIuaAppbmRleCAzZjMyZTVhODQ5MDgwOGYwMzA4MTYxNDRhNjc5NmIwOWY3ZjdjYzlm
Li40YjgzYWExN2QzNTZiY2IxNjdhYmJjZmQ0Y2JlNGNiMzM2YmI1NDRiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVCdWlsZGVyQ29udmVydGVyLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvY3NzL1N0eWxlQnVpbGRlckNvbnZlcnRlci5oCkBAIC00Niw2ICs0Niw3IEBAIHB1Ymxp
YzoKICAgICBzdGF0aWMgZmxvYXQgY29udmVydFNwYWNpbmcoU3R5bGVSZXNvbHZlciYsIENTU1Zh
bHVlJik7CiAgICAgc3RhdGljIExlbmd0aFNpemUgY29udmVydFJhZGl1cyhTdHlsZVJlc29sdmVy
JiwgQ1NTVmFsdWUmKTsKICAgICBzdGF0aWMgVGV4dERlY29yYXRpb24gY29udmVydFRleHREZWNv
cmF0aW9uKFN0eWxlUmVzb2x2ZXImLCBDU1NWYWx1ZSYpOworICAgIHRlbXBsYXRlIDx0eXBlbmFt
ZSBUPiBzdGF0aWMgVCBjb252ZXJ0TnVtYmVyKFN0eWxlUmVzb2x2ZXImLCBDU1NWYWx1ZSYpOwog
CiBwcml2YXRlOgogICAgIHN0YXRpYyBMZW5ndGggY29udmVydFRvUmFkaXVzTGVuZ3RoKENTU1Rv
TGVuZ3RoQ29udmVyc2lvbkRhdGEmLCBDU1NQcmltaXRpdmVWYWx1ZSYpOwpAQCAtMTk0LDYgKzE5
NSwxNCBAQCBpbmxpbmUgVGV4dERlY29yYXRpb24gU3R5bGVCdWlsZGVyQ29udmVydGVyOjpjb252
ZXJ0VGV4dERlY29yYXRpb24oU3R5bGVSZXNvbHZlcgogICAgIGZvciAoQ1NTVmFsdWVMaXN0SXRl
cmF0b3IgaXQoJnZhbHVlKTsgaXQuaGFzTW9yZSgpOyBpdC5hZHZhbmNlKCkpCiAgICAgICAgIHJl
c3VsdCB8PSBkb3duY2FzdDxDU1NQcmltaXRpdmVWYWx1ZT4oKml0LnZhbHVlKCkpOwogICAgIHJl
dHVybiByZXN1bHQ7CisKK3RlbXBsYXRlIDx0eXBlbmFtZSBUPgoraW5saW5lIFQgU3R5bGVCdWls
ZGVyQ29udmVydGVyOjpjb252ZXJ0TnVtYmVyKFN0eWxlUmVzb2x2ZXImLCBDU1NWYWx1ZSYgdmFs
dWUpCit7CisgICAgYXV0byYgcHJpbWl0aXZlVmFsdWUgPSBkb3duY2FzdDxDU1NQcmltaXRpdmVW
YWx1ZT4odmFsdWUpOworICAgIGlmIChwcmltaXRpdmVWYWx1ZS5nZXRWYWx1ZUlEKCkgPT0gQ1NT
VmFsdWVBdXRvKQorICAgICAgICByZXR1cm4gLTE7CisgICAgcmV0dXJuIHByaW1pdGl2ZVZhbHVl
LmdldFZhbHVlPFQ+KENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfTlVNQkVSKTsKIH0KIAogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlQnVp
bGRlckN1c3RvbS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlQnVpbGRlckN1c3RvbS5oCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjk1ZTc4ZmFjNzQ3NGNjYzI0OWVlODEzYTViNjY2OWY3OWZmNmQxZmQKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVCdWlsZGVyQ3VzdG9tLmgKQEAg
LTAsMCArMSw1MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBHb29nbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBTdHlsZUJ1aWxkZXJDdXN0b21faAor
I2RlZmluZSBTdHlsZUJ1aWxkZXJDdXN0b21faAorCisjaW5jbHVkZSAiU3R5bGVSZXNvbHZlci5o
IgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK25hbWVzcGFjZSBTdHlsZUJ1aWxkZXJGdW5jdGlv
bnMgeworCit2b2lkIGFwcGx5VmFsdWVXZWJraXRIeXBoZW5hdGVMaW1pdExpbmVzKFN0eWxlUmVz
b2x2ZXImLCBDU1NWYWx1ZSYpOworCitpbmxpbmUgdm9pZCBhcHBseVZhbHVlV2Via2l0SHlwaGVu
YXRlTGltaXRMaW5lcyhTdHlsZVJlc29sdmVyJiBzdHlsZVJlc29sdmVyLCBDU1NWYWx1ZSYgdmFs
dWUpCit7CisgICAgYXV0byYgcHJpbWl0aXZlVmFsdWUgPSBkb3duY2FzdDxDU1NQcmltaXRpdmVW
YWx1ZT4odmFsdWUpOworICAgIHNob3J0IG51bWJlciA9IC0xOworICAgIGlmIChwcmltaXRpdmVW
YWx1ZS5nZXRWYWx1ZUlEKCkgIT0gQ1NTVmFsdWVOb0xpbWl0KQorICAgICAgICBudW1iZXIgPSBw
cmltaXRpdmVWYWx1ZS5nZXRWYWx1ZTxzaG9ydD4oQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19OVU1C
RVIpOworICAgIHN0eWxlUmVzb2x2ZXIuc3R5bGUoKS0+c2V0SHlwaGVuYXRpb25MaW1pdExpbmVz
KG51bWJlcik7Cit9CisKK30gLy8gbmFtZXNwYWNlIFN0eWxlQnVpbGRlckZ1bmN0aW9ucworCit9
IC8vIG5hbWVzcGFjZSBWYWx1ZQorCisjZW5kaWYgLy8gU3R5bGVCdWlsZGVyQ3VzdG9tX2gKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9tYWtlcHJvcC5wbCBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9tYWtlcHJvcC5wbAppbmRleCAxMDYzMjg4NWUxYTRhYWZjZGZhYTQ0ZmI0YTMxZTQwYzM3
ZDViMmNiLi5jZjkwZWIzNTNlNmI4YTVjODM2YjU5NTY2MGY1MDRkNmNhN2RjMGVhIDEwMDc1NQot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvbWFrZXByb3AucGwKKysrIGIvU291cmNlL1dlYkNvcmUv
Y3NzL21ha2Vwcm9wLnBsCkBAIC00Niw2ICs0Niw3IEBAIG15ICVuYW1lSXNJbmhlcml0ZWQ7CiBt
eSAlcHJvcGVydGllc1VzaW5nTmV3U3R5bGVCdWlsZGVyOwogbXkgJW5ld1N0eWxlQnVpbGRlck9w
dGlvbnMgPSAoCiAgIENvbnZlcnRlciA9PiAxLCAjIERlZmluZWQgaW4gU291cmNlL1dlYkNvcmUv
Y3NzL1N0eWxlQnVpbGRlckNvbnZlcnRlci5oCisgIEN1c3RvbSA9PiAxLAogICBHZXR0ZXIgPT4g
MSwKICAgSW5pdGlhbCA9PiAxLAogICBOYW1lRm9yTWV0aG9kcyA9PiAxLApAQCAtMzUwLDYgKzM1
MSw5IEBAIGZvcmVhY2ggbXkgJG5hbWUgKEBuYW1lcykgewogICBpZiAoIWV4aXN0cygkcHJvcGVy
dGllc1VzaW5nTmV3U3R5bGVCdWlsZGVyeyRuYW1lfXsiSW5pdGlhbCJ9KSkgewogICAgICRwcm9w
ZXJ0aWVzVXNpbmdOZXdTdHlsZUJ1aWxkZXJ7JG5hbWV9eyJJbml0aWFsIn0gPSAiaW5pdGlhbCIg
LiAkbmFtZUZvck1ldGhvZHM7CiAgIH0KKyAgaWYgKCFleGlzdHMoJHByb3BlcnRpZXNVc2luZ05l
d1N0eWxlQnVpbGRlcnskbmFtZX17IkN1c3RvbSJ9KSkgeworICAgICRwcm9wZXJ0aWVzVXNpbmdO
ZXdTdHlsZUJ1aWxkZXJ7JG5hbWV9eyJDdXN0b20ifSA9ICJOb25lIjsKKyAgfQogfQogCiBvcGVu
IFNUWUxFQlVJTERFUiwgIj5TdHlsZUJ1aWxkZXIuY3BwIiB8fCBkaWUgIkNvdWxkIG5vdCBvcGVu
IFN0eWxlQnVpbGRlci5jcHAgZm9yIHdyaXRpbmciOwpAQCAtMzYzLDEyICszNjcsMTIgQEAgcHJp
bnQgU1RZTEVCVUlMREVSIDw8ICJFT0YiOwogI2luY2x1ZGUgIkNTU1Byb3BlcnR5LmgiCiAjaW5j
bHVkZSAiUmVuZGVyU3R5bGUuaCIKICNpbmNsdWRlICJTdHlsZUJ1aWxkZXJDb252ZXJ0ZXIuaCIK
KyNpbmNsdWRlICJTdHlsZUJ1aWxkZXJDdXN0b20uaCIKICNpbmNsdWRlICJTdHlsZVJlc29sdmVy
LmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgU3R5bGVCdWlsZGVyRnVuY3Rpb25z
IHsKLXB1YmxpYzoKK25hbWVzcGFjZSBTdHlsZUJ1aWxkZXJGdW5jdGlvbnMgewogRU9GCiAKIGZv
cmVhY2ggbXkgJG5hbWUgKEBuYW1lcykgewpAQCAtMzc2LDI4ICszODAsMzMgQEAgZm9yZWFjaCBt
eSAkbmFtZSAoQG5hbWVzKSB7CiAgIG5leHQgdW5sZXNzIGV4aXN0cygkcHJvcGVydGllc1VzaW5n
TmV3U3R5bGVCdWlsZGVyeyRuYW1lfSk7CiAKICAgbXkgJHNldFZhbHVlID0gInN0eWxlUmVzb2x2
ZXIuc3R5bGUoKS0+IiAuICRwcm9wZXJ0aWVzVXNpbmdOZXdTdHlsZUJ1aWxkZXJ7JG5hbWV9eyJT
ZXR0ZXIifTsKLSAgcHJpbnQgU1RZTEVCVUlMREVSICIgICAgc3RhdGljIHZvaWQgYXBwbHlJbml0
aWFsIiAuICRuYW1lVG9JZHskbmFtZX0gLiAiKFN0eWxlUmVzb2x2ZXImIHN0eWxlUmVzb2x2ZXIp
XG4iOworICBwcmludCBTVFlMRUJVSUxERVIgIiAgICB2b2lkIGFwcGx5SW5pdGlhbCIgLiAkbmFt
ZVRvSWR7JG5hbWV9IC4gIihTdHlsZVJlc29sdmVyJik7XG4iOworICBwcmludCBTVFlMRUJVSUxE
RVIgIiAgICBpbmxpbmUgdm9pZCBhcHBseUluaXRpYWwiIC4gJG5hbWVUb0lkeyRuYW1lfSAuICIo
U3R5bGVSZXNvbHZlciYgc3R5bGVSZXNvbHZlcilcbiI7CiAgIHByaW50IFNUWUxFQlVJTERFUiAi
ICAgIHtcbiI7CiAgIHByaW50IFNUWUxFQlVJTERFUiAiICAgICAgICAiIC4gJHNldFZhbHVlIC4g
IihSZW5kZXJTdHlsZTo6IiAuICRwcm9wZXJ0aWVzVXNpbmdOZXdTdHlsZUJ1aWxkZXJ7JG5hbWV9
eyJJbml0aWFsIn0gLiAiKCkpO1xuIjsKICAgcHJpbnQgU1RZTEVCVUlMREVSICIgICAgfVxuIjsK
LSAgcHJpbnQgU1RZTEVCVUlMREVSICIgICAgc3RhdGljIHZvaWQgYXBwbHlJbmhlcml0IiAuICRu
YW1lVG9JZHskbmFtZX0gLiAiKFN0eWxlUmVzb2x2ZXImIHN0eWxlUmVzb2x2ZXIpXG4iOworICBw
cmludCBTVFlMRUJVSUxERVIgIiAgICB2b2lkIGFwcGx5SW5oZXJpdCIgLiAkbmFtZVRvSWR7JG5h
bWV9IC4gIihTdHlsZVJlc29sdmVyJik7XG4iOworICBwcmludCBTVFlMRUJVSUxERVIgIiAgICBp
bmxpbmUgdm9pZCBhcHBseUluaGVyaXQiIC4gJG5hbWVUb0lkeyRuYW1lfSAuICIoU3R5bGVSZXNv
bHZlciYgc3R5bGVSZXNvbHZlcilcbiI7CiAgIHByaW50IFNUWUxFQlVJTERFUiAiICAgIHtcbiI7
CiAgIHByaW50IFNUWUxFQlVJTERFUiAiICAgICAgICAiIC4gJHNldFZhbHVlIC4gIihzdHlsZVJl
c29sdmVyLnBhcmVudFN0eWxlKCktPiIgLiAgJHByb3BlcnRpZXNVc2luZ05ld1N0eWxlQnVpbGRl
cnskbmFtZX17IkdldHRlciJ9IC4gIigpKTtcbiI7CiAgIHByaW50IFNUWUxFQlVJTERFUiAiICAg
IH1cbiI7Ci0gIHByaW50IFNUWUxFQlVJTERFUiAiICAgIHN0YXRpYyB2b2lkIGFwcGx5VmFsdWUi
IC4gJG5hbWVUb0lkeyRuYW1lfSAuICIoU3R5bGVSZXNvbHZlciYgc3R5bGVSZXNvbHZlciwgQ1NT
VmFsdWUmIHZhbHVlKVxuIjsKLSAgcHJpbnQgU1RZTEVCVUlMREVSICIgICAge1xuIjsKLSAgbXkg
JGNvbnZlcnRlZFZhbHVlOwotICBpZiAoZXhpc3RzKCRwcm9wZXJ0aWVzVXNpbmdOZXdTdHlsZUJ1
aWxkZXJ7JG5hbWV9eyJDb252ZXJ0ZXIifSkpIHsKLSAgICAkY29udmVydGVkVmFsdWUgPSAiU3R5
bGVCdWlsZGVyQ29udmVydGVyOjpjb252ZXJ0IiAuICRwcm9wZXJ0aWVzVXNpbmdOZXdTdHlsZUJ1
aWxkZXJ7JG5hbWV9eyJDb252ZXJ0ZXIifSAuICIoc3R5bGVSZXNvbHZlciwgdmFsdWUpIjsKLSAg
fSBlbHNlIHsKLSAgICAkY29udmVydGVkVmFsdWUgPSAic3RhdGljX2Nhc3Q8IiAuICRwcm9wZXJ0
aWVzVXNpbmdOZXdTdHlsZUJ1aWxkZXJ7JG5hbWV9eyJUeXBlTmFtZSJ9IC4gIj4oZG93bmNhc3Q8
Q1NTUHJpbWl0aXZlVmFsdWU+KHZhbHVlKSkiOworICBpZiAoJHByb3BlcnRpZXNVc2luZ05ld1N0
eWxlQnVpbGRlcnskbmFtZX17IkN1c3RvbSJ9IG5lICJWYWx1ZSIpIHsKKyAgICBwcmludCBTVFlM
RUJVSUxERVIgIiAgICB2b2lkIGFwcGx5VmFsdWUiIC4gJG5hbWVUb0lkeyRuYW1lfSAuICIoU3R5
bGVSZXNvbHZlciYsIENTU1ZhbHVlJik7XG4iOworICAgIHByaW50IFNUWUxFQlVJTERFUiAiICAg
IGlubGluZSB2b2lkIGFwcGx5VmFsdWUiIC4gJG5hbWVUb0lkeyRuYW1lfSAuICIoU3R5bGVSZXNv
bHZlciYgc3R5bGVSZXNvbHZlciwgQ1NTVmFsdWUmIHZhbHVlKVxuIjsKKyAgICBwcmludCBTVFlM
RUJVSUxERVIgIiAgICB7XG4iOworICAgIG15ICRjb252ZXJ0ZWRWYWx1ZTsKKyAgICBpZiAoZXhp
c3RzKCRwcm9wZXJ0aWVzVXNpbmdOZXdTdHlsZUJ1aWxkZXJ7JG5hbWV9eyJDb252ZXJ0ZXIifSkp
IHsKKyAgICAgICRjb252ZXJ0ZWRWYWx1ZSA9ICJTdHlsZUJ1aWxkZXJDb252ZXJ0ZXI6OmNvbnZl
cnQiIC4gJHByb3BlcnRpZXNVc2luZ05ld1N0eWxlQnVpbGRlcnskbmFtZX17IkNvbnZlcnRlciJ9
IC4gIihzdHlsZVJlc29sdmVyLCB2YWx1ZSkiOworICAgIH0gZWxzZSB7CisgICAgICAkY29udmVy
dGVkVmFsdWUgPSAic3RhdGljX2Nhc3Q8IiAuICRwcm9wZXJ0aWVzVXNpbmdOZXdTdHlsZUJ1aWxk
ZXJ7JG5hbWV9eyJUeXBlTmFtZSJ9IC4gIj4oZG93bmNhc3Q8Q1NTUHJpbWl0aXZlVmFsdWU+KHZh
bHVlKSkiOworICAgIH0KKyAgICBwcmludCBTVFlMRUJVSUxERVIgIiAgICAgICAgIiAuICRzZXRW
YWx1ZSAuICIoIiAuICRjb252ZXJ0ZWRWYWx1ZSAuICIpO1xuIjsKKyAgICBwcmludCBTVFlMRUJV
SUxERVIgIiAgICB9XG4iOwogICB9Ci0gIHByaW50IFNUWUxFQlVJTERFUiAiICAgICAgICAiIC4g
JHNldFZhbHVlIC4gIigiIC4gJGNvbnZlcnRlZFZhbHVlIC4gIik7XG4iOwotICBwcmludCBTVFlM
RUJVSUxERVIgIiAgICB9XG4iOwogfQogCiBwcmludCBTVFlMRUJVSUxERVIgPDwgIkVPRiI7Ci19
OworfSAvLyBuYW1lc3BhY2UgU3R5bGVCdWlsZGVyRnVuY3Rpb25zCiAKIGJvb2wgU3R5bGVCdWls
ZGVyOjphcHBseVByb3BlcnR5KENTU1Byb3BlcnR5SUQgcHJvcGVydHksIFN0eWxlUmVzb2x2ZXIm
IHN0eWxlUmVzb2x2ZXIsIENTU1ZhbHVlJiB2YWx1ZSwgYm9vbCBpc0luaXRpYWwsIGJvb2wgaXNJ
bmhlcml0KQogewo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>240552</attachid>
            <date>2014-10-28 10:29:22 -0700</date>
            <delta_ts>2014-10-28 12:12:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-138125-20141028102930.patch</filename>
            <type>text/plain</type>
            <size>21425</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc1MjUyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWFlOGIyMjVkY2E4MjVl
YzIwOTQ2OGNjYjAyODg4NjBiYjNjZTA2ZS4uZTQ4ZTE2ZjQyYWIzYTY2ZmM5NDc2MzFkZGY5ZWVm
NjI3YWYyZjE0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDE0LTEwLTI3ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgTW92ZSAiTnVtYmVyIiBDU1Mg
cHJvcGVydGllcyB0byB0aGUgbmV3IFN0eWxlQnVpbGRlcgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM4MTI1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
QW50dGkgS29pdmlzdG8uCisKKyAgICAgICAgTW92ZSAiTnVtYmVyIiBDU1MgcHJvcGVydGllcyBm
cm9tIERlcHJlY2F0ZWRTdHlsZUJ1aWxkZXIgdG8gdGhlIG5ldworICAgICAgICBTdHlsZUJ1aWxk
ZXI6CisgICAgICAgIC13ZWJraXQtaHlwaGVuYXRlLWxpbWl0LWFmdGVyCisgICAgICAgIC13ZWJr
aXQtaHlwaGVuYXRlLWxpbWl0LWJlZm9yZQorICAgICAgICAtd2Via2l0LXNoYXBlLWltYWdlLXRo
cmVzaG9sZAorICAgICAgICAtd2Via2l0LWh5cGhlbmF0ZS1saW1pdC1saW5lcworCisgICAgICAg
IFRoZXkgYXJlIG5vdyBnZW5lcmF0ZWQgZnJvbSBDU1NQcm9wZXJ0eU5hbWVzLmluCisKKyAgICAg
ICAgRm9yIC13ZWJraXQtaHlwaGVuYXRlLWxpbWl0LWxpbmVzLCBJIHVzZWQgY3VzdG9tIGNvZGUg
aW5zdGVhZCBvZgorICAgICAgICB0aGUgTnVtYmVyIGNvbnZlcnRlciBhcyBpdCByZXF1aXJlZCBz
cGVjaWFsIGhhbmRsaW5nIGZvciB0aGUgaWQKKyAgICAgICAgdmFsdWUuIFRoaXMgcGF0Y2ggdGh1
cyBhZGRzIHN1cHBvcnQgZm9yIFtDdXN0b209VmFsdWVdIHRvCisgICAgICAgIENTU1Byb3BlcnR5
TmFtZXMuaW4gYW5kIHRoZSBjdXN0b20gY29kZSBnb2VzIGludG8KKyAgICAgICAgY3NzL1N0eWxl
QnVpbGRlckN1c3RvbS5oLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgbm8gYmVoYXZpb3IgY2hh
bmdlLgorCisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAg
ICAgICAqIGNzcy9DU1NQcm9wZXJ0eU5hbWVzLmluOgorICAgICAgICAqIGNzcy9EZXByZWNhdGVk
U3R5bGVCdWlsZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRlcHJlY2F0ZWRTdHlsZUJ1aWxk
ZXI6OkRlcHJlY2F0ZWRTdHlsZUJ1aWxkZXIpOgorICAgICAgICAoV2ViQ29yZTo6QXBwbHlQcm9w
ZXJ0eU51bWJlcjo6c2V0VmFsdWUpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6QXBwbHlQ
cm9wZXJ0eU51bWJlcjo6YXBwbHlWYWx1ZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpB
cHBseVByb3BlcnR5TnVtYmVyOjpjcmVhdGVIYW5kbGVyKTogRGVsZXRlZC4KKyAgICAgICAgKiBj
c3MvU3R5bGVCdWlsZGVyQ29udmVydGVyLmg6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZUJ1aWxk
ZXJDb252ZXJ0ZXI6OmNvbnZlcnROdW1iZXIpOgorICAgICAgICAqIGNzcy9TdHlsZUJ1aWxkZXJD
dXN0b20uaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpTdHlsZUJ1aWxkZXJGdW5jdGlvbnM6
OmFwcGx5VmFsdWVXZWJraXRIeXBoZW5hdGVMaW1pdExpbmVzKToKKyAgICAgICAgKiBjc3MvbWFr
ZXByb3AucGw6CisKIDIwMTQtMTAtMjggIE1paG5lYSBPdmlkZW5pZSAgPG1paG5lYUBhZG9iZS5j
b20+CiAKICAgICAgICAgQ2xlYW4gdXAgc3VidHJlZXMgc2VsZWN0aW9uIGNvZGUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBkMWVj
MzdiMDEyOWQ2YmEwNGZkN2ViZjQ5YTdhYWEyNmRlNzA3Y2QxLi45ZmM1ZjdiZjNlYzc2NDc4ODc2
MzRhZTZmNjA1OWQ0NGU5OGJjZjZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0yNTAyLDYgKzI1MDIsNyBAQAogCQk4MkUzRDhE
RjEyMkVBMEQxMDAzQUU1QkMgLyogQ1NTUHJvcGVydHlTb3VyY2VEYXRhLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4MkUzRDhERDEyMkVBMEQxMDAzQUU1
QkMgLyogQ1NTUHJvcGVydHlTb3VyY2VEYXRhLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJODMyQjg0MzQxOUQ4RTU1MTAwQjI2MDU1IC8qIFNWR0Fu
aW1hdGVFbGVtZW50QmFzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gODMyQjg0MzMxOUQ4RTU1MTAwQjI2MDU1IC8qIFNWR0FuaW1hdGVFbGVtZW50QmFz
ZS5oICovOyB9OwogCQk4MzJCODQzNjE5RDhFNTc0MDBCMjYwNTUgLyogU1ZHQW5pbWF0ZUVsZW1l
bnRCYXNlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDgzMkI4NDM1MTlEOEU1NzQwMEIyNjA1NSAvKiBTVkdBbmltYXRlRWxlbWVudEJhc2UuY3BwICov
OyB9OworCQk4MzVEMzYzNzE5RkY2MTkzMDA0QzkzQUIgLyogU3R5bGVCdWlsZGVyQ3VzdG9tLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4MzVEMzYzNjE5
RkY2MTkzMDA0QzkzQUIgLyogU3R5bGVCdWlsZGVyQ3VzdG9tLmggKi87IH07CiAJCTgzNkZCQ0VB
MTc4QzExMzIwMEIyMUExNSAvKiBTVkdBbmltYXRlZFR5cGVBbmltYXRvci5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4MzZGQkNFOTE3OEMxMTMyMDBC
MjFBMTUgLyogU1ZHQW5pbWF0ZWRUeXBlQW5pbWF0b3IuY3BwICovOyB9OwogCQk4MzZGQkNFQzE3
OEMxMTdGMDBCMjFBMTUgLyogU1ZHQW5pbWF0ZWRQcm9wZXJ0eS5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4MzZGQkNFQjE3OEMxMTdGMDBCMjFBMTUg
LyogU1ZHQW5pbWF0ZWRQcm9wZXJ0eS5jcHAgKi87IH07CiAJCTgzODZBOTZEMTlGNjFCMkUwMEUx
RUM0QSAvKiBTdHlsZUJ1aWxkZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDgzODZBOTZDMTlGNjFCMkUwMEUxRUM0QSAvKiBTdHlsZUJ1aWxkZXIuaCAq
LzsgfTsKQEAgLTk2ODcsNiArOTY4OCw3IEBACiAJCTgyRTNEOEREMTIyRUEwRDEwMDNBRTVCQyAv
KiBDU1NQcm9wZXJ0eVNvdXJjZURhdGEuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gQ1NTUHJvcGVydHlTb3VyY2VEYXRhLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTgzMkI4NDMzMTlEOEU1NTEwMEIyNjA1NSAvKiBTVkdBbmltYXRlRWxlbWVudEJhc2UuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU1ZHQW5pbWF0ZUVsZW1lbnRCYXNlLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTgzMkI4NDM1MTlEOEU1NzQwMEIyNjA1NSAvKiBT
VkdBbmltYXRlRWxlbWVudEJhc2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gU1ZHQW5pbWF0ZUVsZW1lbnRCYXNlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJODM1RDM2MzYxOUZGNjE5MzAwNEM5M0FCIC8qIFN0eWxlQnVpbGRlckN1c3RvbS5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTdHlsZUJ1aWxkZXJDdXN0b20uaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODM2RkJDRTkxNzhDMTEzMjAwQjIxQTE1IC8qIFNW
R0FuaW1hdGVkVHlwZUFuaW1hdG9yLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IFNWR0FuaW1hdGVkVHlwZUFuaW1hdG9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJODM2RkJDRUIxNzhDMTE3RjAwQjIxQTE1IC8qIFNWR0FuaW1hdGVkUHJvcGVydHku
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU1ZHQW5pbWF0ZWRQcm9w
ZXJ0eS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTgzODZBOTZDMTlGNjFCMkUw
MEUxRUM0QSAvKiBTdHlsZUJ1aWxkZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gU3R5bGVCdWlsZGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMjIzMSw2
ICsyMjIzMyw3IEBACiAJCQkJNTM2RDVBMjYxOTNGNDEwQjAwQ0U0Q0FCIC8qIFNvdXJjZVNpemVM
aXN0LmggKi8sCiAJCQkJODM4NkE5NkMxOUY2MUIyRTAwRTFFQzRBIC8qIFN0eWxlQnVpbGRlci5o
ICovLAogCQkJCTgzQjk2ODc5MTlGOEFCODMwMDRFRjdBRiAvKiBTdHlsZUJ1aWxkZXJDb252ZXJ0
ZXIuaCAqLywKKwkJCQk4MzVEMzYzNjE5RkY2MTkzMDA0QzkzQUIgLyogU3R5bGVCdWlsZGVyQ3Vz
dG9tLmggKi8sCiAJCQkJRTQ3QTk3Q0UxNjMwNTlGQzAwNURDRDk5IC8qIFN0eWxlSW52YWxpZGF0
aW9uQW5hbHlzaXMuY3BwICovLAogCQkJCUU0N0E5N0NGMTYzMDU5RkMwMDVEQ0Q5OSAvKiBTdHls
ZUludmFsaWRhdGlvbkFuYWx5c2lzLmggKi8sCiAJCQkJMEZGNTAyNkUxMDJCQTk2NjAwNjZGMzlB
IC8qIFN0eWxlTWVkaWEuY3BwICovLApAQCAtMjU1NjgsNiArMjU1NzEsNyBAQAogCQkJCUZEMzE2
MDFBMTJCMDI2NzYwMEMxQTM1OSAvKiBQYW5uZXJOb2RlLmggaW4gSGVhZGVycyAqLywKIAkJCQk0
NDc5NTgwNDE2NDNCNDlBMDAxRTBBN0YgLyogUGFyc2VkQ29udGVudFR5cGUuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUJDNzZBQzEzMEREN0FENUMwMDQxNUYzNCAvKiBQYXJzZXJVdGlsaXRpZXMuaCBp
biBIZWFkZXJzICovLAorCQkJCTgzNUQzNjM3MTlGRjYxOTMwMDRDOTNBQiAvKiBTdHlsZUJ1aWxk
ZXJDdXN0b20uaCBpbiBIZWFkZXJzICovLAogCQkJCUY1NUIzRENBMTI1MUYxMkQwMDNFRjI2OSAv
KiBQYXNzd29yZElucHV0VHlwZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNEIyNzA4QzcwQUYxOUVF
NDAwNjUxMjdGIC8qIFBhc3RlYm9hcmQuaCBpbiBIZWFkZXJzICovLAogCQkJCUM1OTg5MDU3MTRF
OUMyODAwMEU4RDE4QiAvKiBQYXN0ZWJvYXJkU3RyYXRlZ3kuaCBpbiBIZWFkZXJzICovLApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5TmFtZXMuaW4gYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTUHJvcGVydHlOYW1lcy5pbgppbmRleCA0YmQ4ZmQ4MDY4ZTFiNTdiYmM0
NGMyOTE2ZTkxM2JiYjllNDhiZjhkLi5lOTBmMTExMWQ1MTU3Y2I0OTI1NTNiNjliMDA4ODdhNWU5
MzY4ODkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHlOYW1lcy5p
bgorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHlOYW1lcy5pbgpAQCAtNyw2ICs3
LDQ4IEBACiAvLyBNaWNyb3NvZnQgZXh0ZW5zaW9ucyBhcmUgZG9jdW1lbnRlZCBoZXJlOgogLy8g
aHR0cDovL21zZG4ubWljcm9zb2Z0LmNvbS93b3Jrc2hvcC9hdXRob3IvY3NzL3JlZmVyZW5jZS9h
dHRyaWJ1dGVzLmFzcAogLy8gCisvLyBTdHlsZUJ1aWxkZXIgb3B0aW9uczoKKy8vICogTmV3U3R5
bGVCdWlsZGVyOgorLy8gSW5kaWNhdGVzIHRvIG1ha2Vwcm9wLnBsIHRoYXQgdGhpcyBwcm9wZXJ0
eSBzaG91bGQgYmUgZ2VuZXJhdGVkCisvLyBpbiB0aGUgbmV3IFN0eWxlQnVpbGRlci5jcHAuIFRo
aXMgb3B0aW9uIGlzIHRlbXBvcmFyeSB1bnRpbCBhbGwKKy8vIENTUyBwcm9wZXJ0aWVzIGFyZSBn
ZW5lcmF0ZWQuCisvLworLy8gKiBUeXBlTmFtZToKKy8vIE92ZXJyaWRlcyB0aGUgdHlwZSBvZiB0
aGUgc2V0dGVyIG1ldGhvZCBhcmd1bWVudCBvbiBSZW5kZXJTdHlsZS4gQnkKKy8vIGRlZmF1bHQs
ICdFJyArIFByb3BlcnR5SWQgaXMgdXNlZCAoZS5nLiBFQm9yZGVyQ29sbGFwc2UpLiBUaGlzIG9w
dGlvbgorLy8gaXMgbm90IG5lZWRlZCBpZiB0aGUgIkNvbnZlcnRlciIgb3B0aW9uIGlzIHVzZWQu
CisvLworLy8gKiBJbml0aWFsOgorLy8gT3ZlcnJpZGVzIHRoZSBtZXRob2QgbmFtZSBvbiBSZW5k
ZXJTdHlsZSB0byBnZXQgdGhlIGluaXRpYWwgdmFsdWUgZm9yCisvLyB0aGUgcHJvcGVydHkuIEJ5
IGRlZmF1bHQsIGluaXRpYWwnICsgUHJvcGVydHlJZCBpcyB1c2VkIChlLmcuCisvLyBpbml0aWFs
Qm9yZGVyQ29sbGFwc2UoKSkuCisvLworLy8gKiBHZXR0ZXI6CisvLyBPdmVycmlkZXMgdGhlIG1l
dGhvZCBuYW1lIG9uIFJlbmRlclN0eWxlIHRvIGdldCB0aGUgY3VycmVudCB2YWx1ZSBmb3IKKy8v
IHRoZSBwcm9wZXJ0eS4gQnkgZGVmYXVsdCwgdGhlIFByb3BlcnR5SWQgd2l0aCBmaXJzdCBsZXR0
ZXIgbG93ZXJjYXNlZAorLy8gaXMgdXNlZCAoZS5nLiBib3JkZXJDb2xsYXBzZSgpKS4KKy8vCisv
LyAqIFNldHRlcjoKKy8vIE92ZXJyaWRlcyB0aGUgbWV0aG9kIG5hbWUgb24gUmVuZGVyU3R5bGUg
dG8gc2V0IHRoZSBjdXJyZW50IHZhbHVlIGZvcgorLy8gdGhlIHByb3BlcnR5LiBCeSBkZWZhdWx0
LCAnc2V0JyArIFByb3BlcnR5SWQgaXMgdXNlZCAoZS5nLgorLy8gc2V0Qm9yZGVyQ29sbGFwc2Uo
KSkuCisvLworLy8gKiBOYW1lRm9yTWV0aG9kczoKKy8vIE92ZXJyaWRlcyB0aGUgR2V0dGVyIC8g
U2V0dGVyIC8gSW5pdGlhbCBtZXRob2QgbmFtZXMgb24gUmVuZGVyU3R5bGUuCisvLyBGb3IgZS5n
LiAiTmFtZUZvck1ldGhvZHM9T3ZlcmZsb3dXcmFwIiB3aWxsIHVzZQorLy8gIm92ZXJmbG93V3Jh
cCgpIC8gc2V0T3ZlcmZsb3dXcmFwKCkgLyBpbml0aWFsT3ZlcmZsb3dXcmFwKCkiLgorLy8KKy8v
ICogQ29udmVydGVyPVhYWDoKKy8vIElmIGNvbnZlcnRpbmcgdGhlIGlucHV0IENTU1ZhbHVlIGlu
dG8gdGhlIHNldHRlciBtZXRob2QgYXJndW1lbnQgdHlwZQorLy8gaXMgbm90IHRyaXZpYWwgKGku
ZS4gY2FzdGluZyB0byBUeXBlTmFtZSBkb2VzIG5vdCBzdWZmaWNlKSwgdGhlbiB5b3UKKy8vIGNh
biBpbmRpY2F0ZSB0aGF0IGEgQ29udmVydGVyIGhlbHBlciBmdW5jdGlvbiBpbgorLy8gY3NzL1N0
eWxlQnVpbGRlckNvbnZlcnRlci5oIHNob3VsZCBiZSB1c2VkLgorLy8KKy8vICogQ3VzdG9tPVZh
bHVlOgorLy8gVGhpcyBvcHRpb24gaXMgdXNlZCB0byBpbmRpY2F0ZSB0aGF0IHRoZSBDU1MgcHJv
cGVydHkgcmVxdWlyZXMgc3BlY2lhbAorLy8gaGFuZGxpbmcgdG8gc2V0IGl0cyB2YWx1ZSwgYW5k
IGEgcmVndWxhciBDb252ZXJ0ZXIgaGVscGVyIGNhbm5vdCBiZQorLy8gdXNlZC4gVGhlIEN1c3Rv
bSBjb2RlIGZvciB0aGUgcHJvcGVydHkgc2hvdWxkIGJlIGxvY2F0ZWQgaW4KKy8vIGNzcy9TdHls
ZUJ1aWxkZXJDdXN0b20uaCBhbmQgbmFtZWQgYXBwbHlWYWx1ZVtDU1NQcm9wZXJ0eU5hbWVdKCku
CiAKIAogLy8gaGlnaC1wcmlvcml0eSBwcm9wZXJ0eSBuYW1lcyBoYXZlIHRvIGJlIGxpc3RlZCBm
aXJzdCwgdG8gc2ltcGxpZnkgdGhlIGNoZWNrCkBAIC0zMzUsOSArMzc3LDkgQEAganVzdGlmeS1j
b250ZW50IFtOZXdTdHlsZUJ1aWxkZXJdCiAtd2Via2l0LWdyaWQtYXV0by1mbG93CiAjZW5kaWYK
IC13ZWJraXQtaHlwaGVuYXRlLWNoYXJhY3RlciBbSW5oZXJpdGVkXQotLXdlYmtpdC1oeXBoZW5h
dGUtbGltaXQtYWZ0ZXIgW0luaGVyaXRlZF0KLS13ZWJraXQtaHlwaGVuYXRlLWxpbWl0LWJlZm9y
ZSBbSW5oZXJpdGVkXQotLXdlYmtpdC1oeXBoZW5hdGUtbGltaXQtbGluZXMgW0luaGVyaXRlZF0K
Ky13ZWJraXQtaHlwaGVuYXRlLWxpbWl0LWFmdGVyIFtJbmhlcml0ZWQsIE5ld1N0eWxlQnVpbGRl
ciwgTmFtZUZvck1ldGhvZHM9SHlwaGVuYXRpb25MaW1pdEFmdGVyLCBDb252ZXJ0ZXI9TnVtYmVy
PHNob3J0Pl0KKy13ZWJraXQtaHlwaGVuYXRlLWxpbWl0LWJlZm9yZSBbSW5oZXJpdGVkLCBOZXdT
dHlsZUJ1aWxkZXIsIE5hbWVGb3JNZXRob2RzPUh5cGhlbmF0aW9uTGltaXRCZWZvcmUsIENvbnZl
cnRlcj1OdW1iZXI8c2hvcnQ+XQorLXdlYmtpdC1oeXBoZW5hdGUtbGltaXQtbGluZXMgW0luaGVy
aXRlZCwgTmV3U3R5bGVCdWlsZGVyLCBOYW1lRm9yTWV0aG9kcz1IeXBoZW5hdGlvbkxpbWl0TGlu
ZXMsIEN1c3RvbT1WYWx1ZV0KIC13ZWJraXQtaHlwaGVucyBbSW5oZXJpdGVkLCBOZXdTdHlsZUJ1
aWxkZXIsIFR5cGVOYW1lPUh5cGhlbnNdCiAtZXB1Yi1oeXBoZW5zID0gLXdlYmtpdC1oeXBoZW5z
CiAtd2Via2l0LWluaXRpYWwtbGV0dGVyCkBAIC00NjEsNyArNTAzLDcgQEAgdGV4dC1lbXBoYXNp
cy1zdHlsZSA9IC13ZWJraXQtdGV4dC1lbXBoYXNpcy1zdHlsZQogI2lmIGRlZmluZWQoRU5BQkxF
X0NTU19TSEFQRVMpICYmIEVOQUJMRV9DU1NfU0hBUEVTCiAtd2Via2l0LXNoYXBlLW91dHNpZGUK
IC13ZWJraXQtc2hhcGUtbWFyZ2luIFtOZXdTdHlsZUJ1aWxkZXIsIENvbnZlcnRlcj1MZW5ndGhd
Ci0td2Via2l0LXNoYXBlLWltYWdlLXRocmVzaG9sZAorLXdlYmtpdC1zaGFwZS1pbWFnZS10aHJl
c2hvbGQgW05ld1N0eWxlQnVpbGRlciwgQ29udmVydGVyPU51bWJlcjxmbG9hdD5dCiAjZW5kaWYK
ICNpZiBkZWZpbmVkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICYmIEVOQUJMRV9DU1Nf
REVWSUNFX0FEQVBUQVRJT04KIG1heC16b29tCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvRGVwcmVjYXRlZFN0eWxlQnVpbGRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvRGVwcmVj
YXRlZFN0eWxlQnVpbGRlci5jcHAKaW5kZXggYzQyMDM5ZGQxNmQ0NzBjY2U0ZWYyNDA2YzhmMTdj
NTg5ZjQ2MWU2OC4uM2JhNGI4ZDE0NTZkZjJmMzkyYTExZWMyZGE5NDEwNzUxMmFmZjRjNSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0RlcHJlY2F0ZWRTdHlsZUJ1aWxkZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9EZXByZWNhdGVkU3R5bGVCdWlsZGVyLmNwcApAQCAtMTYw
LDI4ICsxNjAsNiBAQCBwdWJsaWM6CiAgICAgfQogfTsKIAotdGVtcGxhdGUgPHR5cGVuYW1lIE51
bWJlclR5cGUsIE51bWJlclR5cGUgKFJlbmRlclN0eWxlOjoqZ2V0dGVyRnVuY3Rpb24pKCkgY29u
c3QsIHZvaWQgKFJlbmRlclN0eWxlOjoqc2V0dGVyRnVuY3Rpb24pKE51bWJlclR5cGUpLCBOdW1i
ZXJUeXBlICgqaW5pdGlhbEZ1bmN0aW9uKSgpLCBpbnQgaWRNYXBzVG9NaW51c09uZSA9IENTU1Zh
bHVlQXV0bz4KLWNsYXNzIEFwcGx5UHJvcGVydHlOdW1iZXIgewotcHVibGljOgotICAgIHN0YXRp
YyB2b2lkIHNldFZhbHVlKFJlbmRlclN0eWxlKiBzdHlsZSwgTnVtYmVyVHlwZSB2YWx1ZSkgeyAo
c3R5bGUtPipzZXR0ZXJGdW5jdGlvbikodmFsdWUpOyB9Ci0gICAgc3RhdGljIHZvaWQgYXBwbHlW
YWx1ZShDU1NQcm9wZXJ0eUlELCBTdHlsZVJlc29sdmVyKiBzdHlsZVJlc29sdmVyLCBDU1NWYWx1
ZSogdmFsdWUpCi0gICAgewotICAgICAgICBpZiAoIWlzPENTU1ByaW1pdGl2ZVZhbHVlPigqdmFs
dWUpKQotICAgICAgICAgICAgcmV0dXJuOwotCi0gICAgICAgIENTU1ByaW1pdGl2ZVZhbHVlJiBw
cmltaXRpdmVWYWx1ZSA9IGRvd25jYXN0PENTU1ByaW1pdGl2ZVZhbHVlPigqdmFsdWUpOwotICAg
ICAgICBpZiAocHJpbWl0aXZlVmFsdWUuZ2V0VmFsdWVJRCgpID09IGlkTWFwc1RvTWludXNPbmUp
Ci0gICAgICAgICAgICBzZXRWYWx1ZShzdHlsZVJlc29sdmVyLT5zdHlsZSgpLCAtMSk7Ci0gICAg
ICAgIGVsc2UKLSAgICAgICAgICAgIHNldFZhbHVlKHN0eWxlUmVzb2x2ZXItPnN0eWxlKCksIHBy
aW1pdGl2ZVZhbHVlLmdldFZhbHVlPE51bWJlclR5cGU+KENTU1ByaW1pdGl2ZVZhbHVlOjpDU1Nf
TlVNQkVSKSk7Ci0gICAgfQotICAgIHN0YXRpYyBQcm9wZXJ0eUhhbmRsZXIgY3JlYXRlSGFuZGxl
cigpCi0gICAgewotICAgICAgICBQcm9wZXJ0eUhhbmRsZXIgaGFuZGxlciA9IEFwcGx5UHJvcGVy
dHlEZWZhdWx0QmFzZTxOdW1iZXJUeXBlLCBnZXR0ZXJGdW5jdGlvbiwgTnVtYmVyVHlwZSwgc2V0
dGVyRnVuY3Rpb24sIE51bWJlclR5cGUsIGluaXRpYWxGdW5jdGlvbj46OmNyZWF0ZUhhbmRsZXIo
KTsKLSAgICAgICAgcmV0dXJuIFByb3BlcnR5SGFuZGxlcihoYW5kbGVyLmluaGVyaXRGdW5jdGlv
bigpLCBoYW5kbGVyLmluaXRpYWxGdW5jdGlvbigpLCAmYXBwbHlWYWx1ZSk7Ci0gICAgfQotfTsK
LQogdGVtcGxhdGUgPFN0eWxlSW1hZ2UqIChSZW5kZXJTdHlsZTo6KmdldHRlckZ1bmN0aW9uKSgp
IGNvbnN0LCB2b2lkIChSZW5kZXJTdHlsZTo6KnNldHRlckZ1bmN0aW9uKShQYXNzUmVmUHRyPFN0
eWxlSW1hZ2U+KSwgU3R5bGVJbWFnZSogKCppbml0aWFsRnVuY3Rpb24pKCksIENTU1Byb3BlcnR5
SUQgcHJvcGVydHk+CiBjbGFzcyBBcHBseVByb3BlcnR5U3R5bGVJbWFnZSB7CiBwdWJsaWM6CkBA
IC0yMzAxLDkgKzIyNzksNiBAQCBEZXByZWNhdGVkU3R5bGVCdWlsZGVyOjpEZXByZWNhdGVkU3R5
bGVCdWlsZGVyKCkKICAgICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVydHlXZWJraXRGb250
U21vb3RoaW5nLCBBcHBseVByb3BlcnR5Rm9udDxGb250U21vb3RoaW5nTW9kZSwgJkZvbnREZXNj
cmlwdGlvbjo6Zm9udFNtb290aGluZywgJkZvbnREZXNjcmlwdGlvbjo6c2V0Rm9udFNtb290aGlu
ZywgQXV0b1Ntb290aGluZz46OmNyZWF0ZUhhbmRsZXIoKSk7CiAgICAgc2V0UHJvcGVydHlIYW5k
bGVyKENTU1Byb3BlcnR5V2Via2l0Rm9udFZhcmlhbnRMaWdhdHVyZXMsIEFwcGx5UHJvcGVydHlG
b250VmFyaWFudExpZ2F0dXJlczo6Y3JlYXRlSGFuZGxlcigpKTsKICAgICBzZXRQcm9wZXJ0eUhh
bmRsZXIoQ1NTUHJvcGVydHlXZWJraXRIeXBoZW5hdGVDaGFyYWN0ZXIsIEFwcGx5UHJvcGVydHlT
dHJpbmc8TWFwQXV0b1RvTnVsbCwgJlJlbmRlclN0eWxlOjpoeXBoZW5hdGlvblN0cmluZywgJlJl
bmRlclN0eWxlOjpzZXRIeXBoZW5hdGlvblN0cmluZywgJlJlbmRlclN0eWxlOjppbml0aWFsSHlw
aGVuYXRpb25TdHJpbmc+OjpjcmVhdGVIYW5kbGVyKCkpOwotICAgIHNldFByb3BlcnR5SGFuZGxl
cihDU1NQcm9wZXJ0eVdlYmtpdEh5cGhlbmF0ZUxpbWl0QWZ0ZXIsIEFwcGx5UHJvcGVydHlOdW1i
ZXI8c2hvcnQsICZSZW5kZXJTdHlsZTo6aHlwaGVuYXRpb25MaW1pdEFmdGVyLCAmUmVuZGVyU3R5
bGU6OnNldEh5cGhlbmF0aW9uTGltaXRBZnRlciwgJlJlbmRlclN0eWxlOjppbml0aWFsSHlwaGVu
YXRpb25MaW1pdEFmdGVyPjo6Y3JlYXRlSGFuZGxlcigpKTsKLSAgICBzZXRQcm9wZXJ0eUhhbmRs
ZXIoQ1NTUHJvcGVydHlXZWJraXRIeXBoZW5hdGVMaW1pdEJlZm9yZSwgQXBwbHlQcm9wZXJ0eU51
bWJlcjxzaG9ydCwgJlJlbmRlclN0eWxlOjpoeXBoZW5hdGlvbkxpbWl0QmVmb3JlLCAmUmVuZGVy
U3R5bGU6OnNldEh5cGhlbmF0aW9uTGltaXRCZWZvcmUsICZSZW5kZXJTdHlsZTo6aW5pdGlhbEh5
cGhlbmF0aW9uTGltaXRCZWZvcmU+OjpjcmVhdGVIYW5kbGVyKCkpOwotICAgIHNldFByb3BlcnR5
SGFuZGxlcihDU1NQcm9wZXJ0eVdlYmtpdEh5cGhlbmF0ZUxpbWl0TGluZXMsIEFwcGx5UHJvcGVy
dHlOdW1iZXI8c2hvcnQsICZSZW5kZXJTdHlsZTo6aHlwaGVuYXRpb25MaW1pdExpbmVzLCAmUmVu
ZGVyU3R5bGU6OnNldEh5cGhlbmF0aW9uTGltaXRMaW5lcywgJlJlbmRlclN0eWxlOjppbml0aWFs
SHlwaGVuYXRpb25MaW1pdExpbmVzLCBDU1NWYWx1ZU5vTGltaXQ+OjpjcmVhdGVIYW5kbGVyKCkp
OwogICAgIHNldFByb3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0eVdlYmtpdExpbmVHcmlkLCBBcHBs
eVByb3BlcnR5U3RyaW5nPE1hcE5vbmVUb051bGwsICZSZW5kZXJTdHlsZTo6bGluZUdyaWQsICZS
ZW5kZXJTdHlsZTo6c2V0TGluZUdyaWQsICZSZW5kZXJTdHlsZTo6aW5pdGlhbExpbmVHcmlkPjo6
Y3JlYXRlSGFuZGxlcigpKTsKICAgICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVydHlXZWJr
aXRNYXJxdWVlSW5jcmVtZW50LCBBcHBseVByb3BlcnR5TWFycXVlZUluY3JlbWVudDo6Y3JlYXRl
SGFuZGxlcigpKTsKICAgICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVydHlXZWJraXRNYXJx
dWVlUmVwZXRpdGlvbiwgQXBwbHlQcm9wZXJ0eU1hcnF1ZWVSZXBldGl0aW9uOjpjcmVhdGVIYW5k
bGVyKCkpOwpAQCAtMjMzNiw3ICsyMzExLDYgQEAgRGVwcmVjYXRlZFN0eWxlQnVpbGRlcjo6RGVw
cmVjYXRlZFN0eWxlQnVpbGRlcigpCiAgICAgc2V0UHJvcGVydHlIYW5kbGVyKENTU1Byb3BlcnR5
V2Via2l0VHJhbnNpdGlvblRpbWluZ0Z1bmN0aW9uLCBBcHBseVByb3BlcnR5QW5pbWF0aW9uPGNv
bnN0IFBhc3NSZWZQdHI8VGltaW5nRnVuY3Rpb24+LCAmQW5pbWF0aW9uOjp0aW1pbmdGdW5jdGlv
biwgJkFuaW1hdGlvbjo6c2V0VGltaW5nRnVuY3Rpb24sICZBbmltYXRpb246OmlzVGltaW5nRnVu
Y3Rpb25TZXQsICZBbmltYXRpb246OmNsZWFyVGltaW5nRnVuY3Rpb24sICZBbmltYXRpb246Omlu
aXRpYWxBbmltYXRpb25UaW1pbmdGdW5jdGlvbiwgJkNTU1RvU3R5bGVNYXA6Om1hcEFuaW1hdGlv
blRpbWluZ0Z1bmN0aW9uLCAmUmVuZGVyU3R5bGU6OmFjY2Vzc1RyYW5zaXRpb25zLCAmUmVuZGVy
U3R5bGU6OnRyYW5zaXRpb25zPjo6Y3JlYXRlSGFuZGxlcigpKTsKICAgICBzZXRQcm9wZXJ0eUhh
bmRsZXIoQ1NTUHJvcGVydHlXZWJraXRDbGlwUGF0aCwgQXBwbHlQcm9wZXJ0eUNsaXBQYXRoPCZS
ZW5kZXJTdHlsZTo6Y2xpcFBhdGgsICZSZW5kZXJTdHlsZTo6c2V0Q2xpcFBhdGgsICZSZW5kZXJT
dHlsZTo6aW5pdGlhbENsaXBQYXRoPjo6Y3JlYXRlSGFuZGxlcigpKTsKICNpZiBFTkFCTEUoQ1NT
X1NIQVBFUykKLSAgICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVydHlXZWJraXRTaGFwZUlt
YWdlVGhyZXNob2xkLCBBcHBseVByb3BlcnR5TnVtYmVyPGZsb2F0LCAmUmVuZGVyU3R5bGU6OnNo
YXBlSW1hZ2VUaHJlc2hvbGQsICZSZW5kZXJTdHlsZTo6c2V0U2hhcGVJbWFnZVRocmVzaG9sZCwg
JlJlbmRlclN0eWxlOjppbml0aWFsU2hhcGVJbWFnZVRocmVzaG9sZD46OmNyZWF0ZUhhbmRsZXIo
KSk7CiAgICAgc2V0UHJvcGVydHlIYW5kbGVyKENTU1Byb3BlcnR5V2Via2l0U2hhcGVPdXRzaWRl
LCBBcHBseVByb3BlcnR5U2hhcGU8JlJlbmRlclN0eWxlOjpzaGFwZU91dHNpZGUsICZSZW5kZXJT
dHlsZTo6c2V0U2hhcGVPdXRzaWRlLCAmUmVuZGVyU3R5bGU6OmluaXRpYWxTaGFwZU91dHNpZGU+
OjpjcmVhdGVIYW5kbGVyKCkpOwogI2VuZGlmCiAgICAgc2V0UHJvcGVydHlIYW5kbGVyKENTU1By
b3BlcnR5V2lkb3dzLCBBcHBseVByb3BlcnR5QXV0bzxzaG9ydCwgJlJlbmRlclN0eWxlOjp3aWRv
d3MsICZSZW5kZXJTdHlsZTo6c2V0V2lkb3dzLCAmUmVuZGVyU3R5bGU6Omhhc0F1dG9XaWRvd3Ms
ICZSZW5kZXJTdHlsZTo6c2V0SGFzQXV0b1dpZG93cz46OmNyZWF0ZUhhbmRsZXIoKSk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVCdWlsZGVyQ29udmVydGVyLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvU3R5bGVCdWlsZGVyQ29udmVydGVyLmgKaW5kZXggM2YzMmU1YTg0OTA4
MDhmMDMwODE2MTQ0YTY3OTZiMDlmN2Y3Y2M5Zi4uZDQwNWY3OGIxNDIzMWYzNzIwMzIxMTYyMDJl
ZjVjMWI5ZmMwNGY3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlQnVpbGRl
ckNvbnZlcnRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZUJ1aWxkZXJDb252ZXJ0
ZXIuaApAQCAtNDYsNiArNDYsNyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIGZsb2F0IGNvbnZlcnRT
cGFjaW5nKFN0eWxlUmVzb2x2ZXImLCBDU1NWYWx1ZSYpOwogICAgIHN0YXRpYyBMZW5ndGhTaXpl
IGNvbnZlcnRSYWRpdXMoU3R5bGVSZXNvbHZlciYsIENTU1ZhbHVlJik7CiAgICAgc3RhdGljIFRl
eHREZWNvcmF0aW9uIGNvbnZlcnRUZXh0RGVjb3JhdGlvbihTdHlsZVJlc29sdmVyJiwgQ1NTVmFs
dWUmKTsKKyAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gc3RhdGljIFQgY29udmVydE51bWJlcihT
dHlsZVJlc29sdmVyJiwgQ1NTVmFsdWUmKTsKIAogcHJpdmF0ZToKICAgICBzdGF0aWMgTGVuZ3Ro
IGNvbnZlcnRUb1JhZGl1c0xlbmd0aChDU1NUb0xlbmd0aENvbnZlcnNpb25EYXRhJiwgQ1NTUHJp
bWl0aXZlVmFsdWUmKTsKQEAgLTE5Niw2ICsxOTcsMTUgQEAgaW5saW5lIFRleHREZWNvcmF0aW9u
IFN0eWxlQnVpbGRlckNvbnZlcnRlcjo6Y29udmVydFRleHREZWNvcmF0aW9uKFN0eWxlUmVzb2x2
ZXIKICAgICByZXR1cm4gcmVzdWx0OwogfQogCit0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KK2lubGlu
ZSBUIFN0eWxlQnVpbGRlckNvbnZlcnRlcjo6Y29udmVydE51bWJlcihTdHlsZVJlc29sdmVyJiwg
Q1NTVmFsdWUmIHZhbHVlKQoreworICAgIGF1dG8mIHByaW1pdGl2ZVZhbHVlID0gZG93bmNhc3Q8
Q1NTUHJpbWl0aXZlVmFsdWU+KHZhbHVlKTsKKyAgICBpZiAocHJpbWl0aXZlVmFsdWUuZ2V0VmFs
dWVJRCgpID09IENTU1ZhbHVlQXV0bykKKyAgICAgICAgcmV0dXJuIC0xOworICAgIHJldHVybiBw
cmltaXRpdmVWYWx1ZS5nZXRWYWx1ZTxUPihDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX05VTUJFUik7
Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIFN0eWxlQnVpbGRlckNv
bnZlcnRlcl9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVCdWlsZGVyQ3Vz
dG9tLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVCdWlsZGVyQ3VzdG9tLmgKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMGRlYTkyOGFlZWM0ZDBhODNkZGJhYjJkN2Y1ZGY0YzE1OTRiODM0YQotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZUJ1aWxkZXJDdXN0b20uaApAQCAtMCwwICsx
LDQ5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEzIEdvb2dsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisg
KiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICog
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFN0eWxlQnVpbGRlckN1c3RvbV9oCisjZGVmaW5l
IFN0eWxlQnVpbGRlckN1c3RvbV9oCisKKyNpbmNsdWRlICJTdHlsZVJlc29sdmVyLmgiCisKK25h
bWVzcGFjZSBXZWJDb3JlIHsKKworbmFtZXNwYWNlIFN0eWxlQnVpbGRlckZ1bmN0aW9ucyB7CisK
K2lubGluZSB2b2lkIGFwcGx5VmFsdWVXZWJraXRIeXBoZW5hdGVMaW1pdExpbmVzKFN0eWxlUmVz
b2x2ZXImIHN0eWxlUmVzb2x2ZXIsIENTU1ZhbHVlJiB2YWx1ZSkKK3sKKyAgICBhdXRvJiBwcmlt
aXRpdmVWYWx1ZSA9IGRvd25jYXN0PENTU1ByaW1pdGl2ZVZhbHVlPih2YWx1ZSk7CisgICAgc2hv
cnQgbnVtYmVyID0gLTE7CisgICAgaWYgKHByaW1pdGl2ZVZhbHVlLmdldFZhbHVlSUQoKSAhPSBD
U1NWYWx1ZU5vTGltaXQpCisgICAgICAgIG51bWJlciA9IHByaW1pdGl2ZVZhbHVlLmdldFZhbHVl
PHNob3J0PihDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX05VTUJFUik7CisgICAgc3R5bGVSZXNvbHZl
ci5zdHlsZSgpLT5zZXRIeXBoZW5hdGlvbkxpbWl0TGluZXMobnVtYmVyKTsKK30KKworfSAvLyBu
YW1lc3BhY2UgU3R5bGVCdWlsZGVyRnVuY3Rpb25zCisKK30gLy8gbmFtZXNwYWNlIFZhbHVlCisK
KyNlbmRpZiAvLyBTdHlsZUJ1aWxkZXJDdXN0b21faApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvY3NzL21ha2Vwcm9wLnBsIGIvU291cmNlL1dlYkNvcmUvY3NzL21ha2Vwcm9wLnBsCmluZGV4
IDEwNjMyODg1ZTFhNGFhZmNkZmFhNDRmYjRhMzFlNDBjMzdkNWIyY2IuLjkwZGU0YWQ5ZTk1MGI2
ZTJiMTI2OWNjMDYzMWNiZTdlYzczMzZkODMgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9tYWtlcHJvcC5wbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvbWFrZXByb3AucGwKQEAgLTQ2
LDYgKzQ2LDcgQEAgbXkgJW5hbWVJc0luaGVyaXRlZDsKIG15ICVwcm9wZXJ0aWVzVXNpbmdOZXdT
dHlsZUJ1aWxkZXI7CiBteSAlbmV3U3R5bGVCdWlsZGVyT3B0aW9ucyA9ICgKICAgQ29udmVydGVy
ID0+IDEsICMgRGVmaW5lZCBpbiBTb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVCdWlsZGVyQ29udmVy
dGVyLmgKKyAgQ3VzdG9tID0+IDEsCiAgIEdldHRlciA9PiAxLAogICBJbml0aWFsID0+IDEsCiAg
IE5hbWVGb3JNZXRob2RzID0+IDEsCkBAIC0zNTAsNiArMzUxLDkgQEAgZm9yZWFjaCBteSAkbmFt
ZSAoQG5hbWVzKSB7CiAgIGlmICghZXhpc3RzKCRwcm9wZXJ0aWVzVXNpbmdOZXdTdHlsZUJ1aWxk
ZXJ7JG5hbWV9eyJJbml0aWFsIn0pKSB7CiAgICAgJHByb3BlcnRpZXNVc2luZ05ld1N0eWxlQnVp
bGRlcnskbmFtZX17IkluaXRpYWwifSA9ICJpbml0aWFsIiAuICRuYW1lRm9yTWV0aG9kczsKICAg
fQorICBpZiAoIWV4aXN0cygkcHJvcGVydGllc1VzaW5nTmV3U3R5bGVCdWlsZGVyeyRuYW1lfXsi
Q3VzdG9tIn0pKSB7CisgICAgJHByb3BlcnRpZXNVc2luZ05ld1N0eWxlQnVpbGRlcnskbmFtZX17
IkN1c3RvbSJ9ID0gIk5vbmUiOworICB9CiB9CiAKIG9wZW4gU1RZTEVCVUlMREVSLCAiPlN0eWxl
QnVpbGRlci5jcHAiIHx8IGRpZSAiQ291bGQgbm90IG9wZW4gU3R5bGVCdWlsZGVyLmNwcCBmb3Ig
d3JpdGluZyI7CkBAIC0zNjMsMTIgKzM2NywxMiBAQCBwcmludCBTVFlMRUJVSUxERVIgPDwgIkVP
RiI7CiAjaW5jbHVkZSAiQ1NTUHJvcGVydHkuaCIKICNpbmNsdWRlICJSZW5kZXJTdHlsZS5oIgog
I2luY2x1ZGUgIlN0eWxlQnVpbGRlckNvbnZlcnRlci5oIgorI2luY2x1ZGUgIlN0eWxlQnVpbGRl
ckN1c3RvbS5oIgogI2luY2x1ZGUgIlN0eWxlUmVzb2x2ZXIuaCIKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCi1jbGFzcyBTdHlsZUJ1aWxkZXJGdW5jdGlvbnMgewotcHVibGljOgorbmFtZXNwYWNl
IFN0eWxlQnVpbGRlckZ1bmN0aW9ucyB7CiBFT0YKIAogZm9yZWFjaCBteSAkbmFtZSAoQG5hbWVz
KSB7CkBAIC0zNzYsMjggKzM4MCwzMCBAQCBmb3JlYWNoIG15ICRuYW1lIChAbmFtZXMpIHsKICAg
bmV4dCB1bmxlc3MgZXhpc3RzKCRwcm9wZXJ0aWVzVXNpbmdOZXdTdHlsZUJ1aWxkZXJ7JG5hbWV9
KTsKIAogICBteSAkc2V0VmFsdWUgPSAic3R5bGVSZXNvbHZlci5zdHlsZSgpLT4iIC4gJHByb3Bl
cnRpZXNVc2luZ05ld1N0eWxlQnVpbGRlcnskbmFtZX17IlNldHRlciJ9OwotICBwcmludCBTVFlM
RUJVSUxERVIgIiAgICBzdGF0aWMgdm9pZCBhcHBseUluaXRpYWwiIC4gJG5hbWVUb0lkeyRuYW1l
fSAuICIoU3R5bGVSZXNvbHZlciYgc3R5bGVSZXNvbHZlcilcbiI7CisgIHByaW50IFNUWUxFQlVJ
TERFUiAiICAgIGlubGluZSB2b2lkIGFwcGx5SW5pdGlhbCIgLiAkbmFtZVRvSWR7JG5hbWV9IC4g
IihTdHlsZVJlc29sdmVyJiBzdHlsZVJlc29sdmVyKVxuIjsKICAgcHJpbnQgU1RZTEVCVUlMREVS
ICIgICAge1xuIjsKICAgcHJpbnQgU1RZTEVCVUlMREVSICIgICAgICAgICIgLiAkc2V0VmFsdWUg
LiAiKFJlbmRlclN0eWxlOjoiIC4gJHByb3BlcnRpZXNVc2luZ05ld1N0eWxlQnVpbGRlcnskbmFt
ZX17IkluaXRpYWwifSAuICIoKSk7XG4iOwogICBwcmludCBTVFlMRUJVSUxERVIgIiAgICB9XG4i
OwotICBwcmludCBTVFlMRUJVSUxERVIgIiAgICBzdGF0aWMgdm9pZCBhcHBseUluaGVyaXQiIC4g
JG5hbWVUb0lkeyRuYW1lfSAuICIoU3R5bGVSZXNvbHZlciYgc3R5bGVSZXNvbHZlcilcbiI7Cisg
IHByaW50IFNUWUxFQlVJTERFUiAiICAgIGlubGluZSB2b2lkIGFwcGx5SW5oZXJpdCIgLiAkbmFt
ZVRvSWR7JG5hbWV9IC4gIihTdHlsZVJlc29sdmVyJiBzdHlsZVJlc29sdmVyKVxuIjsKICAgcHJp
bnQgU1RZTEVCVUlMREVSICIgICAge1xuIjsKICAgcHJpbnQgU1RZTEVCVUlMREVSICIgICAgICAg
ICIgLiAkc2V0VmFsdWUgLiAiKHN0eWxlUmVzb2x2ZXIucGFyZW50U3R5bGUoKS0+IiAuICAkcHJv
cGVydGllc1VzaW5nTmV3U3R5bGVCdWlsZGVyeyRuYW1lfXsiR2V0dGVyIn0gLiAiKCkpO1xuIjsK
ICAgcHJpbnQgU1RZTEVCVUlMREVSICIgICAgfVxuIjsKLSAgcHJpbnQgU1RZTEVCVUlMREVSICIg
ICAgc3RhdGljIHZvaWQgYXBwbHlWYWx1ZSIgLiAkbmFtZVRvSWR7JG5hbWV9IC4gIihTdHlsZVJl
c29sdmVyJiBzdHlsZVJlc29sdmVyLCBDU1NWYWx1ZSYgdmFsdWUpXG4iOwotICBwcmludCBTVFlM
RUJVSUxERVIgIiAgICB7XG4iOwotICBteSAkY29udmVydGVkVmFsdWU7Ci0gIGlmIChleGlzdHMo
JHByb3BlcnRpZXNVc2luZ05ld1N0eWxlQnVpbGRlcnskbmFtZX17IkNvbnZlcnRlciJ9KSkgewot
ICAgICRjb252ZXJ0ZWRWYWx1ZSA9ICJTdHlsZUJ1aWxkZXJDb252ZXJ0ZXI6OmNvbnZlcnQiIC4g
JHByb3BlcnRpZXNVc2luZ05ld1N0eWxlQnVpbGRlcnskbmFtZX17IkNvbnZlcnRlciJ9IC4gIihz
dHlsZVJlc29sdmVyLCB2YWx1ZSkiOwotICB9IGVsc2UgewotICAgICRjb252ZXJ0ZWRWYWx1ZSA9
ICJzdGF0aWNfY2FzdDwiIC4gJHByb3BlcnRpZXNVc2luZ05ld1N0eWxlQnVpbGRlcnskbmFtZX17
IlR5cGVOYW1lIn0gLiAiPihkb3duY2FzdDxDU1NQcmltaXRpdmVWYWx1ZT4odmFsdWUpKSI7Cisg
IGlmICgkcHJvcGVydGllc1VzaW5nTmV3U3R5bGVCdWlsZGVyeyRuYW1lfXsiQ3VzdG9tIn0gbmUg
IlZhbHVlIikgeworICAgIHByaW50IFNUWUxFQlVJTERFUiAiICAgIGlubGluZSB2b2lkIGFwcGx5
VmFsdWUiIC4gJG5hbWVUb0lkeyRuYW1lfSAuICIoU3R5bGVSZXNvbHZlciYgc3R5bGVSZXNvbHZl
ciwgQ1NTVmFsdWUmIHZhbHVlKVxuIjsKKyAgICBwcmludCBTVFlMRUJVSUxERVIgIiAgICB7XG4i
OworICAgIG15ICRjb252ZXJ0ZWRWYWx1ZTsKKyAgICBpZiAoZXhpc3RzKCRwcm9wZXJ0aWVzVXNp
bmdOZXdTdHlsZUJ1aWxkZXJ7JG5hbWV9eyJDb252ZXJ0ZXIifSkpIHsKKyAgICAgICRjb252ZXJ0
ZWRWYWx1ZSA9ICJTdHlsZUJ1aWxkZXJDb252ZXJ0ZXI6OmNvbnZlcnQiIC4gJHByb3BlcnRpZXNV
c2luZ05ld1N0eWxlQnVpbGRlcnskbmFtZX17IkNvbnZlcnRlciJ9IC4gIihzdHlsZVJlc29sdmVy
LCB2YWx1ZSkiOworICAgIH0gZWxzZSB7CisgICAgICAkY29udmVydGVkVmFsdWUgPSAic3RhdGlj
X2Nhc3Q8IiAuICRwcm9wZXJ0aWVzVXNpbmdOZXdTdHlsZUJ1aWxkZXJ7JG5hbWV9eyJUeXBlTmFt
ZSJ9IC4gIj4oZG93bmNhc3Q8Q1NTUHJpbWl0aXZlVmFsdWU+KHZhbHVlKSkiOworICAgIH0KKyAg
ICBwcmludCBTVFlMRUJVSUxERVIgIiAgICAgICAgIiAuICRzZXRWYWx1ZSAuICIoIiAuICRjb252
ZXJ0ZWRWYWx1ZSAuICIpO1xuIjsKKyAgICBwcmludCBTVFlMRUJVSUxERVIgIiAgICB9XG4iOwog
ICB9Ci0gIHByaW50IFNUWUxFQlVJTERFUiAiICAgICAgICAiIC4gJHNldFZhbHVlIC4gIigiIC4g
JGNvbnZlcnRlZFZhbHVlIC4gIik7XG4iOwotICBwcmludCBTVFlMRUJVSUxERVIgIiAgICB9XG4i
OwogfQogCiBwcmludCBTVFlMRUJVSUxERVIgPDwgIkVPRiI7Ci19OworfSAvLyBuYW1lc3BhY2Ug
U3R5bGVCdWlsZGVyRnVuY3Rpb25zCiAKIGJvb2wgU3R5bGVCdWlsZGVyOjphcHBseVByb3BlcnR5
KENTU1Byb3BlcnR5SUQgcHJvcGVydHksIFN0eWxlUmVzb2x2ZXImIHN0eWxlUmVzb2x2ZXIsIENT
U1ZhbHVlJiB2YWx1ZSwgYm9vbCBpc0luaXRpYWwsIGJvb2wgaXNJbmhlcml0KQogewo=
</data>

          </attachment>
      

    </bug>

</bugzilla>