<?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>139858</bug_id>
          
          <creation_ts>2014-12-21 17:07:50 -0800</creation_ts>
          <short_desc>Move &quot;Auto&quot; CSS properties to the new StyleBuilder</short_desc>
          <delta_ts>2014-12-22 02:39:05 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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>benjamin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>kling</cc>
    
    <cc>koivisto</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1057333</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-12-21 17:07:50 -0800</bug_when>
    <thetext>Move &quot;Auto&quot; CSS properties from DeprecatedStyleBuilder to the new StyleBuilder.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1057341</commentid>
    <comment_count>1</comment_count>
      <attachid>243616</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-12-21 17:44:34 -0800</bug_when>
    <thetext>Created attachment 243616
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1057348</commentid>
    <comment_count>2</comment_count>
      <attachid>243616</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2014-12-21 19:28:13 -0800</bug_when>
    <thetext>Comment on attachment 243616
Patch

Instead of doing this as Custom=All, can we make the generator generate this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1057349</commentid>
    <comment_count>3</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-12-21 19:51:41 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; Comment on attachment 243616 [details]
&gt; Patch
&gt; 
&gt; Instead of doing this as Custom=All, can we make the generator generate this?

Eventually, I think so (also the Font-related properties for e.g.). I was working on getting rid of DeprecatedStyleBuilder as soon as possible. Then I was planning to do a second pass and see how we can reduce the amount of Custom code.

I was thinking it would be easier to group similar properties and prioritize generating the larger groups once all the implementation is in one place.

If you disagree, I can take a look at generating these 6 properties already when I find some time.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1057351</commentid>
    <comment_count>4</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-12-21 20:38:00 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; (In reply to comment #2)
&gt; &gt; Comment on attachment 243616 [details]
&gt; &gt; Patch
&gt; &gt; 
&gt; &gt; Instead of doing this as Custom=All, can we make the generator generate this?
&gt; 
&gt; Eventually, I think so (also the Font-related properties for e.g.). I was
&gt; working on getting rid of DeprecatedStyleBuilder as soon as possible. Then I
&gt; was planning to do a second pass and see how we can reduce the amount of
&gt; Custom code.
&gt; 
&gt; I was thinking it would be easier to group similar properties and prioritize
&gt; generating the larger groups once all the implementation is in one place.
&gt; 
&gt; If you disagree, I can take a look at generating these 6 properties already
&gt; when I find some time.

I am working on this right now. I&apos;ll probably leave out the column-gap property for now (i.e. use custom code) as it is a bit different as I don&apos;t think we should make the generator more complex for a single property.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1057354</commentid>
    <comment_count>5</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2014-12-21 21:06:56 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; (In reply to comment #2)
&gt; &gt; Comment on attachment 243616 [details]
&gt; &gt; Patch
&gt; &gt; 
&gt; &gt; Instead of doing this as Custom=All, can we make the generator generate this?
&gt; 
&gt; Eventually, I think so (also the Font-related properties for e.g.). I was
&gt; working on getting rid of DeprecatedStyleBuilder as soon as possible. Then I
&gt; was planning to do a second pass and see how we can reduce the amount of
&gt; Custom code.
&gt; 
&gt; I was thinking it would be easier to group similar properties and prioritize
&gt; generating the larger groups once all the implementation is in one place.
&gt; 
&gt; If you disagree, I can take a look at generating these 6 properties already
&gt; when I find some time.

That seems reasonable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1057355</commentid>
    <comment_count>6</comment_count>
      <attachid>243616</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-12-21 21:07:52 -0800</bug_when>
    <thetext>Comment on attachment 243616
Patch

I am almost done adding support for this in the generator.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1057356</commentid>
    <comment_count>7</comment_count>
      <attachid>243619</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-12-21 21:40:20 -0800</bug_when>
    <thetext>Created attachment 243619
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1057357</commentid>
    <comment_count>8</comment_count>
      <attachid>243619</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-12-21 22:13:01 -0800</bug_when>
    <thetext>Comment on attachment 243619
Patch

now generating most properties.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1057364</commentid>
    <comment_count>9</comment_count>
      <attachid>243619</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-12-22 02:39:01 -0800</bug_when>
    <thetext>Comment on attachment 243619
Patch

Clearing flags on attachment: 243619

Committed r177630: &lt;http://trac.webkit.org/changeset/177630&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1057365</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-12-22 02:39:05 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>243616</attachid>
            <date>2014-12-21 17:44:34 -0800</date>
            <delta_ts>2014-12-21 21:40:15 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-139858-20141221174434.patch</filename>
            <type>text/plain</type>
            <size>18003</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc3NjI2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWRhMGRhOWYxY2JmMzM5
ZWFiN2QzZDEwYWUyZGFjMWU5OWZkYTlmMy4uZDU5NDczZWNkNjA3MmVmZDgzN2U4Y2FjYmU0YWJk
N2JlYTkzOTlhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDE0LTEyLTIxICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgTW92ZSAiQXV0byIgQ1NTIHBy
b3BlcnRpZXMgdG8gdGhlIG5ldyBTdHlsZUJ1aWxkZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzOTg1OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIE1vdmUgIkF1dG8iIENTUyBwcm9wZXJ0aWVzIGZyb20g
RGVwcmVjYXRlZFN0eWxlQnVpbGRlciB0byB0aGUgbmV3CisgICAgICAgIFN0eWxlQnVpbGRlciwg
YnkgdXNpbmcgY3VzdG9tIGNvZGUuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCBubyB3ZWItZXhw
b3NlZCBiZWhhdmlvciBjaGFuZ2UuCisKKyAgICAgICAgKiBjc3MvQ1NTUHJvcGVydHlOYW1lcy5p
bjoKKyAgICAgICAgKiBjc3MvRGVwcmVjYXRlZFN0eWxlQnVpbGRlci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpEZXByZWNhdGVkU3R5bGVCdWlsZGVyOjpEZXByZWNhdGVkU3R5bGVCdWlsZGVyKToK
KyAgICAgICAgKFdlYkNvcmU6OkFwcGx5UHJvcGVydHlBdXRvOjpzZXRWYWx1ZSk6IERlbGV0ZWQu
CisgICAgICAgIChXZWJDb3JlOjpBcHBseVByb3BlcnR5QXV0bzo6dmFsdWUpOiBEZWxldGVkLgor
ICAgICAgICAoV2ViQ29yZTo6QXBwbHlQcm9wZXJ0eUF1dG86Omhhc0F1dG8pOiBEZWxldGVkLgor
ICAgICAgICAoV2ViQ29yZTo6QXBwbHlQcm9wZXJ0eUF1dG86OnNldEF1dG8pOiBEZWxldGVkLgor
ICAgICAgICAoV2ViQ29yZTo6QXBwbHlQcm9wZXJ0eUF1dG86OmFwcGx5SW5oZXJpdFZhbHVlKTog
RGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkFwcGx5UHJvcGVydHlBdXRvOjphcHBseUluaXRp
YWxWYWx1ZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpBcHBseVByb3BlcnR5QXV0bzo6
YXBwbHlWYWx1ZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpBcHBseVByb3BlcnR5QXV0
bzo6Y3JlYXRlSGFuZGxlcik6IERlbGV0ZWQuCisgICAgICAgICogY3NzL1N0eWxlQnVpbGRlckNv
bnZlcnRlci5oOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVCdWlsZGVyQ29udmVydGVyOjpjb252
ZXJ0RGVmYXVsdCk6CisgICAgICAgICogY3NzL1N0eWxlQnVpbGRlckN1c3RvbS5oOgorICAgICAg
ICAoV2ViQ29yZTo6QXBwbHlQcm9wZXJ0eUF1dG86OnNldFZhbHVlKToKKyAgICAgICAgKFdlYkNv
cmU6OkFwcGx5UHJvcGVydHlBdXRvOjp2YWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpBcHBseVBy
b3BlcnR5QXV0bzo6aGFzQXV0byk6CisgICAgICAgIChXZWJDb3JlOjpBcHBseVByb3BlcnR5QXV0
bzo6c2V0QXV0byk6CisgICAgICAgIChXZWJDb3JlOjpBcHBseVByb3BlcnR5QXV0bzo6YXBwbHlJ
bmhlcml0VmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6QXBwbHlQcm9wZXJ0eUF1dG86OmFwcGx5
SW5pdGlhbFZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkFwcGx5UHJvcGVydHlBdXRvOjphcHBs
eVZhbHVlKToKKwogMjAxNC0xMi0yMCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgog
CiAgICAgICAgIEdldCByaWQgb2YgZXJyb3ItcHJvbmUgUmVsZWFzZVBhcnNlZENhbGNWYWx1ZUNv
bmRpdGlvbiBhcmd1bWVudCBpbiBDU1NQYXJzZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NQcm9wZXJ0eU5hbWVzLmluIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5
TmFtZXMuaW4KaW5kZXggNWZiMWE4YmIyZDliYWI0Yzk0ODk3ODI5YjMyMzJlYzdhZjBhNjAyNS4u
MzE1OWIyZmI5OWU3NTAxNWQzZDA4MDY3NDU5YjRjNWU1MzE2MzFjNiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5TmFtZXMuaW4KKysrIGIvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1Byb3BlcnR5TmFtZXMuaW4KQEAgLTIwMyw3ICsyMDMsNyBAQCBvcGFjaXR5IFtUeXBl
TmFtZT1mbG9hdF0KIC8vIEhvbm9yIC13ZWJraXQtb3BhY2l0eSBhcyBhIHN5bm9ueW0gZm9yIG9w
YWNpdHkuIFRoaXMgd2FzIHRoZSBvbmx5IHN5bnRheCB0aGF0IHdvcmtlZCBpbiBTYWZhcmkgMS4x
LAogLy8gYW5kIG1heSBiZSBpbiB1c2Ugb24gc29tZSB3ZWJzaXRlcyBhbmQgd2lkZ2V0cy4KIC13
ZWJraXQtb3BhY2l0eSA9IG9wYWNpdHkKLW9ycGhhbnMgW0luaGVyaXRlZCwgTGVnYWN5U3R5bGVC
dWlsZGVyXQorb3JwaGFucyBbSW5oZXJpdGVkLCBDdXN0b209QWxsXQogb3V0bGluZSBbTGVnYWN5
U3R5bGVCdWlsZGVyXQogb3V0bGluZS1jb2xvciBbTGVnYWN5U3R5bGVCdWlsZGVyXQogb3V0bGlu
ZS1vZmZzZXQgW0NvbnZlcnRlcj1Db21wdXRlZExlbmd0aDxpbnQ+XQpAQCAtMjY3LDEzICsyNjcs
MTMgQEAgdW5pY29kZS1yYW5nZSBbTGVnYWN5U3R5bGVCdWlsZGVyXQogdmVydGljYWwtYWxpZ24g
W0N1c3RvbT1WYWx1ZV0KIHZpc2liaWxpdHkgW0luaGVyaXRlZF0KIHdoaXRlLXNwYWNlIFtJbmhl
cml0ZWRdCi13aWRvd3MgW0luaGVyaXRlZCwgTGVnYWN5U3R5bGVCdWlsZGVyXQord2lkb3dzIFtJ
bmhlcml0ZWQsIEN1c3RvbT1BbGxdCiB3aWR0aCBbSW5pdGlhbD1pbml0aWFsU2l6ZSwgQ29udmVy
dGVyPUxlbmd0aFNpemluZ10KIHdvcmQtYnJlYWsgW0luaGVyaXRlZF0KIC1lcHViLXdvcmQtYnJl
YWsgPSB3b3JkLWJyZWFrCiB3b3JkLXNwYWNpbmcgW0luaGVyaXRlZCwgQ3VzdG9tPVZhbHVlXQog
d29yZC13cmFwIFtJbmhlcml0ZWQ9RU92ZXJmbG93V3JhcCwgTmFtZUZvck1ldGhvZHM9T3ZlcmZs
b3dXcmFwXQotei1pbmRleCBbTGVnYWN5U3R5bGVCdWlsZGVyXQorei1pbmRleCBbQ3VzdG9tPUFs
bF0KIGFsdCBbTGVnYWN5U3R5bGVCdWlsZGVyXQogLXdlYmtpdC1hbHQgPSBhbHQKIC13ZWJraXQt
YW5pbWF0aW9uIFtMZWdhY3lTdHlsZUJ1aWxkZXJdCkBAIC0zMzcsMTEgKzMzNywxMSBAQCBhbHQg
W0xlZ2FjeVN0eWxlQnVpbGRlcl0KIC13ZWJraXQtY29sdW1uLWJyZWFrLWFmdGVyIFtUeXBlTmFt
ZT1FUGFnZUJyZWFrLCBJbml0aWFsPWluaXRpYWxQYWdlQnJlYWtdCiAtd2Via2l0LWNvbHVtbi1i
cmVhay1iZWZvcmUgW1R5cGVOYW1lPUVQYWdlQnJlYWssIEluaXRpYWw9aW5pdGlhbFBhZ2VCcmVh
a10KIC13ZWJraXQtY29sdW1uLWJyZWFrLWluc2lkZSBbVHlwZU5hbWU9RVBhZ2VCcmVhaywgSW5p
dGlhbD1pbml0aWFsUGFnZUJyZWFrXQotY29sdW1uLWNvdW50IFtMZWdhY3lTdHlsZUJ1aWxkZXJd
Citjb2x1bW4tY291bnQgW0N1c3RvbT1BbGxdCiAtd2Via2l0LWNvbHVtbi1jb3VudCA9IGNvbHVt
bi1jb3VudAogY29sdW1uLWZpbGwgW1R5cGVOYW1lPUNvbHVtbkZpbGxdCiAtd2Via2l0LWNvbHVt
bi1maWxsID0gY29sdW1uLWZpbGwKLWNvbHVtbi1nYXAgW0xlZ2FjeVN0eWxlQnVpbGRlcl0KK2Nv
bHVtbi1nYXAgW0N1c3RvbT1BbGxdCiAtd2Via2l0LWNvbHVtbi1nYXAgPSBjb2x1bW4tZ2FwCiBj
b2x1bW4tcHJvZ3Jlc3Npb24gW1R5cGVOYW1lPUNvbHVtblByb2dyZXNzaW9uXQogLXdlYmtpdC1j
b2x1bW4tcHJvZ3Jlc3Npb24gPSBjb2x1bW4tcHJvZ3Jlc3Npb24KQEAgLTM1NSw3ICszNTUsNyBA
QCBjb2x1bW4tcnVsZS13aWR0aCBbQ29udmVydGVyPUxpbmVXaWR0aDx1bnNpZ25lZCBzaG9ydD5d
CiAtd2Via2l0LWNvbHVtbi1ydWxlLXdpZHRoID0gY29sdW1uLXJ1bGUtd2lkdGgKIGNvbHVtbi1z
cGFuIFtUeXBlTmFtZT1Db2x1bW5TcGFuXQogLXdlYmtpdC1jb2x1bW4tc3BhbiA9IGNvbHVtbi1z
cGFuCi1jb2x1bW4td2lkdGggW0xlZ2FjeVN0eWxlQnVpbGRlcl0KK2NvbHVtbi13aWR0aCBbQ3Vz
dG9tPUFsbF0KIC13ZWJraXQtY29sdW1uLXdpZHRoID0gY29sdW1uLXdpZHRoCiBjb2x1bW5zIFtM
ZWdhY3lTdHlsZUJ1aWxkZXJdCiAtd2Via2l0LWNvbHVtbnMgPSBjb2x1bW5zCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvRGVwcmVjYXRlZFN0eWxlQnVpbGRlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvRGVwcmVjYXRlZFN0eWxlQnVpbGRlci5jcHAKaW5kZXggODE2NmMwMGYwODIy
MTU1YmRmMzY1NjU1NDYwNjc4Yzc5YWJkYTA5ZS4uOTQxYzFkOTJkNTEzNGJlYTlkM2EyZDJjNDc4
NTY2NTZiMmRlYmY1MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0RlcHJlY2F0ZWRT
dHlsZUJ1aWxkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9EZXByZWNhdGVkU3R5bGVC
dWlsZGVyLmNwcApAQCAtNDEsNDIgKzQxLDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiB1c2lu
ZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwogCi1lbnVtIEF1dG9WYWx1ZVR5cGUge051bWJlciA9IDAs
IENvbXB1dGVMZW5ndGh9OwotdGVtcGxhdGUgPHR5cGVuYW1lIFQsIFQgKFJlbmRlclN0eWxlOjoq
Z2V0dGVyRnVuY3Rpb24pKCkgY29uc3QsIHZvaWQgKFJlbmRlclN0eWxlOjoqc2V0dGVyRnVuY3Rp
b24pKFQpLCBib29sIChSZW5kZXJTdHlsZTo6Kmhhc0F1dG9GdW5jdGlvbikoKSBjb25zdCwgdm9p
ZCAoUmVuZGVyU3R5bGU6OipzZXRBdXRvRnVuY3Rpb24pKCksIEF1dG9WYWx1ZVR5cGUgdmFsdWVU
eXBlID0gTnVtYmVyLCBpbnQgYXV0b0lkZW50aXR5ID0gQ1NTVmFsdWVBdXRvPgotY2xhc3MgQXBw
bHlQcm9wZXJ0eUF1dG8gewotcHVibGljOgotICAgIHN0YXRpYyB2b2lkIHNldFZhbHVlKFJlbmRl
clN0eWxlKiBzdHlsZSwgVCB2YWx1ZSkgeyAoc3R5bGUtPipzZXR0ZXJGdW5jdGlvbikodmFsdWUp
OyB9Ci0gICAgc3RhdGljIFQgdmFsdWUoUmVuZGVyU3R5bGUqIHN0eWxlKSB7IHJldHVybiAoc3R5
bGUtPipnZXR0ZXJGdW5jdGlvbikoKTsgfQotICAgIHN0YXRpYyBib29sIGhhc0F1dG8oUmVuZGVy
U3R5bGUqIHN0eWxlKSB7IHJldHVybiAoc3R5bGUtPipoYXNBdXRvRnVuY3Rpb24pKCk7IH0KLSAg
ICBzdGF0aWMgdm9pZCBzZXRBdXRvKFJlbmRlclN0eWxlKiBzdHlsZSkgeyAoc3R5bGUtPipzZXRB
dXRvRnVuY3Rpb24pKCk7IH0KLQotICAgIHN0YXRpYyB2b2lkIGFwcGx5SW5oZXJpdFZhbHVlKENT
U1Byb3BlcnR5SUQsIFN0eWxlUmVzb2x2ZXIqIHN0eWxlUmVzb2x2ZXIpCi0gICAgewotICAgICAg
ICBpZiAoaGFzQXV0byhzdHlsZVJlc29sdmVyLT5wYXJlbnRTdHlsZSgpKSkKLSAgICAgICAgICAg
IHNldEF1dG8oc3R5bGVSZXNvbHZlci0+c3R5bGUoKSk7Ci0gICAgICAgIGVsc2UKLSAgICAgICAg
ICAgIHNldFZhbHVlKHN0eWxlUmVzb2x2ZXItPnN0eWxlKCksIHZhbHVlKHN0eWxlUmVzb2x2ZXIt
PnBhcmVudFN0eWxlKCkpKTsKLSAgICB9Ci0KLSAgICBzdGF0aWMgdm9pZCBhcHBseUluaXRpYWxW
YWx1ZShDU1NQcm9wZXJ0eUlELCBTdHlsZVJlc29sdmVyKiBzdHlsZVJlc29sdmVyKSB7IHNldEF1
dG8oc3R5bGVSZXNvbHZlci0+c3R5bGUoKSk7IH0KLQotICAgIHN0YXRpYyB2b2lkIGFwcGx5VmFs
dWUoQ1NTUHJvcGVydHlJRCwgU3R5bGVSZXNvbHZlciogc3R5bGVSZXNvbHZlciwgQ1NTVmFsdWUq
IHZhbHVlKQotICAgIHsKLSAgICAgICAgaWYgKCFpczxDU1NQcmltaXRpdmVWYWx1ZT4oKnZhbHVl
KSkKLSAgICAgICAgICAgIHJldHVybjsKLQotICAgICAgICBDU1NQcmltaXRpdmVWYWx1ZSYgcHJp
bWl0aXZlVmFsdWUgPSBkb3duY2FzdDxDU1NQcmltaXRpdmVWYWx1ZT4oKnZhbHVlKTsKLSAgICAg
ICAgaWYgKHByaW1pdGl2ZVZhbHVlLmdldFZhbHVlSUQoKSA9PSBhdXRvSWRlbnRpdHkpCi0gICAg
ICAgICAgICBzZXRBdXRvKHN0eWxlUmVzb2x2ZXItPnN0eWxlKCkpOwotICAgICAgICBlbHNlIGlm
ICh2YWx1ZVR5cGUgPT0gTnVtYmVyKQotICAgICAgICAgICAgc2V0VmFsdWUoc3R5bGVSZXNvbHZl
ci0+c3R5bGUoKSwgcHJpbWl0aXZlVmFsdWUpOwotICAgICAgICBlbHNlIGlmICh2YWx1ZVR5cGUg
PT0gQ29tcHV0ZUxlbmd0aCkKLSAgICAgICAgICAgIHNldFZhbHVlKHN0eWxlUmVzb2x2ZXItPnN0
eWxlKCksIHByaW1pdGl2ZVZhbHVlLmNvbXB1dGVMZW5ndGg8VD4oc3R5bGVSZXNvbHZlci0+c3Rh
dGUoKS5jc3NUb0xlbmd0aENvbnZlcnNpb25EYXRhKCkpKTsKLSAgICB9Ci0KLSAgICBzdGF0aWMg
UHJvcGVydHlIYW5kbGVyIGNyZWF0ZUhhbmRsZXIoKSB7IHJldHVybiBQcm9wZXJ0eUhhbmRsZXIo
JmFwcGx5SW5oZXJpdFZhbHVlLCAmYXBwbHlJbml0aWFsVmFsdWUsICZhcHBseVZhbHVlKTsgfQot
fTsKLQogZW51bSBDb2xvckluaGVyaXQge05vSW5oZXJpdEZyb21QYXJlbnQgPSAwLCBJbmhlcml0
RnJvbVBhcmVudH07CiBDb2xvciBkZWZhdWx0SW5pdGlhbENvbG9yKCk7CiBDb2xvciBkZWZhdWx0
SW5pdGlhbENvbG9yKCkgeyByZXR1cm4gQ29sb3IoKTsgfQpAQCAtNTg2LDcgKzU1MCw2IEBAIERl
cHJlY2F0ZWRTdHlsZUJ1aWxkZXI6OkRlcHJlY2F0ZWRTdHlsZUJ1aWxkZXIoKQogICAgIHNldFBy
b3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0eUZvbnRTaXplLCBBcHBseVByb3BlcnR5Rm9udFNpemU6
OmNyZWF0ZUhhbmRsZXIoKSk7CiAgICAgc2V0UHJvcGVydHlIYW5kbGVyKENTU1Byb3BlcnR5Rm9u
dFN0eWxlLCBBcHBseVByb3BlcnR5Rm9udDxGb250SXRhbGljLCAmRm9udERlc2NyaXB0aW9uOjpp
dGFsaWMsICZGb250RGVzY3JpcHRpb246OnNldEl0YWxpYywgRm9udEl0YWxpY09mZj46OmNyZWF0
ZUhhbmRsZXIoKSk7CiAgICAgc2V0UHJvcGVydHlIYW5kbGVyKENTU1Byb3BlcnR5Rm9udFZhcmlh
bnQsIEFwcGx5UHJvcGVydHlGb250PEZvbnRTbWFsbENhcHMsICZGb250RGVzY3JpcHRpb246OnNt
YWxsQ2FwcywgJkZvbnREZXNjcmlwdGlvbjo6c2V0U21hbGxDYXBzLCBGb250U21hbGxDYXBzT2Zm
Pjo6Y3JlYXRlSGFuZGxlcigpKTsKLSAgICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVydHlP
cnBoYW5zLCBBcHBseVByb3BlcnR5QXV0bzxzaG9ydCwgJlJlbmRlclN0eWxlOjpvcnBoYW5zLCAm
UmVuZGVyU3R5bGU6OnNldE9ycGhhbnMsICZSZW5kZXJTdHlsZTo6aGFzQXV0b09ycGhhbnMsICZS
ZW5kZXJTdHlsZTo6c2V0SGFzQXV0b09ycGhhbnM+OjpjcmVhdGVIYW5kbGVyKCkpOwogICAgIHNl
dFByb3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0eU91dGxpbmVDb2xvciwgQXBwbHlQcm9wZXJ0eUNv
bG9yPE5vSW5oZXJpdEZyb21QYXJlbnQsICZSZW5kZXJTdHlsZTo6b3V0bGluZUNvbG9yLCAmUmVu
ZGVyU3R5bGU6OnNldE91dGxpbmVDb2xvciwgJlJlbmRlclN0eWxlOjpzZXRWaXNpdGVkTGlua091
dGxpbmVDb2xvciwgJlJlbmRlclN0eWxlOjpjb2xvcj46OmNyZWF0ZUhhbmRsZXIoKSk7CiAgICAg
c2V0UHJvcGVydHlIYW5kbGVyKENTU1Byb3BlcnR5V2Via2l0VGV4dERlY29yYXRpb25Db2xvciwg
QXBwbHlQcm9wZXJ0eUNvbG9yPE5vSW5oZXJpdEZyb21QYXJlbnQsICZSZW5kZXJTdHlsZTo6dGV4
dERlY29yYXRpb25Db2xvciwgJlJlbmRlclN0eWxlOjpzZXRUZXh0RGVjb3JhdGlvbkNvbG9yLCAm
UmVuZGVyU3R5bGU6OnNldFZpc2l0ZWRMaW5rVGV4dERlY29yYXRpb25Db2xvciwgJlJlbmRlclN0
eWxlOjpjb2xvcj46OmNyZWF0ZUhhbmRsZXIoKSk7CiAgICAgc2V0UHJvcGVydHlIYW5kbGVyKENT
U1Byb3BlcnR5VGV4dFJlbmRlcmluZywgQXBwbHlQcm9wZXJ0eUZvbnQ8VGV4dFJlbmRlcmluZ01v
ZGUsICZGb250RGVzY3JpcHRpb246OnRleHRSZW5kZXJpbmdNb2RlLCAmRm9udERlc2NyaXB0aW9u
OjpzZXRUZXh0UmVuZGVyaW5nTW9kZSwgQXV0b1RleHRSZW5kZXJpbmc+OjpjcmVhdGVIYW5kbGVy
KCkpOwpAQCAtNjEyLDEwICs1NzUsNyBAQCBEZXByZWNhdGVkU3R5bGVCdWlsZGVyOjpEZXByZWNh
dGVkU3R5bGVCdWlsZGVyKCkKICAgICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVydHlXZWJr
aXRCYWNrZ3JvdW5kQ29tcG9zaXRlLCBBcHBseVByb3BlcnR5RmlsbExheWVyPENvbXBvc2l0ZU9w
ZXJhdG9yLCBDU1NQcm9wZXJ0eVdlYmtpdEJhY2tncm91bmRDb21wb3NpdGUsIEJhY2tncm91bmRG
aWxsTGF5ZXIsICZSZW5kZXJTdHlsZTo6YWNjZXNzQmFja2dyb3VuZExheWVycywgJlJlbmRlclN0
eWxlOjpiYWNrZ3JvdW5kTGF5ZXJzLCAmRmlsbExheWVyOjppc0NvbXBvc2l0ZVNldCwgJkZpbGxM
YXllcjo6Y29tcG9zaXRlLCAmRmlsbExheWVyOjpzZXRDb21wb3NpdGUsICZGaWxsTGF5ZXI6OmNs
ZWFyQ29tcG9zaXRlLCAmRmlsbExheWVyOjppbml0aWFsRmlsbENvbXBvc2l0ZSwgJkNTU1RvU3R5
bGVNYXA6Om1hcEZpbGxDb21wb3NpdGU+OjpjcmVhdGVIYW5kbGVyKCkpOwogICAgIHNldFByb3Bl
cnR5SGFuZGxlcihDU1NQcm9wZXJ0eVdlYmtpdEJhY2tncm91bmRPcmlnaW4sIENTU1Byb3BlcnR5
QmFja2dyb3VuZE9yaWdpbik7CiAgICAgc2V0UHJvcGVydHlIYW5kbGVyKENTU1Byb3BlcnR5V2Vi
a2l0QmFja2dyb3VuZFNpemUsIENTU1Byb3BlcnR5QmFja2dyb3VuZFNpemUpOwotICAgIHNldFBy
b3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0eUNvbHVtbkNvdW50LCBBcHBseVByb3BlcnR5QXV0bzx1
bnNpZ25lZCBzaG9ydCwgJlJlbmRlclN0eWxlOjpjb2x1bW5Db3VudCwgJlJlbmRlclN0eWxlOjpz
ZXRDb2x1bW5Db3VudCwgJlJlbmRlclN0eWxlOjpoYXNBdXRvQ29sdW1uQ291bnQsICZSZW5kZXJT
dHlsZTo6c2V0SGFzQXV0b0NvbHVtbkNvdW50Pjo6Y3JlYXRlSGFuZGxlcigpKTsKLSAgICBzZXRQ
cm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVydHlDb2x1bW5HYXAsIEFwcGx5UHJvcGVydHlBdXRvPGZs
b2F0LCAmUmVuZGVyU3R5bGU6OmNvbHVtbkdhcCwgJlJlbmRlclN0eWxlOjpzZXRDb2x1bW5HYXAs
ICZSZW5kZXJTdHlsZTo6aGFzTm9ybWFsQ29sdW1uR2FwLCAmUmVuZGVyU3R5bGU6OnNldEhhc05v
cm1hbENvbHVtbkdhcCwgQ29tcHV0ZUxlbmd0aCwgQ1NTVmFsdWVOb3JtYWw+OjpjcmVhdGVIYW5k
bGVyKCkpOwogICAgIHNldFByb3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0eUNvbHVtblJ1bGVDb2xv
ciwgQXBwbHlQcm9wZXJ0eUNvbG9yPE5vSW5oZXJpdEZyb21QYXJlbnQsICZSZW5kZXJTdHlsZTo6
Y29sdW1uUnVsZUNvbG9yLCAmUmVuZGVyU3R5bGU6OnNldENvbHVtblJ1bGVDb2xvciwgJlJlbmRl
clN0eWxlOjpzZXRWaXNpdGVkTGlua0NvbHVtblJ1bGVDb2xvciwgJlJlbmRlclN0eWxlOjpjb2xv
cj46OmNyZWF0ZUhhbmRsZXIoKSk7Ci0gICAgc2V0UHJvcGVydHlIYW5kbGVyKENTU1Byb3BlcnR5
Q29sdW1uV2lkdGgsIEFwcGx5UHJvcGVydHlBdXRvPGZsb2F0LCAmUmVuZGVyU3R5bGU6OmNvbHVt
bldpZHRoLCAmUmVuZGVyU3R5bGU6OnNldENvbHVtbldpZHRoLCAmUmVuZGVyU3R5bGU6Omhhc0F1
dG9Db2x1bW5XaWR0aCwgJlJlbmRlclN0eWxlOjpzZXRIYXNBdXRvQ29sdW1uV2lkdGgsIENvbXB1
dGVMZW5ndGg+OjpjcmVhdGVIYW5kbGVyKCkpOwogICAgIHNldFByb3BlcnR5SGFuZGxlcihDU1NQ
cm9wZXJ0eVdlYmtpdEZvbnRLZXJuaW5nLCBBcHBseVByb3BlcnR5Rm9udDxGb250RGVzY3JpcHRp
b246Oktlcm5pbmcsICZGb250RGVzY3JpcHRpb246Omtlcm5pbmcsICZGb250RGVzY3JpcHRpb246
OnNldEtlcm5pbmcsIEZvbnREZXNjcmlwdGlvbjo6QXV0b0tlcm5pbmc+OjpjcmVhdGVIYW5kbGVy
KCkpOwogICAgIHNldFByb3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0eVdlYmtpdEZvbnRTbW9vdGhp
bmcsIEFwcGx5UHJvcGVydHlGb250PEZvbnRTbW9vdGhpbmdNb2RlLCAmRm9udERlc2NyaXB0aW9u
Ojpmb250U21vb3RoaW5nLCAmRm9udERlc2NyaXB0aW9uOjpzZXRGb250U21vb3RoaW5nLCBBdXRv
U21vb3RoaW5nPjo6Y3JlYXRlSGFuZGxlcigpKTsKICAgICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NT
UHJvcGVydHlXZWJraXRGb250VmFyaWFudExpZ2F0dXJlcywgQXBwbHlQcm9wZXJ0eUZvbnRWYXJp
YW50TGlnYXR1cmVzOjpjcmVhdGVIYW5kbGVyKCkpOwpAQCAtNjM1LDEwICs1OTUsNiBAQCBEZXBy
ZWNhdGVkU3R5bGVCdWlsZGVyOjpEZXByZWNhdGVkU3R5bGVCdWlsZGVyKCkKICAgICBzZXRQcm9w
ZXJ0eUhhbmRsZXIoQ1NTUHJvcGVydHlXZWJraXRUcmFuc2l0aW9uRHVyYXRpb24sIEFwcGx5UHJv
cGVydHlBbmltYXRpb248ZG91YmxlLCAmQW5pbWF0aW9uOjpkdXJhdGlvbiwgJkFuaW1hdGlvbjo6
c2V0RHVyYXRpb24sICZBbmltYXRpb246OmlzRHVyYXRpb25TZXQsICZBbmltYXRpb246OmNsZWFy
RHVyYXRpb24sICZBbmltYXRpb246OmluaXRpYWxBbmltYXRpb25EdXJhdGlvbiwgJkNTU1RvU3R5
bGVNYXA6Om1hcEFuaW1hdGlvbkR1cmF0aW9uLCAmUmVuZGVyU3R5bGU6OmFjY2Vzc1RyYW5zaXRp
b25zLCAmUmVuZGVyU3R5bGU6OnRyYW5zaXRpb25zPjo6Y3JlYXRlSGFuZGxlcigpKTsKICAgICBz
ZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVydHlXZWJraXRUcmFuc2l0aW9uUHJvcGVydHksIEFw
cGx5UHJvcGVydHlBbmltYXRpb248Q1NTUHJvcGVydHlJRCwgJkFuaW1hdGlvbjo6cHJvcGVydHks
ICZBbmltYXRpb246OnNldFByb3BlcnR5LCAmQW5pbWF0aW9uOjppc1Byb3BlcnR5U2V0LCAmQW5p
bWF0aW9uOjpjbGVhclByb3BlcnR5LCAmQW5pbWF0aW9uOjppbml0aWFsQW5pbWF0aW9uUHJvcGVy
dHksICZDU1NUb1N0eWxlTWFwOjptYXBBbmltYXRpb25Qcm9wZXJ0eSwgJlJlbmRlclN0eWxlOjph
Y2Nlc3NUcmFuc2l0aW9ucywgJlJlbmRlclN0eWxlOjp0cmFuc2l0aW9ucz46OmNyZWF0ZUhhbmRs
ZXIoKSk7CiAgICAgc2V0UHJvcGVydHlIYW5kbGVyKENTU1Byb3BlcnR5V2Via2l0VHJhbnNpdGlv
blRpbWluZ0Z1bmN0aW9uLCBBcHBseVByb3BlcnR5QW5pbWF0aW9uPGNvbnN0IFBhc3NSZWZQdHI8
VGltaW5nRnVuY3Rpb24+LCAmQW5pbWF0aW9uOjp0aW1pbmdGdW5jdGlvbiwgJkFuaW1hdGlvbjo6
c2V0VGltaW5nRnVuY3Rpb24sICZBbmltYXRpb246OmlzVGltaW5nRnVuY3Rpb25TZXQsICZBbmlt
YXRpb246OmNsZWFyVGltaW5nRnVuY3Rpb24sICZBbmltYXRpb246OmluaXRpYWxBbmltYXRpb25U
aW1pbmdGdW5jdGlvbiwgJkNTU1RvU3R5bGVNYXA6Om1hcEFuaW1hdGlvblRpbWluZ0Z1bmN0aW9u
LCAmUmVuZGVyU3R5bGU6OmFjY2Vzc1RyYW5zaXRpb25zLCAmUmVuZGVyU3R5bGU6OnRyYW5zaXRp
b25zPjo6Y3JlYXRlSGFuZGxlcigpKTsKLSAgICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVy
dHlXaWRvd3MsIEFwcGx5UHJvcGVydHlBdXRvPHNob3J0LCAmUmVuZGVyU3R5bGU6OndpZG93cywg
JlJlbmRlclN0eWxlOjpzZXRXaWRvd3MsICZSZW5kZXJTdHlsZTo6aGFzQXV0b1dpZG93cywgJlJl
bmRlclN0eWxlOjpzZXRIYXNBdXRvV2lkb3dzPjo6Y3JlYXRlSGFuZGxlcigpKTsKLQotICAgIHNl
dFByb3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0eVpJbmRleCwgQXBwbHlQcm9wZXJ0eUF1dG88aW50
LCAmUmVuZGVyU3R5bGU6OnpJbmRleCwgJlJlbmRlclN0eWxlOjpzZXRaSW5kZXgsICZSZW5kZXJT
dHlsZTo6aGFzQXV0b1pJbmRleCwgJlJlbmRlclN0eWxlOjpzZXRIYXNBdXRvWkluZGV4Pjo6Y3Jl
YXRlSGFuZGxlcigpKTsKIH0KIAotCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
U3R5bGVCdWlsZGVyQ29udmVydGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVCdWlsZGVy
Q29udmVydGVyLmgKaW5kZXggYzJhNWU3YTExZjQzOTg0OGJiNTYzYmNkOWNlYTVlMDYwODg0MTc1
OC4uNGNiZGRjMTIyODRmMjlmM2JkNmZmYWMwYmNkNzY5MTUxODRlNGQ3YiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvY3NzL1N0eWxlQnVpbGRlckNvbnZlcnRlci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9TdHlsZUJ1aWxkZXJDb252ZXJ0ZXIuaApAQCAtNTAsNiArNTAsNyBAQCBwdWJs
aWM6CiAgICAgc3RhdGljIExlbmd0aCBjb252ZXJ0TGVuZ3RoT3JBdXRvKFN0eWxlUmVzb2x2ZXIm
LCBDU1NWYWx1ZSYpOwogICAgIHN0YXRpYyBMZW5ndGggY29udmVydExlbmd0aFNpemluZyhTdHls
ZVJlc29sdmVyJiwgQ1NTVmFsdWUmKTsKICAgICBzdGF0aWMgTGVuZ3RoIGNvbnZlcnRMZW5ndGhN
YXhTaXppbmcoU3R5bGVSZXNvbHZlciYsIENTU1ZhbHVlJik7CisgICAgdGVtcGxhdGUgPHR5cGVu
YW1lIFQ+IHN0YXRpYyBUIGNvbnZlcnREZWZhdWx0KFN0eWxlUmVzb2x2ZXImLCBDU1NWYWx1ZSYp
OwogICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBUPiBzdGF0aWMgVCBjb252ZXJ0Q29tcHV0ZWRMZW5n
dGgoU3R5bGVSZXNvbHZlciYsIENTU1ZhbHVlJik7CiAgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFQ+
IHN0YXRpYyBUIGNvbnZlcnRMaW5lV2lkdGgoU3R5bGVSZXNvbHZlciYsIENTU1ZhbHVlJik7CiAg
ICAgc3RhdGljIGZsb2F0IGNvbnZlcnRTcGFjaW5nKFN0eWxlUmVzb2x2ZXImLCBDU1NWYWx1ZSYp
OwpAQCAtMTQ5LDYgKzE1MCwxMiBAQCBpbmxpbmUgTGVuZ3RoIFN0eWxlQnVpbGRlckNvbnZlcnRl
cjo6Y29udmVydExlbmd0aE1heFNpemluZyhTdHlsZVJlc29sdmVyJiBzdHlsZQogfQogCiB0ZW1w
bGF0ZSA8dHlwZW5hbWUgVD4KK2lubGluZSBUIFN0eWxlQnVpbGRlckNvbnZlcnRlcjo6Y29udmVy
dERlZmF1bHQoU3R5bGVSZXNvbHZlciYsIENTU1ZhbHVlJiB2YWx1ZSkKK3sKKyAgICByZXR1cm4g
c3RhdGljX2Nhc3Q8VD4oZG93bmNhc3Q8Q1NTUHJpbWl0aXZlVmFsdWU+KHZhbHVlKSk7Cit9CisK
K3RlbXBsYXRlIDx0eXBlbmFtZSBUPgogaW5saW5lIFQgU3R5bGVCdWlsZGVyQ29udmVydGVyOjpj
b252ZXJ0Q29tcHV0ZWRMZW5ndGgoU3R5bGVSZXNvbHZlciYgc3R5bGVSZXNvbHZlciwgQ1NTVmFs
dWUmIHZhbHVlKQogewogICAgIHJldHVybiBkb3duY2FzdDxDU1NQcmltaXRpdmVWYWx1ZT4odmFs
dWUpLmNvbXB1dGVMZW5ndGg8VD4oc3R5bGVSZXNvbHZlci5zdGF0ZSgpLmNzc1RvTGVuZ3RoQ29u
dmVyc2lvbkRhdGEoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVCdWls
ZGVyQ3VzdG9tLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVCdWlsZGVyQ3VzdG9tLmgKaW5k
ZXggZTI2OWFmMjA5NDllODk0YTg0NTQ5NGFlNGJhOGViMzdhNmNhNjA0NC4uODhkZWM1ZjIwNDRi
NzVjNjk4ZTU5MTdmN2Q5M2VkNTZiN2YyZmJiOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Y3NzL1N0eWxlQnVpbGRlckN1c3RvbS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZUJ1
aWxkZXJDdXN0b20uaApAQCAtMzUsNiArMzUsNyBAQAogI2luY2x1ZGUgIkxvY2FsZVRvU2NyaXB0
TWFwcGluZy5oIgogI2luY2x1ZGUgIlJlY3QuaCIKICNpbmNsdWRlICJTVkdFbGVtZW50LmgiCisj
aW5jbHVkZSAiU3R5bGVCdWlsZGVyQ29udmVydGVyLmgiCiAjaW5jbHVkZSAiU3R5bGVGb250U2l6
ZUZ1bmN0aW9ucy5oIgogI2luY2x1ZGUgIlN0eWxlUmVzb2x2ZXIuaCIKIApAQCAtNTUsNiArNTYs
OSBAQCBwdWJsaWM6CiAgICAgREVDTEFSRV9QUk9QRVJUWV9DVVNUT01fSEFORExFUlMoQm9yZGVy
SW1hZ2VXaWR0aCk7CiAgICAgREVDTEFSRV9QUk9QRVJUWV9DVVNUT01fSEFORExFUlMoQm94U2hh
ZG93KTsKICAgICBERUNMQVJFX1BST1BFUlRZX0NVU1RPTV9IQU5ETEVSUyhDbGlwKTsKKyAgICBE
RUNMQVJFX1BST1BFUlRZX0NVU1RPTV9IQU5ETEVSUyhDb2x1bW5Db3VudCk7CisgICAgREVDTEFS
RV9QUk9QRVJUWV9DVVNUT01fSEFORExFUlMoQ29sdW1uR2FwKTsKKyAgICBERUNMQVJFX1BST1BF
UlRZX0NVU1RPTV9IQU5ETEVSUyhDb2x1bW5XaWR0aCk7CiAgICAgREVDTEFSRV9QUk9QRVJUWV9D
VVNUT01fSEFORExFUlMoQ291bnRlckluY3JlbWVudCk7CiAgICAgREVDTEFSRV9QUk9QRVJUWV9D
VVNUT01fSEFORExFUlMoQ291bnRlclJlc2V0KTsKICAgICBERUNMQVJFX1BST1BFUlRZX0NVU1RP
TV9IQU5ETEVSUyhDdXJzb3IpOwpAQCAtNjcsNiArNzEsNyBAQCBwdWJsaWM6CiAgICAgREVDTEFS
RV9QUk9QRVJUWV9DVVNUT01fSEFORExFUlMoTGluZUhlaWdodCk7CiAjZW5kaWYKICAgICBERUNM
QVJFX1BST1BFUlRZX0NVU1RPTV9IQU5ETEVSUyhPdXRsaW5lU3R5bGUpOworICAgIERFQ0xBUkVf
UFJPUEVSVFlfQ1VTVE9NX0hBTkRMRVJTKE9ycGhhbnMpOwogICAgIERFQ0xBUkVfUFJPUEVSVFlf
Q1VTVE9NX0hBTkRMRVJTKFNpemUpOwogICAgIERFQ0xBUkVfUFJPUEVSVFlfQ1VTVE9NX0hBTkRM
RVJTKFRleHRJbmRlbnQpOwogICAgIERFQ0xBUkVfUFJPUEVSVFlfQ1VTVE9NX0hBTkRMRVJTKFRl
eHRTaGFkb3cpOwpAQCAtNzcsNiArODIsOCBAQCBwdWJsaWM6CiAgICAgREVDTEFSRV9QUk9QRVJU
WV9DVVNUT01fSEFORExFUlMoV2Via2l0TWFza0JveEltYWdlU2xpY2UpOwogICAgIERFQ0xBUkVf
UFJPUEVSVFlfQ1VTVE9NX0hBTkRMRVJTKFdlYmtpdE1hc2tCb3hJbWFnZVdpZHRoKTsKICAgICBE
RUNMQVJFX1BST1BFUlRZX0NVU1RPTV9IQU5ETEVSUyhXZWJraXRUZXh0RW1waGFzaXNTdHlsZSk7
CisgICAgREVDTEFSRV9QUk9QRVJUWV9DVVNUT01fSEFORExFUlMoV2lkb3dzKTsKKyAgICBERUNM
QVJFX1BST1BFUlRZX0NVU1RPTV9IQU5ETEVSUyhaSW5kZXgpOwogICAgIERFQ0xBUkVfUFJPUEVS
VFlfQ1VTVE9NX0hBTkRMRVJTKFpvb20pOwogCiAgICAgLy8gQ3VzdG9tIGhhbmRsaW5nIG9mIGlu
aGVyaXQgKyB2YWx1ZSBzZXR0aW5nIG9ubHkuCkBAIC0xMTc5LDYgKzExODYsNTQgQEAgaW5saW5l
IHZvaWQgU3R5bGVCdWlsZGVyQ3VzdG9tOjphcHBseVZhbHVlRm9udFdlaWdodChTdHlsZVJlc29s
dmVyJiBzdHlsZVJlc29sdmUKICAgICBzdHlsZVJlc29sdmVyLnNldEZvbnREZXNjcmlwdGlvbihm
b250RGVzY3JpcHRpb24pOwogfQogCit0ZW1wbGF0ZSA8dHlwZW5hbWUgVCwgVCAoUmVuZGVyU3R5
bGU6OipnZXR0ZXJGdW5jdGlvbikoKSBjb25zdCwgdm9pZCAoUmVuZGVyU3R5bGU6OipzZXR0ZXJG
dW5jdGlvbikoVCksIGJvb2wgKFJlbmRlclN0eWxlOjoqaGFzQXV0b0Z1bmN0aW9uKSgpIGNvbnN0
LCB2b2lkIChSZW5kZXJTdHlsZTo6KnNldEF1dG9GdW5jdGlvbikoKSwgVCBjb252ZXJ0VmFsdWUo
U3R5bGVSZXNvbHZlciYsIENTU1ZhbHVlJiksIGludCBhdXRvSWRlbnRpdHkgPSBDU1NWYWx1ZUF1
dG8+CitjbGFzcyBBcHBseVByb3BlcnR5QXV0byB7CitwdWJsaWM6CisgICAgc3RhdGljIHZvaWQg
c2V0VmFsdWUoUmVuZGVyU3R5bGUqIHN0eWxlLCBUIHZhbHVlKSB7IChzdHlsZS0+KnNldHRlckZ1
bmN0aW9uKSh2YWx1ZSk7IH0KKyAgICBzdGF0aWMgVCB2YWx1ZShSZW5kZXJTdHlsZSogc3R5bGUp
IHsgcmV0dXJuIChzdHlsZS0+KmdldHRlckZ1bmN0aW9uKSgpOyB9CisgICAgc3RhdGljIGJvb2wg
aGFzQXV0byhSZW5kZXJTdHlsZSogc3R5bGUpIHsgcmV0dXJuIChzdHlsZS0+Kmhhc0F1dG9GdW5j
dGlvbikoKTsgfQorICAgIHN0YXRpYyB2b2lkIHNldEF1dG8oUmVuZGVyU3R5bGUqIHN0eWxlKSB7
IChzdHlsZS0+KnNldEF1dG9GdW5jdGlvbikoKTsgfQorCisgICAgc3RhdGljIHZvaWQgYXBwbHlJ
bmhlcml0VmFsdWUoU3R5bGVSZXNvbHZlciYgc3R5bGVSZXNvbHZlcikKKyAgICB7CisgICAgICAg
IGlmIChoYXNBdXRvKHN0eWxlUmVzb2x2ZXIucGFyZW50U3R5bGUoKSkpCisgICAgICAgICAgICBz
ZXRBdXRvKHN0eWxlUmVzb2x2ZXIuc3R5bGUoKSk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAg
IHNldFZhbHVlKHN0eWxlUmVzb2x2ZXIuc3R5bGUoKSwgdmFsdWUoc3R5bGVSZXNvbHZlci5wYXJl
bnRTdHlsZSgpKSk7CisgICAgfQorCisgICAgc3RhdGljIHZvaWQgYXBwbHlJbml0aWFsVmFsdWUo
U3R5bGVSZXNvbHZlciYgc3R5bGVSZXNvbHZlcikgeyBzZXRBdXRvKHN0eWxlUmVzb2x2ZXIuc3R5
bGUoKSk7IH0KKworICAgIHN0YXRpYyB2b2lkIGFwcGx5VmFsdWUoU3R5bGVSZXNvbHZlciYgc3R5
bGVSZXNvbHZlciwgQ1NTVmFsdWUmIHZhbHVlKQorICAgIHsKKyAgICAgICAgaWYgKGRvd25jYXN0
PENTU1ByaW1pdGl2ZVZhbHVlPih2YWx1ZSkuZ2V0VmFsdWVJRCgpID09IGF1dG9JZGVudGl0eSkK
KyAgICAgICAgICAgIHNldEF1dG8oc3R5bGVSZXNvbHZlci5zdHlsZSgpKTsKKyAgICAgICAgZWxz
ZQorICAgICAgICAgICAgc2V0VmFsdWUoc3R5bGVSZXNvbHZlci5zdHlsZSgpLCBjb252ZXJ0VmFs
dWUoc3R5bGVSZXNvbHZlciwgdmFsdWUpKTsKKyAgICB9Cit9OworCisjZGVmaW5lIERFRklORV9B
VVRPX1BST1BFUlRZX0hBTkRMRVIoU2V0dGVyTmFtZSwgR2V0dGVyTmFtZSwgVCwgQ29udmVydGVy
LCBBdXRvSWRlbnRpdHkpIFwKK2lubGluZSB2b2lkIFN0eWxlQnVpbGRlckN1c3RvbTo6YXBwbHlJ
bml0aWFsIyNTZXR0ZXJOYW1lKFN0eWxlUmVzb2x2ZXImIHN0eWxlUmVzb2x2ZXIpIFwKK3sgXAor
ICAgIEFwcGx5UHJvcGVydHlBdXRvPFQsICZSZW5kZXJTdHlsZTo6R2V0dGVyTmFtZSwgJlJlbmRl
clN0eWxlOjpzZXQjI1NldHRlck5hbWUsICZSZW5kZXJTdHlsZTo6aGFzIyNBdXRvSWRlbnRpdHkj
I1NldHRlck5hbWUsICZSZW5kZXJTdHlsZTo6c2V0SGFzIyNBdXRvSWRlbnRpdHkjI1NldHRlck5h
bWUsIFN0eWxlQnVpbGRlckNvbnZlcnRlcjo6Y29udmVydCMjQ29udmVydGVyPFQ+LCBDU1NWYWx1
ZSMjQXV0b0lkZW50aXR5Pjo6YXBwbHlJbml0aWFsVmFsdWUoc3R5bGVSZXNvbHZlcik7IFwKK30g
XAoraW5saW5lIHZvaWQgU3R5bGVCdWlsZGVyQ3VzdG9tOjphcHBseUluaGVyaXQjI1NldHRlck5h
bWUoU3R5bGVSZXNvbHZlciYgc3R5bGVSZXNvbHZlcikgXAoreyBcCisgICAgQXBwbHlQcm9wZXJ0
eUF1dG88VCwgJlJlbmRlclN0eWxlOjpHZXR0ZXJOYW1lLCAmUmVuZGVyU3R5bGU6OnNldCMjU2V0
dGVyTmFtZSwgJlJlbmRlclN0eWxlOjpoYXMjI0F1dG9JZGVudGl0eSMjU2V0dGVyTmFtZSwgJlJl
bmRlclN0eWxlOjpzZXRIYXMjI0F1dG9JZGVudGl0eSMjU2V0dGVyTmFtZSwgU3R5bGVCdWlsZGVy
Q29udmVydGVyOjpjb252ZXJ0IyNDb252ZXJ0ZXI8VD4sIENTU1ZhbHVlIyNBdXRvSWRlbnRpdHk+
OjphcHBseUluaGVyaXRWYWx1ZShzdHlsZVJlc29sdmVyKTsgXAorfSBcCitpbmxpbmUgdm9pZCBT
dHlsZUJ1aWxkZXJDdXN0b206OmFwcGx5VmFsdWUjI1NldHRlck5hbWUoU3R5bGVSZXNvbHZlciYg
c3R5bGVSZXNvbHZlciwgQ1NTVmFsdWUmIHZhbHVlKSBcCit7IFwKKyAgICBBcHBseVByb3BlcnR5
QXV0bzxULCAmUmVuZGVyU3R5bGU6OkdldHRlck5hbWUsICZSZW5kZXJTdHlsZTo6c2V0IyNTZXR0
ZXJOYW1lLCAmUmVuZGVyU3R5bGU6OmhhcyMjQXV0b0lkZW50aXR5IyNTZXR0ZXJOYW1lLCAmUmVu
ZGVyU3R5bGU6OnNldEhhcyMjQXV0b0lkZW50aXR5IyNTZXR0ZXJOYW1lLCBTdHlsZUJ1aWxkZXJD
b252ZXJ0ZXI6OmNvbnZlcnQjI0NvbnZlcnRlcjxUPiwgQ1NTVmFsdWUjI0F1dG9JZGVudGl0eT46
OmFwcGx5VmFsdWUoc3R5bGVSZXNvbHZlciwgdmFsdWUpOyBcCit9CisKK0RFRklORV9BVVRPX1BS
T1BFUlRZX0hBTkRMRVIoQ29sdW1uQ291bnQsIGNvbHVtbkNvdW50LCB1bnNpZ25lZCBzaG9ydCwg
RGVmYXVsdCwgQXV0bykKK0RFRklORV9BVVRPX1BST1BFUlRZX0hBTkRMRVIoQ29sdW1uR2FwLCBj
b2x1bW5HYXAsIGZsb2F0LCBDb21wdXRlZExlbmd0aCwgTm9ybWFsKQorREVGSU5FX0FVVE9fUFJP
UEVSVFlfSEFORExFUihDb2x1bW5XaWR0aCwgY29sdW1uV2lkdGgsIGZsb2F0LCBDb21wdXRlZExl
bmd0aCwgQXV0bykKK0RFRklORV9BVVRPX1BST1BFUlRZX0hBTkRMRVIoT3JwaGFucywgb3JwaGFu
cywgc2hvcnQsIERlZmF1bHQsIEF1dG8pCitERUZJTkVfQVVUT19QUk9QRVJUWV9IQU5ETEVSKFdp
ZG93cywgd2lkb3dzLCBzaG9ydCwgRGVmYXVsdCwgQXV0bykKK0RFRklORV9BVVRPX1BST1BFUlRZ
X0hBTkRMRVIoWkluZGV4LCB6SW5kZXgsIGludCwgRGVmYXVsdCwgQXV0bykKKwogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gU3R5bGVCdWlsZGVyQ3VzdG9tX2gK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>243619</attachid>
            <date>2014-12-21 21:40:20 -0800</date>
            <delta_ts>2014-12-22 02:39:01 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-139858-20141221214020.patch</filename>
            <type>text/plain</type>
            <size>21557</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc3NjI2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWRhMGRhOWYxY2JmMzM5
ZWFiN2QzZDEwYWUyZGFjMWU5OWZkYTlmMy4uYTRjYjM2NWQ2MzJhNGM1MGUyNzI5ZTczOWI2MjUw
NzFlYjI5NzU0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDE0LTEyLTIxICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgTW92ZSAiQXV0byIgQ1NTIHBy
b3BlcnRpZXMgdG8gdGhlIG5ldyBTdHlsZUJ1aWxkZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzOTg1OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIE1vdmUgIkF1dG8iIENTUyBwcm9wZXJ0aWVzIGZyb20g
RGVwcmVjYXRlZFN0eWxlQnVpbGRlciB0byB0aGUgbmV3CisgICAgICAgIFN0eWxlQnVpbGRlciwg
YnkgYWRkaW5nIHN1cHBvcnQgaW4gdGhlIGdlbmVyYXRvciBmb3IgdXNpbmcgaGFzQXV0b1hYWCgp
CisgICAgICAgIC8gc2V0SGFzQXV0b1hYWCgpIG1ldGhvZHMgb24gUmVuZGVyU3R5bGUuCisKKyAg
ICAgICAgTm8gbmV3IHRlc3RzLCBubyB3ZWItZXhwb3NlZCBiZWhhdmlvciBjaGFuZ2UuCisKKyAg
ICAgICAgKiBjc3MvQ1NTUHJvcGVydHlOYW1lcy5pbjoKKyAgICAgICAgKiBjc3MvRGVwcmVjYXRl
ZFN0eWxlQnVpbGRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEZXByZWNhdGVkU3R5bGVCdWls
ZGVyOjpEZXByZWNhdGVkU3R5bGVCdWlsZGVyKToKKyAgICAgICAgKFdlYkNvcmU6OkFwcGx5UHJv
cGVydHlBdXRvOjpzZXRWYWx1ZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpBcHBseVBy
b3BlcnR5QXV0bzo6dmFsdWUpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6QXBwbHlQcm9w
ZXJ0eUF1dG86Omhhc0F1dG8pOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6QXBwbHlQcm9w
ZXJ0eUF1dG86OnNldEF1dG8pOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6QXBwbHlQcm9w
ZXJ0eUF1dG86OmFwcGx5SW5oZXJpdFZhbHVlKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6
OkFwcGx5UHJvcGVydHlBdXRvOjphcHBseUluaXRpYWxWYWx1ZSk6IERlbGV0ZWQuCisgICAgICAg
IChXZWJDb3JlOjpBcHBseVByb3BlcnR5QXV0bzo6YXBwbHlWYWx1ZSk6IERlbGV0ZWQuCisgICAg
ICAgIChXZWJDb3JlOjpBcHBseVByb3BlcnR5QXV0bzo6Y3JlYXRlSGFuZGxlcik6IERlbGV0ZWQu
CisgICAgICAgICogY3NzL1N0eWxlQnVpbGRlckN1c3RvbS5oOgorICAgICAgICAoV2ViQ29yZTo6
U3R5bGVCdWlsZGVyQ3VzdG9tOjphcHBseUluaXRpYWxDb2x1bW5HYXApOgorICAgICAgICAoV2Vi
Q29yZTo6U3R5bGVCdWlsZGVyQ3VzdG9tOjphcHBseUluaGVyaXRDb2x1bW5HYXApOgorICAgICAg
ICAoV2ViQ29yZTo6U3R5bGVCdWlsZGVyQ3VzdG9tOjphcHBseVZhbHVlQ29sdW1uR2FwKToKKyAg
ICAgICAgKiBjc3MvbWFrZXByb3AucGw6CisgICAgICAgIChnZXROYW1lRm9yTWV0aG9kcyk6Cisg
ICAgICAgIChnZXRBdXRvR2V0dGVyKToKKyAgICAgICAgKGdldEF1dG9TZXR0ZXIpOgorICAgICAg
ICAoZ2VuZXJhdGVJbml0aWFsVmFsdWVTZXR0ZXIpOgorICAgICAgICAoZ2VuZXJhdGVJbmhlcml0
VmFsdWVTZXR0ZXIpOgorICAgICAgICAoZ2VuZXJhdGVWYWx1ZVNldHRlcik6CisKIDIwMTQtMTIt
MjAgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBHZXQgcmlkIG9m
IGVycm9yLXByb25lIFJlbGVhc2VQYXJzZWRDYWxjVmFsdWVDb25kaXRpb24gYXJndW1lbnQgaW4g
Q1NTUGFyc2VyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHlOYW1l
cy5pbiBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eU5hbWVzLmluCmluZGV4IDVmYjFh
OGJiMmQ5YmFiNGM5NDg5NzgyOWIzMjMyZWM3YWYwYTYwMjUuLmFlZjJhZjUxZjMxZjBlYWYzMzBl
NTZkZmJhZDcyMDhkNjk2ZTkyZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQ
cm9wZXJ0eU5hbWVzLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eU5hbWVz
LmluCkBAIC01Niw2ICs1NiwxMCBAQAogLy8gSWYgc3BlY2lhbCBoYW5kbGluZyBpcyBhbHNvIG5l
ZWRlZCB0byBhcHBseSBpbmhlcml0IG9yIGluaXRpYWwgdmFsdWUsIHVzZQogLy8gQ3VzdG9tPUFs
bC4gQWx0ZXJuYXRpdmVseSwgc2V2ZXJhbCAnfCctc2VwYXJhdGVkIG9wdGlvbnMgY2FuIGJlIHBh
c3NlZDoKIC8vIGUuZy4gJ0N1c3RvbT1Jbmhlcml0fFZhbHVlIi4KKy8vCisvLyAqIEF1dG9GdW5j
dGlvbnM6CisvLyBJbmRpY2F0ZXMgdGhhdCB0aGlzIENTUyBwcm9wZXJ0eSByZXF1aXJlcyBoYW5k
bGluZyBvZiAiYXV0byIgYW5kIGhhcworLy8gY29ycmVzcG9uZGluZyBoYXNBdXRvWFhYKCkgLyBz
ZXRIYXNBdXRvWFhYKCkgbWV0aG9kcyBvbiBSZW5kZXJTdHlsZS4KIAogCiAvLyBoaWdoLXByaW9y
aXR5IHByb3BlcnR5IG5hbWVzIGhhdmUgdG8gYmUgbGlzdGVkIGZpcnN0LCB0byBzaW1wbGlmeSB0
aGUgY2hlY2sKQEAgLTIwMyw3ICsyMDcsNyBAQCBvcGFjaXR5IFtUeXBlTmFtZT1mbG9hdF0KIC8v
IEhvbm9yIC13ZWJraXQtb3BhY2l0eSBhcyBhIHN5bm9ueW0gZm9yIG9wYWNpdHkuIFRoaXMgd2Fz
IHRoZSBvbmx5IHN5bnRheCB0aGF0IHdvcmtlZCBpbiBTYWZhcmkgMS4xLAogLy8gYW5kIG1heSBi
ZSBpbiB1c2Ugb24gc29tZSB3ZWJzaXRlcyBhbmQgd2lkZ2V0cy4KIC13ZWJraXQtb3BhY2l0eSA9
IG9wYWNpdHkKLW9ycGhhbnMgW0luaGVyaXRlZCwgTGVnYWN5U3R5bGVCdWlsZGVyXQorb3JwaGFu
cyBbSW5oZXJpdGVkLCBUeXBlTmFtZT1zaG9ydCwgQXV0b0Z1bmN0aW9uc10KIG91dGxpbmUgW0xl
Z2FjeVN0eWxlQnVpbGRlcl0KIG91dGxpbmUtY29sb3IgW0xlZ2FjeVN0eWxlQnVpbGRlcl0KIG91
dGxpbmUtb2Zmc2V0IFtDb252ZXJ0ZXI9Q29tcHV0ZWRMZW5ndGg8aW50Pl0KQEAgLTI2NywxMyAr
MjcxLDEzIEBAIHVuaWNvZGUtcmFuZ2UgW0xlZ2FjeVN0eWxlQnVpbGRlcl0KIHZlcnRpY2FsLWFs
aWduIFtDdXN0b209VmFsdWVdCiB2aXNpYmlsaXR5IFtJbmhlcml0ZWRdCiB3aGl0ZS1zcGFjZSBb
SW5oZXJpdGVkXQotd2lkb3dzIFtJbmhlcml0ZWQsIExlZ2FjeVN0eWxlQnVpbGRlcl0KK3dpZG93
cyBbSW5oZXJpdGVkLCBUeXBlTmFtZT1zaG9ydCwgQXV0b0Z1bmN0aW9uc10KIHdpZHRoIFtJbml0
aWFsPWluaXRpYWxTaXplLCBDb252ZXJ0ZXI9TGVuZ3RoU2l6aW5nXQogd29yZC1icmVhayBbSW5o
ZXJpdGVkXQogLWVwdWItd29yZC1icmVhayA9IHdvcmQtYnJlYWsKIHdvcmQtc3BhY2luZyBbSW5o
ZXJpdGVkLCBDdXN0b209VmFsdWVdCiB3b3JkLXdyYXAgW0luaGVyaXRlZD1FT3ZlcmZsb3dXcmFw
LCBOYW1lRm9yTWV0aG9kcz1PdmVyZmxvd1dyYXBdCi16LWluZGV4IFtMZWdhY3lTdHlsZUJ1aWxk
ZXJdCit6LWluZGV4IFtUeXBlTmFtZT1pbnQsIEF1dG9GdW5jdGlvbnNdCiBhbHQgW0xlZ2FjeVN0
eWxlQnVpbGRlcl0KIC13ZWJraXQtYWx0ID0gYWx0CiAtd2Via2l0LWFuaW1hdGlvbiBbTGVnYWN5
U3R5bGVCdWlsZGVyXQpAQCAtMzM3LDExICszNDEsMTEgQEAgYWx0IFtMZWdhY3lTdHlsZUJ1aWxk
ZXJdCiAtd2Via2l0LWNvbHVtbi1icmVhay1hZnRlciBbVHlwZU5hbWU9RVBhZ2VCcmVhaywgSW5p
dGlhbD1pbml0aWFsUGFnZUJyZWFrXQogLXdlYmtpdC1jb2x1bW4tYnJlYWstYmVmb3JlIFtUeXBl
TmFtZT1FUGFnZUJyZWFrLCBJbml0aWFsPWluaXRpYWxQYWdlQnJlYWtdCiAtd2Via2l0LWNvbHVt
bi1icmVhay1pbnNpZGUgW1R5cGVOYW1lPUVQYWdlQnJlYWssIEluaXRpYWw9aW5pdGlhbFBhZ2VC
cmVha10KLWNvbHVtbi1jb3VudCBbTGVnYWN5U3R5bGVCdWlsZGVyXQorY29sdW1uLWNvdW50IFtU
eXBlTmFtZT11bnNpZ25lZCBzaG9ydCwgQXV0b0Z1bmN0aW9uc10KIC13ZWJraXQtY29sdW1uLWNv
dW50ID0gY29sdW1uLWNvdW50CiBjb2x1bW4tZmlsbCBbVHlwZU5hbWU9Q29sdW1uRmlsbF0KIC13
ZWJraXQtY29sdW1uLWZpbGwgPSBjb2x1bW4tZmlsbAotY29sdW1uLWdhcCBbTGVnYWN5U3R5bGVC
dWlsZGVyXQorY29sdW1uLWdhcCBbQ3VzdG9tPUFsbF0KIC13ZWJraXQtY29sdW1uLWdhcCA9IGNv
bHVtbi1nYXAKIGNvbHVtbi1wcm9ncmVzc2lvbiBbVHlwZU5hbWU9Q29sdW1uUHJvZ3Jlc3Npb25d
CiAtd2Via2l0LWNvbHVtbi1wcm9ncmVzc2lvbiA9IGNvbHVtbi1wcm9ncmVzc2lvbgpAQCAtMzU1
LDcgKzM1OSw3IEBAIGNvbHVtbi1ydWxlLXdpZHRoIFtDb252ZXJ0ZXI9TGluZVdpZHRoPHVuc2ln
bmVkIHNob3J0Pl0KIC13ZWJraXQtY29sdW1uLXJ1bGUtd2lkdGggPSBjb2x1bW4tcnVsZS13aWR0
aAogY29sdW1uLXNwYW4gW1R5cGVOYW1lPUNvbHVtblNwYW5dCiAtd2Via2l0LWNvbHVtbi1zcGFu
ID0gY29sdW1uLXNwYW4KLWNvbHVtbi13aWR0aCBbTGVnYWN5U3R5bGVCdWlsZGVyXQorY29sdW1u
LXdpZHRoIFtUeXBlTmFtZT1mbG9hdCwgQXV0b0Z1bmN0aW9ucywgQ29udmVydGVyPUNvbXB1dGVk
TGVuZ3RoPGZsb2F0Pl0KIC13ZWJraXQtY29sdW1uLXdpZHRoID0gY29sdW1uLXdpZHRoCiBjb2x1
bW5zIFtMZWdhY3lTdHlsZUJ1aWxkZXJdCiAtd2Via2l0LWNvbHVtbnMgPSBjb2x1bW5zCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvRGVwcmVjYXRlZFN0eWxlQnVpbGRlci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvRGVwcmVjYXRlZFN0eWxlQnVpbGRlci5jcHAKaW5kZXggODE2NmMw
MGYwODIyMTU1YmRmMzY1NjU1NDYwNjc4Yzc5YWJkYTA5ZS4uOTQxYzFkOTJkNTEzNGJlYTlkM2Ey
ZDJjNDc4NTY2NTZiMmRlYmY1MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0RlcHJl
Y2F0ZWRTdHlsZUJ1aWxkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9EZXByZWNhdGVk
U3R5bGVCdWlsZGVyLmNwcApAQCAtNDEsNDIgKzQxLDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
CiB1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwogCi1lbnVtIEF1dG9WYWx1ZVR5cGUge051bWJl
ciA9IDAsIENvbXB1dGVMZW5ndGh9OwotdGVtcGxhdGUgPHR5cGVuYW1lIFQsIFQgKFJlbmRlclN0
eWxlOjoqZ2V0dGVyRnVuY3Rpb24pKCkgY29uc3QsIHZvaWQgKFJlbmRlclN0eWxlOjoqc2V0dGVy
RnVuY3Rpb24pKFQpLCBib29sIChSZW5kZXJTdHlsZTo6Kmhhc0F1dG9GdW5jdGlvbikoKSBjb25z
dCwgdm9pZCAoUmVuZGVyU3R5bGU6OipzZXRBdXRvRnVuY3Rpb24pKCksIEF1dG9WYWx1ZVR5cGUg
dmFsdWVUeXBlID0gTnVtYmVyLCBpbnQgYXV0b0lkZW50aXR5ID0gQ1NTVmFsdWVBdXRvPgotY2xh
c3MgQXBwbHlQcm9wZXJ0eUF1dG8gewotcHVibGljOgotICAgIHN0YXRpYyB2b2lkIHNldFZhbHVl
KFJlbmRlclN0eWxlKiBzdHlsZSwgVCB2YWx1ZSkgeyAoc3R5bGUtPipzZXR0ZXJGdW5jdGlvbiko
dmFsdWUpOyB9Ci0gICAgc3RhdGljIFQgdmFsdWUoUmVuZGVyU3R5bGUqIHN0eWxlKSB7IHJldHVy
biAoc3R5bGUtPipnZXR0ZXJGdW5jdGlvbikoKTsgfQotICAgIHN0YXRpYyBib29sIGhhc0F1dG8o
UmVuZGVyU3R5bGUqIHN0eWxlKSB7IHJldHVybiAoc3R5bGUtPipoYXNBdXRvRnVuY3Rpb24pKCk7
IH0KLSAgICBzdGF0aWMgdm9pZCBzZXRBdXRvKFJlbmRlclN0eWxlKiBzdHlsZSkgeyAoc3R5bGUt
PipzZXRBdXRvRnVuY3Rpb24pKCk7IH0KLQotICAgIHN0YXRpYyB2b2lkIGFwcGx5SW5oZXJpdFZh
bHVlKENTU1Byb3BlcnR5SUQsIFN0eWxlUmVzb2x2ZXIqIHN0eWxlUmVzb2x2ZXIpCi0gICAgewot
ICAgICAgICBpZiAoaGFzQXV0byhzdHlsZVJlc29sdmVyLT5wYXJlbnRTdHlsZSgpKSkKLSAgICAg
ICAgICAgIHNldEF1dG8oc3R5bGVSZXNvbHZlci0+c3R5bGUoKSk7Ci0gICAgICAgIGVsc2UKLSAg
ICAgICAgICAgIHNldFZhbHVlKHN0eWxlUmVzb2x2ZXItPnN0eWxlKCksIHZhbHVlKHN0eWxlUmVz
b2x2ZXItPnBhcmVudFN0eWxlKCkpKTsKLSAgICB9Ci0KLSAgICBzdGF0aWMgdm9pZCBhcHBseUlu
aXRpYWxWYWx1ZShDU1NQcm9wZXJ0eUlELCBTdHlsZVJlc29sdmVyKiBzdHlsZVJlc29sdmVyKSB7
IHNldEF1dG8oc3R5bGVSZXNvbHZlci0+c3R5bGUoKSk7IH0KLQotICAgIHN0YXRpYyB2b2lkIGFw
cGx5VmFsdWUoQ1NTUHJvcGVydHlJRCwgU3R5bGVSZXNvbHZlciogc3R5bGVSZXNvbHZlciwgQ1NT
VmFsdWUqIHZhbHVlKQotICAgIHsKLSAgICAgICAgaWYgKCFpczxDU1NQcmltaXRpdmVWYWx1ZT4o
KnZhbHVlKSkKLSAgICAgICAgICAgIHJldHVybjsKLQotICAgICAgICBDU1NQcmltaXRpdmVWYWx1
ZSYgcHJpbWl0aXZlVmFsdWUgPSBkb3duY2FzdDxDU1NQcmltaXRpdmVWYWx1ZT4oKnZhbHVlKTsK
LSAgICAgICAgaWYgKHByaW1pdGl2ZVZhbHVlLmdldFZhbHVlSUQoKSA9PSBhdXRvSWRlbnRpdHkp
Ci0gICAgICAgICAgICBzZXRBdXRvKHN0eWxlUmVzb2x2ZXItPnN0eWxlKCkpOwotICAgICAgICBl
bHNlIGlmICh2YWx1ZVR5cGUgPT0gTnVtYmVyKQotICAgICAgICAgICAgc2V0VmFsdWUoc3R5bGVS
ZXNvbHZlci0+c3R5bGUoKSwgcHJpbWl0aXZlVmFsdWUpOwotICAgICAgICBlbHNlIGlmICh2YWx1
ZVR5cGUgPT0gQ29tcHV0ZUxlbmd0aCkKLSAgICAgICAgICAgIHNldFZhbHVlKHN0eWxlUmVzb2x2
ZXItPnN0eWxlKCksIHByaW1pdGl2ZVZhbHVlLmNvbXB1dGVMZW5ndGg8VD4oc3R5bGVSZXNvbHZl
ci0+c3RhdGUoKS5jc3NUb0xlbmd0aENvbnZlcnNpb25EYXRhKCkpKTsKLSAgICB9Ci0KLSAgICBz
dGF0aWMgUHJvcGVydHlIYW5kbGVyIGNyZWF0ZUhhbmRsZXIoKSB7IHJldHVybiBQcm9wZXJ0eUhh
bmRsZXIoJmFwcGx5SW5oZXJpdFZhbHVlLCAmYXBwbHlJbml0aWFsVmFsdWUsICZhcHBseVZhbHVl
KTsgfQotfTsKLQogZW51bSBDb2xvckluaGVyaXQge05vSW5oZXJpdEZyb21QYXJlbnQgPSAwLCBJ
bmhlcml0RnJvbVBhcmVudH07CiBDb2xvciBkZWZhdWx0SW5pdGlhbENvbG9yKCk7CiBDb2xvciBk
ZWZhdWx0SW5pdGlhbENvbG9yKCkgeyByZXR1cm4gQ29sb3IoKTsgfQpAQCAtNTg2LDcgKzU1MCw2
IEBAIERlcHJlY2F0ZWRTdHlsZUJ1aWxkZXI6OkRlcHJlY2F0ZWRTdHlsZUJ1aWxkZXIoKQogICAg
IHNldFByb3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0eUZvbnRTaXplLCBBcHBseVByb3BlcnR5Rm9u
dFNpemU6OmNyZWF0ZUhhbmRsZXIoKSk7CiAgICAgc2V0UHJvcGVydHlIYW5kbGVyKENTU1Byb3Bl
cnR5Rm9udFN0eWxlLCBBcHBseVByb3BlcnR5Rm9udDxGb250SXRhbGljLCAmRm9udERlc2NyaXB0
aW9uOjppdGFsaWMsICZGb250RGVzY3JpcHRpb246OnNldEl0YWxpYywgRm9udEl0YWxpY09mZj46
OmNyZWF0ZUhhbmRsZXIoKSk7CiAgICAgc2V0UHJvcGVydHlIYW5kbGVyKENTU1Byb3BlcnR5Rm9u
dFZhcmlhbnQsIEFwcGx5UHJvcGVydHlGb250PEZvbnRTbWFsbENhcHMsICZGb250RGVzY3JpcHRp
b246OnNtYWxsQ2FwcywgJkZvbnREZXNjcmlwdGlvbjo6c2V0U21hbGxDYXBzLCBGb250U21hbGxD
YXBzT2ZmPjo6Y3JlYXRlSGFuZGxlcigpKTsKLSAgICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJv
cGVydHlPcnBoYW5zLCBBcHBseVByb3BlcnR5QXV0bzxzaG9ydCwgJlJlbmRlclN0eWxlOjpvcnBo
YW5zLCAmUmVuZGVyU3R5bGU6OnNldE9ycGhhbnMsICZSZW5kZXJTdHlsZTo6aGFzQXV0b09ycGhh
bnMsICZSZW5kZXJTdHlsZTo6c2V0SGFzQXV0b09ycGhhbnM+OjpjcmVhdGVIYW5kbGVyKCkpOwog
ICAgIHNldFByb3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0eU91dGxpbmVDb2xvciwgQXBwbHlQcm9w
ZXJ0eUNvbG9yPE5vSW5oZXJpdEZyb21QYXJlbnQsICZSZW5kZXJTdHlsZTo6b3V0bGluZUNvbG9y
LCAmUmVuZGVyU3R5bGU6OnNldE91dGxpbmVDb2xvciwgJlJlbmRlclN0eWxlOjpzZXRWaXNpdGVk
TGlua091dGxpbmVDb2xvciwgJlJlbmRlclN0eWxlOjpjb2xvcj46OmNyZWF0ZUhhbmRsZXIoKSk7
CiAgICAgc2V0UHJvcGVydHlIYW5kbGVyKENTU1Byb3BlcnR5V2Via2l0VGV4dERlY29yYXRpb25D
b2xvciwgQXBwbHlQcm9wZXJ0eUNvbG9yPE5vSW5oZXJpdEZyb21QYXJlbnQsICZSZW5kZXJTdHls
ZTo6dGV4dERlY29yYXRpb25Db2xvciwgJlJlbmRlclN0eWxlOjpzZXRUZXh0RGVjb3JhdGlvbkNv
bG9yLCAmUmVuZGVyU3R5bGU6OnNldFZpc2l0ZWRMaW5rVGV4dERlY29yYXRpb25Db2xvciwgJlJl
bmRlclN0eWxlOjpjb2xvcj46OmNyZWF0ZUhhbmRsZXIoKSk7CiAgICAgc2V0UHJvcGVydHlIYW5k
bGVyKENTU1Byb3BlcnR5VGV4dFJlbmRlcmluZywgQXBwbHlQcm9wZXJ0eUZvbnQ8VGV4dFJlbmRl
cmluZ01vZGUsICZGb250RGVzY3JpcHRpb246OnRleHRSZW5kZXJpbmdNb2RlLCAmRm9udERlc2Ny
aXB0aW9uOjpzZXRUZXh0UmVuZGVyaW5nTW9kZSwgQXV0b1RleHRSZW5kZXJpbmc+OjpjcmVhdGVI
YW5kbGVyKCkpOwpAQCAtNjEyLDEwICs1NzUsNyBAQCBEZXByZWNhdGVkU3R5bGVCdWlsZGVyOjpE
ZXByZWNhdGVkU3R5bGVCdWlsZGVyKCkKICAgICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVy
dHlXZWJraXRCYWNrZ3JvdW5kQ29tcG9zaXRlLCBBcHBseVByb3BlcnR5RmlsbExheWVyPENvbXBv
c2l0ZU9wZXJhdG9yLCBDU1NQcm9wZXJ0eVdlYmtpdEJhY2tncm91bmRDb21wb3NpdGUsIEJhY2tn
cm91bmRGaWxsTGF5ZXIsICZSZW5kZXJTdHlsZTo6YWNjZXNzQmFja2dyb3VuZExheWVycywgJlJl
bmRlclN0eWxlOjpiYWNrZ3JvdW5kTGF5ZXJzLCAmRmlsbExheWVyOjppc0NvbXBvc2l0ZVNldCwg
JkZpbGxMYXllcjo6Y29tcG9zaXRlLCAmRmlsbExheWVyOjpzZXRDb21wb3NpdGUsICZGaWxsTGF5
ZXI6OmNsZWFyQ29tcG9zaXRlLCAmRmlsbExheWVyOjppbml0aWFsRmlsbENvbXBvc2l0ZSwgJkNT
U1RvU3R5bGVNYXA6Om1hcEZpbGxDb21wb3NpdGU+OjpjcmVhdGVIYW5kbGVyKCkpOwogICAgIHNl
dFByb3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0eVdlYmtpdEJhY2tncm91bmRPcmlnaW4sIENTU1By
b3BlcnR5QmFja2dyb3VuZE9yaWdpbik7CiAgICAgc2V0UHJvcGVydHlIYW5kbGVyKENTU1Byb3Bl
cnR5V2Via2l0QmFja2dyb3VuZFNpemUsIENTU1Byb3BlcnR5QmFja2dyb3VuZFNpemUpOwotICAg
IHNldFByb3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0eUNvbHVtbkNvdW50LCBBcHBseVByb3BlcnR5
QXV0bzx1bnNpZ25lZCBzaG9ydCwgJlJlbmRlclN0eWxlOjpjb2x1bW5Db3VudCwgJlJlbmRlclN0
eWxlOjpzZXRDb2x1bW5Db3VudCwgJlJlbmRlclN0eWxlOjpoYXNBdXRvQ29sdW1uQ291bnQsICZS
ZW5kZXJTdHlsZTo6c2V0SGFzQXV0b0NvbHVtbkNvdW50Pjo6Y3JlYXRlSGFuZGxlcigpKTsKLSAg
ICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVydHlDb2x1bW5HYXAsIEFwcGx5UHJvcGVydHlB
dXRvPGZsb2F0LCAmUmVuZGVyU3R5bGU6OmNvbHVtbkdhcCwgJlJlbmRlclN0eWxlOjpzZXRDb2x1
bW5HYXAsICZSZW5kZXJTdHlsZTo6aGFzTm9ybWFsQ29sdW1uR2FwLCAmUmVuZGVyU3R5bGU6OnNl
dEhhc05vcm1hbENvbHVtbkdhcCwgQ29tcHV0ZUxlbmd0aCwgQ1NTVmFsdWVOb3JtYWw+OjpjcmVh
dGVIYW5kbGVyKCkpOwogICAgIHNldFByb3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0eUNvbHVtblJ1
bGVDb2xvciwgQXBwbHlQcm9wZXJ0eUNvbG9yPE5vSW5oZXJpdEZyb21QYXJlbnQsICZSZW5kZXJT
dHlsZTo6Y29sdW1uUnVsZUNvbG9yLCAmUmVuZGVyU3R5bGU6OnNldENvbHVtblJ1bGVDb2xvciwg
JlJlbmRlclN0eWxlOjpzZXRWaXNpdGVkTGlua0NvbHVtblJ1bGVDb2xvciwgJlJlbmRlclN0eWxl
Ojpjb2xvcj46OmNyZWF0ZUhhbmRsZXIoKSk7Ci0gICAgc2V0UHJvcGVydHlIYW5kbGVyKENTU1By
b3BlcnR5Q29sdW1uV2lkdGgsIEFwcGx5UHJvcGVydHlBdXRvPGZsb2F0LCAmUmVuZGVyU3R5bGU6
OmNvbHVtbldpZHRoLCAmUmVuZGVyU3R5bGU6OnNldENvbHVtbldpZHRoLCAmUmVuZGVyU3R5bGU6
Omhhc0F1dG9Db2x1bW5XaWR0aCwgJlJlbmRlclN0eWxlOjpzZXRIYXNBdXRvQ29sdW1uV2lkdGgs
IENvbXB1dGVMZW5ndGg+OjpjcmVhdGVIYW5kbGVyKCkpOwogICAgIHNldFByb3BlcnR5SGFuZGxl
cihDU1NQcm9wZXJ0eVdlYmtpdEZvbnRLZXJuaW5nLCBBcHBseVByb3BlcnR5Rm9udDxGb250RGVz
Y3JpcHRpb246Oktlcm5pbmcsICZGb250RGVzY3JpcHRpb246Omtlcm5pbmcsICZGb250RGVzY3Jp
cHRpb246OnNldEtlcm5pbmcsIEZvbnREZXNjcmlwdGlvbjo6QXV0b0tlcm5pbmc+OjpjcmVhdGVI
YW5kbGVyKCkpOwogICAgIHNldFByb3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0eVdlYmtpdEZvbnRT
bW9vdGhpbmcsIEFwcGx5UHJvcGVydHlGb250PEZvbnRTbW9vdGhpbmdNb2RlLCAmRm9udERlc2Ny
aXB0aW9uOjpmb250U21vb3RoaW5nLCAmRm9udERlc2NyaXB0aW9uOjpzZXRGb250U21vb3RoaW5n
LCBBdXRvU21vb3RoaW5nPjo6Y3JlYXRlSGFuZGxlcigpKTsKICAgICBzZXRQcm9wZXJ0eUhhbmRs
ZXIoQ1NTUHJvcGVydHlXZWJraXRGb250VmFyaWFudExpZ2F0dXJlcywgQXBwbHlQcm9wZXJ0eUZv
bnRWYXJpYW50TGlnYXR1cmVzOjpjcmVhdGVIYW5kbGVyKCkpOwpAQCAtNjM1LDEwICs1OTUsNiBA
QCBEZXByZWNhdGVkU3R5bGVCdWlsZGVyOjpEZXByZWNhdGVkU3R5bGVCdWlsZGVyKCkKICAgICBz
ZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVydHlXZWJraXRUcmFuc2l0aW9uRHVyYXRpb24sIEFw
cGx5UHJvcGVydHlBbmltYXRpb248ZG91YmxlLCAmQW5pbWF0aW9uOjpkdXJhdGlvbiwgJkFuaW1h
dGlvbjo6c2V0RHVyYXRpb24sICZBbmltYXRpb246OmlzRHVyYXRpb25TZXQsICZBbmltYXRpb246
OmNsZWFyRHVyYXRpb24sICZBbmltYXRpb246OmluaXRpYWxBbmltYXRpb25EdXJhdGlvbiwgJkNT
U1RvU3R5bGVNYXA6Om1hcEFuaW1hdGlvbkR1cmF0aW9uLCAmUmVuZGVyU3R5bGU6OmFjY2Vzc1Ry
YW5zaXRpb25zLCAmUmVuZGVyU3R5bGU6OnRyYW5zaXRpb25zPjo6Y3JlYXRlSGFuZGxlcigpKTsK
ICAgICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVydHlXZWJraXRUcmFuc2l0aW9uUHJvcGVy
dHksIEFwcGx5UHJvcGVydHlBbmltYXRpb248Q1NTUHJvcGVydHlJRCwgJkFuaW1hdGlvbjo6cHJv
cGVydHksICZBbmltYXRpb246OnNldFByb3BlcnR5LCAmQW5pbWF0aW9uOjppc1Byb3BlcnR5U2V0
LCAmQW5pbWF0aW9uOjpjbGVhclByb3BlcnR5LCAmQW5pbWF0aW9uOjppbml0aWFsQW5pbWF0aW9u
UHJvcGVydHksICZDU1NUb1N0eWxlTWFwOjptYXBBbmltYXRpb25Qcm9wZXJ0eSwgJlJlbmRlclN0
eWxlOjphY2Nlc3NUcmFuc2l0aW9ucywgJlJlbmRlclN0eWxlOjp0cmFuc2l0aW9ucz46OmNyZWF0
ZUhhbmRsZXIoKSk7CiAgICAgc2V0UHJvcGVydHlIYW5kbGVyKENTU1Byb3BlcnR5V2Via2l0VHJh
bnNpdGlvblRpbWluZ0Z1bmN0aW9uLCBBcHBseVByb3BlcnR5QW5pbWF0aW9uPGNvbnN0IFBhc3NS
ZWZQdHI8VGltaW5nRnVuY3Rpb24+LCAmQW5pbWF0aW9uOjp0aW1pbmdGdW5jdGlvbiwgJkFuaW1h
dGlvbjo6c2V0VGltaW5nRnVuY3Rpb24sICZBbmltYXRpb246OmlzVGltaW5nRnVuY3Rpb25TZXQs
ICZBbmltYXRpb246OmNsZWFyVGltaW5nRnVuY3Rpb24sICZBbmltYXRpb246OmluaXRpYWxBbmlt
YXRpb25UaW1pbmdGdW5jdGlvbiwgJkNTU1RvU3R5bGVNYXA6Om1hcEFuaW1hdGlvblRpbWluZ0Z1
bmN0aW9uLCAmUmVuZGVyU3R5bGU6OmFjY2Vzc1RyYW5zaXRpb25zLCAmUmVuZGVyU3R5bGU6OnRy
YW5zaXRpb25zPjo6Y3JlYXRlSGFuZGxlcigpKTsKLSAgICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NT
UHJvcGVydHlXaWRvd3MsIEFwcGx5UHJvcGVydHlBdXRvPHNob3J0LCAmUmVuZGVyU3R5bGU6Ondp
ZG93cywgJlJlbmRlclN0eWxlOjpzZXRXaWRvd3MsICZSZW5kZXJTdHlsZTo6aGFzQXV0b1dpZG93
cywgJlJlbmRlclN0eWxlOjpzZXRIYXNBdXRvV2lkb3dzPjo6Y3JlYXRlSGFuZGxlcigpKTsKLQot
ICAgIHNldFByb3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0eVpJbmRleCwgQXBwbHlQcm9wZXJ0eUF1
dG88aW50LCAmUmVuZGVyU3R5bGU6OnpJbmRleCwgJlJlbmRlclN0eWxlOjpzZXRaSW5kZXgsICZS
ZW5kZXJTdHlsZTo6aGFzQXV0b1pJbmRleCwgJlJlbmRlclN0eWxlOjpzZXRIYXNBdXRvWkluZGV4
Pjo6Y3JlYXRlSGFuZGxlcigpKTsKIH0KIAotCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvU3R5bGVCdWlsZGVyQ3VzdG9tLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVCdWls
ZGVyQ3VzdG9tLmgKaW5kZXggZTI2OWFmMjA5NDllODk0YTg0NTQ5NGFlNGJhOGViMzdhNmNhNjA0
NC4uNzIwOTYzOGM1YjVkNmE3MThmMWU1MDMxNDI2ZDBlNTQ1MDgyNWYyMCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvY3NzL1N0eWxlQnVpbGRlckN1c3RvbS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9TdHlsZUJ1aWxkZXJDdXN0b20uaApAQCAtMzUsNiArMzUsNyBAQAogI2luY2x1ZGUg
IkxvY2FsZVRvU2NyaXB0TWFwcGluZy5oIgogI2luY2x1ZGUgIlJlY3QuaCIKICNpbmNsdWRlICJT
VkdFbGVtZW50LmgiCisjaW5jbHVkZSAiU3R5bGVCdWlsZGVyQ29udmVydGVyLmgiCiAjaW5jbHVk
ZSAiU3R5bGVGb250U2l6ZUZ1bmN0aW9ucy5oIgogI2luY2x1ZGUgIlN0eWxlUmVzb2x2ZXIuaCIK
IApAQCAtNTUsNiArNTYsNyBAQCBwdWJsaWM6CiAgICAgREVDTEFSRV9QUk9QRVJUWV9DVVNUT01f
SEFORExFUlMoQm9yZGVySW1hZ2VXaWR0aCk7CiAgICAgREVDTEFSRV9QUk9QRVJUWV9DVVNUT01f
SEFORExFUlMoQm94U2hhZG93KTsKICAgICBERUNMQVJFX1BST1BFUlRZX0NVU1RPTV9IQU5ETEVS
UyhDbGlwKTsKKyAgICBERUNMQVJFX1BST1BFUlRZX0NVU1RPTV9IQU5ETEVSUyhDb2x1bW5HYXAp
OwogICAgIERFQ0xBUkVfUFJPUEVSVFlfQ1VTVE9NX0hBTkRMRVJTKENvdW50ZXJJbmNyZW1lbnQp
OwogICAgIERFQ0xBUkVfUFJPUEVSVFlfQ1VTVE9NX0hBTkRMRVJTKENvdW50ZXJSZXNldCk7CiAg
ICAgREVDTEFSRV9QUk9QRVJUWV9DVVNUT01fSEFORExFUlMoQ3Vyc29yKTsKQEAgLTExNzksNiAr
MTE4MSwyNyBAQCBpbmxpbmUgdm9pZCBTdHlsZUJ1aWxkZXJDdXN0b206OmFwcGx5VmFsdWVGb250
V2VpZ2h0KFN0eWxlUmVzb2x2ZXImIHN0eWxlUmVzb2x2ZQogICAgIHN0eWxlUmVzb2x2ZXIuc2V0
Rm9udERlc2NyaXB0aW9uKGZvbnREZXNjcmlwdGlvbik7CiB9CiAKK2lubGluZSB2b2lkIFN0eWxl
QnVpbGRlckN1c3RvbTo6YXBwbHlJbml0aWFsQ29sdW1uR2FwKFN0eWxlUmVzb2x2ZXImIHN0eWxl
UmVzb2x2ZXIpCit7CisgICAgc3R5bGVSZXNvbHZlci5zdHlsZSgpLT5zZXRIYXNOb3JtYWxDb2x1
bW5HYXAoKTsKK30KKworaW5saW5lIHZvaWQgU3R5bGVCdWlsZGVyQ3VzdG9tOjphcHBseUluaGVy
aXRDb2x1bW5HYXAoU3R5bGVSZXNvbHZlciYgc3R5bGVSZXNvbHZlcikKK3sKKyAgICBpZiAoc3R5
bGVSZXNvbHZlci5wYXJlbnRTdHlsZSgpLT5oYXNOb3JtYWxDb2x1bW5HYXAoKSkKKyAgICAgICAg
c3R5bGVSZXNvbHZlci5zdHlsZSgpLT5zZXRIYXNOb3JtYWxDb2x1bW5HYXAoKTsKKyAgICBlbHNl
CisgICAgICAgIHN0eWxlUmVzb2x2ZXIuc3R5bGUoKS0+c2V0Q29sdW1uR2FwKHN0eWxlUmVzb2x2
ZXIucGFyZW50U3R5bGUoKS0+Y29sdW1uR2FwKCkpOworfQorCitpbmxpbmUgdm9pZCBTdHlsZUJ1
aWxkZXJDdXN0b206OmFwcGx5VmFsdWVDb2x1bW5HYXAoU3R5bGVSZXNvbHZlciYgc3R5bGVSZXNv
bHZlciwgQ1NTVmFsdWUmIHZhbHVlKQoreworICAgIGlmIChkb3duY2FzdDxDU1NQcmltaXRpdmVW
YWx1ZT4odmFsdWUpLmdldFZhbHVlSUQoKSA9PSBDU1NWYWx1ZU5vcm1hbCkKKyAgICAgICAgc3R5
bGVSZXNvbHZlci5zdHlsZSgpLT5zZXRIYXNOb3JtYWxDb2x1bW5HYXAoKTsKKyAgICBlbHNlCisg
ICAgICAgIHN0eWxlUmVzb2x2ZXIuc3R5bGUoKS0+c2V0Q29sdW1uR2FwKFN0eWxlQnVpbGRlckNv
bnZlcnRlcjo6Y29udmVydENvbXB1dGVkTGVuZ3RoPGZsb2F0PihzdHlsZVJlc29sdmVyLCB2YWx1
ZSkpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBTdHlsZUJ1aWxk
ZXJDdXN0b21faApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL21ha2Vwcm9wLnBsIGIv
U291cmNlL1dlYkNvcmUvY3NzL21ha2Vwcm9wLnBsCmluZGV4IGViOGM4NTUzNTVjZGY0NTU0ODZl
ZjQ2OGEzMTllZTA2MmNhNjJhYzAuLmIzNzM3Mjc1NjIwZTExYjJmY2VkNmIyYWE4MjRiYTBiODRm
MTdiOTQgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9tYWtlcHJvcC5wbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvbWFrZXByb3AucGwKQEAgLTQzLDcgKzQzLDggQEAgbXkgQG5hbWVz
ID0gKCk7CiBteSAlbmFtZUlzSW5oZXJpdGVkOwogbXkgJXByb3BlcnRpZXNXaXRoU3R5bGVCdWls
ZGVyT3B0aW9uczsKIG15ICVzdHlsZUJ1aWxkZXJPcHRpb25zID0gKAotICBDb252ZXJ0ZXIgPT4g
MSwgIyBEZWZpbmVkIGluIFNvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZUJ1aWxkZXJDb252ZXJ0ZXIu
aAorICBBdXRvRnVuY3Rpb25zID0+IDEsICMgRGVmaW5lZCBpbiBTb3VyY2UvV2ViQ29yZS9jc3Mv
U3R5bGVCdWlsZGVyQ29udmVydGVyLmgKKyAgQ29udmVydGVyID0+IDEsCiAgIEN1c3RvbSA9PiAx
LAogICBHZXR0ZXIgPT4gMSwKICAgSW5pdGlhbCA9PiAxLApAQCAtMzM3LDExICszMzgsMzYgQEAg
c3ViIGdldFNjb3BlRm9yRnVuY3Rpb24gewogICByZXR1cm4gJHByb3BlcnRpZXNXaXRoU3R5bGVC
dWlsZGVyT3B0aW9uc3skbmFtZX17IkN1c3RvbSJ9eyRidWlsZGVyRnVuY3Rpb259ID8gIlN0eWxl
QnVpbGRlckN1c3RvbSIgOiAiU3R5bGVCdWlsZGVyRnVuY3Rpb25zIjsKIH0KIAorc3ViIGdldE5h
bWVGb3JNZXRob2RzIHsKKyAgbXkgJG5hbWUgPSBzaGlmdDsKKworICBteSAkbmFtZUZvck1ldGhv
ZHMgPSAkbmFtZVRvSWR7JG5hbWV9OworICAkbmFtZUZvck1ldGhvZHMgPX4gcy9XZWJraXQvL2c7
CisgIGlmIChleGlzdHMoJHByb3BlcnRpZXNXaXRoU3R5bGVCdWlsZGVyT3B0aW9uc3skbmFtZX17
Ik5hbWVGb3JNZXRob2RzIn0pKSB7CisgICAgJG5hbWVGb3JNZXRob2RzID0gJHByb3BlcnRpZXNX
aXRoU3R5bGVCdWlsZGVyT3B0aW9uc3skbmFtZX17Ik5hbWVGb3JNZXRob2RzIn07CisgIH0KKyAg
cmV0dXJuICRuYW1lRm9yTWV0aG9kczsKK30KKworc3ViIGdldEF1dG9HZXR0ZXIgeworICBteSAk
bmFtZSA9IHNoaWZ0OworICBteSAkcmVuZGVyU3R5bGUgPSBzaGlmdDsKKworICByZXR1cm4gJHJl
bmRlclN0eWxlIC4gIi0+aGFzQXV0byIgLiBnZXROYW1lRm9yTWV0aG9kcygkbmFtZSkgLiAiKCki
OworfQorCitzdWIgZ2V0QXV0b1NldHRlciB7CisgIG15ICRuYW1lID0gc2hpZnQ7CisgIG15ICRy
ZW5kZXJTdHlsZSA9IHNoaWZ0OworCisgIHJldHVybiAkcmVuZGVyU3R5bGUgLiAiLT5zZXRIYXNB
dXRvIiAuIGdldE5hbWVGb3JNZXRob2RzKCRuYW1lKSAuICIoKSI7Cit9CisKIGZvcmVhY2ggbXkg
JG5hbWUgKEBuYW1lcykgewogICAjIFNraXAgcHJvcGVydGllcyBzdGlsbCB1c2luZyB0aGUgbGVn
YWN5IHN0eWxlIGJ1aWxkZXIuCiAgIG5leHQgdW5sZXNzIGV4aXN0cygkcHJvcGVydGllc1dpdGhT
dHlsZUJ1aWxkZXJPcHRpb25zeyRuYW1lfSk7CiAKLSAgbXkgJG5hbWVGb3JNZXRob2RzID0gJG5h
bWVUb0lkeyRuYW1lfTsKKyAgbXkgJG5hbWVGb3JNZXRob2RzID0gZ2V0TmFtZUZvck1ldGhvZHMo
JG5hbWUpOwogICAkbmFtZUZvck1ldGhvZHMgPX4gcy9XZWJraXQvL2c7CiAgIGlmIChleGlzdHMo
JHByb3BlcnRpZXNXaXRoU3R5bGVCdWlsZGVyT3B0aW9uc3skbmFtZX17Ik5hbWVGb3JNZXRob2Rz
In0pKSB7CiAgICAgJG5hbWVGb3JNZXRob2RzID0gJHByb3BlcnRpZXNXaXRoU3R5bGVCdWlsZGVy
T3B0aW9uc3skbmFtZX17Ik5hbWVGb3JNZXRob2RzIn07CkBAIC0zNjgsNiArMzk0LDc0IEBAIGZv
cmVhY2ggbXkgJG5hbWUgKEBuYW1lcykgewogICAkcHJvcGVydGllc1dpdGhTdHlsZUJ1aWxkZXJP
cHRpb25zeyRuYW1lfXsiQ3VzdG9tIn0gPSBcJWN1c3RvbVZhbHVlczsKIH0KIAorc3ViIGdlbmVy
YXRlSW5pdGlhbFZhbHVlU2V0dGVyIHsKKyAgbXkgJG5hbWUgPSBzaGlmdDsKKyAgbXkgJGluZGVu
dCA9IHNoaWZ0OworCisgIG15ICRzZXR0ZXJDb250ZW50ID0gIiI7CisgICRzZXR0ZXJDb250ZW50
IC49ICRpbmRlbnQgLiAiaW5saW5lIHZvaWQgYXBwbHlJbml0aWFsIiAuICRuYW1lVG9JZHskbmFt
ZX0gLiAiKFN0eWxlUmVzb2x2ZXImIHN0eWxlUmVzb2x2ZXIpXG4iOworICAkc2V0dGVyQ29udGVu
dCAuPSAkaW5kZW50IC4gIntcbiI7CisgIG15ICRzdHlsZSA9ICJzdHlsZVJlc29sdmVyLnN0eWxl
KCkiOworICBpZiAoZXhpc3RzICRwcm9wZXJ0aWVzV2l0aFN0eWxlQnVpbGRlck9wdGlvbnN7JG5h
bWV9eyJBdXRvRnVuY3Rpb25zIn0pIHsKKyAgICAkc2V0dGVyQ29udGVudCAuPSAkaW5kZW50IC4g
IiAgICAiIC4gZ2V0QXV0b1NldHRlcigkbmFtZSwgJHN0eWxlKSAuICI7XG4iOworICB9IGVsc2Ug
eworICAgIG15ICRzZXRWYWx1ZSA9ICRzdHlsZSAuICItPiIgLiAkcHJvcGVydGllc1dpdGhTdHls
ZUJ1aWxkZXJPcHRpb25zeyRuYW1lfXsiU2V0dGVyIn07CisgICAgJHNldHRlckNvbnRlbnQgLj0g
JGluZGVudCAuICIgICAgIiAuICRzZXRWYWx1ZSAuICIoUmVuZGVyU3R5bGU6OiIgLiAkcHJvcGVy
dGllc1dpdGhTdHlsZUJ1aWxkZXJPcHRpb25zeyRuYW1lfXsiSW5pdGlhbCJ9IC4gIigpKTtcbiI7
CisgIH0KKyAgJHNldHRlckNvbnRlbnQgLj0gJGluZGVudCAuICJ9XG4iOworCisgIHJldHVybiAk
c2V0dGVyQ29udGVudDsKK30KKworc3ViIGdlbmVyYXRlSW5oZXJpdFZhbHVlU2V0dGVyIHsKKyAg
bXkgJG5hbWUgPSBzaGlmdDsKKyAgbXkgJGluZGVudCA9IHNoaWZ0OworCisgIG15ICRzZXR0ZXJD
b250ZW50ID0gIiI7CisgICRzZXR0ZXJDb250ZW50IC49ICRpbmRlbnQgLiAiaW5saW5lIHZvaWQg
YXBwbHlJbmhlcml0IiAuICRuYW1lVG9JZHskbmFtZX0gLiAiKFN0eWxlUmVzb2x2ZXImIHN0eWxl
UmVzb2x2ZXIpXG4iOworICAkc2V0dGVyQ29udGVudCAuPSAkaW5kZW50IC4gIntcbiI7CisgIG15
ICRwYXJlbnRTdHlsZSA9ICJzdHlsZVJlc29sdmVyLnBhcmVudFN0eWxlKCkiOworICBteSAkc3R5
bGUgPSAic3R5bGVSZXNvbHZlci5zdHlsZSgpIjsKKyAgaWYgKGV4aXN0cyAkcHJvcGVydGllc1dp
dGhTdHlsZUJ1aWxkZXJPcHRpb25zeyRuYW1lfXsiQXV0b0Z1bmN0aW9ucyJ9KSB7CisgICAgJHNl
dHRlckNvbnRlbnQgLj0gJGluZGVudCAuICIgICAgaWYgKCIgLiBnZXRBdXRvR2V0dGVyKCRuYW1l
LCAkcGFyZW50U3R5bGUpIC4gIikge1xuIjsKKyAgICAkc2V0dGVyQ29udGVudCAuPSAkaW5kZW50
IC4gIiAgICAgICAgIiAuIGdldEF1dG9TZXR0ZXIoJG5hbWUsICRzdHlsZSkgLiAiO1xuIjsKKyAg
ICAkc2V0dGVyQ29udGVudCAuPSAkaW5kZW50IC4gIiAgICAgICAgcmV0dXJuO1xuIjsKKyAgICAk
c2V0dGVyQ29udGVudCAuPSAkaW5kZW50IC4gIiAgICB9XG4iOworICB9CisgIG15ICRzZXRWYWx1
ZSA9ICRzdHlsZSAuICItPiIgLiAkcHJvcGVydGllc1dpdGhTdHlsZUJ1aWxkZXJPcHRpb25zeyRu
YW1lfXsiU2V0dGVyIn07CisgICRzZXR0ZXJDb250ZW50IC49ICRpbmRlbnQgLiAiICAgICIgLiAk
c2V0VmFsdWUgLiAiKCIgLiAkcGFyZW50U3R5bGUgLiAiLT4iIC4gICRwcm9wZXJ0aWVzV2l0aFN0
eWxlQnVpbGRlck9wdGlvbnN7JG5hbWV9eyJHZXR0ZXIifSAuICIoKSk7XG4iOworICAkc2V0dGVy
Q29udGVudCAuPSAkaW5kZW50IC4gIn1cbiI7CisKKyAgcmV0dXJuICRzZXR0ZXJDb250ZW50Owor
fQorCitzdWIgZ2VuZXJhdGVWYWx1ZVNldHRlciB7CisgIG15ICRuYW1lID0gc2hpZnQ7CisgIG15
ICRpbmRlbnQgPSBzaGlmdDsKKworICBteSAkc2V0dGVyQ29udGVudCA9ICIiOworICAkc2V0dGVy
Q29udGVudCAuPSAkaW5kZW50IC4gImlubGluZSB2b2lkIGFwcGx5VmFsdWUiIC4gJG5hbWVUb0lk
eyRuYW1lfSAuICIoU3R5bGVSZXNvbHZlciYgc3R5bGVSZXNvbHZlciwgQ1NTVmFsdWUmIHZhbHVl
KVxuIjsKKyAgJHNldHRlckNvbnRlbnQgLj0gJGluZGVudCAuICJ7XG4iOworICBteSAkY29udmVy
dGVkVmFsdWU7CisgIGlmIChleGlzdHMoJHByb3BlcnRpZXNXaXRoU3R5bGVCdWlsZGVyT3B0aW9u
c3skbmFtZX17IkNvbnZlcnRlciJ9KSkgeworICAgICRjb252ZXJ0ZWRWYWx1ZSA9ICJTdHlsZUJ1
aWxkZXJDb252ZXJ0ZXI6OmNvbnZlcnQiIC4gJHByb3BlcnRpZXNXaXRoU3R5bGVCdWlsZGVyT3B0
aW9uc3skbmFtZX17IkNvbnZlcnRlciJ9IC4gIihzdHlsZVJlc29sdmVyLCB2YWx1ZSkiOworICB9
IGVsc2UgeworICAgICRjb252ZXJ0ZWRWYWx1ZSA9ICJzdGF0aWNfY2FzdDwiIC4gJHByb3BlcnRp
ZXNXaXRoU3R5bGVCdWlsZGVyT3B0aW9uc3skbmFtZX17IlR5cGVOYW1lIn0gLiAiPihkb3duY2Fz
dDxDU1NQcmltaXRpdmVWYWx1ZT4odmFsdWUpKSI7CisgIH0KKyAgbXkgJHN0eWxlID0gInN0eWxl
UmVzb2x2ZXIuc3R5bGUoKSI7CisgIGlmIChleGlzdHMgJHByb3BlcnRpZXNXaXRoU3R5bGVCdWls
ZGVyT3B0aW9uc3skbmFtZX17IkF1dG9GdW5jdGlvbnMifSkgeworICAgICRzZXR0ZXJDb250ZW50
IC49ICRpbmRlbnQgLiAiICAgIGlmIChkb3duY2FzdDxDU1NQcmltaXRpdmVWYWx1ZT4odmFsdWUp
LmdldFZhbHVlSUQoKSA9PSBDU1NWYWx1ZUF1dG8pIHtcbiI7CisgICAgJHNldHRlckNvbnRlbnQg
Lj0gJGluZGVudCAuICIgICAgICAgICIuIGdldEF1dG9TZXR0ZXIoJG5hbWUsICRzdHlsZSkgLiAi
O1xuIjsKKyAgICAkc2V0dGVyQ29udGVudCAuPSAkaW5kZW50IC4gIiAgICAgICAgcmV0dXJuO1xu
IjsKKyAgICAkc2V0dGVyQ29udGVudCAuPSAkaW5kZW50IC4gIiAgICB9XG4iOworICB9CisgIG15
ICRzZXRWYWx1ZSA9ICRzdHlsZSAuICItPiIgLiAkcHJvcGVydGllc1dpdGhTdHlsZUJ1aWxkZXJP
cHRpb25zeyRuYW1lfXsiU2V0dGVyIn07CisgICRzZXR0ZXJDb250ZW50IC49ICRpbmRlbnQgLiAi
ICAgICIgLiAkc2V0VmFsdWUgLiAiKCIgLiAkY29udmVydGVkVmFsdWUgLiAiKTtcbiI7CisgICRz
ZXR0ZXJDb250ZW50IC49ICRpbmRlbnQgLiAifVxuIjsKKworICByZXR1cm4gJHNldHRlckNvbnRl
bnQ7Cit9CisKIG9wZW4gU1RZTEVCVUlMREVSLCAiPlN0eWxlQnVpbGRlci5jcHAiIHx8IGRpZSAi
Q291bGQgbm90IG9wZW4gU3R5bGVCdWlsZGVyLmNwcCBmb3Igd3JpdGluZyI7CiBwcmludCBTVFlM
RUJVSUxERVIgPDwgIkVPRiI7CiAvKiBUaGlzIGZpbGUgaXMgYXV0b21hdGljYWxseSBnZW5lcmF0
ZWQgZnJvbSBDU1NQcm9wZXJ0eU5hbWVzLmluIGJ5IG1ha2Vwcm9wLCBkbyBub3QgZWRpdCAqLwpA
QCAtMzkxLDMwICs0ODUsMTUgQEAgZm9yZWFjaCBteSAkbmFtZSAoQG5hbWVzKSB7CiAgICMgU2tp
cCBwcm9wZXJ0aWVzIHN0aWxsIHVzaW5nIHRoZSBsZWdhY3kgc3R5bGUgYnVpbGRlci4KICAgbmV4
dCB1bmxlc3MgZXhpc3RzKCRwcm9wZXJ0aWVzV2l0aFN0eWxlQnVpbGRlck9wdGlvbnN7JG5hbWV9
KTsKIAotICBteSAkc2V0VmFsdWUgPSAic3R5bGVSZXNvbHZlci5zdHlsZSgpLT4iIC4gJHByb3Bl
cnRpZXNXaXRoU3R5bGVCdWlsZGVyT3B0aW9uc3skbmFtZX17IlNldHRlciJ9OworICBteSAkaW5k
ZW50ID0gIiAgICAiOwogICBpZiAoISRwcm9wZXJ0aWVzV2l0aFN0eWxlQnVpbGRlck9wdGlvbnN7
JG5hbWV9eyJDdXN0b20ifXsiSW5pdGlhbCJ9KSB7Ci0gICAgcHJpbnQgU1RZTEVCVUlMREVSICIg
ICAgaW5saW5lIHZvaWQgYXBwbHlJbml0aWFsIiAuICRuYW1lVG9JZHskbmFtZX0gLiAiKFN0eWxl
UmVzb2x2ZXImIHN0eWxlUmVzb2x2ZXIpXG4iOwotICAgIHByaW50IFNUWUxFQlVJTERFUiAiICAg
IHtcbiI7Ci0gICAgcHJpbnQgU1RZTEVCVUlMREVSICIgICAgICAgICIgLiAkc2V0VmFsdWUgLiAi
KFJlbmRlclN0eWxlOjoiIC4gJHByb3BlcnRpZXNXaXRoU3R5bGVCdWlsZGVyT3B0aW9uc3skbmFt
ZX17IkluaXRpYWwifSAuICIoKSk7XG4iOwotICAgIHByaW50IFNUWUxFQlVJTERFUiAiICAgIH1c
biI7CisgICAgcHJpbnQgU1RZTEVCVUlMREVSIGdlbmVyYXRlSW5pdGlhbFZhbHVlU2V0dGVyKCRu
YW1lLCAkaW5kZW50KTsKICAgfQogICBpZiAoISRwcm9wZXJ0aWVzV2l0aFN0eWxlQnVpbGRlck9w
dGlvbnN7JG5hbWV9eyJDdXN0b20ifXsiSW5oZXJpdCJ9KSB7Ci0gICAgcHJpbnQgU1RZTEVCVUlM
REVSICIgICAgaW5saW5lIHZvaWQgYXBwbHlJbmhlcml0IiAuICRuYW1lVG9JZHskbmFtZX0gLiAi
KFN0eWxlUmVzb2x2ZXImIHN0eWxlUmVzb2x2ZXIpXG4iOwotICAgIHByaW50IFNUWUxFQlVJTERF
UiAiICAgIHtcbiI7Ci0gICAgcHJpbnQgU1RZTEVCVUlMREVSICIgICAgICAgICIgLiAkc2V0VmFs
dWUgLiAiKHN0eWxlUmVzb2x2ZXIucGFyZW50U3R5bGUoKS0+IiAuICAkcHJvcGVydGllc1dpdGhT
dHlsZUJ1aWxkZXJPcHRpb25zeyRuYW1lfXsiR2V0dGVyIn0gLiAiKCkpO1xuIjsKLSAgICBwcmlu
dCBTVFlMRUJVSUxERVIgIiAgICB9XG4iOworICAgIHByaW50IFNUWUxFQlVJTERFUiBnZW5lcmF0
ZUluaGVyaXRWYWx1ZVNldHRlcigkbmFtZSwgJGluZGVudCk7CiAgIH0KICAgaWYgKCEkcHJvcGVy
dGllc1dpdGhTdHlsZUJ1aWxkZXJPcHRpb25zeyRuYW1lfXsiQ3VzdG9tIn17IlZhbHVlIn0pIHsK
LSAgICBwcmludCBTVFlMRUJVSUxERVIgIiAgICBpbmxpbmUgdm9pZCBhcHBseVZhbHVlIiAuICRu
YW1lVG9JZHskbmFtZX0gLiAiKFN0eWxlUmVzb2x2ZXImIHN0eWxlUmVzb2x2ZXIsIENTU1ZhbHVl
JiB2YWx1ZSlcbiI7Ci0gICAgcHJpbnQgU1RZTEVCVUlMREVSICIgICAge1xuIjsKLSAgICBteSAk
Y29udmVydGVkVmFsdWU7Ci0gICAgaWYgKGV4aXN0cygkcHJvcGVydGllc1dpdGhTdHlsZUJ1aWxk
ZXJPcHRpb25zeyRuYW1lfXsiQ29udmVydGVyIn0pKSB7Ci0gICAgICAkY29udmVydGVkVmFsdWUg
PSAiU3R5bGVCdWlsZGVyQ29udmVydGVyOjpjb252ZXJ0IiAuICRwcm9wZXJ0aWVzV2l0aFN0eWxl
QnVpbGRlck9wdGlvbnN7JG5hbWV9eyJDb252ZXJ0ZXIifSAuICIoc3R5bGVSZXNvbHZlciwgdmFs
dWUpIjsKLSAgICB9IGVsc2UgewotICAgICAgJGNvbnZlcnRlZFZhbHVlID0gInN0YXRpY19jYXN0
PCIgLiAkcHJvcGVydGllc1dpdGhTdHlsZUJ1aWxkZXJPcHRpb25zeyRuYW1lfXsiVHlwZU5hbWUi
fSAuICI+KGRvd25jYXN0PENTU1ByaW1pdGl2ZVZhbHVlPih2YWx1ZSkpIjsKLSAgICB9Ci0gICAg
cHJpbnQgU1RZTEVCVUlMREVSICIgICAgICAgICIgLiAkc2V0VmFsdWUgLiAiKCIgLiAkY29udmVy
dGVkVmFsdWUgLiAiKTtcbiI7Ci0gICAgcHJpbnQgU1RZTEVCVUlMREVSICIgICAgfVxuIjsKKyAg
ICBwcmludCBTVFlMRUJVSUxERVIgZ2VuZXJhdGVWYWx1ZVNldHRlcigkbmFtZSwgJGluZGVudCk7
CiAgIH0KIH0KIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>