<?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>35782</bug_id>
          
          <creation_ts>2010-03-04 21:31:08 -0800</creation_ts>
          <short_desc>Enhance CSS parser for Paged Media (Iteration 2)</short_desc>
          <delta_ts>2010-04-27 23:19:52 -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>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>35329</dependson>
          <blocked>15548</blocked>
    
    <blocked>35851</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Yuzo Fujishima">yuzo</reporter>
          <assigned_to name="Yuzo Fujishima">yuzo</assigned_to>
          <cc>hamaji</cc>
    
    <cc>hayato</cc>
    
    <cc>hyatt</cc>
    
    <cc>peter.linss</cc>
    
    <cc>tkent</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>196346</commentid>
    <comment_count>0</comment_count>
    <who name="Yuzo Fujishima">yuzo</who>
    <bug_when>2010-03-04 21:31:08 -0800</bug_when>
    <thetext>Parse and hold paged media rules in CSSStyleSelector.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196348</commentid>
    <comment_count>1</comment_count>
      <attachid>50087</attachid>
    <who name="Yuzo Fujishima">yuzo</who>
    <bug_when>2010-03-04 21:34:26 -0800</bug_when>
    <thetext>Created attachment 50087
Enhance CSS parser for Paged Media (Iteration 1)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196351</commentid>
    <comment_count>2</comment_count>
      <attachid>50088</attachid>
    <who name="Yuzo Fujishima">yuzo</who>
    <bug_when>2010-03-04 21:36:44 -0800</bug_when>
    <thetext>Created attachment 50088
Enhance CSS parser for Paged Media (Iteration 2)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196352</commentid>
    <comment_count>3</comment_count>
    <who name="Yuzo Fujishima">yuzo</who>
    <bug_when>2010-03-04 21:39:51 -0800</bug_when>
    <thetext>As indicated above, this depends on
https://bugs.webkit.org/show_bug.cgi?id=35329</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>197067</commentid>
    <comment_count>4</comment_count>
      <attachid>50189</attachid>
    <who name="Yuzo Fujishima">yuzo</who>
    <bug_when>2010-03-07 22:36:24 -0800</bug_when>
    <thetext>Created attachment 50189
Enhance CSS parser for Paged Media (Iteration 2)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>197942</commentid>
    <comment_count>5</comment_count>
      <attachid>50383</attachid>
    <who name="Yuzo Fujishima">yuzo</who>
    <bug_when>2010-03-10 02:12:33 -0800</bug_when>
    <thetext>Created attachment 50383
Enhance CSS parser for Paged Media (Iteration 2)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>199911</commentid>
    <comment_count>6</comment_count>
      <attachid>50383</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-03-15 16:12:30 -0700</bug_when>
    <thetext>Comment on attachment 50383
Enhance CSS parser for Paged Media (Iteration 2)

LGTM.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>218219</commentid>
    <comment_count>7</comment_count>
    <who name="Yuzo Fujishima">yuzo</who>
    <bug_when>2010-04-27 23:19:52 -0700</bug_when>
    <thetext>Committed r58383: &lt;http://trac.webkit.org/changeset/58383&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>50087</attachid>
            <date>2010-03-04 21:34:26 -0800</date>
            <delta_ts>2010-03-04 21:36:38 -0800</delta_ts>
            <desc>Enhance CSS parser for Paged Media (Iteration 1)</desc>
            <filename>bug-35782-20100305143424.patch</filename>
            <type>text/plain</type>
            <size>16848</size>
            <attacher name="Yuzo Fujishima">yuzo</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA0ODcxOWI5Li43MjQ0OTRjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTAtMDIt
MjQgIFl1em8gRnVqaXNoaW1hICA8eXV6b0Bnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEVuaGFuY2UgQ1NTIHBhcnNlciBmb3IgUGFn
ZWQgTWVkaWEgKEl0ZXJhdGlvbiAxKQorCisgICAgICAgIEluIHRoaXMgY2hhbmdlLCB0aGUgZ3Jh
bW1hciBpcyBleHRlbmRlZCBhbmQgc2tlbGV0YWwgbWV0aG9kcyBmb3IgY3JlYXRpbmcgcGFnZSBy
dWxlcyBhbmQgbWFyZ2luIGF0LXJ1bGVzIGFyZSBkZWZpbmVkLgorICAgICAgICBUaGUgY29udGVu
dHMgb2YgdGhlIG1ldGhvZHMgc2hvdWxkIGJlIGltcGxlbWVudGVkIGJ5IG90aGVyIGNoYW5nZXMu
CisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM1MzI5
CisKKyAgICAgICAgKiBmYXN0L2Nzcy9wYXJzaW5nLXBhZ2UtcnVsZS1leHBlY3RlZC50eHQ6IENv
cGllZCBmcm9tIExheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2RvdWJsZWNsaWNrLXdoaXRl
c3BhY2UtaW1nLWNyYXNoLWV4cGVjdGVkLnR4dC4KKyAgICAgICAgKiBmYXN0L2Nzcy9wYXJzaW5n
LXBhZ2UtcnVsZS5odG1sOiBBZGRlZC4KKwogMjAxMC0wMi0yOCAgUm9iZXJ0IEhvZ2FuICA8cm9i
ZXJ0QHJvYmVydGhvZ2FuLm5ldD4KIAogICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBIYXVzbWFu
bi4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL3BhcnNpbmctcGFnZS1ydWxlLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL3BhcnNpbmctcGFnZS1ydWxlLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZWYyMmU5Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvcGFyc2luZy1wYWdlLXJ1bGUtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEgQEAKK1BBU1MKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvY3NzL3BhcnNpbmctcGFnZS1ydWxlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9wYXJz
aW5nLXBhZ2UtcnVsZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY0
ODRmNmQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9wYXJzaW5nLXBh
Z2UtcnVsZS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhZG9jdHlwZSBodG1sPgorPGh0bWw+Cis8
aGVhZD4KKyAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CisgICAgICAgIGlmICh3
aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJv
bGxlci5kdW1wQXNUZXh0KCk7CisgICAgPC9zY3JpcHQ+CisgICAgPHN0eWxlPgorICAgICAgICAu
dG9fYmVfc2hvd24geworICAgICAgICAgICAgZGlzcGxheTpub25lOworICAgICAgICAgICAgY29s
b3I6Z3JlZW47CisgICAgICAgIH0KKyAgICAgICAgLnRvX2JlX2hpZGRlbiB7CisgICAgICAgICAg
ICBkaXNwbGF5OmJsb2NrOworICAgICAgICAgICAgY29sb3I6cmVkOworICAgICAgICB9CisgICAg
PC9zdHlsZT4KKyAgICA8c3R5bGU+CisgICAgICAgIC8qIHBhZ2UgcnVsZSBtdXN0IG5vdCBpbnRl
cmZlcmUgd2l0aCBub24tcGFnZSBydWxlcyAqLworICAgICAgICAjdGVzdDEgeworICAgICAgICAg
ICAgZGlzcGxheTpub25lOworICAgICAgICB9CisgICAgICAgIEBwYWdlIHsKKyAgICAgICAgICAg
ICN0ZXN0MSB7CisgICAgICAgICAgICAgICAgZGlzcGxheTpibG9jazsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIEB0b3AtY2VudGVyIHsKKyAgICAgICAgICAgICAgICBjb250ZW50OiJUZXN0
IjsKKyAgICAgICAgICAgICAgICBkaXNwbGF5OmJsb2NrOworICAgICAgICAgICAgfQorICAgICAg
ICAgICAgI3Rlc3QyIHsKKyAgICAgICAgICAgICAgICBkaXNwbGF5OmJsb2NrOworICAgICAgICAg
ICAgfQorICAgICAgICB9CisgICAgICAgICN0ZXN0MiB7CisgICAgICAgICAgICBkaXNwbGF5Om5v
bmU7CisgICAgICAgIH0KKyAgICA8L3N0eWxlPgorICAgIDxzdHlsZT4KKyAgICAgICAgLyogTWFs
Zm9ybWVkIHBhZ2UgcnVsZSBtdXN0IG5vdCBpbnRlcmZlcmUgd2l0aCBub24tcGFnZSBydWxlcyBh
cyBmYXIgYXMgYnJhY2VzIGFyZSBwYWlyZWQgcHJvcGVybHkgKi8KKyAgICAgICAgQHBhZ2Ugewor
ICAgICAgICAgICAgcDpiZWZvcmUgeworICAgICAgICAgICAgICAgIGNvbnRlbnQ6Im1hbGZvcm1l
ZAorICAgICAgICAgICAgfQorICAgICAgICAgICAgQHRvcC1sZWZ0CisgICAgICAgIH0KKyAgICAg
ICAgI3Rlc3QzIHsKKyAgICAgICAgICAgIGRpc3BsYXk6bm9uZTsKKyAgICAgICAgfQorICAgIDwv
c3R5bGU+CisgICAgPHN0eWxlPgorICAgICAgICAvKiBTdWNjZXNzZnVsbHkgcGFyc2VkICovCisg
ICAgICAgICNsYXN0IHsKKyAgICAgICAgICAgIGRpc3BsYXk6YmxvY2s7CisgICAgICAgIH0KKyAg
ICA8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+CisgIDxkaXYgY2xhc3M9InRvX2JlX2hpZGRlbiIg
aWQ9InRlc3QxIj5GQUlMOiBUZXN0IDE8L2Rpdj4KKyAgPGRpdiBjbGFzcz0idG9fYmVfaGlkZGVu
IiBpZD0idGVzdDIiPkZBSUw6IFRlc3QgMjwvZGl2PgorICA8ZGl2IGNsYXNzPSJ0b19iZV9oaWRk
ZW4iIGlkPSJ0ZXN0MyI+RkFJTDogVGVzdCAzPC9kaXY+CisgIDxkaXYgY2xhc3M9InRvX2JlX3No
b3duIiBpZD0ibGFzdCI+UEFTUzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgorCmRpZmYgLS1naXQg
YS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDBjOGNjMDEuLjJi
YTJmY2IgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1dlYkNvcmUvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMzMgQEAKKzIwMTAtMDItMjQgIFl1em8gRnVqaXNoaW1hICA8eXV6b0Bn
b29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEVuaGFuY2UgQ1NTIHBhcnNlciBmb3IgUGFnZWQgTWVkaWEgKEl0ZXJhdGlvbiAxKQorCisg
ICAgICAgIEluIHRoaXMgY2hhbmdlLCB0aGUgZ3JhbW1hciBpcyBleHRlbmRlZCBhbmQgc2tlbGV0
YWwgbWV0aG9kcyBmb3IgY3JlYXRpbmcgcGFnZSBydWxlcyBhbmQgbWFyZ2luIGF0LXJ1bGVzIGFy
ZSBkZWZpbmVkLgorICAgICAgICBUaGUgY29udGVudHMgb2YgdGhlIG1ldGhvZHMgc2hvdWxkIGJl
IGltcGxlbWVudGVkIGJ5IG90aGVyIGNoYW5nZXMuCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM1MzI5CisKKyAgICAgICAgVGVzdDogZmFzdC9jc3Mv
cGFyc2luZy1wYWdlLXJ1bGUuaHRtbAorCisgICAgICAgICogY3NzL0NTU0dyYW1tYXIueToKKyAg
ICAgICAgKiBjc3MvQ1NTUGFyc2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6
Q1NTUGFyc2VyKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6Y2xlYXJQcm9wZXJ0aWVz
KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6bGV4KToKKyAgICAgICAgKFdlYkNvcmU6
OkNTU1BhcnNlcjo6dGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OmNyZWF0ZVBh
Z2VSdWxlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6Y3JlYXRlTWFyZ2luQXRSdWxl
KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6c3RhcnREZWNsYXJhdGlvbnNGb3JNYXJn
aW5Cb3gpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjplbmREZWNsYXJhdGlvbnNGb3JN
YXJnaW5Cb3gpOgorICAgICAgICAqIGNzcy9DU1NQYXJzZXIuaDoKKyAgICAgICAgKiBjc3MvQ1NT
U2VsZWN0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTU2VsZWN0b3I6OmV4dHJhY3RQc2V1
ZG9UeXBlKToKKyAgICAgICAgKiBjc3MvQ1NTU2VsZWN0b3IuaDoKKyAgICAgICAgKFdlYkNvcmU6
OkNTU1NlbGVjdG9yOjopOgorICAgICAgICAqIGNzcy90b2tlbml6ZXIuZmxleDoKKwogMjAxMC0w
Mi0yOCAgQWxleGV5IFByb3NrdXJ5YWtvdiAgPGFwQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZp
ZXdlZCBieSBEYW4gQmVybnN0ZWluLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9jc3MvQ1NTR3JhbW1h
ci55IGIvV2ViQ29yZS9jc3MvQ1NTR3JhbW1hci55CmluZGV4IDlkNWViNmUuLmZlZjJjMjAgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvY3NzL0NTU0dyYW1tYXIueQorKysgYi9XZWJDb3JlL2Nzcy9DU1NH
cmFtbWFyLnkKQEAgLTcwLDYgKzcwLDcgQEAgdXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKICAg
ICBDU1NSdWxlTGlzdCogcnVsZUxpc3Q7CiAgICAgQ1NTU2VsZWN0b3IqIHNlbGVjdG9yOwogICAg
IFZlY3RvcjxDU1NTZWxlY3Rvcio+KiBzZWxlY3Rvckxpc3Q7CisgICAgQ1NTU2VsZWN0b3I6Ok1h
cmdpbkJveCBtYXJnaW5Cb3g7CiAgICAgQ1NTU2VsZWN0b3I6OlJlbGF0aW9uIHJlbGF0aW9uOwog
ICAgIE1lZGlhTGlzdCogbWVkaWFMaXN0OwogICAgIE1lZGlhUXVlcnkqIG1lZGlhUXVlcnk7CkBA
IC05Nyw3ICs5OCw3IEBAIHN0YXRpYyBpbnQgY3NzeXlsZXgoWVlTVFlQRSogeXlsdmFsLCB2b2lk
KiBwYXJzZXIpCiAKICV9CiAKLSVleHBlY3QgNTQKKyVleHBlY3QgNTUKIAogJW5vbmFzc29jIExP
V0VTVF9QUkVDCiAKQEAgLTE0Miw2ICsxNDMsMjMgQEAgc3RhdGljIGludCBjc3N5eWxleChZWVNU
WVBFKiB5eWx2YWwsIHZvaWQqIHBhcnNlcikKICV0b2tlbiBXRUJLSVRfREVGSU5FX1NZTQogJXRv
a2VuIFZBUklBQkxFU19GT1IKICV0b2tlbiBXRUJLSVRfVkFSSUFCTEVTX0RFQ0xTX1NZTQorJXRv
a2VuIDxtYXJnaW5Cb3g+IFRPUExFRlRDT1JORVJfU1lNCisldG9rZW4gPG1hcmdpbkJveD4gVE9Q
TEVGVF9TWU0KKyV0b2tlbiA8bWFyZ2luQm94PiBUT1BDRU5URVJfU1lNCisldG9rZW4gPG1hcmdp
bkJveD4gVE9QUklHSFRfU1lNCisldG9rZW4gPG1hcmdpbkJveD4gVE9QUklHSFRDT1JORVJfU1lN
CisldG9rZW4gPG1hcmdpbkJveD4gQk9UVE9NTEVGVENPUk5FUl9TWU0KKyV0b2tlbiA8bWFyZ2lu
Qm94PiBCT1RUT01MRUZUX1NZTQorJXRva2VuIDxtYXJnaW5Cb3g+IEJPVFRPTUNFTlRFUl9TWU0K
KyV0b2tlbiA8bWFyZ2luQm94PiBCT1RUT01SSUdIVF9TWU0KKyV0b2tlbiA8bWFyZ2luQm94PiBC
T1RUT01SSUdIVENPUk5FUl9TWU0KKyV0b2tlbiA8bWFyZ2luQm94PiBMRUZUVE9QX1NZTQorJXRv
a2VuIDxtYXJnaW5Cb3g+IExFRlRNSURETEVfU1lNCisldG9rZW4gPG1hcmdpbkJveD4gTEVGVEJP
VFRPTV9TWU0KKyV0b2tlbiA8bWFyZ2luQm94PiBSSUdIVFRPUF9TWU0KKyV0b2tlbiA8bWFyZ2lu
Qm94PiBSSUdIVE1JRERMRV9TWU0KKyV0b2tlbiA8bWFyZ2luQm94PiBSSUdIVEJPVFRPTV9TWU0K
KwogJXRva2VuIEFUS0VZV09SRAogCiAldG9rZW4gSU1QT1JUQU5UX1NZTQpAQCAtMTg4LDYgKzIw
Niw3IEBAIHN0YXRpYyBpbnQgY3NzeXlsZXgoWVlTVFlQRSogeXlsdmFsLCB2b2lkKiBwYXJzZXIp
CiAldHlwZSA8cnVsZT4gaW1wb3J0CiAldHlwZSA8cnVsZT4gbmFtZXNwYWNlCiAldHlwZSA8cnVs
ZT4gcGFnZQorJXR5cGUgPHJ1bGU+IG1hcmdpbl9ib3gKICV0eXBlIDxydWxlPiBmb250X2ZhY2UK
ICV0eXBlIDxydWxlPiBrZXlmcmFtZXMKICV0eXBlIDxydWxlPiBpbnZhbGlkX3J1bGUKQEAgLTIw
OSw2ICsyMjgsNyBAQCBzdGF0aWMgaW50IGNzc3l5bGV4KFlZU1RZUEUqIHl5bHZhbCwgdm9pZCog
cGFyc2VyKQogJXR5cGUgPHN0cmluZz4gaWRlbnRfb3Jfc3RyaW5nCiAldHlwZSA8c3RyaW5nPiBt
ZWRpdW0KICV0eXBlIDxzdHJpbmc+IGhleGNvbG9yCisldHlwZSA8bWFyZ2luQm94PiBtYXJnaW5f
c3ltCiAKICV0eXBlIDxzdHJpbmc+IG1lZGlhX2ZlYXR1cmUKICV0eXBlIDxtZWRpYUxpc3Q+IG1l
ZGlhX2xpc3QKQEAgLTIzNyw2ICsyNTcsNyBAQCBzdGF0aWMgaW50IGNzc3l5bGV4KFlZU1RZUEUq
IHl5bHZhbCwgdm9pZCogcGFyc2VyKQogJXR5cGUgPHNlbGVjdG9yPiBjbGFzcwogJXR5cGUgPHNl
bGVjdG9yPiBhdHRyaWIKICV0eXBlIDxzZWxlY3Rvcj4gcHNldWRvCisldHlwZSA8c2VsZWN0b3I+
IHBhZ2Vfc2VsZWN0b3IKIAogJXR5cGUgPGJvb2xlYW4+IGRlY2xhcmF0aW9uX2xpc3QKICV0eXBl
IDxib29sZWFuPiBkZWNsX2xpc3QKQEAgLTcyOCwyNiArNzQ5LDEwNiBAQCBrZXk6CiAgICAgfQog
ICAgIDsKIAotLyoKIHBhZ2U6Ci0gICAgUEFHRV9TWU0gbWF5YmVfc3BhY2UgSURFTlQ/IHBzZXVk
b19wYWdlPyBtYXliZV9zcGFjZQotICAgICd7JyBtYXliZV9zcGFjZSBkZWNsYXJhdGlvbiBbICc7
JyBtYXliZV9zcGFjZSBkZWNsYXJhdGlvbiBdKiAnfScgbWF5YmVfc3BhY2UKLSAgOwotCi1wc2V1
ZG9fcGFnZQotICA6ICc6JyBJREVOVAotICA7Ci0qLwotCi1wYWdlOgotICAgIFBBR0VfU1lNIGVy
cm9yIGludmFsaWRfYmxvY2sgeworICAgIFBBR0VfU1lNIG1heWJlX3NwYWNlIHBhZ2Vfc2VsZWN0
b3IgbWF5YmVfc3BhY2UKKyAgICAneycgbWF5YmVfc3BhY2UgZGVjbGFyYXRpb25zX2FuZF9tYXJn
aW5zIGNsb3NpbmdfYnJhY2UgeworICAgICAgICBDU1NQYXJzZXIqIHAgPSBzdGF0aWNfY2FzdDxD
U1NQYXJzZXIqPihwYXJzZXIpOworICAgICAgICAkJCA9IHAtPmNyZWF0ZVBhZ2VSdWxlKHAtPnNp
bmtGbG9hdGluZ1NlbGVjdG9yKCQzKSk7CisgICAgfQorICAgIHwgUEFHRV9TWU0gZXJyb3IgaW52
YWxpZF9ibG9jayB7CiAgICAgICAkJCA9IDA7CiAgICAgfQotICB8IFBBR0VfU1lNIGVycm9yICc7
JyB7CisgICAgfCBQQUdFX1NZTSBlcnJvciAnOycgewogICAgICAgJCQgPSAwOwogICAgIH0KICAg
ICA7CiAKK3BhZ2Vfc2VsZWN0b3I6CisgICAgSURFTlQgeworICAgICAgICBDU1NQYXJzZXIqIHAg
PSBzdGF0aWNfY2FzdDxDU1NQYXJzZXIqPihwYXJzZXIpOworICAgICAgICAkJCA9IHAtPmNyZWF0
ZUZsb2F0aW5nU2VsZWN0b3IoKTsKKyAgICAgICAgJCQtPm1fdGFnID0gUXVhbGlmaWVkTmFtZShu
dWxsQXRvbSwgJDEsIHAtPm1fZGVmYXVsdE5hbWVzcGFjZSk7CisgICAgfQorICAgIHwgSURFTlQg
cHNldWRvIHsKKyAgICAgICAgQ1NTUGFyc2VyKiBwID0gc3RhdGljX2Nhc3Q8Q1NTUGFyc2VyKj4o
cGFyc2VyKTsKKyAgICAgICAgJCQgPSAkMjsKKyAgICAgICAgaWYgKCQkKQorICAgICAgICAgICAg
JCQtPm1fdGFnID0gUXVhbGlmaWVkTmFtZShudWxsQXRvbSwgJDEsIHAtPm1fZGVmYXVsdE5hbWVz
cGFjZSk7CisgICAgfQorICAgIHwgcHNldWRvIHsKKyAgICAgICAgJCQgPSAkMTsKKyAgICB9Cisg
ICAgfCAvKiBlbXB0eSAqLyB7CisgICAgICAgIENTU1BhcnNlciogcCA9IHN0YXRpY19jYXN0PENT
U1BhcnNlcio+KHBhcnNlcik7CisgICAgICAgICQkID0gcC0+Y3JlYXRlRmxvYXRpbmdTZWxlY3Rv
cigpOworICAgICAgICAkJC0+bV90YWcgPSBRdWFsaWZpZWROYW1lKG51bGxBdG9tLCBudWxsQXRv
bSwgcC0+bV9kZWZhdWx0TmFtZXNwYWNlKTsKKyAgICB9CisgICAgOworCitkZWNsYXJhdGlvbnNf
YW5kX21hcmdpbnM6CisgICAgZGVjbGFyYXRpb25fbGlzdAorICAgIHwgZGVjbGFyYXRpb25zX2Fu
ZF9tYXJnaW5zIG1hcmdpbl9ib3ggbWF5YmVfc3BhY2UgZGVjbGFyYXRpb25fbGlzdAorICAgIDsK
KworbWFyZ2luX2JveDoKKyAgICBtYXJnaW5fc3ltIHsKKyAgICAgICAgc3RhdGljX2Nhc3Q8Q1NT
UGFyc2VyKj4ocGFyc2VyKS0+c3RhcnREZWNsYXJhdGlvbnNGb3JNYXJnaW5Cb3goKTsKKyAgICB9
IG1heWJlX3NwYWNlICd7JyBtYXliZV9zcGFjZSBkZWNsYXJhdGlvbl9saXN0IGNsb3NpbmdfYnJh
Y2UgeworICAgICAgICAkJCA9IHN0YXRpY19jYXN0PENTU1BhcnNlcio+KHBhcnNlciktPmNyZWF0
ZU1hcmdpbkF0UnVsZSgkMSk7CisgICAgfQorICAgIDsKKworbWFyZ2luX3N5bSA6CisgICAgVE9Q
TEVGVENPUk5FUl9TWU0geworICAgICAgICAkJCA9IENTU1NlbGVjdG9yOjpUb3BMZWZ0Q29ybmVy
OworICAgIH0KKyAgICB8IFRPUExFRlRfU1lNIHsKKyAgICAgICAgJCQgPSBDU1NTZWxlY3Rvcjo6
VG9wTGVmdDsKKyAgICB9CisgICAgfCBUT1BDRU5URVJfU1lNIHsKKyAgICAgICAgJCQgPSBDU1NT
ZWxlY3Rvcjo6VG9wQ2VudGVyOworICAgIH0KKyAgICB8IFRPUFJJR0hUX1NZTSB7CisgICAgICAg
ICQkID0gQ1NTU2VsZWN0b3I6OlRvcFJpZ2h0OworICAgIH0KKyAgICB8IFRPUFJJR0hUQ09STkVS
X1NZTSB7CisgICAgICAgICQkID0gQ1NTU2VsZWN0b3I6OlRvcFJpZ2h0Q29ybmVyOworICAgIH0K
KyAgICB8IEJPVFRPTUxFRlRDT1JORVJfU1lNIHsKKyAgICAgICAgJCQgPSBDU1NTZWxlY3Rvcjo6
Qm90dG9tTGVmdENvcm5lcjsKKyAgICB9CisgICAgfCBCT1RUT01MRUZUX1NZTSB7CisgICAgICAg
ICQkID0gQ1NTU2VsZWN0b3I6OkJvdHRvbUxlZnQ7CisgICAgfQorICAgIHwgQk9UVE9NQ0VOVEVS
X1NZTSB7CisgICAgICAgICQkID0gQ1NTU2VsZWN0b3I6OkJvdHRvbUNlbnRlcjsKKyAgICB9Cisg
ICAgfCBCT1RUT01SSUdIVF9TWU0geworICAgICAgICAkJCA9IENTU1NlbGVjdG9yOjpCb3R0b21S
aWdodDsKKyAgICB9CisgICAgfCBCT1RUT01SSUdIVENPUk5FUl9TWU0geworICAgICAgICAkJCA9
IENTU1NlbGVjdG9yOjpCb3R0b21SaWdodENvcm5lcjsKKyAgICB9CisgICAgfCBMRUZUVE9QX1NZ
TSB7CisgICAgICAgICQkID0gQ1NTU2VsZWN0b3I6OkxlZnRUb3A7CisgICAgfQorICAgIHwgTEVG
VE1JRERMRV9TWU0geworICAgICAgICAkJCA9IENTU1NlbGVjdG9yOjpMZWZ0TWlkZGxlOworICAg
IH0KKyAgICB8IExFRlRCT1RUT01fU1lNIHsKKyAgICAgICAgJCQgPSBDU1NTZWxlY3Rvcjo6TGVm
dEJvdHRvbTsKKyAgICB9CisgICAgfCBSSUdIVFRPUF9TWU0geworICAgICAgICAkJCA9IENTU1Nl
bGVjdG9yOjpSaWdodFRvcDsKKyAgICB9CisgICAgfCBSSUdIVE1JRERMRV9TWU0geworICAgICAg
ICAkJCA9IENTU1NlbGVjdG9yOjpSaWdodE1pZGRsZTsKKyAgICB9CisgICAgfCBSSUdIVEJPVFRP
TV9TWU0geworICAgICAgICAkJCA9IENTU1NlbGVjdG9yOjpSaWdodEJvdHRvbTsKKyAgICB9Cisg
ICAgOworCiBmb250X2ZhY2U6CiAgICAgRk9OVF9GQUNFX1NZTSBtYXliZV9zcGFjZQogICAgICd7
JyBtYXliZV9zcGFjZSBkZWNsYXJhdGlvbl9saXN0ICd9JyAgbWF5YmVfc3BhY2UgewpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcCBiL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5j
cHAKaW5kZXggYTc0NjgwMS4uZWYwZGYxMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9jc3MvQ1NTUGFy
c2VyLmNwcAorKysgYi9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCkBAIC02OSw2ICs2OSw3IEBA
CiAjaW5jbHVkZSAiV2ViS2l0Q1NTS2V5ZnJhbWVSdWxlLmgiCiAjaW5jbHVkZSAiV2ViS2l0Q1NT
S2V5ZnJhbWVzUnVsZS5oIgogI2luY2x1ZGUgIldlYktpdENTU1RyYW5zZm9ybVZhbHVlLmgiCisj
aW5jbHVkZSA8bGltaXRzLmg+CiAjaW5jbHVkZSA8d3RmL2R0b2EuaD4KIAogI2lmIEVOQUJMRShE
QVNIQk9BUkRfU1VQUE9SVCkKQEAgLTkxLDYgKzkyLDggQEAgdXNpbmcgbmFtZXNwYWNlIFdURjsK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitzdGF0aWMgY29uc3QgdW5zaWduZWQgSU5WQUxJRF9O
VU1fUEFSU0VEX1BST1BFUlRJRVMgPSBVSU5UX01BWDsKKwogc3RhdGljIGJvb2wgZXF1YWwoY29u
c3QgQ1NTUGFyc2VyU3RyaW5nJiBhLCBjb25zdCBjaGFyKiBiKQogewogICAgIGZvciAoaW50IGkg
PSAwOyBpIDwgYS5sZW5ndGg7ICsraSkgewpAQCAtMTM1LDYgKzEzOCw3IEBAIENTU1BhcnNlcjo6
Q1NTUGFyc2VyKGJvb2wgc3RyaWN0UGFyc2luZykKICAgICAsIG1fcGFyc2VkUHJvcGVydGllcyhz
dGF0aWNfY2FzdDxDU1NQcm9wZXJ0eSoqPihmYXN0TWFsbG9jKDMyICogc2l6ZW9mKENTU1Byb3Bl
cnR5KikpKSkKICAgICAsIG1fbnVtUGFyc2VkUHJvcGVydGllcygwKQogICAgICwgbV9tYXhQYXJz
ZWRQcm9wZXJ0aWVzKDMyKQorICAgICwgbV9udW1QYXJzZWRQcm9wZXJ0aWVzQmVmb3JlTWFyZ2lu
Qm94KElOVkFMSURfTlVNX1BBUlNFRF9QUk9QRVJUSUVTKQogICAgICwgbV9pblBhcnNlU2hvcnRo
YW5kKDApCiAgICAgLCBtX2N1cnJlbnRTaG9ydGhhbmQoMCkKICAgICAsIG1faW1wbGljaXRTaG9y
dGhhbmQoZmFsc2UpCkBAIC0zOTQsNiArMzk4LDcgQEAgdm9pZCBDU1NQYXJzZXI6OmNsZWFyUHJv
cGVydGllcygpCiAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IG1fbnVtUGFyc2VkUHJvcGVy
dGllczsgaSsrKQogICAgICAgICBkZWxldGUgbV9wYXJzZWRQcm9wZXJ0aWVzW2ldOwogICAgIG1f
bnVtUGFyc2VkUHJvcGVydGllcyA9IDA7CisgICAgbV9udW1QYXJzZWRQcm9wZXJ0aWVzQmVmb3Jl
TWFyZ2luQm94ID0gSU5WQUxJRF9OVU1fUEFSU0VEX1BST1BFUlRJRVM7CiAgICAgbV9oYXNGb250
RmFjZU9ubHlWYWx1ZXMgPSBmYWxzZTsKIH0KIApAQCAtNTE1OSw2ICs1MTY0LDM5IEBAIGJvb2wg
Q1NTUGFyc2VyOjphZGRWYXJpYWJsZURlY2xhcmF0aW9uQmxvY2soY29uc3QgQ1NTUGFyc2VyU3Ry
aW5nJikKIAogI2VuZGlmCiAKK0NTU1J1bGUqIENTU1BhcnNlcjo6Y3JlYXRlUGFnZVJ1bGUoQ1NT
U2VsZWN0b3IqIC8qIHBhZ2VTZWxlY3RvciAqLykKK3sKKyAgICAvLyBGSVhNRTogQ3JlYXRlIHBh
Z2UgcnVsZSBoZXJlLCB1c2luZzoKKyAgICAvLyAgICAgICAgLSBwYWdlU2VsZWN0b3ItPnBzZXVk
b1R5cGUoKTogdGhlIHBhZ2UgcHNldWRvLWNsYXNzLCBpLmUuLCA6bGVmdCwgOnJpZ2h0LCBvciA6
Zmlyc3QKKyAgICAvLyAgICAgICAgLSBwYWdlU2VsZWN0b3ItPm1fdGFnOiAgdGhlIHBhZ2UgbmFt
ZQorICAgIC8vICAgICAgICAtIG1fcGFyc2VkUHJvcGVydGllczogdGhlIHBhZ2UgcHJvcGVydGll
cworCisgICAgY2xlYXJQcm9wZXJ0aWVzKCk7CisgICAgcmV0dXJuIDA7IC8vIHVudGlsIHRoaXMg
bWV0aG9kIGlzIGltcGxlbWVudGVkLgorfQorCitDU1NSdWxlKiBDU1NQYXJzZXI6OmNyZWF0ZU1h
cmdpbkF0UnVsZShDU1NTZWxlY3Rvcjo6TWFyZ2luQm94JiAvKiBtYXJnaW5Cb3ggKi8pCit7Cisg
ICAgLy8gRklYTUU6IEltcGxlbWVudCBtYXJnaW4gYXQtcnVsZSBoZXJlLCB1c2luZzoKKyAgICAv
LyAgICAgICAgLSBtYXJnaW5Cb3g6IG1hcmdpbiBib3gKKyAgICAvLyAgICAgICAgLSBtX3BhcnNl
ZFByb3BlcnRpZXM6IHByb3BlcnRpZXMgYXQgW21fbnVtUGFyc2VkUHJvcGVydGllc0JlZm9yZU1h
cmdpbkJveCwgbV9udW1QYXJzZWRQcm9wZXJ0aWVzKSBhcmUgZm9yIHRoaXMgYXQtcnVsZS4KKwor
ICAgIGVuZERlY2xhcmF0aW9uc0Zvck1hcmdpbkJveCgpOworICAgIHJldHVybiAwOyAvLyB1bnRp
bCB0aGlzIG1ldGhvZCBpcyBpbXBsZW1lbnRlZC4KK30KKwordm9pZCBDU1NQYXJzZXI6OnN0YXJ0
RGVjbGFyYXRpb25zRm9yTWFyZ2luQm94KCkKK3sKKyAgICBtX251bVBhcnNlZFByb3BlcnRpZXNC
ZWZvcmVNYXJnaW5Cb3ggPSBtX251bVBhcnNlZFByb3BlcnRpZXM7Cit9CisKK3ZvaWQgQ1NTUGFy
c2VyOjplbmREZWNsYXJhdGlvbnNGb3JNYXJnaW5Cb3goKQoreworICAgIEFTU0VSVChtX251bVBh
cnNlZFByb3BlcnRpZXNCZWZvcmVNYXJnaW5Cb3ggIT0gSU5WQUxJRF9OVU1fUEFSU0VEX1BST1BF
UlRJRVMpOworICAgIHJvbGxiYWNrTGFzdFByb3BlcnRpZXMobV9udW1QYXJzZWRQcm9wZXJ0aWVz
IC0gbV9udW1QYXJzZWRQcm9wZXJ0aWVzQmVmb3JlTWFyZ2luQm94KTsKKyAgICBtX251bVBhcnNl
ZFByb3BlcnRpZXNCZWZvcmVNYXJnaW5Cb3ggPSBJTlZBTElEX05VTV9QQVJTRURfUFJPUEVSVElF
UzsKK30KKwogdm9pZCBDU1NQYXJzZXI6OmNsZWFyVmFyaWFibGVzKCkKIHsKICAgICBtX3Zhcmlh
YmxlTmFtZXMuY2xlYXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oIGIv
V2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmgKaW5kZXggMzkyMmEyYS4uMjZmNzAwOCAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmgKKysrIGIvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmgK
QEAgLTE3OCw2ICsxNzgsMTAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBDU1NSdWxl
KiBjcmVhdGVTdHlsZVJ1bGUoVmVjdG9yPENTU1NlbGVjdG9yKj4qIHNlbGVjdG9ycyk7CiAgICAg
ICAgIENTU1J1bGUqIGNyZWF0ZUZvbnRGYWNlUnVsZSgpOwogICAgICAgICBDU1NSdWxlKiBjcmVh
dGVWYXJpYWJsZXNSdWxlKE1lZGlhTGlzdCosIGJvb2wgdmFyaWFibGVzS2V5d29yZCk7CisgICAg
ICAgIENTU1J1bGUqIGNyZWF0ZVBhZ2VSdWxlKENTU1NlbGVjdG9yKiBwYWdlU2VsZWN0b3IpOwor
ICAgICAgICBDU1NSdWxlKiBjcmVhdGVNYXJnaW5BdFJ1bGUoQ1NTU2VsZWN0b3I6Ok1hcmdpbkJv
eCYgbWFyZ2luQm94KTsKKyAgICAgICAgdm9pZCBzdGFydERlY2xhcmF0aW9uc0Zvck1hcmdpbkJv
eCgpOworICAgICAgICB2b2lkIGVuZERlY2xhcmF0aW9uc0Zvck1hcmdpbkJveCgpOwogCiAgICAg
ICAgIE1lZGlhUXVlcnlFeHAqIGNyZWF0ZUZsb2F0aW5nTWVkaWFRdWVyeUV4cChjb25zdCBBdG9t
aWNTdHJpbmcmLCBDU1NQYXJzZXJWYWx1ZUxpc3QqKTsKICAgICAgICAgTWVkaWFRdWVyeUV4cCog
c2lua0Zsb2F0aW5nTWVkaWFRdWVyeUV4cChNZWRpYVF1ZXJ5RXhwKik7CkBAIC0yMDksNiArMjEz
LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBDU1NTZWxlY3Rvckxpc3QqIG1fc2Vs
ZWN0b3JMaXN0Rm9yUGFyc2VTZWxlY3RvcjsKICAgICAgICAgdW5zaWduZWQgbV9udW1QYXJzZWRQ
cm9wZXJ0aWVzOwogICAgICAgICB1bnNpZ25lZCBtX21heFBhcnNlZFByb3BlcnRpZXM7CisgICAg
ICAgIHVuc2lnbmVkIG1fbnVtUGFyc2VkUHJvcGVydGllc0JlZm9yZU1hcmdpbkJveDsKIAogICAg
ICAgICBpbnQgbV9pblBhcnNlU2hvcnRoYW5kOwogICAgICAgICBpbnQgbV9jdXJyZW50U2hvcnRo
YW5kOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuY3BwIGIvV2ViQ29yZS9j
c3MvQ1NTU2VsZWN0b3IuY3BwCmluZGV4IDlhZTliOWYuLmZjMDU2MDYgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvY3NzL0NTU1NlbGVjdG9yLmNwcAorKysgYi9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5j
cHAKQEAgLTE1Nyw2ICsxNTcsMTAgQEAgdm9pZCBDU1NTZWxlY3Rvcjo6ZXh0cmFjdFBzZXVkb1R5
cGUoKSBjb25zdAogICAgIERFRklORV9TVEFUSUNfTE9DQUwoQXRvbWljU3RyaW5nLCBzaW5nbGVC
dXR0b24sICgic2luZ2xlLWJ1dHRvbiIpKTsKICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEF0b21p
Y1N0cmluZywgbm9CdXR0b24sICgibm8tYnV0dG9uIikpOwogICAgIERFRklORV9TVEFUSUNfTE9D
QUwoQXRvbWljU3RyaW5nLCBjb3JuZXJQcmVzZW50LCAoImNvcm5lci1wcmVzZW50IikpOworICAg
IC8vIFBhZ2VkIE1lZGlhIHBzZXVkby1jbGFzc2VzCisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChB
dG9taWNTdHJpbmcsIGxlZnRQYWdlLCAoImxlZnQiKSk7CisgICAgREVGSU5FX1NUQVRJQ19MT0NB
TChBdG9taWNTdHJpbmcsIHJpZ2h0UGFnZSwgKCJyaWdodCIpKTsKKyAgICBERUZJTkVfU1RBVElD
X0xPQ0FMKEF0b21pY1N0cmluZywgZmlyc3RQYWdlLCAoImZpcnN0IikpOwogCiAgICAgYm9vbCBl
bGVtZW50ID0gZmFsc2U7IC8vIHBzZXVkby1lbGVtZW50CiAgICAgYm9vbCBjb21wYXQgPSBmYWxz
ZTsgLy8gc2luZ2xlIGNvbG9uIGNvbXBhdGJpbGl0eSBtb2RlCkBAIC0zNzksNiArMzgzLDEyIEBA
IHZvaWQgQ1NTU2VsZWN0b3I6OmV4dHJhY3RQc2V1ZG9UeXBlKCkgY29uc3QKICAgICAgICAgbV9w
c2V1ZG9UeXBlID0gUHNldWRvVGFyZ2V0OwogICAgIGVsc2UgaWYgKG1fdmFsdWUgPT0gdmlzaXRl
ZCkKICAgICAgICAgbV9wc2V1ZG9UeXBlID0gUHNldWRvVmlzaXRlZDsKKyAgICBlbHNlIGlmICht
X3ZhbHVlID09IGxlZnRQYWdlKQorICAgICAgICBtX3BzZXVkb1R5cGUgPSBQc2V1ZG9MZWZ0UGFn
ZTsKKyAgICBlbHNlIGlmIChtX3ZhbHVlID09IHJpZ2h0UGFnZSkKKyAgICAgICAgbV9wc2V1ZG9U
eXBlID0gUHNldWRvUmlnaHRQYWdlOworICAgIGVsc2UgaWYgKG1fdmFsdWUgPT0gZmlyc3RQYWdl
KQorICAgICAgICBtX3BzZXVkb1R5cGUgPSBQc2V1ZG9GaXJzdFBhZ2U7CiAKICAgICBpZiAobV9t
YXRjaCA9PSBQc2V1ZG9DbGFzcyAmJiBlbGVtZW50KSB7CiAgICAgICAgIGlmICghY29tcGF0KSAK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmggYi9XZWJDb3JlL2Nzcy9DU1NT
ZWxlY3Rvci5oCmluZGV4IDcwZjI1NzQuLjVhNTRiNTIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvY3Nz
L0NTU1NlbGVjdG9yLmgKKysrIGIvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuaApAQCAtMTg2LDYg
KzE4NiwyOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgICAgICBQc2V1ZG9JbnB1dExp
c3RCdXR0b24sCiAgICAgICAgICAgICBQc2V1ZG9Jbm5lclNwaW5CdXR0b24sCiAgICAgICAgICAg
ICBQc2V1ZG9PdXRlclNwaW5CdXR0b24sCisgICAgICAgICAgICBQc2V1ZG9MZWZ0UGFnZSwKKyAg
ICAgICAgICAgIFBzZXVkb1JpZ2h0UGFnZSwKKyAgICAgICAgICAgIFBzZXVkb0ZpcnN0UGFnZSwK
KyAgICAgICAgfTsKKworICAgICAgICBlbnVtIE1hcmdpbkJveCB7CisgICAgICAgICAgICBUb3BM
ZWZ0Q29ybmVyLAorICAgICAgICAgICAgVG9wTGVmdCwKKyAgICAgICAgICAgIFRvcENlbnRlciwK
KyAgICAgICAgICAgIFRvcFJpZ2h0LAorICAgICAgICAgICAgVG9wUmlnaHRDb3JuZXIsCisgICAg
ICAgICAgICBCb3R0b21MZWZ0Q29ybmVyLAorICAgICAgICAgICAgQm90dG9tTGVmdCwKKyAgICAg
ICAgICAgIEJvdHRvbUNlbnRlciwKKyAgICAgICAgICAgIEJvdHRvbVJpZ2h0LAorICAgICAgICAg
ICAgQm90dG9tUmlnaHRDb3JuZXIsCisgICAgICAgICAgICBMZWZ0VG9wLAorICAgICAgICAgICAg
TGVmdE1pZGRsZSwKKyAgICAgICAgICAgIExlZnRCb3R0b20sCisgICAgICAgICAgICBSaWdodFRv
cCwKKyAgICAgICAgICAgIFJpZ2h0TWlkZGxlLAorICAgICAgICAgICAgUmlnaHRCb3R0b20sCiAg
ICAgICAgIH07CiAKICAgICAgICAgUHNldWRvVHlwZSBwc2V1ZG9UeXBlKCkgY29uc3QKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvY3NzL3Rva2VuaXplci5mbGV4IGIvV2ViQ29yZS9jc3MvdG9rZW5pemVy
LmZsZXgKaW5kZXggMTU2OWVlMi4uNWUzODhjNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9jc3MvdG9r
ZW5pemVyLmZsZXgKKysrIGIvV2ViQ29yZS9jc3MvdG9rZW5pemVyLmZsZXgKQEAgLTUzLDYgKzUz
LDIyIEBAIG50aCAgICAgICAgICAgICAoLT9bMC05XSpuW1wrLV1bMC05XSspfCgtP1swLTldKm4p
CiAKICJAaW1wb3J0IiAgICAgICAgICAgICAgIHtCRUdJTihtZWRpYXF1ZXJ5KTsgeXlUb2sgPSBJ
TVBPUlRfU1lNOyByZXR1cm4geXlUb2s7fQogIkBwYWdlIiAgICAgICAgICAgICAgICAge3l5VG9r
ID0gUEFHRV9TWU07IHJldHVybiB5eVRvazt9CisiQHRvcC1sZWZ0LWNvcm5lciIgICAgICB7eXlU
b2sgPSBUT1BMRUZUQ09STkVSX1NZTTsgcmV0dXJuIHl5VG9rO30KKyJAdG9wLWxlZnQiICAgICAg
ICAgICAgIHt5eVRvayA9IFRPUExFRlRfU1lNOyByZXR1cm4geXlUb2s7fQorIkB0b3AtY2VudGVy
IiAgICAgICAgICAge3l5VG9rID0gVE9QQ0VOVEVSX1NZTTsgcmV0dXJuIHl5VG9rO30KKyJAdG9w
LXJpZ2h0IiAgICAgICAgICAgIHt5eVRvayA9IFRPUFJJR0hUX1NZTTsgcmV0dXJuIHl5VG9rO30K
KyJAdG9wLXJpZ2h0LWNvcm5lciIgICAgIHt5eVRvayA9IFRPUFJJR0hUQ09STkVSX1NZTTsgcmV0
dXJuIHl5VG9rO30KKyJAYm90dG9tLWxlZnQtY29ybmVyIiAgIHt5eVRvayA9IEJPVFRPTUxFRlRD
T1JORVJfU1lNOyByZXR1cm4geXlUb2s7fQorIkBib3R0b20tbGVmdCIgICAgICAgICAge3l5VG9r
ID0gQk9UVE9NTEVGVF9TWU07IHJldHVybiB5eVRvazt9CisiQGJvdHRvbS1jZW50ZXIiICAgICAg
ICB7eXlUb2sgPSBCT1RUT01DRU5URVJfU1lNOyByZXR1cm4geXlUb2s7fQorIkBib3R0b20tcmln
aHQiICAgICAgICAge3l5VG9rID0gQk9UVE9NUklHSFRfU1lNOyByZXR1cm4geXlUb2s7fQorIkBi
b3R0b20tcmlnaHQtY29ybmVyIiAge3l5VG9rID0gQk9UVE9NUklHSFRDT1JORVJfU1lNOyByZXR1
cm4geXlUb2s7fQorIkBsZWZ0LXRvcCIgICAgICAgICAgICAge3l5VG9rID0gTEVGVFRPUF9TWU07
IHJldHVybiB5eVRvazt9CisiQGxlZnQtbWlkZGxlIiAgICAgICAgICB7eXlUb2sgPSBMRUZUTUlE
RExFX1NZTTsgcmV0dXJuIHl5VG9rO30KKyJAbGVmdC1ib3R0b20iICAgICAgICAgIHt5eVRvayA9
IExFRlRCT1RUT01fU1lNOyByZXR1cm4geXlUb2s7fQorIkByaWdodC10b3AiICAgICAgICAgICAg
e3l5VG9rID0gUklHSFRUT1BfU1lNOyByZXR1cm4geXlUb2s7fQorIkByaWdodC1taWRkbGUiICAg
ICAgICAge3l5VG9rID0gUklHSFRNSURETEVfU1lNOyByZXR1cm4geXlUb2s7fQorIkByaWdodC1i
b3R0b20iICAgICAgICAge3l5VG9rID0gUklHSFRCT1RUT01fU1lNOyByZXR1cm4geXlUb2s7fQog
IkBtZWRpYSIgICAgICAgICAgICAgICAge0JFR0lOKG1lZGlhcXVlcnkpOyB5eVRvayA9IE1FRElB
X1NZTTsgcmV0dXJuIHl5VG9rO30KICJAZm9udC1mYWNlIiAgICAgICAgICAgIHt5eVRvayA9IEZP
TlRfRkFDRV9TWU07IHJldHVybiB5eVRvazt9CiAiQGNoYXJzZXQiICAgICAgICAgICAgICB7eXlU
b2sgPSBDSEFSU0VUX1NZTTsgcmV0dXJuIHl5VG9rO30K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>50088</attachid>
            <date>2010-03-04 21:36:44 -0800</date>
            <delta_ts>2010-03-07 22:36:18 -0800</delta_ts>
            <desc>Enhance CSS parser for Paged Media (Iteration 2)</desc>
            <filename>bug-35782-20100305143642.patch</filename>
            <type>text/plain</type>
            <size>14332</size>
            <attacher name="Yuzo Fujishima">yuzo</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA3MjQ0OTRjLi4xNzczMTUyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTAtMDMt
MDQgIFl1em8gRnVqaXNoaW1hICA8eXV6b0Bnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEVuaGFuY2UgQ1NTIHBhcnNlciBmb3IgUGFn
ZWQgTWVkaWEgKEl0ZXJhdGlvbiAyKQorICAgICAgICBQYXJzZSBhbmQgaG9sZCBwYWdlZCBtZWRp
YSBydWxlcyBpbiBDU1NTdHlsZVNlbGVjdG9yLgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNTc4MgorCisgICAgICAgICogcHJpbnRpbmcvcGFnZS1y
dWxlLWNzcy10ZXh0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcHJpbnRpbmcvcGFn
ZS1ydWxlLWNzcy10ZXh0Lmh0bWw6IEFkZGVkLgorCiAyMDEwLTAyLTI0ICBZdXpvIEZ1amlzaGlt
YSAgPHl1em9AZ29vZ2xlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3ByaW50aW5nL3BhZ2UtcnVsZS1jc3MtdGV4dC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wcmludGluZy9wYWdlLXJ1bGUtY3NzLXRleHQtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJiOGJjOWIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wcmludGluZy9wYWdlLXJ1bGUtY3NzLXRleHQt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsOCBAQAorQHBhZ2UgeyBtYXJnaW4tdG9wOiA1Y207IG1h
cmdpbi1ib3R0b206IDEwY207IH0KK0BwYWdlIDpsZWZ0IHsgbWFyZ2luLXJpZ2h0OiAzY207IH0K
K0BwYWdlIDpyaWdodCB7IG1hcmdpbi1sZWZ0OiAzY207IH0KK0BwYWdlIDpmaXJzdCB7IGJvcmRl
ci10b3Atd2lkdGg6IDFweDsgYm9yZGVyLXJpZ2h0LXdpZHRoOiAxcHg7IGJvcmRlci1ib3R0b20t
d2lkdGg6IDFweDsgYm9yZGVyLWxlZnQtd2lkdGg6IDFweDsgfQorQHBhZ2UgaGVsbG8geyBjb2xv
cjogZ3JlZW47IH0KK0BwYWdlIHdvcmxkOnJpZ2h0IHsgY29sb3I6IHJlZDsgfQorQG1lZGlhIHBy
aW50IHsgQHBhZ2Ugc29tZXBhZ2U6Zmlyc3QgeyBtYXJnaW4tdG9wOiAzY207IG1hcmdpbi1yaWdo
dDogM2NtOyBtYXJnaW4tYm90dG9tOiAzY207IG1hcmdpbi1sZWZ0OiAzY207IH0gfQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9wcmludGluZy9wYWdlLXJ1bGUtY3NzLXRleHQuaHRtbCBiL0xh
eW91dFRlc3RzL3ByaW50aW5nL3BhZ2UtcnVsZS1jc3MtdGV4dC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZjNWY3ZDIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9wcmludGluZy9wYWdlLXJ1bGUtY3NzLXRleHQuaHRtbApAQCAtMCwwICsxLDc2IEBACis8
IWRvY3R5cGUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgor
QHBhZ2UgeworICAgIG1hcmdpbi10b3A6NWNtOworICAgIG1hcmdpbi1ib3R0b206MTBjbTsKK30K
K0BwYWdlIDpsZWZ0IHsKKyAgICBtYXJnaW4tcmlnaHQ6M2NtOworfQorQHBhZ2UgOnJpZ2h0IHsK
KyAgICBtYXJnaW4tbGVmdDozY207Cit9CitAcGFnZSA6Zmlyc3QgeworICAgIGJvcmRlci13aWR0
aDoxcHg7Cit9CitAcGFnZSBoZWxsbyB7CisgICAgY29sb3I6Z3JlZW47Cit9CitAcGFnZSB3b3Js
ZDpyaWdodCB7CisgICAgY29sb3I6cmVkOworfQorQG1lZGlhIHByaW50IHsKKyAgICBAcGFnZSBz
b21lcGFnZTpmaXJzdCB7CisgICAgICAgIG1hcmdpbjozY207CisgICAgfQorfQorLyogRklYTUU6
IEFkZCB0aGUgZm9sbG93aW5nIG9uY2Ugc2l6ZSBwcm9wZXJ0eSBpcyBpbXBsZW1lbnRlZC4KKwor
QHBhZ2UgOmxlZnQgeworICAgIHNpemU6IDRpbiA2aW47Cit9CitAcGFnZSA6cmlnaHQgeworICAg
IHNpemU6IGxldHRlcjsKK30KKyovCisvKiBGSVhNRTogQWRkIHRoZSBmb2xsb3dpbmcgb25jZSBt
YXJnaW4gYXQtcnVsZSBpcyBpbXBsZW1lbnRlZC4KKworQHBhZ2UgOmZpcnN0IHsKKyAgICBAdG9w
LWxlZnQtY29ybmVyIHsKKyAgICAgICAgY29udGVudDoiVExDIjsKKyAgICB9CisgICAgQGJvdHRv
bS1jZW50ZXIgeworICAgICAgICBjb250ZW50OiJCQyI7CisgICAgfQorfQorKi8KKzwvc3R5bGU+
Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CisKK2lmICh3aW5kb3cubGF5b3V0VGVz
dENvbnRyb2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworCitm
dW5jdGlvbiBwcmludChzdHIpCit7CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm91dHB1
dCIpLmlubmVySFRNTCArPSBzdHI7Cit9CisKK2Z1bmN0aW9uIHByaW50Q3NzVGV4dE9mUGFnZVJ1
bGVzKCkKK3sKKyAgICB2YXIgc3MgPSBkb2N1bWVudC5zdHlsZVNoZWV0czsKKyAgICBmb3IgKHZh
ciBpID0gMDsgaSA8IHNzLmxlbmd0aDsgaSsrKSB7CisgICAgICAgIGZvciAodmFyIGogPSAwOyBq
IDwgc3NbaV0uY3NzUnVsZXMubGVuZ3RoOyBqKyspIHsKKyAgICAgICAgICAgIHByaW50KHNzW2ld
LmNzc1J1bGVzW2pdLmNzc1RleHQgKyAiPGJyLz4iKTsKKyAgICAgICAgfQorICAgIH0KK30KKwor
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InByaW50Q3NzVGV4dE9mUGFnZVJ1bGVz
KCk7Ij4KKzxkaXYgaWQ9Im91dHB1dCI+PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CisKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmJhMmZj
Yi4uMDdkNGYwZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwzNCBAQAorMjAxMC0wMy0wNCAgWXV6byBGdWppc2hpbWEgIDx5
dXpvQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgRW5oYW5jZSBDU1MgcGFyc2VyIGZvciBQYWdlZCBNZWRpYSAoSXRlcmF0aW9uIDIp
CisgICAgICAgIFBhcnNlIGFuZCBob2xkIHBhZ2VkIG1lZGlhIHJ1bGVzIGluIENTU1N0eWxlU2Vs
ZWN0b3IuCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTM1NzgyCisKKyAgICAgICAgVGVzdDogcHJpbnRpbmcvcGFnZS1ydWxlLWNzcy10ZXh0Lmh0bWwK
KworICAgICAgICAqIGNzcy9DU1NHcmFtbWFyLnk6CisgICAgICAgICogY3NzL0NTU1BhZ2VSdWxl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhZ2VSdWxlOjpDU1NQYWdlUnVsZSk6CisgICAg
ICAgIChXZWJDb3JlOjpDU1NQYWdlUnVsZTo6c2VsZWN0b3JUZXh0KToKKyAgICAgICAgKiBjc3Mv
Q1NTUGFnZVJ1bGUuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhZ2VSdWxlOjpjcmVhdGUpOgor
ICAgICAgICAoV2ViQ29yZTo6Q1NTUGFnZVJ1bGU6OmlzUGFnZVJ1bGUpOgorICAgICAgICAqIGNz
cy9DU1NQYXJzZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpjcmVhdGVQYWdl
UnVsZSk6CisgICAgICAgICogY3NzL0NTU1N0eWxlUnVsZS5oOgorICAgICAgICAqIGNzcy9DU1NT
dHlsZVNlbGVjdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1J1bGVTZXQ6OmdldFBhZ2VS
dWxlcyk6CisgICAgICAgIChXZWJDb3JlOjpDU1NSdWxlU2V0OjpDU1NSdWxlU2V0KToKKyAgICAg
ICAgKFdlYkNvcmU6OkNTU1J1bGVTZXQ6On5DU1NSdWxlU2V0KToKKyAgICAgICAgKFdlYkNvcmU6
OkNTU1J1bGVTZXQ6OmFkZFBhZ2VSdWxlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1J1bGVTZXQ6
OmFkZFJ1bGVzRnJvbVNoZWV0KToKKyAgICAgICAgKiBjc3MvQ1NTU3R5bGVTZWxlY3Rvci5oOgor
ICAgICAgICAqIGNzcy9TdHlsZUJhc2UuaDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlQmFzZTo6
aXNQYWdlUnVsZSk6CisKIDIwMTAtMDItMjQgIFl1em8gRnVqaXNoaW1hICA8eXV6b0Bnb29nbGUu
Y29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9jc3MvQ1NTR3JhbW1hci55IGIvV2ViQ29yZS9jc3MvQ1NTR3JhbW1hci55CmluZGV4
IGU3ZGJkYjUuLmZlZjJjMjAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvY3NzL0NTU0dyYW1tYXIueQor
KysgYi9XZWJDb3JlL2Nzcy9DU1NHcmFtbWFyLnkKQEAgLTc1Miw3ICs3NTIsNyBAQCBrZXk6CiBw
YWdlOgogICAgIFBBR0VfU1lNIG1heWJlX3NwYWNlIHBhZ2Vfc2VsZWN0b3IgbWF5YmVfc3BhY2UK
ICAgICAneycgbWF5YmVfc3BhY2UgZGVjbGFyYXRpb25zX2FuZF9tYXJnaW5zIGNsb3NpbmdfYnJh
Y2UgewotICAgICAgICAgQ1NTUGFyc2VyKiBwID0gc3RhdGljX2Nhc3Q8Q1NTUGFyc2VyKj4ocGFy
c2VyKTsKKyAgICAgICAgQ1NTUGFyc2VyKiBwID0gc3RhdGljX2Nhc3Q8Q1NTUGFyc2VyKj4ocGFy
c2VyKTsKICAgICAgICAgJCQgPSBwLT5jcmVhdGVQYWdlUnVsZShwLT5zaW5rRmxvYXRpbmdTZWxl
Y3RvcigkMykpOwogICAgIH0KICAgICB8IFBBR0VfU1lNIGVycm9yIGludmFsaWRfYmxvY2sgewpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9jc3MvQ1NTUGFnZVJ1bGUuY3BwIGIvV2ViQ29yZS9jc3MvQ1NT
UGFnZVJ1bGUuY3BwCmluZGV4IDZhMzc5NjMuLmNlNzQyNmEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
Y3NzL0NTU1BhZ2VSdWxlLmNwcAorKysgYi9XZWJDb3JlL2Nzcy9DU1NQYWdlUnVsZS5jcHAKQEAg
LTIzLDEyICsyMywxNiBAQAogI2luY2x1ZGUgIkNTU1BhZ2VSdWxlLmgiCiAKICNpbmNsdWRlICJD
U1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbi5oIgorI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCi1DU1NQYWdlUnVsZTo6Q1NTUGFnZVJ1bGUoQ1NTU3R5bGVT
aGVldCogcGFyZW50KQotICAgIDogQ1NTUnVsZShwYXJlbnQpCitDU1NQYWdlUnVsZTo6Q1NTUGFn
ZVJ1bGUoQ1NTU3R5bGVTaGVldCogcGFyZW50LCBDU1NTZWxlY3Rvciogc2VsZWN0b3IpCisgICAg
OiBDU1NTdHlsZVJ1bGUocGFyZW50KQogeworICAgIFZlY3RvcjxDU1NTZWxlY3Rvcio+IHNlbGVj
dG9yczsKKyAgICBzZWxlY3RvcnMuYXBwZW5kKHNlbGVjdG9yKTsKKyAgICBhZG9wdFNlbGVjdG9y
VmVjdG9yKHNlbGVjdG9ycyk7CiB9CiAKIENTU1BhZ2VSdWxlOjp+Q1NTUGFnZVJ1bGUoKQpAQCAt
MzcsMTkgKzQxLDE0IEBAIENTU1BhZ2VSdWxlOjp+Q1NTUGFnZVJ1bGUoKQogCiBTdHJpbmcgQ1NT
UGFnZVJ1bGU6OnNlbGVjdG9yVGV4dCgpIGNvbnN0CiB7Ci0gICAgLy8gRklYTUU6IEltcGxlbWVu
dCEKLSAgICByZXR1cm4gU3RyaW5nKCk7Ci19Ci0KLXZvaWQgQ1NTUGFnZVJ1bGU6OnNldFNlbGVj
dG9yVGV4dChjb25zdCBTdHJpbmcmIC8qc2VsZWN0b3JUZXh0Ki8sIEV4Y2VwdGlvbkNvZGUmIC8q
ZWMqLykKLXsKLSAgICAvLyBGSVhNRTogSW1wbGVtZW50IQotfQotCi1TdHJpbmcgQ1NTUGFnZVJ1
bGU6OmNzc1RleHQoKSBjb25zdAotewotICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQhCi0gICAgcmV0
dXJuIFN0cmluZygpOworICAgIFN0cmluZyB0ZXh0ID0gIkBwYWdlIjsKKyAgICBDU1NTZWxlY3Rv
ciogc2VsZWN0b3IgPSBzZWxlY3Rvckxpc3QoKS5maXJzdCgpOworICAgIGlmIChzZWxlY3Rvcikg
eworICAgICAgICBTdHJpbmcgcGFnZVNwZWNpZmljYXRpb24gPSBzZWxlY3Rvci0+c2VsZWN0b3JU
ZXh0KCk7CisgICAgICAgIGlmICghcGFnZVNwZWNpZmljYXRpb24uaXNFbXB0eSgpKQorICAgICAg
ICAgICAgdGV4dCArPSAiICIgKyBwYWdlU3BlY2lmaWNhdGlvbjsKKyAgICB9CisgICAgcmV0dXJu
IHRleHQ7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
Y3NzL0NTU1BhZ2VSdWxlLmggYi9XZWJDb3JlL2Nzcy9DU1NQYWdlUnVsZS5oCmluZGV4IDhlMzc0
YTUuLjBmZGYwYTkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvY3NzL0NTU1BhZ2VSdWxlLmgKKysrIGIv
V2ViQ29yZS9jc3MvQ1NTUGFnZVJ1bGUuaApAQCAtMjIsMzcgKzIyLDM0IEBACiAjaWZuZGVmIENT
U1BhZ2VSdWxlX2gKICNkZWZpbmUgQ1NTUGFnZVJ1bGVfaAogCi0jaW5jbHVkZSAiQ1NTUnVsZS5o
IgorI2luY2x1ZGUgIkNTU1N0eWxlUnVsZS5oIgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+
CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNz
IENTU011dGFibGVTdHlsZURlY2xhcmF0aW9uOworY2xhc3MgQ1NTU2VsZWN0b3I7CitjbGFzcyBD
U1NTZWxlY3Rvckxpc3Q7CiAKLWNsYXNzIENTU1BhZ2VSdWxlIDogcHVibGljIENTU1J1bGUgewor
Y2xhc3MgQ1NTUGFnZVJ1bGUgOiBwdWJsaWMgQ1NTU3R5bGVSdWxlIHsKIHB1YmxpYzoKLSAgICBz
dGF0aWMgUGFzc1JlZlB0cjxDU1NQYWdlUnVsZT4gY3JlYXRlKENTU1N0eWxlU2hlZXQqIHBhcmVu
dCkKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxDU1NQYWdlUnVsZT4gY3JlYXRlKENTU1N0eWxlU2hl
ZXQqIHBhcmVudCwgQ1NTU2VsZWN0b3IqIHNlbGVjdG9yKQogICAgIHsKLSAgICAgICAgcmV0dXJu
IGFkb3B0UmVmKG5ldyBDU1NQYWdlUnVsZShwYXJlbnQpKTsKKyAgICAgICAgcmV0dXJuIGFkb3B0
UmVmKG5ldyBDU1NQYWdlUnVsZShwYXJlbnQsIHNlbGVjdG9yKSk7CiAgICAgfQogCiAgICAgdmly
dHVhbCB+Q1NTUGFnZVJ1bGUoKTsKIAotICAgIFN0cmluZyBzZWxlY3RvclRleHQoKSBjb25zdDsK
LSAgICB2b2lkIHNldFNlbGVjdG9yVGV4dChjb25zdCBTdHJpbmcmLCBFeGNlcHRpb25Db2RlJik7
Ci0KLSAgICBDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbiogc3R5bGUoKSBjb25zdCB7IHJldHVy
biBtX3N0eWxlLmdldCgpOyB9Ci0KLSAgICB2aXJ0dWFsIFN0cmluZyBjc3NUZXh0KCkgY29uc3Q7
CisgICAgdmlydHVhbCBTdHJpbmcgc2VsZWN0b3JUZXh0KCkgY29uc3Q7CiAKIHByaXZhdGU6Ci0g
ICAgQ1NTUGFnZVJ1bGUoQ1NTU3R5bGVTaGVldCogcGFyZW50KTsKKyAgICBDU1NQYWdlUnVsZShD
U1NTdHlsZVNoZWV0KiBwYXJlbnQsIENTU1NlbGVjdG9yKiBzZWxlY3Rvcik7CisKKyAgICB2aXJ0
dWFsIGJvb2wgaXNQYWdlUnVsZSgpIHsgcmV0dXJuIHRydWU7IH0KIAogICAgIC8vIEluaGVyaXRl
ZCBmcm9tIENTU1J1bGUKICAgICB2aXJ0dWFsIHVuc2lnbmVkIHNob3J0IHR5cGUoKSBjb25zdCB7
IHJldHVybiBQQUdFX1JVTEU7IH0KLQotICAgIFJlZlB0cjxDU1NNdXRhYmxlU3R5bGVEZWNsYXJh
dGlvbj4gbV9zdHlsZTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAgYi9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCmlu
ZGV4IGVmMGRmMTMuLmRiMDU0NDYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5j
cHAKKysrIGIvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcApAQCAtNDEsNiArNDEsNyBAQAogI2lu
Y2x1ZGUgIkNTU0luaXRpYWxWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU01lZGlhUnVsZS5oIgogI2lu
Y2x1ZGUgIkNTU011dGFibGVTdHlsZURlY2xhcmF0aW9uLmgiCisjaW5jbHVkZSAiQ1NTUGFnZVJ1
bGUuaCIKICNpbmNsdWRlICJDU1NQcmltaXRpdmVWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU1Byb3Bl
cnR5LmgiCiAjaW5jbHVkZSAiQ1NTUHJvcGVydHlOYW1lcy5oIgpAQCAtNTE2NCwxNSArNTE2NSwx
OSBAQCBib29sIENTU1BhcnNlcjo6YWRkVmFyaWFibGVEZWNsYXJhdGlvbkJsb2NrKGNvbnN0IENT
U1BhcnNlclN0cmluZyYpCiAKICNlbmRpZgogCi1DU1NSdWxlKiBDU1NQYXJzZXI6OmNyZWF0ZVBh
Z2VSdWxlKENTU1NlbGVjdG9yKiAvKiBwYWdlU2VsZWN0b3IgKi8pCitDU1NSdWxlKiBDU1NQYXJz
ZXI6OmNyZWF0ZVBhZ2VSdWxlKENTU1NlbGVjdG9yKiBwYWdlU2VsZWN0b3IpCiB7Ci0gICAgLy8g
RklYTUU6IENyZWF0ZSBwYWdlIHJ1bGUgaGVyZSwgdXNpbmc6Ci0gICAgLy8gICAgICAgIC0gcGFn
ZVNlbGVjdG9yLT5wc2V1ZG9UeXBlKCk6IHRoZSBwYWdlIHBzZXVkby1jbGFzcywgaS5lLiwgOmxl
ZnQsIDpyaWdodCwgb3IgOmZpcnN0Ci0gICAgLy8gICAgICAgIC0gcGFnZVNlbGVjdG9yLT5tX3Rh
ZzogIHRoZSBwYWdlIG5hbWUKLSAgICAvLyAgICAgICAgLSBtX3BhcnNlZFByb3BlcnRpZXM6IHRo
ZSBwYWdlIHByb3BlcnRpZXMKLQorICAgIC8vIEZJWE1FOiBNYXJnaW4gYXQtcnVsZXMgYXJlIGln
bm9yZWQuCisgICAgbV9hbGxvd0ltcG9ydFJ1bGVzID0gbV9hbGxvd05hbWVzcGFjZURlY2xhcmF0
aW9ucyA9IG1fYWxsb3dWYXJpYWJsZXNSdWxlcyA9IGZhbHNlOworICAgIENTU1BhZ2VSdWxlKiBw
YWdlUnVsZSA9IDA7CisgICAgaWYgKHBhZ2VTZWxlY3RvcikgeworICAgICAgICBSZWZQdHI8Q1NT
UGFnZVJ1bGU+IHJ1bGUgPSBDU1NQYWdlUnVsZTo6Y3JlYXRlKG1fc3R5bGVTaGVldCwgcGFnZVNl
bGVjdG9yKTsKKyAgICAgICAgcnVsZS0+c2V0RGVjbGFyYXRpb24oQ1NTTXV0YWJsZVN0eWxlRGVj
bGFyYXRpb246OmNyZWF0ZShydWxlLmdldCgpLCBtX3BhcnNlZFByb3BlcnRpZXMsIG1fbnVtUGFy
c2VkUHJvcGVydGllcykpOworICAgICAgICBwYWdlUnVsZSA9IHJ1bGUuZ2V0KCk7CisgICAgICAg
IG1fcGFyc2VkU3R5bGVPYmplY3RzLmFwcGVuZChydWxlLnJlbGVhc2UoKSk7CisgICAgfQogICAg
IGNsZWFyUHJvcGVydGllcygpOwotICAgIHJldHVybiAwOyAvLyB1bnRpbCB0aGlzIG1ldGhvZCBp
cyBpbXBsZW1lbnRlZC4KKyAgICByZXR1cm4gcGFnZVJ1bGU7CiB9CiAKIENTU1J1bGUqIENTU1Bh
cnNlcjo6Y3JlYXRlTWFyZ2luQXRSdWxlKENTU1NlbGVjdG9yOjpNYXJnaW5Cb3gmIC8qIG1hcmdp
bkJveCAqLykKZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NTU1N0eWxlUnVsZS5oIGIvV2ViQ29y
ZS9jc3MvQ1NTU3R5bGVSdWxlLmgKaW5kZXggMjNkODY0OC4uNTU1NzQ4NyAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9jc3MvQ1NTU3R5bGVSdWxlLmgKKysrIGIvV2ViQ29yZS9jc3MvQ1NTU3R5bGVSdWxl
LmgKQEAgLTQwLDcgKzQwLDcgQEAgcHVibGljOgogICAgIH0KICAgICB2aXJ0dWFsIH5DU1NTdHls
ZVJ1bGUoKTsKIAotICAgIFN0cmluZyBzZWxlY3RvclRleHQoKSBjb25zdDsKKyAgICB2aXJ0dWFs
IFN0cmluZyBzZWxlY3RvclRleHQoKSBjb25zdDsKICAgICB2b2lkIHNldFNlbGVjdG9yVGV4dChj
b25zdCBTdHJpbmcmLCBFeGNlcHRpb25Db2RlJik7CiAKICAgICBDU1NNdXRhYmxlU3R5bGVEZWNs
YXJhdGlvbiogc3R5bGUoKSBjb25zdCB7IHJldHVybiBtX3N0eWxlLmdldCgpOyB9CkBAIC01OCw5
ICs1OCwxMCBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQgYWRkU3VicmVzb3VyY2VTdHls
ZVVSTHMoTGlzdEhhc2hTZXQ8S1VSTD4mIHVybHMpOwogCi1wcml2YXRlOgorcHJvdGVjdGVkOgog
ICAgIENTU1N0eWxlUnVsZShDU1NTdHlsZVNoZWV0KiBwYXJlbnQpOwogCitwcml2YXRlOgogICAg
IHZpcnR1YWwgYm9vbCBpc1N0eWxlUnVsZSgpIHsgcmV0dXJuIHRydWU7IH0KIAogICAgIC8vIElu
aGVyaXRlZCBmcm9tIENTU1J1bGUKZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2Vs
ZWN0b3IuY3BwIGIvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAKaW5kZXggNDlhMWEx
ZS4uMjVjYTBmZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAK
KysrIGIvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAKQEAgLTMxLDYgKzMxLDcgQEAK
ICNpbmNsdWRlICJDU1NGb250RmFjZVJ1bGUuaCIKICNpbmNsdWRlICJDU1NJbXBvcnRSdWxlLmgi
CiAjaW5jbHVkZSAiQ1NTTWVkaWFSdWxlLmgiCisjaW5jbHVkZSAiQ1NTUGFnZVJ1bGUuaCIKICNp
bmNsdWRlICJDU1NQYXJzZXIuaCIKICNpbmNsdWRlICJDU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdz
LmgiCiAjaW5jbHVkZSAiQ1NTUHJvcGVydHlOYW1lcy5oIgpAQCAtMzU4LDYgKzM1OSw3IEBAIHB1
YmxpYzoKICAgICB2b2lkIGFkZFJ1bGVzRnJvbVNoZWV0KENTU1N0eWxlU2hlZXQqLCBjb25zdCBN
ZWRpYVF1ZXJ5RXZhbHVhdG9yJiwgQ1NTU3R5bGVTZWxlY3RvciogPSAwKTsKICAgICAKICAgICB2
b2lkIGFkZFJ1bGUoQ1NTU3R5bGVSdWxlKiBydWxlLCBDU1NTZWxlY3Rvciogc2VsKTsKKyAgICB2
b2lkIGFkZFBhZ2VSdWxlKENTU1N0eWxlUnVsZSogcnVsZSwgQ1NTU2VsZWN0b3IqIHNlbCk7CiAg
ICAgdm9pZCBhZGRUb1J1bGVTZXQoQXRvbWljU3RyaW5nSW1wbCoga2V5LCBBdG9tUnVsZU1hcCYg
bWFwLAogICAgICAgICAgICAgICAgICAgICAgIENTU1N0eWxlUnVsZSogcnVsZSwgQ1NTU2VsZWN0
b3IqIHNlbCk7CiAgICAgCkBAIC0zNjUsMTMgKzM2NywxNiBAQCBwdWJsaWM6CiAgICAgQ1NTUnVs
ZURhdGFMaXN0KiBnZXRDbGFzc1J1bGVzKEF0b21pY1N0cmluZ0ltcGwqIGtleSkgeyByZXR1cm4g
bV9jbGFzc1J1bGVzLmdldChrZXkpOyB9CiAgICAgQ1NTUnVsZURhdGFMaXN0KiBnZXRUYWdSdWxl
cyhBdG9taWNTdHJpbmdJbXBsKiBrZXkpIHsgcmV0dXJuIG1fdGFnUnVsZXMuZ2V0KGtleSk7IH0K
ICAgICBDU1NSdWxlRGF0YUxpc3QqIGdldFVuaXZlcnNhbFJ1bGVzKCkgeyByZXR1cm4gbV91bml2
ZXJzYWxSdWxlczsgfQorICAgIENTU1J1bGVEYXRhTGlzdCogZ2V0UGFnZVJ1bGVzKCkgeyByZXR1
cm4gbV9wYWdlUnVsZXM7IH0KICAgICAKIHB1YmxpYzoKICAgICBBdG9tUnVsZU1hcCBtX2lkUnVs
ZXM7CiAgICAgQXRvbVJ1bGVNYXAgbV9jbGFzc1J1bGVzOwogICAgIEF0b21SdWxlTWFwIG1fdGFn
UnVsZXM7CiAgICAgQ1NTUnVsZURhdGFMaXN0KiBtX3VuaXZlcnNhbFJ1bGVzOworICAgIENTU1J1
bGVEYXRhTGlzdCogbV9wYWdlUnVsZXM7CiAgICAgdW5zaWduZWQgbV9ydWxlQ291bnQ7CisgICAg
dW5zaWduZWQgbV9wYWdlUnVsZUNvdW50OwogfTsKIAogc3RhdGljIENTU1J1bGVTZXQqIGRlZmF1
bHRTdHlsZTsKQEAgLTI3NTAsNyArMjc1NSw5IEBAIENTU1ZhbHVlKiBDU1NTdHlsZVNlbGVjdG9y
OjpyZXNvbHZlVmFyaWFibGVEZXBlbmRlbnRWYWx1ZShDU1NWYXJpYWJsZURlcGVuZGVudFZhCiBD
U1NSdWxlU2V0OjpDU1NSdWxlU2V0KCkKIHsKICAgICBtX3VuaXZlcnNhbFJ1bGVzID0gMDsKKyAg
ICBtX3BhZ2VSdWxlcyA9IDA7CiAgICAgbV9ydWxlQ291bnQgPSAwOworICAgIG1fcGFnZVJ1bGVD
b3VudCA9IDA7CiB9CiAKIENTU1J1bGVTZXQ6On5DU1NSdWxlU2V0KCkKQEAgLTI3NjAsNiArMjc2
Nyw3IEBAIENTU1J1bGVTZXQ6On5DU1NSdWxlU2V0KCkKICAgICBkZWxldGVBbGxWYWx1ZXMobV90
YWdSdWxlcyk7CiAKICAgICBkZWxldGUgbV91bml2ZXJzYWxSdWxlczsgCisgICAgZGVsZXRlIG1f
cGFnZVJ1bGVzOwogfQogCiAKQEAgLTI3OTksNiArMjgwNywxNCBAQCB2b2lkIENTU1J1bGVTZXQ6
OmFkZFJ1bGUoQ1NTU3R5bGVSdWxlKiBydWxlLCBDU1NTZWxlY3Rvciogc2VsKQogICAgICAgICBt
X3VuaXZlcnNhbFJ1bGVzLT5hcHBlbmQobV9ydWxlQ291bnQrKywgcnVsZSwgc2VsKTsKIH0KIAor
dm9pZCBDU1NSdWxlU2V0OjphZGRQYWdlUnVsZShDU1NTdHlsZVJ1bGUqIHJ1bGUsIENTU1NlbGVj
dG9yKiBzZWwpCit7CisgICAgaWYgKCFtX3BhZ2VSdWxlcykKKyAgICAgICAgbV9wYWdlUnVsZXMg
PSBuZXcgQ1NTUnVsZURhdGFMaXN0KG1fcGFnZVJ1bGVDb3VudCsrLCBydWxlLCBzZWwpOworICAg
IGVsc2UKKyAgICAgICAgbV9wYWdlUnVsZXMtPmFwcGVuZChtX3BhZ2VSdWxlQ291bnQrKywgcnVs
ZSwgc2VsKTsKK30KKwogdm9pZCBDU1NSdWxlU2V0OjphZGRSdWxlc0Zyb21TaGVldChDU1NTdHls
ZVNoZWV0KiBzaGVldCwgY29uc3QgTWVkaWFRdWVyeUV2YWx1YXRvciYgbWVkaXVtLCBDU1NTdHls
ZVNlbGVjdG9yKiBzdHlsZVNlbGVjdG9yKQogewogICAgIGlmICghc2hlZXQpCkBAIC0yODE0LDkg
KzI4MzAsMTQgQEAgdm9pZCBDU1NSdWxlU2V0OjphZGRSdWxlc0Zyb21TaGVldChDU1NTdHlsZVNo
ZWV0KiBzaGVldCwgY29uc3QgTWVkaWFRdWVyeUV2YWx1YXQKICAgICBmb3IgKGludCBpID0gMDsg
aSA8IGxlbjsgaSsrKSB7CiAgICAgICAgIFN0eWxlQmFzZSogaXRlbSA9IHNoZWV0LT5pdGVtKGkp
OwogICAgICAgICBpZiAoaXRlbS0+aXNTdHlsZVJ1bGUoKSkgewotICAgICAgICAgICAgQ1NTU3R5
bGVSdWxlKiBydWxlID0gc3RhdGljX2Nhc3Q8Q1NTU3R5bGVSdWxlKj4oaXRlbSk7Ci0gICAgICAg
ICAgICBmb3IgKENTU1NlbGVjdG9yKiBzID0gcnVsZS0+c2VsZWN0b3JMaXN0KCkuZmlyc3QoKTsg
czsgcyA9IENTU1NlbGVjdG9yTGlzdDo6bmV4dChzKSkKLSAgICAgICAgICAgICAgICBhZGRSdWxl
KHJ1bGUsIHMpOworICAgICAgICAgICAgaWYgKGl0ZW0tPmlzUGFnZVJ1bGUoKSkgeworICAgICAg
ICAgICAgICAgIENTU1BhZ2VSdWxlKiBwYWdlUnVsZSA9IHN0YXRpY19jYXN0PENTU1BhZ2VSdWxl
Kj4oaXRlbSk7CisgICAgICAgICAgICAgICAgYWRkUGFnZVJ1bGUocGFnZVJ1bGUsIHBhZ2VSdWxl
LT5zZWxlY3Rvckxpc3QoKS5maXJzdCgpKTsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAg
ICAgICAgICAgQ1NTU3R5bGVSdWxlKiBydWxlID0gc3RhdGljX2Nhc3Q8Q1NTU3R5bGVSdWxlKj4o
aXRlbSk7CisgICAgICAgICAgICAgICAgZm9yIChDU1NTZWxlY3RvciogcyA9IHJ1bGUtPnNlbGVj
dG9yTGlzdCgpLmZpcnN0KCk7IHM7IHMgPSBDU1NTZWxlY3Rvckxpc3Q6Om5leHQocykpCisgICAg
ICAgICAgICAgICAgICAgIGFkZFJ1bGUocnVsZSwgcyk7CisgICAgICAgICAgICB9CiAgICAgICAg
IH0KICAgICAgICAgZWxzZSBpZiAoaXRlbS0+aXNJbXBvcnRSdWxlKCkpIHsKICAgICAgICAgICAg
IENTU0ltcG9ydFJ1bGUqIGltcG9ydCA9IHN0YXRpY19jYXN0PENTU0ltcG9ydFJ1bGUqPihpdGVt
KTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuaCBiL1dlYkNvcmUv
Y3NzL0NTU1N0eWxlU2VsZWN0b3IuaAppbmRleCA2NDQwNTFjLi5lOTg1YjYzIDEwMDY0NAotLS0g
YS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmgKKysrIGIvV2ViQ29yZS9jc3MvQ1NTU3R5
bGVTZWxlY3Rvci5oCkBAIC0zNSw2ICszNSw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNs
YXNzIENTU011dGFibGVTdHlsZURlY2xhcmF0aW9uOworY2xhc3MgQ1NTUGFnZVJ1bGU7CiBjbGFz
cyBDU1NQcmltaXRpdmVWYWx1ZTsKIGNsYXNzIENTU1Byb3BlcnR5OwogY2xhc3MgQ1NTRm9udEZh
Y2U7CkBAIC0xNTUsNiArMTU2LDcgQEAgcHVibGljOgogICAgICAgICB2b2lkIHJlc29sdmVWYXJp
YWJsZXNGb3JEZWNsYXJhdGlvbihDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbiogZGVjbCwgQ1NT
TXV0YWJsZVN0eWxlRGVjbGFyYXRpb24qIG5ld0RlY2wsIEhhc2hTZXQ8U3RyaW5nPiYgdXNlZEJs
b2NrVmFyaWFibGVzKTsKIAogICAgICAgICB2b2lkIGFkZEtleWZyYW1lU3R5bGUoUGFzc1JlZlB0
cjxXZWJLaXRDU1NLZXlmcmFtZXNSdWxlPiBydWxlKTsKKyAgICAgICAgdm9pZCBhZGRQYWdlU3R5
bGUoUGFzc1JlZlB0cjxDU1NQYWdlUnVsZT4pOwogCiAgICAgICAgIHN0YXRpYyBib29sIGNyZWF0
ZVRyYW5zZm9ybU9wZXJhdGlvbnMoQ1NTVmFsdWUqIGluVmFsdWUsIFJlbmRlclN0eWxlKiBpblN0
eWxlLCBSZW5kZXJTdHlsZSogcm9vdFN0eWxlLCBUcmFuc2Zvcm1PcGVyYXRpb25zJiBvdXRPcGVy
YXRpb25zKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9jc3MvU3R5bGVCYXNlLmggYi9XZWJDb3Jl
L2Nzcy9TdHlsZUJhc2UuaAppbmRleCBhMmYxMDAyLi5mYmQ3YmViIDEwMDY0NAotLS0gYS9XZWJD
b3JlL2Nzcy9TdHlsZUJhc2UuaAorKysgYi9XZWJDb3JlL2Nzcy9TdHlsZUJhc2UuaApAQCAtNTQs
NiArNTQsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBpc0tl
eWZyYW1lc1J1bGUoKSB7IHJldHVybiBmYWxzZTsgfQogICAgICAgICB2aXJ0dWFsIGJvb2wgaXNN
ZWRpYVJ1bGUoKSB7IHJldHVybiBmYWxzZTsgfQogICAgICAgICB2aXJ0dWFsIGJvb2wgaXNWYXJp
YWJsZXNSdWxlKCkgeyByZXR1cm4gZmFsc2U7IH0KKyAgICAgICAgdmlydHVhbCBib29sIGlzUGFn
ZVJ1bGUoKSB7IHJldHVybiBmYWxzZTsgfQogICAgICAgICAKICAgICAgICAgdmlydHVhbCBib29s
IGlzUnVsZSgpIHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgICAgIHZpcnR1YWwgYm9vbCBpc1N0eWxl
UnVsZSgpIHsgcmV0dXJuIGZhbHNlOyB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>50189</attachid>
            <date>2010-03-07 22:36:24 -0800</date>
            <delta_ts>2010-03-10 02:12:27 -0800</delta_ts>
            <desc>Enhance CSS parser for Paged Media (Iteration 2)</desc>
            <filename>bug-35782-20100308153622.patch</filename>
            <type>text/plain</type>
            <size>21521</size>
            <attacher name="Yuzo Fujishima">yuzo</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA3MjQ0OTRjLi4yNDkzY2QwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTAtMDMt
MDcgIFl1em8gRnVqaXNoaW1hICA8eXV6b0Bnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEVuaGFuY2UgQ1NTIHBhcnNlciBmb3IgUGFn
ZWQgTWVkaWEgKEl0ZXJhdGlvbiAyKQorICAgICAgICBQYXJzZSBhbmQgaG9sZCBwYWdlZCBtZWRp
YSBydWxlcyBpbiBDU1NTdHlsZVNlbGVjdG9yLgorCisgICAgICAgIGZhc3QvZG9tL3NjcmlwdC10
ZXN0cy9wcm90b3R5cGUtaW5oZXJpdGFuY2UtMi5qcyBpcyByZWJhc2VsaW5lZCBiZWNhdXNlIGl0
IGFzc3VtZXMgQHBhZ2UgaXMgaWdub3JlZC4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzU3ODIKKworICAgICAgICAqIGZhc3QvZG9tL3Byb3RvdHlw
ZS1pbmhlcml0YW5jZS0yLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2RvbS9zY3JpcHQt
dGVzdHMvcHJvdG90eXBlLWluaGVyaXRhbmNlLTIuanM6CisgICAgICAgICogcHJpbnRpbmcvcGFn
ZS1ydWxlLWNzcy10ZXh0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcHJpbnRpbmcv
cGFnZS1ydWxlLWNzcy10ZXh0Lmh0bWw6IEFkZGVkLgorCiAyMDEwLTAyLTI0ICBZdXpvIEZ1amlz
aGltYSAgPHl1em9AZ29vZ2xlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3Byb3RvdHlwZS1pbmhlcml0
YW5jZS0yLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3Byb3RvdHlwZS1pbmhl
cml0YW5jZS0yLWV4cGVjdGVkLnR4dAppbmRleCA1ODNkODY1Li41NWE3NTYwIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9wcm90b3R5cGUtaW5oZXJpdGFuY2UtMi1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vcHJvdG90eXBlLWluaGVyaXRhbmNlLTItZXhw
ZWN0ZWQudHh0CkBAIC0xMywxNSArMTMsMTggQEAgRkFJTCBCb29sZWFuIGZyb20gaW5uZXIuZG9j
dW1lbnQuZm9ybXMudGVzdEZvcm0uMC5ub1ZhbGlkYXRlCiBQQVNTIENTU0NoYXJzZXRSdWxlIGZy
b20gaW5uZXIuZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImR1bW15U3R5bGUiKS5zaGVldC5jc3NS
dWxlcy4wCiBQQVNTIENTU0NoYXJzZXRSdWxlQ29uc3RydWN0b3IgZnJvbSBpbm5lci5kb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZHVtbXlTdHlsZSIpLnNoZWV0LmNzc1J1bGVzLjAuY29uc3RydWN0
b3IKIFBBU1MgQ1NTQ2hhcnNldFJ1bGVQcm90b3R5cGUgZnJvbSBpbm5lci5kb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZHVtbXlTdHlsZSIpLnNoZWV0LmNzc1J1bGVzLjAuX19wcm90b19fCi1QQVNT
IENTU0ZvbnRGYWNlUnVsZSBmcm9tIGlubmVyLmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkdW1t
eVN0eWxlIikuc2hlZXQuY3NzUnVsZXMuMwotUEFTUyBDU1NGb250RmFjZVJ1bGVDb25zdHJ1Y3Rv
ciBmcm9tIGlubmVyLmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkdW1teVN0eWxlIikuc2hlZXQu
Y3NzUnVsZXMuMy5jb25zdHJ1Y3RvcgotUEFTUyBDU1NGb250RmFjZVJ1bGVQcm90b3R5cGUgZnJv
bSBpbm5lci5kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZHVtbXlTdHlsZSIpLnNoZWV0LmNzc1J1
bGVzLjMuX19wcm90b19fCitQQVNTIENTU0ZvbnRGYWNlUnVsZSBmcm9tIGlubmVyLmRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJkdW1teVN0eWxlIikuc2hlZXQuY3NzUnVsZXMuNAorUEFTUyBDU1NG
b250RmFjZVJ1bGVDb25zdHJ1Y3RvciBmcm9tIGlubmVyLmRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJkdW1teVN0eWxlIikuc2hlZXQuY3NzUnVsZXMuNC5jb25zdHJ1Y3RvcgorUEFTUyBDU1NGb250
RmFjZVJ1bGVQcm90b3R5cGUgZnJvbSBpbm5lci5kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZHVt
bXlTdHlsZSIpLnNoZWV0LmNzc1J1bGVzLjQuX19wcm90b19fCiBQQVNTIENTU0ltcG9ydFJ1bGUg
ZnJvbSBpbm5lci5kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZHVtbXlTdHlsZSIpLnNoZWV0LmNz
c1J1bGVzLjEKIFBBU1MgQ1NTSW1wb3J0UnVsZUNvbnN0cnVjdG9yIGZyb20gaW5uZXIuZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImR1bW15U3R5bGUiKS5zaGVldC5jc3NSdWxlcy4xLmNvbnN0cnVj
dG9yCiBQQVNTIENTU0ltcG9ydFJ1bGVQcm90b3R5cGUgZnJvbSBpbm5lci5kb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZHVtbXlTdHlsZSIpLnNoZWV0LmNzc1J1bGVzLjEuX19wcm90b19fCi1QQVNT
IENTU01lZGlhUnVsZSBmcm9tIGlubmVyLmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkdW1teVN0
eWxlIikuc2hlZXQuY3NzUnVsZXMuMgotUEFTUyBDU1NNZWRpYVJ1bGVDb25zdHJ1Y3RvciBmcm9t
IGlubmVyLmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkdW1teVN0eWxlIikuc2hlZXQuY3NzUnVs
ZXMuMi5jb25zdHJ1Y3RvcgotUEFTUyBDU1NNZWRpYVJ1bGVQcm90b3R5cGUgZnJvbSBpbm5lci5k
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZHVtbXlTdHlsZSIpLnNoZWV0LmNzc1J1bGVzLjIuX19w
cm90b19fCitQQVNTIENTU01lZGlhUnVsZSBmcm9tIGlubmVyLmRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJkdW1teVN0eWxlIikuc2hlZXQuY3NzUnVsZXMuMworUEFTUyBDU1NNZWRpYVJ1bGVDb25z
dHJ1Y3RvciBmcm9tIGlubmVyLmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkdW1teVN0eWxlIiku
c2hlZXQuY3NzUnVsZXMuMy5jb25zdHJ1Y3RvcgorUEFTUyBDU1NNZWRpYVJ1bGVQcm90b3R5cGUg
ZnJvbSBpbm5lci5kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZHVtbXlTdHlsZSIpLnNoZWV0LmNz
c1J1bGVzLjMuX19wcm90b19fCitQQVNTIENTU1BhZ2VSdWxlIGZyb20gaW5uZXIuZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImR1bW15U3R5bGUiKS5zaGVldC5jc3NSdWxlcy4yCitQQVNTIENTU1Bh
Z2VSdWxlQ29uc3RydWN0b3IgZnJvbSBpbm5lci5kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZHVt
bXlTdHlsZSIpLnNoZWV0LmNzc1J1bGVzLjIuY29uc3RydWN0b3IKK1BBU1MgQ1NTUGFnZVJ1bGVQ
cm90b3R5cGUgZnJvbSBpbm5lci5kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZHVtbXlTdHlsZSIp
LnNoZWV0LmNzc1J1bGVzLjIuX19wcm90b19fCiBQQVNTIENTU1ByaW1pdGl2ZVZhbHVlIGZyb20g
aW5uZXIuZ2V0Q29tcHV0ZWRTdHlsZShpbm5lci5kb2N1bWVudC5ib2R5KS5nZXRQcm9wZXJ0eUNT
U1ZhbHVlKGJhY2tncm91bmQtY2xpcCkKIFBBU1MgQ1NTUHJpbWl0aXZlVmFsdWVDb25zdHJ1Y3Rv
ciBmcm9tIGlubmVyLmdldENvbXB1dGVkU3R5bGUoaW5uZXIuZG9jdW1lbnQuYm9keSkuZ2V0UHJv
cGVydHlDU1NWYWx1ZShiYWNrZ3JvdW5kLWNsaXApLmNvbnN0cnVjdG9yCiBQQVNTIENTU1ByaW1p
dGl2ZVZhbHVlUHJvdG90eXBlIGZyb20gaW5uZXIuZ2V0Q29tcHV0ZWRTdHlsZShpbm5lci5kb2N1
bWVudC5ib2R5KS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKGJhY2tncm91bmQtY2xpcCkuX19wcm90b19f
CkBAIC0zMiw5ICszNSw5IEBAIFBBU1MgQ1NTUnVsZVByb3RvdHlwZSBmcm9tIGlubmVyLmRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJkdW1teVN0eWxlIikuc2hlZXQuY3NzCiBQQVNTIENTU1N0eWxl
RGVjbGFyYXRpb24gZnJvbSBpbm5lci5kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3R5bGVkU3Bh
biIpLnN0eWxlCiBQQVNTIENTU1N0eWxlRGVjbGFyYXRpb25Db25zdHJ1Y3RvciBmcm9tIGlubmVy
LmRvY3VtZW50LmZvcm1zLnRlc3RGb3JtLjAuc3R5bGUuY29uc3RydWN0b3IKIFBBU1MgQ1NTU3R5
bGVEZWNsYXJhdGlvblByb3RvdHlwZSBmcm9tIGlubmVyLmRvY3VtZW50LmZvcm1zLnRlc3RGb3Jt
LjAuMC5zdHlsZS5fX3Byb3RvX18KLVBBU1MgQ1NTU3R5bGVSdWxlIGZyb20gaW5uZXIuZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImR1bW15U3R5bGUiKS5zaGVldC5jc3NSdWxlcy40Ci1QQVNTIENT
U1N0eWxlUnVsZUNvbnN0cnVjdG9yIGZyb20gaW5uZXIuZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImR1bW15U3R5bGUiKS5zaGVldC5jc3NSdWxlcy40LmNvbnN0cnVjdG9yCi1QQVNTIENTU1N0eWxl
UnVsZVByb3RvdHlwZSBmcm9tIGlubmVyLmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkdW1teVN0
eWxlIikuc2hlZXQuY3NzUnVsZXMuNC5fX3Byb3RvX18KK1BBU1MgQ1NTU3R5bGVSdWxlIGZyb20g
aW5uZXIuZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImR1bW15U3R5bGUiKS5zaGVldC5jc3NSdWxl
cy41CitQQVNTIENTU1N0eWxlUnVsZUNvbnN0cnVjdG9yIGZyb20gaW5uZXIuZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImR1bW15U3R5bGUiKS5zaGVldC5jc3NSdWxlcy41LmNvbnN0cnVjdG9yCitQ
QVNTIENTU1N0eWxlUnVsZVByb3RvdHlwZSBmcm9tIGlubmVyLmRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJkdW1teVN0eWxlIikuc2hlZXQuY3NzUnVsZXMuNS5fX3Byb3RvX18KIFBBU1MgQ1NTU3R5
bGVTaGVldCBmcm9tIGlubmVyLmRvY3VtZW50LmZvcm1zLnRlc3RGb3JtLjAub3duZXJEb2N1bWVu
dC5zdHlsZVNoZWV0cy4wCiBQQVNTIENTU1N0eWxlU2hlZXRDb25zdHJ1Y3RvciBmcm9tIGlubmVy
LmRvY3VtZW50LmZvcm1zLnRlc3RGb3JtLjAub3duZXJEb2N1bWVudC5zdHlsZVNoZWV0cy4wLmNv
bnN0cnVjdG9yCiBQQVNTIENTU1N0eWxlU2hlZXRQcm90b3R5cGUgZnJvbSBpbm5lci5kb2N1bWVu
dC5mb3Jtcy50ZXN0Rm9ybS4wLm93bmVyRG9jdW1lbnQuc3R5bGVTaGVldHMuMC5fX3Byb3RvX18K
QEAgLTE5NiwxNyArMTk5LDE2IEBAIFBBU1MgVGltZVJhbmdlcyBmcm9tIGlubmVyLmRvY3VtZW50
LmZvcm1zLnRlc3RGb3JtLjAucHJldmlvdXNFbGVtZW50U2libGluZy5wbGF5CiBQQVNTIFRpbWVS
YW5nZXNQcm90b3R5cGUgZnJvbSBpbm5lci5kb2N1bWVudC5mb3Jtcy50ZXN0Rm9ybS4wLnByZXZp
b3VzRWxlbWVudFNpYmxpbmcucGxheWVkLl9fcHJvdG9fXwogUEFTUyBWYWxpZGl0eVN0YXRlIGZy
b20gaW5uZXIuZG9jdW1lbnQuZm9ybXMudGVzdEZvcm0uMC4wLnZhbGlkaXR5CiBQQVNTIFZhbGlk
aXR5U3RhdGVQcm90b3R5cGUgZnJvbSBpbm5lci5kb2N1bWVudC5mb3Jtcy50ZXN0Rm9ybS4wLjAu
dmFsaWRpdHkuX19wcm90b19fCi1QQVNTIFdlYktpdENTU0tleWZyYW1lUnVsZSBmcm9tIGlubmVy
LmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkdW1teVN0eWxlIikuc2hlZXQuY3NzUnVsZXMuNS4w
Ci1QQVNTIFdlYktpdENTU0tleWZyYW1lUnVsZUNvbnN0cnVjdG9yIGZyb20gaW5uZXIuZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImR1bW15U3R5bGUiKS5zaGVldC5jc3NSdWxlcy41LjAuY29uc3Ry
dWN0b3IKLVBBU1MgV2ViS2l0Q1NTS2V5ZnJhbWVSdWxlUHJvdG90eXBlIGZyb20gaW5uZXIuZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImR1bW15U3R5bGUiKS5zaGVldC5jc3NSdWxlcy41LjAuX19w
cm90b19fCi1QQVNTIFdlYktpdENTU0tleWZyYW1lc1J1bGUgZnJvbSBpbm5lci5kb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZHVtbXlTdHlsZSIpLnNoZWV0LmNzc1J1bGVzLjUKLVBBU1MgV2ViS2l0
Q1NTS2V5ZnJhbWVzUnVsZUNvbnN0cnVjdG9yIGZyb20gaW5uZXIuZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImR1bW15U3R5bGUiKS5zaGVldC5jc3NSdWxlcy41LmNvbnN0cnVjdG9yCi1QQVNTIFdl
YktpdENTU0tleWZyYW1lc1J1bGVQcm90b3R5cGUgZnJvbSBpbm5lci5kb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZHVtbXlTdHlsZSIpLnNoZWV0LmNzc1J1bGVzLjUuX19wcm90b19fCitQQVNTIFdl
YktpdENTU0tleWZyYW1lUnVsZSBmcm9tIGlubmVyLmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJk
dW1teVN0eWxlIikuc2hlZXQuY3NzUnVsZXMuNi4wCitQQVNTIFdlYktpdENTU0tleWZyYW1lUnVs
ZUNvbnN0cnVjdG9yIGZyb20gaW5uZXIuZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImR1bW15U3R5
bGUiKS5zaGVldC5jc3NSdWxlcy42LjAuY29uc3RydWN0b3IKK1BBU1MgV2ViS2l0Q1NTS2V5ZnJh
bWVSdWxlUHJvdG90eXBlIGZyb20gaW5uZXIuZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImR1bW15
U3R5bGUiKS5zaGVldC5jc3NSdWxlcy42LjAuX19wcm90b19fCitQQVNTIFdlYktpdENTU0tleWZy
YW1lc1J1bGUgZnJvbSBpbm5lci5kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZHVtbXlTdHlsZSIp
LnNoZWV0LmNzc1J1bGVzLjYKK1BBU1MgV2ViS2l0Q1NTS2V5ZnJhbWVzUnVsZUNvbnN0cnVjdG9y
IGZyb20gaW5uZXIuZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImR1bW15U3R5bGUiKS5zaGVldC5j
c3NSdWxlcy42LmNvbnN0cnVjdG9yCitQQVNTIFdlYktpdENTU0tleWZyYW1lc1J1bGVQcm90b3R5
cGUgZnJvbSBpbm5lci5kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZHVtbXlTdHlsZSIpLnNoZWV0
LmNzc1J1bGVzLjYuX19wcm90b19fCiBQQVNTIFhTTFRQcm9jZXNzb3JDb25zcnVjdG9yIGZyb20g
aW5uZXIuZG9jdW1lbnQuZm9ybXMudGVzdEZvcm0uMC5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3
LlhTTFRQcm9jZXNzb3IKIE5ldmVyIGZvdW5kIEF1ZGlvCiBOZXZlciBmb3VuZCBCbG9iCiBOZXZl
ciBmb3VuZCBDREFUQVNlY3Rpb24KLU5ldmVyIGZvdW5kIENTU1BhZ2VSdWxlCiBOZXZlciBmb3Vu
ZCBDU1NSdWxlCiBOZXZlciBmb3VuZCBDU1NWYXJpYWJsZXNEZWNsYXJhdGlvbgogTmV2ZXIgZm91
bmQgQ1NTVmFyaWFibGVzUnVsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2Ny
aXB0LXRlc3RzL3Byb3RvdHlwZS1pbmhlcml0YW5jZS0yLmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9k
b20vc2NyaXB0LXRlc3RzL3Byb3RvdHlwZS1pbmhlcml0YW5jZS0yLmpzCmluZGV4IDYwNzc2ZWUu
LmZmZjkyZGQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NjcmlwdC10ZXN0cy9w
cm90b3R5cGUtaW5oZXJpdGFuY2UtMi5qcworKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zY3Jp
cHQtdGVzdHMvcHJvdG90eXBlLWluaGVyaXRhbmNlLTIuanMKQEAgLTE5Niw3ICsxOTYsNyBAQCBo
dG1sVG9BZGQgKz0gIjwhLS0gdGVzdCAtLT4iOwogc3R5bGVDb250ZW50cyA9ICJAY2hhcnNldCAn
VVRGLTgnOyI7CiBzdHlsZUNvbnRlbnRzICs9ICJAaW1wb3J0IHVybCgnZHVtbXkuY3NzJykgcHJp
bnQ7XG4iOyAvLyBPdXIgcGFyc2VyIHNlZW1zIHRvIHdhbnQgdGhpcyBydWxlIGZpcnN0Pwogc3R5
bGVDb250ZW50cyArPSAiQHZhcmlhYmxlcyB7IElnbm9yZWQ6IDJlbTsgfVxuIjsgLy8gRm9yIHdo
ZW4gdmFyaWFibGVzIGFyZSB0dXJuZWQgYmFjayBvbgotc3R5bGVDb250ZW50cyArPSAiQHBhZ2Ug
eyBtYXJnaW46IDNjbTsgfVxuIjsgLy8gQ3VycmVudCBXZWJLaXQgaWdub3JlcyBAcGFnZQorc3R5
bGVDb250ZW50cyArPSAiQHBhZ2UgeyBtYXJnaW46IDNjbTsgfVxuIjsKIHN0eWxlQ29udGVudHMg
Kz0gIkBtZWRpYSBwcmludCB7IGJvZHkgeyBtYXJnaW46IDNjbTsgfSB9XG4iCiBzdHlsZUNvbnRl
bnRzICs9ICJAZm9udC1mYWNlIHtmb250LWZhbWlseTonVGltZXMnO31cbiI7CiBzdHlsZUNvbnRl
bnRzICs9ICJpZ25vcmVkIHtmb250LWZhbWlseTogdmFyKElnbm9yZWQpO31cbiI7IC8vIGEgQ1NT
U3R5bGVSdWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wcmludGluZy9wYWdlLXJ1bGUtY3Nz
LXRleHQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcHJpbnRpbmcvcGFnZS1ydWxlLWNzcy10
ZXh0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYjhi
YzliCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcHJpbnRpbmcvcGFnZS1ydWxlLWNz
cy10ZXh0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDggQEAKK0BwYWdlIHsgbWFyZ2luLXRvcDog
NWNtOyBtYXJnaW4tYm90dG9tOiAxMGNtOyB9CitAcGFnZSA6bGVmdCB7IG1hcmdpbi1yaWdodDog
M2NtOyB9CitAcGFnZSA6cmlnaHQgeyBtYXJnaW4tbGVmdDogM2NtOyB9CitAcGFnZSA6Zmlyc3Qg
eyBib3JkZXItdG9wLXdpZHRoOiAxcHg7IGJvcmRlci1yaWdodC13aWR0aDogMXB4OyBib3JkZXIt
Ym90dG9tLXdpZHRoOiAxcHg7IGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7IH0KK0BwYWdlIGhlbGxv
IHsgY29sb3I6IGdyZWVuOyB9CitAcGFnZSB3b3JsZDpyaWdodCB7IGNvbG9yOiByZWQ7IH0KK0Bt
ZWRpYSBwcmludCB7IEBwYWdlIHNvbWVwYWdlOmZpcnN0IHsgbWFyZ2luLXRvcDogM2NtOyBtYXJn
aW4tcmlnaHQ6IDNjbTsgbWFyZ2luLWJvdHRvbTogM2NtOyBtYXJnaW4tbGVmdDogM2NtOyB9IH0K
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcHJpbnRpbmcvcGFnZS1ydWxlLWNzcy10ZXh0Lmh0
bWwgYi9MYXlvdXRUZXN0cy9wcmludGluZy9wYWdlLXJ1bGUtY3NzLXRleHQuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YzVmN2QyCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvcHJpbnRpbmcvcGFnZS1ydWxlLWNzcy10ZXh0Lmh0bWwKQEAgLTAsMCArMSw3
NiBAQAorPCFkb2N0eXBlIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHN0eWxlIHR5cGU9InRleHQv
Y3NzIj4KK0BwYWdlIHsKKyAgICBtYXJnaW4tdG9wOjVjbTsKKyAgICBtYXJnaW4tYm90dG9tOjEw
Y207Cit9CitAcGFnZSA6bGVmdCB7CisgICAgbWFyZ2luLXJpZ2h0OjNjbTsKK30KK0BwYWdlIDpy
aWdodCB7CisgICAgbWFyZ2luLWxlZnQ6M2NtOworfQorQHBhZ2UgOmZpcnN0IHsKKyAgICBib3Jk
ZXItd2lkdGg6MXB4OworfQorQHBhZ2UgaGVsbG8geworICAgIGNvbG9yOmdyZWVuOworfQorQHBh
Z2Ugd29ybGQ6cmlnaHQgeworICAgIGNvbG9yOnJlZDsKK30KK0BtZWRpYSBwcmludCB7CisgICAg
QHBhZ2Ugc29tZXBhZ2U6Zmlyc3QgeworICAgICAgICBtYXJnaW46M2NtOworICAgIH0KK30KKy8q
IEZJWE1FOiBBZGQgdGhlIGZvbGxvd2luZyBvbmNlIHNpemUgcHJvcGVydHkgaXMgaW1wbGVtZW50
ZWQuCisKK0BwYWdlIDpsZWZ0IHsKKyAgICBzaXplOiA0aW4gNmluOworfQorQHBhZ2UgOnJpZ2h0
IHsKKyAgICBzaXplOiBsZXR0ZXI7Cit9CisqLworLyogRklYTUU6IEFkZCB0aGUgZm9sbG93aW5n
IG9uY2UgbWFyZ2luIGF0LXJ1bGUgaXMgaW1wbGVtZW50ZWQuCisKK0BwYWdlIDpmaXJzdCB7Cisg
ICAgQHRvcC1sZWZ0LWNvcm5lciB7CisgICAgICAgIGNvbnRlbnQ6IlRMQyI7CisgICAgfQorICAg
IEBib3R0b20tY2VudGVyIHsKKyAgICAgICAgY29udGVudDoiQkMiOworICAgIH0KK30KKyovCis8
L3N0eWxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgorCitpZiAod2luZG93Lmxh
eW91dFRlc3RDb250cm9sbGVyKQorICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQo
KTsKKworZnVuY3Rpb24gcHJpbnQoc3RyKQoreworICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJvdXRwdXQiKS5pbm5lckhUTUwgKz0gc3RyOworfQorCitmdW5jdGlvbiBwcmludENzc1RleHRP
ZlBhZ2VSdWxlcygpCit7CisgICAgdmFyIHNzID0gZG9jdW1lbnQuc3R5bGVTaGVldHM7CisgICAg
Zm9yICh2YXIgaSA9IDA7IGkgPCBzcy5sZW5ndGg7IGkrKykgeworICAgICAgICBmb3IgKHZhciBq
ID0gMDsgaiA8IHNzW2ldLmNzc1J1bGVzLmxlbmd0aDsgaisrKSB7CisgICAgICAgICAgICBwcmlu
dChzc1tpXS5jc3NSdWxlc1tqXS5jc3NUZXh0ICsgIjxici8+Iik7CisgICAgICAgIH0KKyAgICB9
Cit9CisKKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJwcmludENzc1RleHRPZlBh
Z2VSdWxlcygpOyI+Cis8ZGl2IGlkPSJvdXRwdXQiPjwvZGl2PgorPC9ib2R5PgorPC9odG1sPgor
CmRpZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4
IDJiYTJmY2IuLmYxZjAwZjAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1dl
YkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzQgQEAKKzIwMTAtMDMtMDcgIFl1em8gRnVqaXNo
aW1hICA8eXV6b0Bnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEVuaGFuY2UgQ1NTIHBhcnNlciBmb3IgUGFnZWQgTWVkaWEgKEl0ZXJh
dGlvbiAyKQorICAgICAgICBQYXJzZSBhbmQgaG9sZCBwYWdlZCBtZWRpYSBydWxlcyBpbiBDU1NT
dHlsZVNlbGVjdG9yLgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0zNTc4MgorCisgICAgICAgIFRlc3Q6IHByaW50aW5nL3BhZ2UtcnVsZS1jc3MtdGV4
dC5odG1sCisKKyAgICAgICAgKiBjc3MvQ1NTR3JhbW1hci55OgorICAgICAgICAqIGNzcy9DU1NQ
YWdlUnVsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYWdlUnVsZTo6Q1NTUGFnZVJ1bGUp
OgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFnZVJ1bGU6OnNlbGVjdG9yVGV4dCk6CisgICAgICAg
ICogY3NzL0NTU1BhZ2VSdWxlLmg6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYWdlUnVsZTo6Y3Jl
YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhZ2VSdWxlOjppc1BhZ2VSdWxlKToKKyAgICAg
ICAgKiBjc3MvQ1NTUGFyc2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6Y3Jl
YXRlUGFnZVJ1bGUpOgorICAgICAgICAqIGNzcy9DU1NTdHlsZVJ1bGUuaDoKKyAgICAgICAgKiBj
c3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NSdWxlU2V0Ojpn
ZXRQYWdlUnVsZXMpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUnVsZVNldDo6Q1NTUnVsZVNldCk6
CisgICAgICAgIChXZWJDb3JlOjpDU1NSdWxlU2V0Ojp+Q1NTUnVsZVNldCk6CisgICAgICAgIChX
ZWJDb3JlOjpDU1NSdWxlU2V0OjphZGRQYWdlUnVsZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NS
dWxlU2V0OjphZGRSdWxlc0Zyb21TaGVldCk6CisgICAgICAgICogY3NzL0NTU1N0eWxlU2VsZWN0
b3IuaDoKKyAgICAgICAgKiBjc3MvU3R5bGVCYXNlLmg6CisgICAgICAgIChXZWJDb3JlOjpTdHls
ZUJhc2U6OmlzUGFnZVJ1bGUpOgorCiAyMDEwLTAyLTI0ICBZdXpvIEZ1amlzaGltYSAgPHl1em9A
Z29vZ2xlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KZGlmZiAt
LWdpdCBhL1dlYkNvcmUvY3NzL0NTU0dyYW1tYXIueSBiL1dlYkNvcmUvY3NzL0NTU0dyYW1tYXIu
eQppbmRleCBlN2RiZGI1Li5mZWYyYzIwIDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9DU1NHcmFt
bWFyLnkKKysrIGIvV2ViQ29yZS9jc3MvQ1NTR3JhbW1hci55CkBAIC03NTIsNyArNzUyLDcgQEAg
a2V5OgogcGFnZToKICAgICBQQUdFX1NZTSBtYXliZV9zcGFjZSBwYWdlX3NlbGVjdG9yIG1heWJl
X3NwYWNlCiAgICAgJ3snIG1heWJlX3NwYWNlIGRlY2xhcmF0aW9uc19hbmRfbWFyZ2lucyBjbG9z
aW5nX2JyYWNlIHsKLSAgICAgICAgIENTU1BhcnNlciogcCA9IHN0YXRpY19jYXN0PENTU1BhcnNl
cio+KHBhcnNlcik7CisgICAgICAgIENTU1BhcnNlciogcCA9IHN0YXRpY19jYXN0PENTU1BhcnNl
cio+KHBhcnNlcik7CiAgICAgICAgICQkID0gcC0+Y3JlYXRlUGFnZVJ1bGUocC0+c2lua0Zsb2F0
aW5nU2VsZWN0b3IoJDMpKTsKICAgICB9CiAgICAgfCBQQUdFX1NZTSBlcnJvciBpbnZhbGlkX2Js
b2NrIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NTU1BhZ2VSdWxlLmNwcCBiL1dlYkNvcmUv
Y3NzL0NTU1BhZ2VSdWxlLmNwcAppbmRleCA2YTM3OTYzLi5jZTc0MjZhIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL2Nzcy9DU1NQYWdlUnVsZS5jcHAKKysrIGIvV2ViQ29yZS9jc3MvQ1NTUGFnZVJ1bGUu
Y3BwCkBAIC0yMywxMiArMjMsMTYgQEAKICNpbmNsdWRlICJDU1NQYWdlUnVsZS5oIgogCiAjaW5j
bHVkZSAiQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb24uaCIKKyNpbmNsdWRlIDx3dGYvVmVjdG9y
Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotQ1NTUGFnZVJ1bGU6OkNTU1BhZ2VSdWxlKENT
U1N0eWxlU2hlZXQqIHBhcmVudCkKLSAgICA6IENTU1J1bGUocGFyZW50KQorQ1NTUGFnZVJ1bGU6
OkNTU1BhZ2VSdWxlKENTU1N0eWxlU2hlZXQqIHBhcmVudCwgQ1NTU2VsZWN0b3IqIHNlbGVjdG9y
KQorICAgIDogQ1NTU3R5bGVSdWxlKHBhcmVudCkKIHsKKyAgICBWZWN0b3I8Q1NTU2VsZWN0b3Iq
PiBzZWxlY3RvcnM7CisgICAgc2VsZWN0b3JzLmFwcGVuZChzZWxlY3Rvcik7CisgICAgYWRvcHRT
ZWxlY3RvclZlY3RvcihzZWxlY3RvcnMpOwogfQogCiBDU1NQYWdlUnVsZTo6fkNTU1BhZ2VSdWxl
KCkKQEAgLTM3LDE5ICs0MSwxNCBAQCBDU1NQYWdlUnVsZTo6fkNTU1BhZ2VSdWxlKCkKIAogU3Ry
aW5nIENTU1BhZ2VSdWxlOjpzZWxlY3RvclRleHQoKSBjb25zdAogewotICAgIC8vIEZJWE1FOiBJ
bXBsZW1lbnQhCi0gICAgcmV0dXJuIFN0cmluZygpOwotfQotCi12b2lkIENTU1BhZ2VSdWxlOjpz
ZXRTZWxlY3RvclRleHQoY29uc3QgU3RyaW5nJiAvKnNlbGVjdG9yVGV4dCovLCBFeGNlcHRpb25D
b2RlJiAvKmVjKi8pCi17Ci0gICAgLy8gRklYTUU6IEltcGxlbWVudCEKLX0KLQotU3RyaW5nIENT
U1BhZ2VSdWxlOjpjc3NUZXh0KCkgY29uc3QKLXsKLSAgICAvLyBGSVhNRTogSW1wbGVtZW50IQot
ICAgIHJldHVybiBTdHJpbmcoKTsKKyAgICBTdHJpbmcgdGV4dCA9ICJAcGFnZSI7CisgICAgQ1NT
U2VsZWN0b3IqIHNlbGVjdG9yID0gc2VsZWN0b3JMaXN0KCkuZmlyc3QoKTsKKyAgICBpZiAoc2Vs
ZWN0b3IpIHsKKyAgICAgICAgU3RyaW5nIHBhZ2VTcGVjaWZpY2F0aW9uID0gc2VsZWN0b3ItPnNl
bGVjdG9yVGV4dCgpOworICAgICAgICBpZiAoIXBhZ2VTcGVjaWZpY2F0aW9uLmlzRW1wdHkoKSkK
KyAgICAgICAgICAgIHRleHQgKz0gIiAiICsgcGFnZVNwZWNpZmljYXRpb247CisgICAgfQorICAg
IHJldHVybiB0ZXh0OwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2Nzcy9DU1NQYWdlUnVsZS5oIGIvV2ViQ29yZS9jc3MvQ1NTUGFnZVJ1bGUuaAppbmRl
eCA4ZTM3NGE1Li4wZmRmMGE5IDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9DU1NQYWdlUnVsZS5o
CisrKyBiL1dlYkNvcmUvY3NzL0NTU1BhZ2VSdWxlLmgKQEAgLTIyLDM3ICsyMiwzNCBAQAogI2lm
bmRlZiBDU1NQYWdlUnVsZV9oCiAjZGVmaW5lIENTU1BhZ2VSdWxlX2gKIAotI2luY2x1ZGUgIkNT
U1J1bGUuaCIKKyNpbmNsdWRlICJDU1NTdHlsZVJ1bGUuaCIKICNpbmNsdWRlIDx3dGYvUGFzc1Jl
ZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
CiBjbGFzcyBDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbjsKK2NsYXNzIENTU1NlbGVjdG9yOwor
Y2xhc3MgQ1NTU2VsZWN0b3JMaXN0OwogCi1jbGFzcyBDU1NQYWdlUnVsZSA6IHB1YmxpYyBDU1NS
dWxlIHsKK2NsYXNzIENTU1BhZ2VSdWxlIDogcHVibGljIENTU1N0eWxlUnVsZSB7CiBwdWJsaWM6
Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8Q1NTUGFnZVJ1bGU+IGNyZWF0ZShDU1NTdHlsZVNoZWV0
KiBwYXJlbnQpCisgICAgc3RhdGljIFBhc3NSZWZQdHI8Q1NTUGFnZVJ1bGU+IGNyZWF0ZShDU1NT
dHlsZVNoZWV0KiBwYXJlbnQsIENTU1NlbGVjdG9yKiBzZWxlY3RvcikKICAgICB7Ci0gICAgICAg
IHJldHVybiBhZG9wdFJlZihuZXcgQ1NTUGFnZVJ1bGUocGFyZW50KSk7CisgICAgICAgIHJldHVy
biBhZG9wdFJlZihuZXcgQ1NTUGFnZVJ1bGUocGFyZW50LCBzZWxlY3RvcikpOwogICAgIH0KIAog
ICAgIHZpcnR1YWwgfkNTU1BhZ2VSdWxlKCk7CiAKLSAgICBTdHJpbmcgc2VsZWN0b3JUZXh0KCkg
Y29uc3Q7Ci0gICAgdm9pZCBzZXRTZWxlY3RvclRleHQoY29uc3QgU3RyaW5nJiwgRXhjZXB0aW9u
Q29kZSYpOwotCi0gICAgQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb24qIHN0eWxlKCkgY29uc3Qg
eyByZXR1cm4gbV9zdHlsZS5nZXQoKTsgfQotCi0gICAgdmlydHVhbCBTdHJpbmcgY3NzVGV4dCgp
IGNvbnN0OworICAgIHZpcnR1YWwgU3RyaW5nIHNlbGVjdG9yVGV4dCgpIGNvbnN0OwogCiBwcml2
YXRlOgotICAgIENTU1BhZ2VSdWxlKENTU1N0eWxlU2hlZXQqIHBhcmVudCk7CisgICAgQ1NTUGFn
ZVJ1bGUoQ1NTU3R5bGVTaGVldCogcGFyZW50LCBDU1NTZWxlY3Rvciogc2VsZWN0b3IpOworCisg
ICAgdmlydHVhbCBib29sIGlzUGFnZVJ1bGUoKSB7IHJldHVybiB0cnVlOyB9CiAKICAgICAvLyBJ
bmhlcml0ZWQgZnJvbSBDU1NSdWxlCiAgICAgdmlydHVhbCB1bnNpZ25lZCBzaG9ydCB0eXBlKCkg
Y29uc3QgeyByZXR1cm4gUEFHRV9SVUxFOyB9Ci0KLSAgICBSZWZQdHI8Q1NTTXV0YWJsZVN0eWxl
RGVjbGFyYXRpb24+IG1fc3R5bGU7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYg
LS1naXQgYS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwIGIvV2ViQ29yZS9jc3MvQ1NTUGFyc2Vy
LmNwcAppbmRleCBlZjBkZjEzLi5kYjA1NDQ2IDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9DU1NQ
YXJzZXIuY3BwCisrKyBiL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKQEAgLTQxLDYgKzQxLDcg
QEAKICNpbmNsdWRlICJDU1NJbml0aWFsVmFsdWUuaCIKICNpbmNsdWRlICJDU1NNZWRpYVJ1bGUu
aCIKICNpbmNsdWRlICJDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbi5oIgorI2luY2x1ZGUgIkNT
U1BhZ2VSdWxlLmgiCiAjaW5jbHVkZSAiQ1NTUHJpbWl0aXZlVmFsdWUuaCIKICNpbmNsdWRlICJD
U1NQcm9wZXJ0eS5oIgogI2luY2x1ZGUgIkNTU1Byb3BlcnR5TmFtZXMuaCIKQEAgLTUxNjQsMTUg
KzUxNjUsMTkgQEAgYm9vbCBDU1NQYXJzZXI6OmFkZFZhcmlhYmxlRGVjbGFyYXRpb25CbG9jayhj
b25zdCBDU1NQYXJzZXJTdHJpbmcmKQogCiAjZW5kaWYKIAotQ1NTUnVsZSogQ1NTUGFyc2VyOjpj
cmVhdGVQYWdlUnVsZShDU1NTZWxlY3RvciogLyogcGFnZVNlbGVjdG9yICovKQorQ1NTUnVsZSog
Q1NTUGFyc2VyOjpjcmVhdGVQYWdlUnVsZShDU1NTZWxlY3RvciogcGFnZVNlbGVjdG9yKQogewot
ICAgIC8vIEZJWE1FOiBDcmVhdGUgcGFnZSBydWxlIGhlcmUsIHVzaW5nOgotICAgIC8vICAgICAg
ICAtIHBhZ2VTZWxlY3Rvci0+cHNldWRvVHlwZSgpOiB0aGUgcGFnZSBwc2V1ZG8tY2xhc3MsIGku
ZS4sIDpsZWZ0LCA6cmlnaHQsIG9yIDpmaXJzdAotICAgIC8vICAgICAgICAtIHBhZ2VTZWxlY3Rv
ci0+bV90YWc6ICB0aGUgcGFnZSBuYW1lCi0gICAgLy8gICAgICAgIC0gbV9wYXJzZWRQcm9wZXJ0
aWVzOiB0aGUgcGFnZSBwcm9wZXJ0aWVzCi0KKyAgICAvLyBGSVhNRTogTWFyZ2luIGF0LXJ1bGVz
IGFyZSBpZ25vcmVkLgorICAgIG1fYWxsb3dJbXBvcnRSdWxlcyA9IG1fYWxsb3dOYW1lc3BhY2VE
ZWNsYXJhdGlvbnMgPSBtX2FsbG93VmFyaWFibGVzUnVsZXMgPSBmYWxzZTsKKyAgICBDU1NQYWdl
UnVsZSogcGFnZVJ1bGUgPSAwOworICAgIGlmIChwYWdlU2VsZWN0b3IpIHsKKyAgICAgICAgUmVm
UHRyPENTU1BhZ2VSdWxlPiBydWxlID0gQ1NTUGFnZVJ1bGU6OmNyZWF0ZShtX3N0eWxlU2hlZXQs
IHBhZ2VTZWxlY3Rvcik7CisgICAgICAgIHJ1bGUtPnNldERlY2xhcmF0aW9uKENTU011dGFibGVT
dHlsZURlY2xhcmF0aW9uOjpjcmVhdGUocnVsZS5nZXQoKSwgbV9wYXJzZWRQcm9wZXJ0aWVzLCBt
X251bVBhcnNlZFByb3BlcnRpZXMpKTsKKyAgICAgICAgcGFnZVJ1bGUgPSBydWxlLmdldCgpOwor
ICAgICAgICBtX3BhcnNlZFN0eWxlT2JqZWN0cy5hcHBlbmQocnVsZS5yZWxlYXNlKCkpOworICAg
IH0KICAgICBjbGVhclByb3BlcnRpZXMoKTsKLSAgICByZXR1cm4gMDsgLy8gdW50aWwgdGhpcyBt
ZXRob2QgaXMgaW1wbGVtZW50ZWQuCisgICAgcmV0dXJuIHBhZ2VSdWxlOwogfQogCiBDU1NSdWxl
KiBDU1NQYXJzZXI6OmNyZWF0ZU1hcmdpbkF0UnVsZShDU1NTZWxlY3Rvcjo6TWFyZ2luQm94JiAv
KiBtYXJnaW5Cb3ggKi8pCmRpZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVJ1bGUuaCBi
L1dlYkNvcmUvY3NzL0NTU1N0eWxlUnVsZS5oCmluZGV4IDIzZDg2NDguLjU1NTc0ODcgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvY3NzL0NTU1N0eWxlUnVsZS5oCisrKyBiL1dlYkNvcmUvY3NzL0NTU1N0
eWxlUnVsZS5oCkBAIC00MCw3ICs0MCw3IEBAIHB1YmxpYzoKICAgICB9CiAgICAgdmlydHVhbCB+
Q1NTU3R5bGVSdWxlKCk7CiAKLSAgICBTdHJpbmcgc2VsZWN0b3JUZXh0KCkgY29uc3Q7CisgICAg
dmlydHVhbCBTdHJpbmcgc2VsZWN0b3JUZXh0KCkgY29uc3Q7CiAgICAgdm9pZCBzZXRTZWxlY3Rv
clRleHQoY29uc3QgU3RyaW5nJiwgRXhjZXB0aW9uQ29kZSYpOwogCiAgICAgQ1NTTXV0YWJsZVN0
eWxlRGVjbGFyYXRpb24qIHN0eWxlKCkgY29uc3QgeyByZXR1cm4gbV9zdHlsZS5nZXQoKTsgfQpA
QCAtNTgsOSArNTgsMTAgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2b2lkIGFkZFN1YnJlc291
cmNlU3R5bGVVUkxzKExpc3RIYXNoU2V0PEtVUkw+JiB1cmxzKTsKIAotcHJpdmF0ZToKK3Byb3Rl
Y3RlZDoKICAgICBDU1NTdHlsZVJ1bGUoQ1NTU3R5bGVTaGVldCogcGFyZW50KTsKIAorcHJpdmF0
ZToKICAgICB2aXJ0dWFsIGJvb2wgaXNTdHlsZVJ1bGUoKSB7IHJldHVybiB0cnVlOyB9CiAKICAg
ICAvLyBJbmhlcml0ZWQgZnJvbSBDU1NSdWxlCmRpZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9DU1NT
dHlsZVNlbGVjdG9yLmNwcCBiL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwCmluZGV4
IDQ5YTFhMWUuLjI1Y2EwZmQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0
b3IuY3BwCisrKyBiL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwCkBAIC0zMSw2ICsz
MSw3IEBACiAjaW5jbHVkZSAiQ1NTRm9udEZhY2VSdWxlLmgiCiAjaW5jbHVkZSAiQ1NTSW1wb3J0
UnVsZS5oIgogI2luY2x1ZGUgIkNTU01lZGlhUnVsZS5oIgorI2luY2x1ZGUgIkNTU1BhZ2VSdWxl
LmgiCiAjaW5jbHVkZSAiQ1NTUGFyc2VyLmgiCiAjaW5jbHVkZSAiQ1NTUHJpbWl0aXZlVmFsdWVN
YXBwaW5ncy5oIgogI2luY2x1ZGUgIkNTU1Byb3BlcnR5TmFtZXMuaCIKQEAgLTM1OCw2ICszNTks
NyBAQCBwdWJsaWM6CiAgICAgdm9pZCBhZGRSdWxlc0Zyb21TaGVldChDU1NTdHlsZVNoZWV0Kiwg
Y29uc3QgTWVkaWFRdWVyeUV2YWx1YXRvciYsIENTU1N0eWxlU2VsZWN0b3IqID0gMCk7CiAgICAg
CiAgICAgdm9pZCBhZGRSdWxlKENTU1N0eWxlUnVsZSogcnVsZSwgQ1NTU2VsZWN0b3IqIHNlbCk7
CisgICAgdm9pZCBhZGRQYWdlUnVsZShDU1NTdHlsZVJ1bGUqIHJ1bGUsIENTU1NlbGVjdG9yKiBz
ZWwpOwogICAgIHZvaWQgYWRkVG9SdWxlU2V0KEF0b21pY1N0cmluZ0ltcGwqIGtleSwgQXRvbVJ1
bGVNYXAmIG1hcCwKICAgICAgICAgICAgICAgICAgICAgICBDU1NTdHlsZVJ1bGUqIHJ1bGUsIENT
U1NlbGVjdG9yKiBzZWwpOwogICAgIApAQCAtMzY1LDEzICszNjcsMTYgQEAgcHVibGljOgogICAg
IENTU1J1bGVEYXRhTGlzdCogZ2V0Q2xhc3NSdWxlcyhBdG9taWNTdHJpbmdJbXBsKiBrZXkpIHsg
cmV0dXJuIG1fY2xhc3NSdWxlcy5nZXQoa2V5KTsgfQogICAgIENTU1J1bGVEYXRhTGlzdCogZ2V0
VGFnUnVsZXMoQXRvbWljU3RyaW5nSW1wbCoga2V5KSB7IHJldHVybiBtX3RhZ1J1bGVzLmdldChr
ZXkpOyB9CiAgICAgQ1NTUnVsZURhdGFMaXN0KiBnZXRVbml2ZXJzYWxSdWxlcygpIHsgcmV0dXJu
IG1fdW5pdmVyc2FsUnVsZXM7IH0KKyAgICBDU1NSdWxlRGF0YUxpc3QqIGdldFBhZ2VSdWxlcygp
IHsgcmV0dXJuIG1fcGFnZVJ1bGVzOyB9CiAgICAgCiBwdWJsaWM6CiAgICAgQXRvbVJ1bGVNYXAg
bV9pZFJ1bGVzOwogICAgIEF0b21SdWxlTWFwIG1fY2xhc3NSdWxlczsKICAgICBBdG9tUnVsZU1h
cCBtX3RhZ1J1bGVzOwogICAgIENTU1J1bGVEYXRhTGlzdCogbV91bml2ZXJzYWxSdWxlczsKKyAg
ICBDU1NSdWxlRGF0YUxpc3QqIG1fcGFnZVJ1bGVzOwogICAgIHVuc2lnbmVkIG1fcnVsZUNvdW50
OworICAgIHVuc2lnbmVkIG1fcGFnZVJ1bGVDb3VudDsKIH07CiAKIHN0YXRpYyBDU1NSdWxlU2V0
KiBkZWZhdWx0U3R5bGU7CkBAIC0yNzUwLDcgKzI3NTUsOSBAQCBDU1NWYWx1ZSogQ1NTU3R5bGVT
ZWxlY3Rvcjo6cmVzb2x2ZVZhcmlhYmxlRGVwZW5kZW50VmFsdWUoQ1NTVmFyaWFibGVEZXBlbmRl
bnRWYQogQ1NTUnVsZVNldDo6Q1NTUnVsZVNldCgpCiB7CiAgICAgbV91bml2ZXJzYWxSdWxlcyA9
IDA7CisgICAgbV9wYWdlUnVsZXMgPSAwOwogICAgIG1fcnVsZUNvdW50ID0gMDsKKyAgICBtX3Bh
Z2VSdWxlQ291bnQgPSAwOwogfQogCiBDU1NSdWxlU2V0Ojp+Q1NTUnVsZVNldCgpCkBAIC0yNzYw
LDYgKzI3NjcsNyBAQCBDU1NSdWxlU2V0Ojp+Q1NTUnVsZVNldCgpCiAgICAgZGVsZXRlQWxsVmFs
dWVzKG1fdGFnUnVsZXMpOwogCiAgICAgZGVsZXRlIG1fdW5pdmVyc2FsUnVsZXM7IAorICAgIGRl
bGV0ZSBtX3BhZ2VSdWxlczsKIH0KIAogCkBAIC0yNzk5LDYgKzI4MDcsMTQgQEAgdm9pZCBDU1NS
dWxlU2V0OjphZGRSdWxlKENTU1N0eWxlUnVsZSogcnVsZSwgQ1NTU2VsZWN0b3IqIHNlbCkKICAg
ICAgICAgbV91bml2ZXJzYWxSdWxlcy0+YXBwZW5kKG1fcnVsZUNvdW50KyssIHJ1bGUsIHNlbCk7
CiB9CiAKK3ZvaWQgQ1NTUnVsZVNldDo6YWRkUGFnZVJ1bGUoQ1NTU3R5bGVSdWxlKiBydWxlLCBD
U1NTZWxlY3Rvciogc2VsKQoreworICAgIGlmICghbV9wYWdlUnVsZXMpCisgICAgICAgIG1fcGFn
ZVJ1bGVzID0gbmV3IENTU1J1bGVEYXRhTGlzdChtX3BhZ2VSdWxlQ291bnQrKywgcnVsZSwgc2Vs
KTsKKyAgICBlbHNlCisgICAgICAgIG1fcGFnZVJ1bGVzLT5hcHBlbmQobV9wYWdlUnVsZUNvdW50
KyssIHJ1bGUsIHNlbCk7Cit9CisKIHZvaWQgQ1NTUnVsZVNldDo6YWRkUnVsZXNGcm9tU2hlZXQo
Q1NTU3R5bGVTaGVldCogc2hlZXQsIGNvbnN0IE1lZGlhUXVlcnlFdmFsdWF0b3ImIG1lZGl1bSwg
Q1NTU3R5bGVTZWxlY3Rvciogc3R5bGVTZWxlY3RvcikKIHsKICAgICBpZiAoIXNoZWV0KQpAQCAt
MjgxNCw5ICsyODMwLDE0IEBAIHZvaWQgQ1NTUnVsZVNldDo6YWRkUnVsZXNGcm9tU2hlZXQoQ1NT
U3R5bGVTaGVldCogc2hlZXQsIGNvbnN0IE1lZGlhUXVlcnlFdmFsdWF0CiAgICAgZm9yIChpbnQg
aSA9IDA7IGkgPCBsZW47IGkrKykgewogICAgICAgICBTdHlsZUJhc2UqIGl0ZW0gPSBzaGVldC0+
aXRlbShpKTsKICAgICAgICAgaWYgKGl0ZW0tPmlzU3R5bGVSdWxlKCkpIHsKLSAgICAgICAgICAg
IENTU1N0eWxlUnVsZSogcnVsZSA9IHN0YXRpY19jYXN0PENTU1N0eWxlUnVsZSo+KGl0ZW0pOwot
ICAgICAgICAgICAgZm9yIChDU1NTZWxlY3RvciogcyA9IHJ1bGUtPnNlbGVjdG9yTGlzdCgpLmZp
cnN0KCk7IHM7IHMgPSBDU1NTZWxlY3Rvckxpc3Q6Om5leHQocykpCi0gICAgICAgICAgICAgICAg
YWRkUnVsZShydWxlLCBzKTsKKyAgICAgICAgICAgIGlmIChpdGVtLT5pc1BhZ2VSdWxlKCkpIHsK
KyAgICAgICAgICAgICAgICBDU1NQYWdlUnVsZSogcGFnZVJ1bGUgPSBzdGF0aWNfY2FzdDxDU1NQ
YWdlUnVsZSo+KGl0ZW0pOworICAgICAgICAgICAgICAgIGFkZFBhZ2VSdWxlKHBhZ2VSdWxlLCBw
YWdlUnVsZS0+c2VsZWN0b3JMaXN0KCkuZmlyc3QoKSk7CisgICAgICAgICAgICB9IGVsc2Ugewor
ICAgICAgICAgICAgICAgIENTU1N0eWxlUnVsZSogcnVsZSA9IHN0YXRpY19jYXN0PENTU1N0eWxl
UnVsZSo+KGl0ZW0pOworICAgICAgICAgICAgICAgIGZvciAoQ1NTU2VsZWN0b3IqIHMgPSBydWxl
LT5zZWxlY3Rvckxpc3QoKS5maXJzdCgpOyBzOyBzID0gQ1NTU2VsZWN0b3JMaXN0OjpuZXh0KHMp
KQorICAgICAgICAgICAgICAgICAgICBhZGRSdWxlKHJ1bGUsIHMpOworICAgICAgICAgICAgfQog
ICAgICAgICB9CiAgICAgICAgIGVsc2UgaWYgKGl0ZW0tPmlzSW1wb3J0UnVsZSgpKSB7CiAgICAg
ICAgICAgICBDU1NJbXBvcnRSdWxlKiBpbXBvcnQgPSBzdGF0aWNfY2FzdDxDU1NJbXBvcnRSdWxl
Kj4oaXRlbSk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmggYi9X
ZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmgKaW5kZXggNjQ0MDUxYy4uZTk4NWI2MyAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5oCisrKyBiL1dlYkNvcmUvY3Nz
L0NTU1N0eWxlU2VsZWN0b3IuaApAQCAtMzUsNiArMzUsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCiBjbGFzcyBDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbjsKK2NsYXNzIENTU1BhZ2VSdWxl
OwogY2xhc3MgQ1NTUHJpbWl0aXZlVmFsdWU7CiBjbGFzcyBDU1NQcm9wZXJ0eTsKIGNsYXNzIENT
U0ZvbnRGYWNlOwpAQCAtMTU1LDYgKzE1Niw3IEBAIHB1YmxpYzoKICAgICAgICAgdm9pZCByZXNv
bHZlVmFyaWFibGVzRm9yRGVjbGFyYXRpb24oQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb24qIGRl
Y2wsIENTU011dGFibGVTdHlsZURlY2xhcmF0aW9uKiBuZXdEZWNsLCBIYXNoU2V0PFN0cmluZz4m
IHVzZWRCbG9ja1ZhcmlhYmxlcyk7CiAKICAgICAgICAgdm9pZCBhZGRLZXlmcmFtZVN0eWxlKFBh
c3NSZWZQdHI8V2ViS2l0Q1NTS2V5ZnJhbWVzUnVsZT4gcnVsZSk7CisgICAgICAgIHZvaWQgYWRk
UGFnZVN0eWxlKFBhc3NSZWZQdHI8Q1NTUGFnZVJ1bGU+KTsKIAogICAgICAgICBzdGF0aWMgYm9v
bCBjcmVhdGVUcmFuc2Zvcm1PcGVyYXRpb25zKENTU1ZhbHVlKiBpblZhbHVlLCBSZW5kZXJTdHls
ZSogaW5TdHlsZSwgUmVuZGVyU3R5bGUqIHJvb3RTdHlsZSwgVHJhbnNmb3JtT3BlcmF0aW9ucyYg
b3V0T3BlcmF0aW9ucyk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL1N0eWxlQmFzZS5oIGIv
V2ViQ29yZS9jc3MvU3R5bGVCYXNlLmgKaW5kZXggYTJmMTAwMi4uZmJkN2JlYiAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9jc3MvU3R5bGVCYXNlLmgKKysrIGIvV2ViQ29yZS9jc3MvU3R5bGVCYXNlLmgK
QEAgLTU0LDYgKzU0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2aXJ0dWFsIGJv
b2wgaXNLZXlmcmFtZXNSdWxlKCkgeyByZXR1cm4gZmFsc2U7IH0KICAgICAgICAgdmlydHVhbCBi
b29sIGlzTWVkaWFSdWxlKCkgeyByZXR1cm4gZmFsc2U7IH0KICAgICAgICAgdmlydHVhbCBib29s
IGlzVmFyaWFibGVzUnVsZSgpIHsgcmV0dXJuIGZhbHNlOyB9CisgICAgICAgIHZpcnR1YWwgYm9v
bCBpc1BhZ2VSdWxlKCkgeyByZXR1cm4gZmFsc2U7IH0KICAgICAgICAgCiAgICAgICAgIHZpcnR1
YWwgYm9vbCBpc1J1bGUoKSB7IHJldHVybiBmYWxzZTsgfQogICAgICAgICB2aXJ0dWFsIGJvb2wg
aXNTdHlsZVJ1bGUoKSB7IHJldHVybiBmYWxzZTsgfQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>50383</attachid>
            <date>2010-03-10 02:12:33 -0800</date>
            <delta_ts>2010-03-15 16:12:30 -0700</delta_ts>
            <desc>Enhance CSS parser for Paged Media (Iteration 2)</desc>
            <filename>bug-35782-20100310191231.patch</filename>
            <type>text/plain</type>
            <size>21554</size>
            <attacher name="Yuzo Fujishima">yuzo</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA3MjQ0OTRjLi4yNDkzY2QwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTAtMDMt
MDcgIFl1em8gRnVqaXNoaW1hICA8eXV6b0Bnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEVuaGFuY2UgQ1NTIHBhcnNlciBmb3IgUGFn
ZWQgTWVkaWEgKEl0ZXJhdGlvbiAyKQorICAgICAgICBQYXJzZSBhbmQgaG9sZCBwYWdlZCBtZWRp
YSBydWxlcyBpbiBDU1NTdHlsZVNlbGVjdG9yLgorCisgICAgICAgIGZhc3QvZG9tL3NjcmlwdC10
ZXN0cy9wcm90b3R5cGUtaW5oZXJpdGFuY2UtMi5qcyBpcyByZWJhc2VsaW5lZCBiZWNhdXNlIGl0
IGFzc3VtZXMgQHBhZ2UgaXMgaWdub3JlZC4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzU3ODIKKworICAgICAgICAqIGZhc3QvZG9tL3Byb3RvdHlw
ZS1pbmhlcml0YW5jZS0yLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2RvbS9zY3JpcHQt
dGVzdHMvcHJvdG90eXBlLWluaGVyaXRhbmNlLTIuanM6CisgICAgICAgICogcHJpbnRpbmcvcGFn
ZS1ydWxlLWNzcy10ZXh0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcHJpbnRpbmcv
cGFnZS1ydWxlLWNzcy10ZXh0Lmh0bWw6IEFkZGVkLgorCiAyMDEwLTAyLTI0ICBZdXpvIEZ1amlz
aGltYSAgPHl1em9AZ29vZ2xlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3Byb3RvdHlwZS1pbmhlcml0
YW5jZS0yLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3Byb3RvdHlwZS1pbmhl
cml0YW5jZS0yLWV4cGVjdGVkLnR4dAppbmRleCA1ODNkODY1Li41NWE3NTYwIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9wcm90b3R5cGUtaW5oZXJpdGFuY2UtMi1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vcHJvdG90eXBlLWluaGVyaXRhbmNlLTItZXhw
ZWN0ZWQudHh0CkBAIC0xMywxNSArMTMsMTggQEAgRkFJTCBCb29sZWFuIGZyb20gaW5uZXIuZG9j
dW1lbnQuZm9ybXMudGVzdEZvcm0uMC5ub1ZhbGlkYXRlCiBQQVNTIENTU0NoYXJzZXRSdWxlIGZy
b20gaW5uZXIuZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImR1bW15U3R5bGUiKS5zaGVldC5jc3NS
dWxlcy4wCiBQQVNTIENTU0NoYXJzZXRSdWxlQ29uc3RydWN0b3IgZnJvbSBpbm5lci5kb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZHVtbXlTdHlsZSIpLnNoZWV0LmNzc1J1bGVzLjAuY29uc3RydWN0
b3IKIFBBU1MgQ1NTQ2hhcnNldFJ1bGVQcm90b3R5cGUgZnJvbSBpbm5lci5kb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZHVtbXlTdHlsZSIpLnNoZWV0LmNzc1J1bGVzLjAuX19wcm90b19fCi1QQVNT
IENTU0ZvbnRGYWNlUnVsZSBmcm9tIGlubmVyLmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkdW1t
eVN0eWxlIikuc2hlZXQuY3NzUnVsZXMuMwotUEFTUyBDU1NGb250RmFjZVJ1bGVDb25zdHJ1Y3Rv
ciBmcm9tIGlubmVyLmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkdW1teVN0eWxlIikuc2hlZXQu
Y3NzUnVsZXMuMy5jb25zdHJ1Y3RvcgotUEFTUyBDU1NGb250RmFjZVJ1bGVQcm90b3R5cGUgZnJv
bSBpbm5lci5kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZHVtbXlTdHlsZSIpLnNoZWV0LmNzc1J1
bGVzLjMuX19wcm90b19fCitQQVNTIENTU0ZvbnRGYWNlUnVsZSBmcm9tIGlubmVyLmRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJkdW1teVN0eWxlIikuc2hlZXQuY3NzUnVsZXMuNAorUEFTUyBDU1NG
b250RmFjZVJ1bGVDb25zdHJ1Y3RvciBmcm9tIGlubmVyLmRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJkdW1teVN0eWxlIikuc2hlZXQuY3NzUnVsZXMuNC5jb25zdHJ1Y3RvcgorUEFTUyBDU1NGb250
RmFjZVJ1bGVQcm90b3R5cGUgZnJvbSBpbm5lci5kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZHVt
bXlTdHlsZSIpLnNoZWV0LmNzc1J1bGVzLjQuX19wcm90b19fCiBQQVNTIENTU0ltcG9ydFJ1bGUg
ZnJvbSBpbm5lci5kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZHVtbXlTdHlsZSIpLnNoZWV0LmNz
c1J1bGVzLjEKIFBBU1MgQ1NTSW1wb3J0UnVsZUNvbnN0cnVjdG9yIGZyb20gaW5uZXIuZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImR1bW15U3R5bGUiKS5zaGVldC5jc3NSdWxlcy4xLmNvbnN0cnVj
dG9yCiBQQVNTIENTU0ltcG9ydFJ1bGVQcm90b3R5cGUgZnJvbSBpbm5lci5kb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZHVtbXlTdHlsZSIpLnNoZWV0LmNzc1J1bGVzLjEuX19wcm90b19fCi1QQVNT
IENTU01lZGlhUnVsZSBmcm9tIGlubmVyLmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkdW1teVN0
eWxlIikuc2hlZXQuY3NzUnVsZXMuMgotUEFTUyBDU1NNZWRpYVJ1bGVDb25zdHJ1Y3RvciBmcm9t
IGlubmVyLmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkdW1teVN0eWxlIikuc2hlZXQuY3NzUnVs
ZXMuMi5jb25zdHJ1Y3RvcgotUEFTUyBDU1NNZWRpYVJ1bGVQcm90b3R5cGUgZnJvbSBpbm5lci5k
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZHVtbXlTdHlsZSIpLnNoZWV0LmNzc1J1bGVzLjIuX19w
cm90b19fCitQQVNTIENTU01lZGlhUnVsZSBmcm9tIGlubmVyLmRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJkdW1teVN0eWxlIikuc2hlZXQuY3NzUnVsZXMuMworUEFTUyBDU1NNZWRpYVJ1bGVDb25z
dHJ1Y3RvciBmcm9tIGlubmVyLmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkdW1teVN0eWxlIiku
c2hlZXQuY3NzUnVsZXMuMy5jb25zdHJ1Y3RvcgorUEFTUyBDU1NNZWRpYVJ1bGVQcm90b3R5cGUg
ZnJvbSBpbm5lci5kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZHVtbXlTdHlsZSIpLnNoZWV0LmNz
c1J1bGVzLjMuX19wcm90b19fCitQQVNTIENTU1BhZ2VSdWxlIGZyb20gaW5uZXIuZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImR1bW15U3R5bGUiKS5zaGVldC5jc3NSdWxlcy4yCitQQVNTIENTU1Bh
Z2VSdWxlQ29uc3RydWN0b3IgZnJvbSBpbm5lci5kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZHVt
bXlTdHlsZSIpLnNoZWV0LmNzc1J1bGVzLjIuY29uc3RydWN0b3IKK1BBU1MgQ1NTUGFnZVJ1bGVQ
cm90b3R5cGUgZnJvbSBpbm5lci5kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZHVtbXlTdHlsZSIp
LnNoZWV0LmNzc1J1bGVzLjIuX19wcm90b19fCiBQQVNTIENTU1ByaW1pdGl2ZVZhbHVlIGZyb20g
aW5uZXIuZ2V0Q29tcHV0ZWRTdHlsZShpbm5lci5kb2N1bWVudC5ib2R5KS5nZXRQcm9wZXJ0eUNT
U1ZhbHVlKGJhY2tncm91bmQtY2xpcCkKIFBBU1MgQ1NTUHJpbWl0aXZlVmFsdWVDb25zdHJ1Y3Rv
ciBmcm9tIGlubmVyLmdldENvbXB1dGVkU3R5bGUoaW5uZXIuZG9jdW1lbnQuYm9keSkuZ2V0UHJv
cGVydHlDU1NWYWx1ZShiYWNrZ3JvdW5kLWNsaXApLmNvbnN0cnVjdG9yCiBQQVNTIENTU1ByaW1p
dGl2ZVZhbHVlUHJvdG90eXBlIGZyb20gaW5uZXIuZ2V0Q29tcHV0ZWRTdHlsZShpbm5lci5kb2N1
bWVudC5ib2R5KS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKGJhY2tncm91bmQtY2xpcCkuX19wcm90b19f
CkBAIC0zMiw5ICszNSw5IEBAIFBBU1MgQ1NTUnVsZVByb3RvdHlwZSBmcm9tIGlubmVyLmRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJkdW1teVN0eWxlIikuc2hlZXQuY3NzCiBQQVNTIENTU1N0eWxl
RGVjbGFyYXRpb24gZnJvbSBpbm5lci5kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3R5bGVkU3Bh
biIpLnN0eWxlCiBQQVNTIENTU1N0eWxlRGVjbGFyYXRpb25Db25zdHJ1Y3RvciBmcm9tIGlubmVy
LmRvY3VtZW50LmZvcm1zLnRlc3RGb3JtLjAuc3R5bGUuY29uc3RydWN0b3IKIFBBU1MgQ1NTU3R5
bGVEZWNsYXJhdGlvblByb3RvdHlwZSBmcm9tIGlubmVyLmRvY3VtZW50LmZvcm1zLnRlc3RGb3Jt
LjAuMC5zdHlsZS5fX3Byb3RvX18KLVBBU1MgQ1NTU3R5bGVSdWxlIGZyb20gaW5uZXIuZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImR1bW15U3R5bGUiKS5zaGVldC5jc3NSdWxlcy40Ci1QQVNTIENT
U1N0eWxlUnVsZUNvbnN0cnVjdG9yIGZyb20gaW5uZXIuZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImR1bW15U3R5bGUiKS5zaGVldC5jc3NSdWxlcy40LmNvbnN0cnVjdG9yCi1QQVNTIENTU1N0eWxl
UnVsZVByb3RvdHlwZSBmcm9tIGlubmVyLmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkdW1teVN0
eWxlIikuc2hlZXQuY3NzUnVsZXMuNC5fX3Byb3RvX18KK1BBU1MgQ1NTU3R5bGVSdWxlIGZyb20g
aW5uZXIuZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImR1bW15U3R5bGUiKS5zaGVldC5jc3NSdWxl
cy41CitQQVNTIENTU1N0eWxlUnVsZUNvbnN0cnVjdG9yIGZyb20gaW5uZXIuZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImR1bW15U3R5bGUiKS5zaGVldC5jc3NSdWxlcy41LmNvbnN0cnVjdG9yCitQ
QVNTIENTU1N0eWxlUnVsZVByb3RvdHlwZSBmcm9tIGlubmVyLmRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJkdW1teVN0eWxlIikuc2hlZXQuY3NzUnVsZXMuNS5fX3Byb3RvX18KIFBBU1MgQ1NTU3R5
bGVTaGVldCBmcm9tIGlubmVyLmRvY3VtZW50LmZvcm1zLnRlc3RGb3JtLjAub3duZXJEb2N1bWVu
dC5zdHlsZVNoZWV0cy4wCiBQQVNTIENTU1N0eWxlU2hlZXRDb25zdHJ1Y3RvciBmcm9tIGlubmVy
LmRvY3VtZW50LmZvcm1zLnRlc3RGb3JtLjAub3duZXJEb2N1bWVudC5zdHlsZVNoZWV0cy4wLmNv
bnN0cnVjdG9yCiBQQVNTIENTU1N0eWxlU2hlZXRQcm90b3R5cGUgZnJvbSBpbm5lci5kb2N1bWVu
dC5mb3Jtcy50ZXN0Rm9ybS4wLm93bmVyRG9jdW1lbnQuc3R5bGVTaGVldHMuMC5fX3Byb3RvX18K
QEAgLTE5NiwxNyArMTk5LDE2IEBAIFBBU1MgVGltZVJhbmdlcyBmcm9tIGlubmVyLmRvY3VtZW50
LmZvcm1zLnRlc3RGb3JtLjAucHJldmlvdXNFbGVtZW50U2libGluZy5wbGF5CiBQQVNTIFRpbWVS
YW5nZXNQcm90b3R5cGUgZnJvbSBpbm5lci5kb2N1bWVudC5mb3Jtcy50ZXN0Rm9ybS4wLnByZXZp
b3VzRWxlbWVudFNpYmxpbmcucGxheWVkLl9fcHJvdG9fXwogUEFTUyBWYWxpZGl0eVN0YXRlIGZy
b20gaW5uZXIuZG9jdW1lbnQuZm9ybXMudGVzdEZvcm0uMC4wLnZhbGlkaXR5CiBQQVNTIFZhbGlk
aXR5U3RhdGVQcm90b3R5cGUgZnJvbSBpbm5lci5kb2N1bWVudC5mb3Jtcy50ZXN0Rm9ybS4wLjAu
dmFsaWRpdHkuX19wcm90b19fCi1QQVNTIFdlYktpdENTU0tleWZyYW1lUnVsZSBmcm9tIGlubmVy
LmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkdW1teVN0eWxlIikuc2hlZXQuY3NzUnVsZXMuNS4w
Ci1QQVNTIFdlYktpdENTU0tleWZyYW1lUnVsZUNvbnN0cnVjdG9yIGZyb20gaW5uZXIuZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImR1bW15U3R5bGUiKS5zaGVldC5jc3NSdWxlcy41LjAuY29uc3Ry
dWN0b3IKLVBBU1MgV2ViS2l0Q1NTS2V5ZnJhbWVSdWxlUHJvdG90eXBlIGZyb20gaW5uZXIuZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImR1bW15U3R5bGUiKS5zaGVldC5jc3NSdWxlcy41LjAuX19w
cm90b19fCi1QQVNTIFdlYktpdENTU0tleWZyYW1lc1J1bGUgZnJvbSBpbm5lci5kb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZHVtbXlTdHlsZSIpLnNoZWV0LmNzc1J1bGVzLjUKLVBBU1MgV2ViS2l0
Q1NTS2V5ZnJhbWVzUnVsZUNvbnN0cnVjdG9yIGZyb20gaW5uZXIuZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImR1bW15U3R5bGUiKS5zaGVldC5jc3NSdWxlcy41LmNvbnN0cnVjdG9yCi1QQVNTIFdl
YktpdENTU0tleWZyYW1lc1J1bGVQcm90b3R5cGUgZnJvbSBpbm5lci5kb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZHVtbXlTdHlsZSIpLnNoZWV0LmNzc1J1bGVzLjUuX19wcm90b19fCitQQVNTIFdl
YktpdENTU0tleWZyYW1lUnVsZSBmcm9tIGlubmVyLmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJk
dW1teVN0eWxlIikuc2hlZXQuY3NzUnVsZXMuNi4wCitQQVNTIFdlYktpdENTU0tleWZyYW1lUnVs
ZUNvbnN0cnVjdG9yIGZyb20gaW5uZXIuZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImR1bW15U3R5
bGUiKS5zaGVldC5jc3NSdWxlcy42LjAuY29uc3RydWN0b3IKK1BBU1MgV2ViS2l0Q1NTS2V5ZnJh
bWVSdWxlUHJvdG90eXBlIGZyb20gaW5uZXIuZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImR1bW15
U3R5bGUiKS5zaGVldC5jc3NSdWxlcy42LjAuX19wcm90b19fCitQQVNTIFdlYktpdENTU0tleWZy
YW1lc1J1bGUgZnJvbSBpbm5lci5kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZHVtbXlTdHlsZSIp
LnNoZWV0LmNzc1J1bGVzLjYKK1BBU1MgV2ViS2l0Q1NTS2V5ZnJhbWVzUnVsZUNvbnN0cnVjdG9y
IGZyb20gaW5uZXIuZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImR1bW15U3R5bGUiKS5zaGVldC5j
c3NSdWxlcy42LmNvbnN0cnVjdG9yCitQQVNTIFdlYktpdENTU0tleWZyYW1lc1J1bGVQcm90b3R5
cGUgZnJvbSBpbm5lci5kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZHVtbXlTdHlsZSIpLnNoZWV0
LmNzc1J1bGVzLjYuX19wcm90b19fCiBQQVNTIFhTTFRQcm9jZXNzb3JDb25zcnVjdG9yIGZyb20g
aW5uZXIuZG9jdW1lbnQuZm9ybXMudGVzdEZvcm0uMC5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3
LlhTTFRQcm9jZXNzb3IKIE5ldmVyIGZvdW5kIEF1ZGlvCiBOZXZlciBmb3VuZCBCbG9iCiBOZXZl
ciBmb3VuZCBDREFUQVNlY3Rpb24KLU5ldmVyIGZvdW5kIENTU1BhZ2VSdWxlCiBOZXZlciBmb3Vu
ZCBDU1NSdWxlCiBOZXZlciBmb3VuZCBDU1NWYXJpYWJsZXNEZWNsYXJhdGlvbgogTmV2ZXIgZm91
bmQgQ1NTVmFyaWFibGVzUnVsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2Ny
aXB0LXRlc3RzL3Byb3RvdHlwZS1pbmhlcml0YW5jZS0yLmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9k
b20vc2NyaXB0LXRlc3RzL3Byb3RvdHlwZS1pbmhlcml0YW5jZS0yLmpzCmluZGV4IDYwNzc2ZWUu
LmZmZjkyZGQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NjcmlwdC10ZXN0cy9w
cm90b3R5cGUtaW5oZXJpdGFuY2UtMi5qcworKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zY3Jp
cHQtdGVzdHMvcHJvdG90eXBlLWluaGVyaXRhbmNlLTIuanMKQEAgLTE5Niw3ICsxOTYsNyBAQCBo
dG1sVG9BZGQgKz0gIjwhLS0gdGVzdCAtLT4iOwogc3R5bGVDb250ZW50cyA9ICJAY2hhcnNldCAn
VVRGLTgnOyI7CiBzdHlsZUNvbnRlbnRzICs9ICJAaW1wb3J0IHVybCgnZHVtbXkuY3NzJykgcHJp
bnQ7XG4iOyAvLyBPdXIgcGFyc2VyIHNlZW1zIHRvIHdhbnQgdGhpcyBydWxlIGZpcnN0Pwogc3R5
bGVDb250ZW50cyArPSAiQHZhcmlhYmxlcyB7IElnbm9yZWQ6IDJlbTsgfVxuIjsgLy8gRm9yIHdo
ZW4gdmFyaWFibGVzIGFyZSB0dXJuZWQgYmFjayBvbgotc3R5bGVDb250ZW50cyArPSAiQHBhZ2Ug
eyBtYXJnaW46IDNjbTsgfVxuIjsgLy8gQ3VycmVudCBXZWJLaXQgaWdub3JlcyBAcGFnZQorc3R5
bGVDb250ZW50cyArPSAiQHBhZ2UgeyBtYXJnaW46IDNjbTsgfVxuIjsKIHN0eWxlQ29udGVudHMg
Kz0gIkBtZWRpYSBwcmludCB7IGJvZHkgeyBtYXJnaW46IDNjbTsgfSB9XG4iCiBzdHlsZUNvbnRl
bnRzICs9ICJAZm9udC1mYWNlIHtmb250LWZhbWlseTonVGltZXMnO31cbiI7CiBzdHlsZUNvbnRl
bnRzICs9ICJpZ25vcmVkIHtmb250LWZhbWlseTogdmFyKElnbm9yZWQpO31cbiI7IC8vIGEgQ1NT
U3R5bGVSdWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wcmludGluZy9wYWdlLXJ1bGUtY3Nz
LXRleHQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcHJpbnRpbmcvcGFnZS1ydWxlLWNzcy10
ZXh0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYjhi
YzliCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcHJpbnRpbmcvcGFnZS1ydWxlLWNz
cy10ZXh0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDggQEAKK0BwYWdlIHsgbWFyZ2luLXRvcDog
NWNtOyBtYXJnaW4tYm90dG9tOiAxMGNtOyB9CitAcGFnZSA6bGVmdCB7IG1hcmdpbi1yaWdodDog
M2NtOyB9CitAcGFnZSA6cmlnaHQgeyBtYXJnaW4tbGVmdDogM2NtOyB9CitAcGFnZSA6Zmlyc3Qg
eyBib3JkZXItdG9wLXdpZHRoOiAxcHg7IGJvcmRlci1yaWdodC13aWR0aDogMXB4OyBib3JkZXIt
Ym90dG9tLXdpZHRoOiAxcHg7IGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7IH0KK0BwYWdlIGhlbGxv
IHsgY29sb3I6IGdyZWVuOyB9CitAcGFnZSB3b3JsZDpyaWdodCB7IGNvbG9yOiByZWQ7IH0KK0Bt
ZWRpYSBwcmludCB7IEBwYWdlIHNvbWVwYWdlOmZpcnN0IHsgbWFyZ2luLXRvcDogM2NtOyBtYXJn
aW4tcmlnaHQ6IDNjbTsgbWFyZ2luLWJvdHRvbTogM2NtOyBtYXJnaW4tbGVmdDogM2NtOyB9IH0K
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcHJpbnRpbmcvcGFnZS1ydWxlLWNzcy10ZXh0Lmh0
bWwgYi9MYXlvdXRUZXN0cy9wcmludGluZy9wYWdlLXJ1bGUtY3NzLXRleHQuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YzVmN2QyCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvcHJpbnRpbmcvcGFnZS1ydWxlLWNzcy10ZXh0Lmh0bWwKQEAgLTAsMCArMSw3
NiBAQAorPCFkb2N0eXBlIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHN0eWxlIHR5cGU9InRleHQv
Y3NzIj4KK0BwYWdlIHsKKyAgICBtYXJnaW4tdG9wOjVjbTsKKyAgICBtYXJnaW4tYm90dG9tOjEw
Y207Cit9CitAcGFnZSA6bGVmdCB7CisgICAgbWFyZ2luLXJpZ2h0OjNjbTsKK30KK0BwYWdlIDpy
aWdodCB7CisgICAgbWFyZ2luLWxlZnQ6M2NtOworfQorQHBhZ2UgOmZpcnN0IHsKKyAgICBib3Jk
ZXItd2lkdGg6MXB4OworfQorQHBhZ2UgaGVsbG8geworICAgIGNvbG9yOmdyZWVuOworfQorQHBh
Z2Ugd29ybGQ6cmlnaHQgeworICAgIGNvbG9yOnJlZDsKK30KK0BtZWRpYSBwcmludCB7CisgICAg
QHBhZ2Ugc29tZXBhZ2U6Zmlyc3QgeworICAgICAgICBtYXJnaW46M2NtOworICAgIH0KK30KKy8q
IEZJWE1FOiBBZGQgdGhlIGZvbGxvd2luZyBvbmNlIHNpemUgcHJvcGVydHkgaXMgaW1wbGVtZW50
ZWQuCisKK0BwYWdlIDpsZWZ0IHsKKyAgICBzaXplOiA0aW4gNmluOworfQorQHBhZ2UgOnJpZ2h0
IHsKKyAgICBzaXplOiBsZXR0ZXI7Cit9CisqLworLyogRklYTUU6IEFkZCB0aGUgZm9sbG93aW5n
IG9uY2UgbWFyZ2luIGF0LXJ1bGUgaXMgaW1wbGVtZW50ZWQuCisKK0BwYWdlIDpmaXJzdCB7Cisg
ICAgQHRvcC1sZWZ0LWNvcm5lciB7CisgICAgICAgIGNvbnRlbnQ6IlRMQyI7CisgICAgfQorICAg
IEBib3R0b20tY2VudGVyIHsKKyAgICAgICAgY29udGVudDoiQkMiOworICAgIH0KK30KKyovCis8
L3N0eWxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgorCitpZiAod2luZG93Lmxh
eW91dFRlc3RDb250cm9sbGVyKQorICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQo
KTsKKworZnVuY3Rpb24gcHJpbnQoc3RyKQoreworICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJvdXRwdXQiKS5pbm5lckhUTUwgKz0gc3RyOworfQorCitmdW5jdGlvbiBwcmludENzc1RleHRP
ZlBhZ2VSdWxlcygpCit7CisgICAgdmFyIHNzID0gZG9jdW1lbnQuc3R5bGVTaGVldHM7CisgICAg
Zm9yICh2YXIgaSA9IDA7IGkgPCBzcy5sZW5ndGg7IGkrKykgeworICAgICAgICBmb3IgKHZhciBq
ID0gMDsgaiA8IHNzW2ldLmNzc1J1bGVzLmxlbmd0aDsgaisrKSB7CisgICAgICAgICAgICBwcmlu
dChzc1tpXS5jc3NSdWxlc1tqXS5jc3NUZXh0ICsgIjxici8+Iik7CisgICAgICAgIH0KKyAgICB9
Cit9CisKKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJwcmludENzc1RleHRPZlBh
Z2VSdWxlcygpOyI+Cis8ZGl2IGlkPSJvdXRwdXQiPjwvZGl2PgorPC9ib2R5PgorPC9odG1sPgor
CmRpZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4
IDJiYTJmY2IuLmYxZjAwZjAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1dl
YkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzQgQEAKKzIwMTAtMDMtMDcgIFl1em8gRnVqaXNo
aW1hICA8eXV6b0Bnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEVuaGFuY2UgQ1NTIHBhcnNlciBmb3IgUGFnZWQgTWVkaWEgKEl0ZXJh
dGlvbiAyKQorICAgICAgICBQYXJzZSBhbmQgaG9sZCBwYWdlZCBtZWRpYSBydWxlcyBpbiBDU1NT
dHlsZVNlbGVjdG9yLgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0zNTc4MgorCisgICAgICAgIFRlc3Q6IHByaW50aW5nL3BhZ2UtcnVsZS1jc3MtdGV4
dC5odG1sCisKKyAgICAgICAgKiBjc3MvQ1NTR3JhbW1hci55OgorICAgICAgICAqIGNzcy9DU1NQ
YWdlUnVsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYWdlUnVsZTo6Q1NTUGFnZVJ1bGUp
OgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFnZVJ1bGU6OnNlbGVjdG9yVGV4dCk6CisgICAgICAg
ICogY3NzL0NTU1BhZ2VSdWxlLmg6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYWdlUnVsZTo6Y3Jl
YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhZ2VSdWxlOjppc1BhZ2VSdWxlKToKKyAgICAg
ICAgKiBjc3MvQ1NTUGFyc2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6Y3Jl
YXRlUGFnZVJ1bGUpOgorICAgICAgICAqIGNzcy9DU1NTdHlsZVJ1bGUuaDoKKyAgICAgICAgKiBj
c3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NSdWxlU2V0Ojpn
ZXRQYWdlUnVsZXMpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUnVsZVNldDo6Q1NTUnVsZVNldCk6
CisgICAgICAgIChXZWJDb3JlOjpDU1NSdWxlU2V0Ojp+Q1NTUnVsZVNldCk6CisgICAgICAgIChX
ZWJDb3JlOjpDU1NSdWxlU2V0OjphZGRQYWdlUnVsZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NS
dWxlU2V0OjphZGRSdWxlc0Zyb21TaGVldCk6CisgICAgICAgICogY3NzL0NTU1N0eWxlU2VsZWN0
b3IuaDoKKyAgICAgICAgKiBjc3MvU3R5bGVCYXNlLmg6CisgICAgICAgIChXZWJDb3JlOjpTdHls
ZUJhc2U6OmlzUGFnZVJ1bGUpOgorCiAyMDEwLTAyLTI0ICBZdXpvIEZ1amlzaGltYSAgPHl1em9A
Z29vZ2xlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KZGlmZiAt
LWdpdCBhL1dlYkNvcmUvY3NzL0NTU0dyYW1tYXIueSBiL1dlYkNvcmUvY3NzL0NTU0dyYW1tYXIu
eQppbmRleCBlOGYzMzY2Li41ZjI5ZDhmIDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9DU1NHcmFt
bWFyLnkKKysrIGIvV2ViQ29yZS9jc3MvQ1NTR3JhbW1hci55CkBAIC03NTIsNyArNzUyLDcgQEAg
a2V5OgogcGFnZToKICAgICBQQUdFX1NZTSBtYXliZV9zcGFjZSBwYWdlX3NlbGVjdG9yIG1heWJl
X3NwYWNlCiAgICAgJ3snIG1heWJlX3NwYWNlIGRlY2xhcmF0aW9uc19hbmRfbWFyZ2lucyBjbG9z
aW5nX2JyYWNlIHsKLSAgICAgICAgIENTU1BhcnNlciogcCA9IHN0YXRpY19jYXN0PENTU1BhcnNl
cio+KHBhcnNlcik7CisgICAgICAgIENTU1BhcnNlciogcCA9IHN0YXRpY19jYXN0PENTU1BhcnNl
cio+KHBhcnNlcik7CiAgICAgICAgICQkID0gcC0+Y3JlYXRlUGFnZVJ1bGUocC0+c2lua0Zsb2F0
aW5nU2VsZWN0b3IoJDMpKTsKICAgICB9CiAgICAgfCBQQUdFX1NZTSBlcnJvciBpbnZhbGlkX2Js
b2NrIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NTU1BhZ2VSdWxlLmNwcCBiL1dlYkNvcmUv
Y3NzL0NTU1BhZ2VSdWxlLmNwcAppbmRleCA2YTM3OTYzLi4wZmZjNWJlIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL2Nzcy9DU1NQYWdlUnVsZS5jcHAKKysrIGIvV2ViQ29yZS9jc3MvQ1NTUGFnZVJ1bGUu
Y3BwCkBAIC0yMywxMiArMjMsMTYgQEAKICNpbmNsdWRlICJDU1NQYWdlUnVsZS5oIgogCiAjaW5j
bHVkZSAiQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb24uaCIKKyNpbmNsdWRlIDx3dGYvVmVjdG9y
Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotQ1NTUGFnZVJ1bGU6OkNTU1BhZ2VSdWxlKENT
U1N0eWxlU2hlZXQqIHBhcmVudCkKLSAgICA6IENTU1J1bGUocGFyZW50KQorQ1NTUGFnZVJ1bGU6
OkNTU1BhZ2VSdWxlKENTU1N0eWxlU2hlZXQqIHBhcmVudCwgQ1NTU2VsZWN0b3IqIHNlbGVjdG9y
KQorICAgIDogQ1NTU3R5bGVSdWxlKHBhcmVudCkKIHsKKyAgICBWZWN0b3I8Q1NTU2VsZWN0b3Iq
PiBzZWxlY3RvcnM7CisgICAgc2VsZWN0b3JzLmFwcGVuZChzZWxlY3Rvcik7CisgICAgYWRvcHRT
ZWxlY3RvclZlY3RvcihzZWxlY3RvcnMpOwogfQogCiBDU1NQYWdlUnVsZTo6fkNTU1BhZ2VSdWxl
KCkKQEAgLTM3LDE5ICs0MSwxNCBAQCBDU1NQYWdlUnVsZTo6fkNTU1BhZ2VSdWxlKCkKIAogU3Ry
aW5nIENTU1BhZ2VSdWxlOjpzZWxlY3RvclRleHQoKSBjb25zdAogewotICAgIC8vIEZJWE1FOiBJ
bXBsZW1lbnQhCi0gICAgcmV0dXJuIFN0cmluZygpOwotfQotCi12b2lkIENTU1BhZ2VSdWxlOjpz
ZXRTZWxlY3RvclRleHQoY29uc3QgU3RyaW5nJiAvKnNlbGVjdG9yVGV4dCovLCBFeGNlcHRpb25D
b2RlJiAvKmVjKi8pCi17Ci0gICAgLy8gRklYTUU6IEltcGxlbWVudCEKLX0KLQotU3RyaW5nIENT
U1BhZ2VSdWxlOjpjc3NUZXh0KCkgY29uc3QKLXsKLSAgICAvLyBGSVhNRTogSW1wbGVtZW50IQot
ICAgIHJldHVybiBTdHJpbmcoKTsKKyAgICBTdHJpbmcgdGV4dCA9ICJAcGFnZSI7CisgICAgQ1NT
U2VsZWN0b3IqIHNlbGVjdG9yID0gc2VsZWN0b3JMaXN0KCkuZmlyc3QoKTsKKyAgICBpZiAoc2Vs
ZWN0b3IpIHsKKyAgICAgICAgU3RyaW5nIHBhZ2VTcGVjaWZpY2F0aW9uID0gc2VsZWN0b3ItPnNl
bGVjdG9yVGV4dCgpOworICAgICAgICBpZiAoIXBhZ2VTcGVjaWZpY2F0aW9uLmlzRW1wdHkoKSAm
JiBwYWdlU3BlY2lmaWNhdGlvbiAhPSBzdGFyQXRvbSkKKyAgICAgICAgICAgIHRleHQgKz0gIiAi
ICsgcGFnZVNwZWNpZmljYXRpb247CisgICAgfQorICAgIHJldHVybiB0ZXh0OwogfQogCiB9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9DU1NQYWdlUnVsZS5o
IGIvV2ViQ29yZS9jc3MvQ1NTUGFnZVJ1bGUuaAppbmRleCA4ZTM3NGE1Li4wZmRmMGE5IDEwMDY0
NAotLS0gYS9XZWJDb3JlL2Nzcy9DU1NQYWdlUnVsZS5oCisrKyBiL1dlYkNvcmUvY3NzL0NTU1Bh
Z2VSdWxlLmgKQEAgLTIyLDM3ICsyMiwzNCBAQAogI2lmbmRlZiBDU1NQYWdlUnVsZV9oCiAjZGVm
aW5lIENTU1BhZ2VSdWxlX2gKIAotI2luY2x1ZGUgIkNTU1J1bGUuaCIKKyNpbmNsdWRlICJDU1NT
dHlsZVJ1bGUuaCIKICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9S
ZWZQdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBDU1NNdXRhYmxlU3R5bGVE
ZWNsYXJhdGlvbjsKK2NsYXNzIENTU1NlbGVjdG9yOworY2xhc3MgQ1NTU2VsZWN0b3JMaXN0Owog
Ci1jbGFzcyBDU1NQYWdlUnVsZSA6IHB1YmxpYyBDU1NSdWxlIHsKK2NsYXNzIENTU1BhZ2VSdWxl
IDogcHVibGljIENTU1N0eWxlUnVsZSB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8
Q1NTUGFnZVJ1bGU+IGNyZWF0ZShDU1NTdHlsZVNoZWV0KiBwYXJlbnQpCisgICAgc3RhdGljIFBh
c3NSZWZQdHI8Q1NTUGFnZVJ1bGU+IGNyZWF0ZShDU1NTdHlsZVNoZWV0KiBwYXJlbnQsIENTU1Nl
bGVjdG9yKiBzZWxlY3RvcikKICAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgQ1NT
UGFnZVJ1bGUocGFyZW50KSk7CisgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgQ1NTUGFnZVJ1
bGUocGFyZW50LCBzZWxlY3RvcikpOwogICAgIH0KIAogICAgIHZpcnR1YWwgfkNTU1BhZ2VSdWxl
KCk7CiAKLSAgICBTdHJpbmcgc2VsZWN0b3JUZXh0KCkgY29uc3Q7Ci0gICAgdm9pZCBzZXRTZWxl
Y3RvclRleHQoY29uc3QgU3RyaW5nJiwgRXhjZXB0aW9uQ29kZSYpOwotCi0gICAgQ1NTTXV0YWJs
ZVN0eWxlRGVjbGFyYXRpb24qIHN0eWxlKCkgY29uc3QgeyByZXR1cm4gbV9zdHlsZS5nZXQoKTsg
fQotCi0gICAgdmlydHVhbCBTdHJpbmcgY3NzVGV4dCgpIGNvbnN0OworICAgIHZpcnR1YWwgU3Ry
aW5nIHNlbGVjdG9yVGV4dCgpIGNvbnN0OwogCiBwcml2YXRlOgotICAgIENTU1BhZ2VSdWxlKENT
U1N0eWxlU2hlZXQqIHBhcmVudCk7CisgICAgQ1NTUGFnZVJ1bGUoQ1NTU3R5bGVTaGVldCogcGFy
ZW50LCBDU1NTZWxlY3Rvciogc2VsZWN0b3IpOworCisgICAgdmlydHVhbCBib29sIGlzUGFnZVJ1
bGUoKSB7IHJldHVybiB0cnVlOyB9CiAKICAgICAvLyBJbmhlcml0ZWQgZnJvbSBDU1NSdWxlCiAg
ICAgdmlydHVhbCB1bnNpZ25lZCBzaG9ydCB0eXBlKCkgY29uc3QgeyByZXR1cm4gUEFHRV9SVUxF
OyB9Ci0KLSAgICBSZWZQdHI8Q1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb24+IG1fc3R5bGU7CiB9
OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9DU1NQ
YXJzZXIuY3BwIGIvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcAppbmRleCBlZjBkZjEzLi5kYjA1
NDQ2IDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCisrKyBiL1dlYkNvcmUv
Y3NzL0NTU1BhcnNlci5jcHAKQEAgLTQxLDYgKzQxLDcgQEAKICNpbmNsdWRlICJDU1NJbml0aWFs
VmFsdWUuaCIKICNpbmNsdWRlICJDU1NNZWRpYVJ1bGUuaCIKICNpbmNsdWRlICJDU1NNdXRhYmxl
U3R5bGVEZWNsYXJhdGlvbi5oIgorI2luY2x1ZGUgIkNTU1BhZ2VSdWxlLmgiCiAjaW5jbHVkZSAi
Q1NTUHJpbWl0aXZlVmFsdWUuaCIKICNpbmNsdWRlICJDU1NQcm9wZXJ0eS5oIgogI2luY2x1ZGUg
IkNTU1Byb3BlcnR5TmFtZXMuaCIKQEAgLTUxNjQsMTUgKzUxNjUsMTkgQEAgYm9vbCBDU1NQYXJz
ZXI6OmFkZFZhcmlhYmxlRGVjbGFyYXRpb25CbG9jayhjb25zdCBDU1NQYXJzZXJTdHJpbmcmKQog
CiAjZW5kaWYKIAotQ1NTUnVsZSogQ1NTUGFyc2VyOjpjcmVhdGVQYWdlUnVsZShDU1NTZWxlY3Rv
ciogLyogcGFnZVNlbGVjdG9yICovKQorQ1NTUnVsZSogQ1NTUGFyc2VyOjpjcmVhdGVQYWdlUnVs
ZShDU1NTZWxlY3RvciogcGFnZVNlbGVjdG9yKQogewotICAgIC8vIEZJWE1FOiBDcmVhdGUgcGFn
ZSBydWxlIGhlcmUsIHVzaW5nOgotICAgIC8vICAgICAgICAtIHBhZ2VTZWxlY3Rvci0+cHNldWRv
VHlwZSgpOiB0aGUgcGFnZSBwc2V1ZG8tY2xhc3MsIGkuZS4sIDpsZWZ0LCA6cmlnaHQsIG9yIDpm
aXJzdAotICAgIC8vICAgICAgICAtIHBhZ2VTZWxlY3Rvci0+bV90YWc6ICB0aGUgcGFnZSBuYW1l
Ci0gICAgLy8gICAgICAgIC0gbV9wYXJzZWRQcm9wZXJ0aWVzOiB0aGUgcGFnZSBwcm9wZXJ0aWVz
Ci0KKyAgICAvLyBGSVhNRTogTWFyZ2luIGF0LXJ1bGVzIGFyZSBpZ25vcmVkLgorICAgIG1fYWxs
b3dJbXBvcnRSdWxlcyA9IG1fYWxsb3dOYW1lc3BhY2VEZWNsYXJhdGlvbnMgPSBtX2FsbG93VmFy
aWFibGVzUnVsZXMgPSBmYWxzZTsKKyAgICBDU1NQYWdlUnVsZSogcGFnZVJ1bGUgPSAwOworICAg
IGlmIChwYWdlU2VsZWN0b3IpIHsKKyAgICAgICAgUmVmUHRyPENTU1BhZ2VSdWxlPiBydWxlID0g
Q1NTUGFnZVJ1bGU6OmNyZWF0ZShtX3N0eWxlU2hlZXQsIHBhZ2VTZWxlY3Rvcik7CisgICAgICAg
IHJ1bGUtPnNldERlY2xhcmF0aW9uKENTU011dGFibGVTdHlsZURlY2xhcmF0aW9uOjpjcmVhdGUo
cnVsZS5nZXQoKSwgbV9wYXJzZWRQcm9wZXJ0aWVzLCBtX251bVBhcnNlZFByb3BlcnRpZXMpKTsK
KyAgICAgICAgcGFnZVJ1bGUgPSBydWxlLmdldCgpOworICAgICAgICBtX3BhcnNlZFN0eWxlT2Jq
ZWN0cy5hcHBlbmQocnVsZS5yZWxlYXNlKCkpOworICAgIH0KICAgICBjbGVhclByb3BlcnRpZXMo
KTsKLSAgICByZXR1cm4gMDsgLy8gdW50aWwgdGhpcyBtZXRob2QgaXMgaW1wbGVtZW50ZWQuCisg
ICAgcmV0dXJuIHBhZ2VSdWxlOwogfQogCiBDU1NSdWxlKiBDU1NQYXJzZXI6OmNyZWF0ZU1hcmdp
bkF0UnVsZShDU1NTZWxlY3Rvcjo6TWFyZ2luQm94JiAvKiBtYXJnaW5Cb3ggKi8pCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVJ1bGUuaCBiL1dlYkNvcmUvY3NzL0NTU1N0eWxlUnVs
ZS5oCmluZGV4IDIzZDg2NDguLjU1NTc0ODcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvY3NzL0NTU1N0
eWxlUnVsZS5oCisrKyBiL1dlYkNvcmUvY3NzL0NTU1N0eWxlUnVsZS5oCkBAIC00MCw3ICs0MCw3
IEBAIHB1YmxpYzoKICAgICB9CiAgICAgdmlydHVhbCB+Q1NTU3R5bGVSdWxlKCk7CiAKLSAgICBT
dHJpbmcgc2VsZWN0b3JUZXh0KCkgY29uc3Q7CisgICAgdmlydHVhbCBTdHJpbmcgc2VsZWN0b3JU
ZXh0KCkgY29uc3Q7CiAgICAgdm9pZCBzZXRTZWxlY3RvclRleHQoY29uc3QgU3RyaW5nJiwgRXhj
ZXB0aW9uQ29kZSYpOwogCiAgICAgQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb24qIHN0eWxlKCkg
Y29uc3QgeyByZXR1cm4gbV9zdHlsZS5nZXQoKTsgfQpAQCAtNTgsOSArNTgsMTAgQEAgcHVibGlj
OgogCiAgICAgdmlydHVhbCB2b2lkIGFkZFN1YnJlc291cmNlU3R5bGVVUkxzKExpc3RIYXNoU2V0
PEtVUkw+JiB1cmxzKTsKIAotcHJpdmF0ZToKK3Byb3RlY3RlZDoKICAgICBDU1NTdHlsZVJ1bGUo
Q1NTU3R5bGVTaGVldCogcGFyZW50KTsKIAorcHJpdmF0ZToKICAgICB2aXJ0dWFsIGJvb2wgaXNT
dHlsZVJ1bGUoKSB7IHJldHVybiB0cnVlOyB9CiAKICAgICAvLyBJbmhlcml0ZWQgZnJvbSBDU1NS
dWxlCmRpZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcCBiL1dlYkNv
cmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwCmluZGV4IDQ5YTFhMWUuLjI1Y2EwZmQgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwCisrKyBiL1dlYkNvcmUvY3Nz
L0NTU1N0eWxlU2VsZWN0b3IuY3BwCkBAIC0zMSw2ICszMSw3IEBACiAjaW5jbHVkZSAiQ1NTRm9u
dEZhY2VSdWxlLmgiCiAjaW5jbHVkZSAiQ1NTSW1wb3J0UnVsZS5oIgogI2luY2x1ZGUgIkNTU01l
ZGlhUnVsZS5oIgorI2luY2x1ZGUgIkNTU1BhZ2VSdWxlLmgiCiAjaW5jbHVkZSAiQ1NTUGFyc2Vy
LmgiCiAjaW5jbHVkZSAiQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oIgogI2luY2x1ZGUgIkNT
U1Byb3BlcnR5TmFtZXMuaCIKQEAgLTM1OCw2ICszNTksNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBh
ZGRSdWxlc0Zyb21TaGVldChDU1NTdHlsZVNoZWV0KiwgY29uc3QgTWVkaWFRdWVyeUV2YWx1YXRv
ciYsIENTU1N0eWxlU2VsZWN0b3IqID0gMCk7CiAgICAgCiAgICAgdm9pZCBhZGRSdWxlKENTU1N0
eWxlUnVsZSogcnVsZSwgQ1NTU2VsZWN0b3IqIHNlbCk7CisgICAgdm9pZCBhZGRQYWdlUnVsZShD
U1NTdHlsZVJ1bGUqIHJ1bGUsIENTU1NlbGVjdG9yKiBzZWwpOwogICAgIHZvaWQgYWRkVG9SdWxl
U2V0KEF0b21pY1N0cmluZ0ltcGwqIGtleSwgQXRvbVJ1bGVNYXAmIG1hcCwKICAgICAgICAgICAg
ICAgICAgICAgICBDU1NTdHlsZVJ1bGUqIHJ1bGUsIENTU1NlbGVjdG9yKiBzZWwpOwogICAgIApA
QCAtMzY1LDEzICszNjcsMTYgQEAgcHVibGljOgogICAgIENTU1J1bGVEYXRhTGlzdCogZ2V0Q2xh
c3NSdWxlcyhBdG9taWNTdHJpbmdJbXBsKiBrZXkpIHsgcmV0dXJuIG1fY2xhc3NSdWxlcy5nZXQo
a2V5KTsgfQogICAgIENTU1J1bGVEYXRhTGlzdCogZ2V0VGFnUnVsZXMoQXRvbWljU3RyaW5nSW1w
bCoga2V5KSB7IHJldHVybiBtX3RhZ1J1bGVzLmdldChrZXkpOyB9CiAgICAgQ1NTUnVsZURhdGFM
aXN0KiBnZXRVbml2ZXJzYWxSdWxlcygpIHsgcmV0dXJuIG1fdW5pdmVyc2FsUnVsZXM7IH0KKyAg
ICBDU1NSdWxlRGF0YUxpc3QqIGdldFBhZ2VSdWxlcygpIHsgcmV0dXJuIG1fcGFnZVJ1bGVzOyB9
CiAgICAgCiBwdWJsaWM6CiAgICAgQXRvbVJ1bGVNYXAgbV9pZFJ1bGVzOwogICAgIEF0b21SdWxl
TWFwIG1fY2xhc3NSdWxlczsKICAgICBBdG9tUnVsZU1hcCBtX3RhZ1J1bGVzOwogICAgIENTU1J1
bGVEYXRhTGlzdCogbV91bml2ZXJzYWxSdWxlczsKKyAgICBDU1NSdWxlRGF0YUxpc3QqIG1fcGFn
ZVJ1bGVzOwogICAgIHVuc2lnbmVkIG1fcnVsZUNvdW50OworICAgIHVuc2lnbmVkIG1fcGFnZVJ1
bGVDb3VudDsKIH07CiAKIHN0YXRpYyBDU1NSdWxlU2V0KiBkZWZhdWx0U3R5bGU7CkBAIC0yNzUw
LDcgKzI3NTUsOSBAQCBDU1NWYWx1ZSogQ1NTU3R5bGVTZWxlY3Rvcjo6cmVzb2x2ZVZhcmlhYmxl
RGVwZW5kZW50VmFsdWUoQ1NTVmFyaWFibGVEZXBlbmRlbnRWYQogQ1NTUnVsZVNldDo6Q1NTUnVs
ZVNldCgpCiB7CiAgICAgbV91bml2ZXJzYWxSdWxlcyA9IDA7CisgICAgbV9wYWdlUnVsZXMgPSAw
OwogICAgIG1fcnVsZUNvdW50ID0gMDsKKyAgICBtX3BhZ2VSdWxlQ291bnQgPSAwOwogfQogCiBD
U1NSdWxlU2V0Ojp+Q1NTUnVsZVNldCgpCkBAIC0yNzYwLDYgKzI3NjcsNyBAQCBDU1NSdWxlU2V0
Ojp+Q1NTUnVsZVNldCgpCiAgICAgZGVsZXRlQWxsVmFsdWVzKG1fdGFnUnVsZXMpOwogCiAgICAg
ZGVsZXRlIG1fdW5pdmVyc2FsUnVsZXM7IAorICAgIGRlbGV0ZSBtX3BhZ2VSdWxlczsKIH0KIAog
CkBAIC0yNzk5LDYgKzI4MDcsMTQgQEAgdm9pZCBDU1NSdWxlU2V0OjphZGRSdWxlKENTU1N0eWxl
UnVsZSogcnVsZSwgQ1NTU2VsZWN0b3IqIHNlbCkKICAgICAgICAgbV91bml2ZXJzYWxSdWxlcy0+
YXBwZW5kKG1fcnVsZUNvdW50KyssIHJ1bGUsIHNlbCk7CiB9CiAKK3ZvaWQgQ1NTUnVsZVNldDo6
YWRkUGFnZVJ1bGUoQ1NTU3R5bGVSdWxlKiBydWxlLCBDU1NTZWxlY3Rvciogc2VsKQoreworICAg
IGlmICghbV9wYWdlUnVsZXMpCisgICAgICAgIG1fcGFnZVJ1bGVzID0gbmV3IENTU1J1bGVEYXRh
TGlzdChtX3BhZ2VSdWxlQ291bnQrKywgcnVsZSwgc2VsKTsKKyAgICBlbHNlCisgICAgICAgIG1f
cGFnZVJ1bGVzLT5hcHBlbmQobV9wYWdlUnVsZUNvdW50KyssIHJ1bGUsIHNlbCk7Cit9CisKIHZv
aWQgQ1NTUnVsZVNldDo6YWRkUnVsZXNGcm9tU2hlZXQoQ1NTU3R5bGVTaGVldCogc2hlZXQsIGNv
bnN0IE1lZGlhUXVlcnlFdmFsdWF0b3ImIG1lZGl1bSwgQ1NTU3R5bGVTZWxlY3Rvciogc3R5bGVT
ZWxlY3RvcikKIHsKICAgICBpZiAoIXNoZWV0KQpAQCAtMjgxNCw5ICsyODMwLDE0IEBAIHZvaWQg
Q1NTUnVsZVNldDo6YWRkUnVsZXNGcm9tU2hlZXQoQ1NTU3R5bGVTaGVldCogc2hlZXQsIGNvbnN0
IE1lZGlhUXVlcnlFdmFsdWF0CiAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBsZW47IGkrKykgewog
ICAgICAgICBTdHlsZUJhc2UqIGl0ZW0gPSBzaGVldC0+aXRlbShpKTsKICAgICAgICAgaWYgKGl0
ZW0tPmlzU3R5bGVSdWxlKCkpIHsKLSAgICAgICAgICAgIENTU1N0eWxlUnVsZSogcnVsZSA9IHN0
YXRpY19jYXN0PENTU1N0eWxlUnVsZSo+KGl0ZW0pOwotICAgICAgICAgICAgZm9yIChDU1NTZWxl
Y3RvciogcyA9IHJ1bGUtPnNlbGVjdG9yTGlzdCgpLmZpcnN0KCk7IHM7IHMgPSBDU1NTZWxlY3Rv
ckxpc3Q6Om5leHQocykpCi0gICAgICAgICAgICAgICAgYWRkUnVsZShydWxlLCBzKTsKKyAgICAg
ICAgICAgIGlmIChpdGVtLT5pc1BhZ2VSdWxlKCkpIHsKKyAgICAgICAgICAgICAgICBDU1NQYWdl
UnVsZSogcGFnZVJ1bGUgPSBzdGF0aWNfY2FzdDxDU1NQYWdlUnVsZSo+KGl0ZW0pOworICAgICAg
ICAgICAgICAgIGFkZFBhZ2VSdWxlKHBhZ2VSdWxlLCBwYWdlUnVsZS0+c2VsZWN0b3JMaXN0KCku
Zmlyc3QoKSk7CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIENTU1N0eWxl
UnVsZSogcnVsZSA9IHN0YXRpY19jYXN0PENTU1N0eWxlUnVsZSo+KGl0ZW0pOworICAgICAgICAg
ICAgICAgIGZvciAoQ1NTU2VsZWN0b3IqIHMgPSBydWxlLT5zZWxlY3Rvckxpc3QoKS5maXJzdCgp
OyBzOyBzID0gQ1NTU2VsZWN0b3JMaXN0OjpuZXh0KHMpKQorICAgICAgICAgICAgICAgICAgICBh
ZGRSdWxlKHJ1bGUsIHMpOworICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgICAgIGVsc2Ug
aWYgKGl0ZW0tPmlzSW1wb3J0UnVsZSgpKSB7CiAgICAgICAgICAgICBDU1NJbXBvcnRSdWxlKiBp
bXBvcnQgPSBzdGF0aWNfY2FzdDxDU1NJbXBvcnRSdWxlKj4oaXRlbSk7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmggYi9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVj
dG9yLmgKaW5kZXggNjQ0MDUxYy4uZTk4NWI2MyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9jc3MvQ1NT
U3R5bGVTZWxlY3Rvci5oCisrKyBiL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuaApAQCAt
MzUsNiArMzUsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBDU1NNdXRhYmxlU3R5
bGVEZWNsYXJhdGlvbjsKK2NsYXNzIENTU1BhZ2VSdWxlOwogY2xhc3MgQ1NTUHJpbWl0aXZlVmFs
dWU7CiBjbGFzcyBDU1NQcm9wZXJ0eTsKIGNsYXNzIENTU0ZvbnRGYWNlOwpAQCAtMTU1LDYgKzE1
Niw3IEBAIHB1YmxpYzoKICAgICAgICAgdm9pZCByZXNvbHZlVmFyaWFibGVzRm9yRGVjbGFyYXRp
b24oQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb24qIGRlY2wsIENTU011dGFibGVTdHlsZURlY2xh
cmF0aW9uKiBuZXdEZWNsLCBIYXNoU2V0PFN0cmluZz4mIHVzZWRCbG9ja1ZhcmlhYmxlcyk7CiAK
ICAgICAgICAgdm9pZCBhZGRLZXlmcmFtZVN0eWxlKFBhc3NSZWZQdHI8V2ViS2l0Q1NTS2V5ZnJh
bWVzUnVsZT4gcnVsZSk7CisgICAgICAgIHZvaWQgYWRkUGFnZVN0eWxlKFBhc3NSZWZQdHI8Q1NT
UGFnZVJ1bGU+KTsKIAogICAgICAgICBzdGF0aWMgYm9vbCBjcmVhdGVUcmFuc2Zvcm1PcGVyYXRp
b25zKENTU1ZhbHVlKiBpblZhbHVlLCBSZW5kZXJTdHlsZSogaW5TdHlsZSwgUmVuZGVyU3R5bGUq
IHJvb3RTdHlsZSwgVHJhbnNmb3JtT3BlcmF0aW9ucyYgb3V0T3BlcmF0aW9ucyk7CiAKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvY3NzL1N0eWxlQmFzZS5oIGIvV2ViQ29yZS9jc3MvU3R5bGVCYXNlLmgK
aW5kZXggYTJmMTAwMi4uZmJkN2JlYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9jc3MvU3R5bGVCYXNl
LmgKKysrIGIvV2ViQ29yZS9jc3MvU3R5bGVCYXNlLmgKQEAgLTU0LDYgKzU0LDcgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgICAgICB2aXJ0dWFsIGJvb2wgaXNLZXlmcmFtZXNSdWxlKCkgeyBy
ZXR1cm4gZmFsc2U7IH0KICAgICAgICAgdmlydHVhbCBib29sIGlzTWVkaWFSdWxlKCkgeyByZXR1
cm4gZmFsc2U7IH0KICAgICAgICAgdmlydHVhbCBib29sIGlzVmFyaWFibGVzUnVsZSgpIHsgcmV0
dXJuIGZhbHNlOyB9CisgICAgICAgIHZpcnR1YWwgYm9vbCBpc1BhZ2VSdWxlKCkgeyByZXR1cm4g
ZmFsc2U7IH0KICAgICAgICAgCiAgICAgICAgIHZpcnR1YWwgYm9vbCBpc1J1bGUoKSB7IHJldHVy
biBmYWxzZTsgfQogICAgICAgICB2aXJ0dWFsIGJvb2wgaXNTdHlsZVJ1bGUoKSB7IHJldHVybiBm
YWxzZTsgfQo=
</data>
<flag name="review"
          id="33520"
          type_id="1"
          status="+"
          setter="eric"
    />
          </attachment>
      

    </bug>

</bugzilla>