<?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>76744</bug_id>
          
          <creation_ts>2012-01-20 15:00:01 -0800</creation_ts>
          <short_desc>[windows] Convert usages of GetDC to HWndDC Part 1.</short_desc>
          <delta_ts>2012-01-23 17:08:02 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Platform</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>76303</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="David Levin">levin</reporter>
          <assigned_to name="David Levin">levin</assigned_to>
          <cc>aroben</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>dslomov</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>539816</commentid>
    <comment_count>0</comment_count>
    <who name="David Levin">levin</who>
    <bug_when>2012-01-20 15:00:01 -0800</bug_when>
    <thetext>These are the files where all conversions are straightforward and simple.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>539819</commentid>
    <comment_count>1</comment_count>
      <attachid>123385</attachid>
    <who name="David Levin">levin</who>
    <bug_when>2012-01-20 15:02:27 -0800</bug_when>
    <thetext>Created attachment 123385
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>539845</commentid>
    <comment_count>2</comment_count>
      <attachid>123394</attachid>
    <who name="David Levin">levin</who>
    <bug_when>2012-01-20 15:24:37 -0800</bug_when>
    <thetext>Created attachment 123394
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>539882</commentid>
    <comment_count>3</comment_count>
      <attachid>123394</attachid>
    <who name="Dmitry Lomov">dslomov</who>
    <bug_when>2012-01-20 16:08:36 -0800</bug_when>
    <thetext>Comment on attachment 123394
Patch

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

Nice!

&gt; Source/WebCore/platform/win/CursorWin.cpp:54
&gt;      HDC workingDC = CreateCompatibleDC(dc);

This will be replaced with OwnDC at some point right?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>539894</commentid>
    <comment_count>4</comment_count>
    <who name="David Levin">levin</who>
    <bug_when>2012-01-20 16:18:04 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; This will be replaced with OwnDC at some point right?

Ideally there would be a pass to do that. I&apos;m not going to do that for now. (Spent too much time on this now.) I thought about filling a bug but I&apos;m not sure it would do any good.

However, there is a style check now which will encourage the right behavior!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>540560</commentid>
    <comment_count>5</comment_count>
      <attachid>123394</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2012-01-23 08:26:00 -0800</bug_when>
    <thetext>Comment on attachment 123394
Patch

Thanks for splitting this up!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>540995</commentid>
    <comment_count>6</comment_count>
      <attachid>123394</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-01-23 17:07:58 -0800</bug_when>
    <thetext>Comment on attachment 123394
Patch

Clearing flags on attachment: 123394

Committed r105661: &lt;http://trac.webkit.org/changeset/105661&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>540996</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-01-23 17:08:02 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>123385</attachid>
            <date>2012-01-20 15:02:27 -0800</date>
            <delta_ts>2012-01-20 15:24:33 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-76744-20120120150226.patch</filename>
            <type>text/plain</type>
            <size>19705</size>
            <attacher name="David Levin">levin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA1MTkxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTVkZDk4NWJkMTY3NTE5
YmEyODVjZWNhZmFkNzY0MzI4OGExNWJhYS4uODE5ZDRmOTdmZDEwYTJkMTZmMGQ1YmY1NDk5YTNm
YzMyMzdkMGIwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDEyLTAxLTE4ICBEYXZp
ZCBMZXZpbiAgPGxldmluQGNocm9taXVtLm9yZz4KKworICAgICAgICBbd2luZG93c10gQ29udmVy
dCB1c2FnZXMgb2YgR2V0REMgdG8gSFduZERDIFBhcnQgMS4KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc2NzQ0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IGZ1bmN0aW9uYWxpdHkgc28gbm8gbmV3
IHRlc3RzLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRDYWNoZVdpbi5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpGb250Q2FjaGU6OmdldEZvbnREYXRhRm9yQ2hhcmFjdGVy
cyk6IENoYW5nZWQgR2V0REMgdG8gSFduZERDCisgICAgICAgIGFuZCByZW1vdmVkIFJlbGVhc2VE
Qy4KKyAgICAgICAgKFdlYkNvcmU6OmNyZWF0ZUdESUZvbnQpOiBEaXR0by4KKyAgICAgICAgKFdl
YkNvcmU6OkZvbnRDYWNoZTo6Z2V0VHJhaXRzSW5GYW1pbHkpOiBEaXR0by4KKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udFBsYXRmb3JtRGF0YVdpbi5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpGb250UGxhdGZvcm1EYXRhOjpGb250UGxhdGZvcm1EYXRhKTogRGl0dG8uCisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1NpbXBsZUZvbnREYXRhQ0dXaW4uY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6U2ltcGxlRm9udERhdGE6OnBsYXRmb3JtSW5pdCk6IERpdHRvLgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3dpbi9TaW1wbGVGb250RGF0YVdpbi5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpTaW1wbGVGb250RGF0YTo6aW5pdEdESUZvbnQpOiBEaXR0by4KKyAgICAg
ICAgKFdlYkNvcmU6OlNpbXBsZUZvbnREYXRhOjpjb250YWluc0NoYXJhY3RlcnMpOiBEaXR0by4K
KyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUZvbnREYXRhOjpkZXRlcm1pbmVQaXRjaCk6IERpdHRv
LgorICAgICAgICAoV2ViQ29yZTo6U2ltcGxlRm9udERhdGE6OmJvdW5kc0ZvckdESUdseXBoKTog
RGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpTaW1wbGVGb250RGF0YTo6d2lkdGhGb3JHRElHbHlw
aCk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6U2ltcGxlRm9udERhdGE6OnNjcmlwdEZvbnRQ
cm9wZXJ0aWVzKTogRGl0dG8uCisgICAgICAgICogcGxhdGZvcm0vd2luL0N1cnNvcldpbi5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpjcmVhdGVTaGFyZWRDdXJzb3IpOiBEaXR0by4KKyAgICAgICAg
KiBwbGF0Zm9ybS93aW4vRHJhZ0ltYWdlQ0dXaW4uY3BwOgorICAgICAgICAoV2ViQ29yZTo6c2Nh
bGVEcmFnSW1hZ2UpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OmNyZWF0ZURyYWdJbWFnZUZy
b21JbWFnZSk6IERpdHRvLgorICAgICAgICAqIHBsYXRmb3JtL3dpbi9EcmFnSW1hZ2VXaW4uY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6Y3JlYXRlRHJhZ0ltYWdlRm9yTGluayk6IERpdHRvLgorICAg
ICAgICAqIHBsYXRmb3JtL3dpbi9QYXN0ZWJvYXJkV2luLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlBhc3RlYm9hcmQ6OndyaXRlSW1hZ2UpOiBEaXR0by4KKwogMjAxMi0wMS0xNyAgQW5kcmVhcyBL
bGluZyAgPGF3ZXNvbWVrbGluZ0BhcHBsZS5jb20+CiAKICAgICAgICAgU3BhY2VTcGxpdFN0cmlu
ZzogU2hhcmUgZXF1aXZhbGVudCBzdHJpbmcgcGllY2UgdmVjdG9ycy4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwpp
bmRleCAzODRmYWE1ZDAxNWU1MjUwOTZiNTZmMmUxNWMzNGNjZmM3ZDY4OGI3Li40NzAzNmY4YzBm
ZGNmYTljNDgyNTI2NThiYzVkMTM0MjMyY2E4OWI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L3dpbi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTMgQEAKKzIwMTItMDEtMTcgIERhdmlkIExldmluICA8bGV2aW5AY2hyb21pdW0ub3JnPgor
CisgICAgICAgIFt3aW5kb3dzXSBDb252ZXJ0IHVzYWdlcyBvZiBHZXREQyB0byBIV25kREMgUGFy
dCAxLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY3
NDQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdl
Ykljb25EYXRhYmFzZS5jcHA6CisgICAgICAgIChjcmVhdGVESUIpOiBDaGFuZ2VkIEdldERDIHRv
IEhXbmREQyBhbmQgcmVtb3ZlZCBSZWxlYXNlREMuCisKIDIwMTItMDEtMDcgIEFuZHJlYXMgS2xp
bmcgIDxhd2Vzb21la2xpbmdAYXBwbGUuY29tPgogCiAgICAgICAgIFdpbmRvd3MgYnVpbGQgZml4
LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIv
Q2hhbmdlTG9nCmluZGV4IDdmZTYzNjY3NjAyZjkwZGI2NWFjYjVkNWM5ZTVlM2YyYzFlYjAwNTAu
LmQ3MjFkNTI5ZjFmZDEyMDVhMDU0OWMyM2Y1NjFiZWYyYzFiYTBlODYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxMyBAQAorMjAxMi0wMS0xNyAgRGF2aWQgTGV2aW4gIDxsZXZpbkBjaHJvbWl1bS5v
cmc+CisKKyAgICAgICAgW3dpbmRvd3NdIENvbnZlcnQgdXNhZ2VzIG9mIEdldERDIHRvIEhXbmRE
QyBQYXJ0IDEuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD03Njc0NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogVUlQcm9jZXNzL3dpbi9XZWJWaWV3LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViVmlldzo6
Zmxhc2hCYWNraW5nU3RvcmVVcGRhdGVzKTogVHlwaWNhbCBjb252ZXJzaW9uLgorCiAyMDEyLTAx
LTE3ICBNYXJ0aW4gUm9iaW5zb24gIDxtcm9iaW5zb25AaWdhbGlhLmNvbT4KIAogICAgICAgICBb
R1RLXSBbV0syXSBXZWJLaXRQcml2YXRlIHNob3VsZCBpbmNsdWRlIHRoZSBlbnRpcmUgV2ViS2l0
MiBDIEFQSQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2lu
L0ZvbnRDYWNoZVdpbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4v
Rm9udENhY2hlV2luLmNwcAppbmRleCAzZWI3NDM2ZWUyZTU1ZDk1MGU1ZDIwMGM1MTdkN2I0NGQ4
YjYwNzY3Li40ZDFiMmNmZDM2OWYwMmExZjdjODc3YjU0ODFmYjY2YmZlNTgyYzVhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udENhY2hlV2luLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udENhY2hlV2lu
LmNwcApAQCAtMzAsNiArMzAsNyBAQAogI2luY2x1ZGUgPHdpbnNvY2syLmg+CiAjaW5jbHVkZSAi
Rm9udENhY2hlLmgiCiAjaW5jbHVkZSAiRm9udC5oIgorI2luY2x1ZGUgIkhXbmREQy5oIgogI2lu
Y2x1ZGUgIlNpbXBsZUZvbnREYXRhLmgiCiAjaW5jbHVkZSAiVW5pY29kZVJhbmdlLmgiCiAjaW5j
bHVkZSA8bWxhbmcuaD4KQEAgLTE4OSw3ICsxOTAsNyBAQCBjb25zdCBTaW1wbGVGb250RGF0YSog
Rm9udENhY2hlOjpnZXRGb250RGF0YUZvckNoYXJhY3RlcnMoY29uc3QgRm9udCYgZm9udCwgY29u
cwogewogICAgIFVDaGFyIGNoYXJhY3RlciA9IGNoYXJhY3RlcnNbMF07CiAgICAgU2ltcGxlRm9u
dERhdGEqIGZvbnREYXRhID0gMDsKLSAgICBIREMgaGRjID0gR2V0REMoMCk7CisgICAgSFduZERD
IGhkYygwKTsKICAgICBIRk9OVCBwcmltYXJ5Rm9udCA9IGZvbnQucHJpbWFyeUZvbnQoKS0+Zm9u
dERhdGFGb3JDaGFyYWN0ZXIoY2hhcmFjdGVyKS0+cGxhdGZvcm1EYXRhKCkuaGZvbnQoKTsKICAg
ICBIR0RJT0JKIG9sZEZvbnQgPSBTZWxlY3RPYmplY3QoaGRjLCBwcmltYXJ5Rm9udCk7CiAgICAg
SEZPTlQgaGZvbnQgPSAwOwpAQCAtMjkyLDcgKzI5Myw2IEBAIGNvbnN0IFNpbXBsZUZvbnREYXRh
KiBGb250Q2FjaGU6OmdldEZvbnREYXRhRm9yQ2hhcmFjdGVycyhjb25zdCBGb250JiBmb250LCBj
b25zCiAgICAgICAgIERlbGV0ZU9iamVjdChoZm9udCk7CiAgICAgfQogCi0gICAgUmVsZWFzZURD
KDAsIGhkYyk7CiAgICAgcmV0dXJuIGZvbnREYXRhOwogfQogCkBAIC00NDcsNyArNDQ3LDcgQEAg
c3RhdGljIGludCBDQUxMQkFDSyBtYXRjaEltcHJvdmluZ0VudW1Qcm9jKENPTlNUIExPR0ZPTlQq
IGNhbmRpZGF0ZSwgQ09OU1QgVEVYVE0KIAogc3RhdGljIEhGT05UIGNyZWF0ZUdESUZvbnQoY29u
c3QgQXRvbWljU3RyaW5nJiBmYW1pbHksIExPTkcgZGVzaXJlZFdlaWdodCwgYm9vbCBkZXNpcmVk
SXRhbGljLCBpbnQgc2l6ZSwgYm9vbCBzeW50aGVzaXplSXRhbGljKQogewotICAgIEhEQyBoZGMg
PSBHZXREQygwKTsKKyAgICBIV25kREMgaGRjKDApOwogCiAgICAgTE9HRk9OVCBsb2dGb250Owog
ICAgIGxvZ0ZvbnQubGZDaGFyU2V0ID0gREVGQVVMVF9DSEFSU0VUOwpAQCAtNDU5LDggKzQ1OSw2
IEBAIHN0YXRpYyBIRk9OVCBjcmVhdGVHRElGb250KGNvbnN0IEF0b21pY1N0cmluZyYgZmFtaWx5
LCBMT05HIGRlc2lyZWRXZWlnaHQsIGJvb2wKICAgICBNYXRjaEltcHJvdmluZ1Byb2NEYXRhIG1h
dGNoRGF0YShkZXNpcmVkV2VpZ2h0LCBkZXNpcmVkSXRhbGljKTsKICAgICBFbnVtRm9udEZhbWls
aWVzRXgoaGRjLCAmbG9nRm9udCwgbWF0Y2hJbXByb3ZpbmdFbnVtUHJvYywgcmVpbnRlcnByZXRf
Y2FzdDxMUEFSQU0+KCZtYXRjaERhdGEpLCAwKTsKIAotICAgIFJlbGVhc2VEQygwLCBoZGMpOwot
CiAgICAgaWYgKCFtYXRjaERhdGEubV9oYXNNYXRjaGVkKQogICAgICAgICByZXR1cm4gMDsKIApA
QCAtNDg2LDEzICs0ODQsMTIgQEAgc3RhdGljIEhGT05UIGNyZWF0ZUdESUZvbnQoY29uc3QgQXRv
bWljU3RyaW5nJiBmYW1pbHksIExPTkcgZGVzaXJlZFdlaWdodCwgYm9vbAogICAgIGlmICghcmVz
dWx0KQogICAgICAgICByZXR1cm4gMDsKIAotICAgIEhEQyBkYyA9IEdldERDKDApOworICAgIEhX
bmREQyBkYygwKTsKICAgICBTYXZlREMoZGMpOwogICAgIFNlbGVjdE9iamVjdChkYywgcmVzdWx0
KTsKICAgICBXQ0hBUiBhY3R1YWxOYW1lW0xGX0ZBQ0VTSVpFXTsKICAgICBHZXRUZXh0RmFjZShk
YywgTEZfRkFDRVNJWkUsIGFjdHVhbE5hbWUpOwogICAgIFJlc3RvcmVEQyhkYywgLTEpOwotICAg
IFJlbGVhc2VEQygwLCBkYyk7CiAKICAgICBpZiAod2NzaWNtcChtYXRjaERhdGEubV9jaG9zZW4u
bGZGYWNlTmFtZSwgYWN0dWFsTmFtZSkpIHsKICAgICAgICAgRGVsZXRlT2JqZWN0KHJlc3VsdCk7
CkBAIC01MzQsNyArNTMxLDcgQEAgc3RhdGljIGludCBDQUxMQkFDSyB0cmFpdHNJbkZhbWlseUVu
dW1Qcm9jKENPTlNUIExPR0ZPTlQqIGxvZ0ZvbnQsIENPTlNUIFRFWFRNRVQKIH0KIHZvaWQgRm9u
dENhY2hlOjpnZXRUcmFpdHNJbkZhbWlseShjb25zdCBBdG9taWNTdHJpbmcmIGZhbWlseU5hbWUs
IFZlY3Rvcjx1bnNpZ25lZD4mIHRyYWl0c01hc2tzKQogewotICAgIEhEQyBoZGMgPSBHZXREQygw
KTsKKyAgICBIV25kREMgaGRjKDApOwogCiAgICAgTE9HRk9OVCBsb2dGb250OwogICAgIGxvZ0Zv
bnQubGZDaGFyU2V0ID0gREVGQVVMVF9DSEFSU0VUOwpAQCAtNTQ2LDggKzU0Myw2IEBAIHZvaWQg
Rm9udENhY2hlOjpnZXRUcmFpdHNJbkZhbWlseShjb25zdCBBdG9taWNTdHJpbmcmIGZhbWlseU5h
bWUsIFZlY3Rvcjx1bnNpZ25lCiAgICAgVHJhaXRzSW5GYW1pbHlQcm9jRGF0YSBwcm9jRGF0YShm
YW1pbHlOYW1lKTsKICAgICBFbnVtRm9udEZhbWlsaWVzRXgoaGRjLCAmbG9nRm9udCwgdHJhaXRz
SW5GYW1pbHlFbnVtUHJvYywgcmVpbnRlcnByZXRfY2FzdDxMUEFSQU0+KCZwcm9jRGF0YSksIDAp
OwogICAgIGNvcHlUb1ZlY3Rvcihwcm9jRGF0YS5tX3RyYWl0c01hc2tzLCB0cmFpdHNNYXNrcyk7
Ci0KLSAgICBSZWxlYXNlREMoMCwgaGRjKTsKIH0KIAogRm9udFBsYXRmb3JtRGF0YSogRm9udENh
Y2hlOjpjcmVhdGVGb250UGxhdGZvcm1EYXRhKGNvbnN0IEZvbnREZXNjcmlwdGlvbiYgZm9udERl
c2NyaXB0aW9uLCBjb25zdCBBdG9taWNTdHJpbmcmIGZhbWlseSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250UGxhdGZvcm1EYXRhV2luLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250UGxhdGZvcm1EYXRhV2lu
LmNwcAppbmRleCBkMGIzN2JkYTNlNWY2ZjM4NmFmZWQ3NTU0ZDI5NzgxMDdhMzk2NWRhLi45ODYw
ZGY2YTIxMzlhNjkwMGQwZmI4MzRiM2VjZmMzNWEzOWJkNjIzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udFBsYXRmb3JtRGF0YVdpbi5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRQbGF0Zm9ybURhdGFX
aW4uY3BwCkBAIC0yNSw2ICsyNSw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAi
Rm9udFBsYXRmb3JtRGF0YS5oIgogCisjaW5jbHVkZSAiSFduZERDLmgiCiAjaW5jbHVkZSAiUGxh
dGZvcm1TdHJpbmcuaCIKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0Zi9S
ZXRhaW5QdHIuaD4KQEAgLTUxLDcgKzUyLDcgQEAgRm9udFBsYXRmb3JtRGF0YTo6Rm9udFBsYXRm
b3JtRGF0YShIRk9OVCBmb250LCBmbG9hdCBzaXplLCBib29sIGJvbGQsIGJvb2wgb2JsaXEKICAg
ICAsIG1fc3ludGhldGljT2JsaXF1ZShvYmxpcXVlKQogICAgICwgbV91c2VHREkodXNlR0RJKQog
ewotICAgIEhEQyBoZGMgPSBHZXREQygwKTsKKyAgICBIV25kREMgaGRjKDApOwogICAgIFNhdmVE
QyhoZGMpOwogICAgIAogICAgIFNlbGVjdE9iamVjdChoZGMsIGZvbnQpOwpAQCAtNzEsNyArNzIs
NiBAQCBGb250UGxhdGZvcm1EYXRhOjpGb250UGxhdGZvcm1EYXRhKEhGT05UIGZvbnQsIGZsb2F0
IHNpemUsIGJvb2wgYm9sZCwgYm9vbCBvYmxpcQogICAgIH0KIAogICAgIFJlc3RvcmVEQyhoZGMs
IC0xKTsKLSAgICBSZWxlYXNlREMoMCwgaGRjKTsKIH0KIAogI2lmbmRlZiBOREVCVUcKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9TaW1wbGVGb250RGF0
YUNHV2luLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9TaW1wbGVG
b250RGF0YUNHV2luLmNwcAppbmRleCAyZDhmMTNlMzZlZGJlMTYyZmI4NjAzZDgyZDBlZDY0NmE2
Mzc1MTQzLi5hZDAyNWI4MDNiZmIwZDJiZDk5MGFjYzliNGJkZTA1YmI5M2NkNDY3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vU2ltcGxlRm9udERhdGFD
R1dpbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1NpbXBs
ZUZvbnREYXRhQ0dXaW4uY3BwCkBAIC0zMyw2ICszMyw3IEBACiAjaW5jbHVkZSAiRm9udENhY2hl
LmgiCiAjaW5jbHVkZSAiRmxvYXRSZWN0LmgiCiAjaW5jbHVkZSAiRm9udERlc2NyaXB0aW9uLmgi
CisjaW5jbHVkZSAiSFduZERDLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKICNpbmNs
dWRlIDxBcHBsaWNhdGlvblNlcnZpY2VzL0FwcGxpY2F0aW9uU2VydmljZXMuaD4KICNpbmNsdWRl
IDxXZWJLaXRTeXN0ZW1JbnRlcmZhY2UvV2ViS2l0U3lzdGVtSW50ZXJmYWNlLmg+CkBAIC01NSw3
ICs1Niw3IEBAIHZvaWQgU2ltcGxlRm9udERhdGE6OnBsYXRmb3JtSW5pdCgpCiAgICAgbV9pc1N5
c3RlbUZvbnQgPSBmYWxzZTsKIAogICAgIGlmIChtX3BsYXRmb3JtRGF0YS51c2VHREkoKSkKLSAg
ICAgICByZXR1cm4gaW5pdEdESUZvbnQoKTsKKyAgICAgICAgcmV0dXJuIGluaXRHRElGb250KCk7
CiAKICAgICBDR0ZvbnRSZWYgZm9udCA9IG1fcGxhdGZvcm1EYXRhLmNnRm9udCgpOwogICAgIGlu
dCBpQXNjZW50ID0gQ0dGb250R2V0QXNjZW50KGZvbnQpOwpAQCAtNjgsMTQgKzY5LDEzIEBAIHZv
aWQgU2ltcGxlRm9udERhdGE6OnBsYXRmb3JtSW5pdCgpCiAgICAgZmxvYXQgZkxpbmVHYXAgPSBz
Y2FsZUVtVG9Vbml0cyhpTGluZUdhcCwgdW5pdHNQZXJFbSkgKiBwb2ludFNpemU7CiAKICAgICBp
ZiAoIWlzQ3VzdG9tRm9udCgpKSB7Ci0gICAgICAgIEhEQyBkYyA9IEdldERDKDApOworICAgICAg
ICBIV25kREMgZGMoMCk7CiAgICAgICAgIEhHRElPQkogb2xkRm9udCA9IFNlbGVjdE9iamVjdChk
YywgbV9wbGF0Zm9ybURhdGEuaGZvbnQoKSk7CiAgICAgICAgIGludCBmYWNlTGVuZ3RoID0gR2V0
VGV4dEZhY2UoZGMsIDAsIDApOwogICAgICAgICBWZWN0b3I8V0NIQVI+IGZhY2VOYW1lKGZhY2VM
ZW5ndGgpOwogICAgICAgICBHZXRUZXh0RmFjZShkYywgZmFjZUxlbmd0aCwgZmFjZU5hbWUuZGF0
YSgpKTsKICAgICAgICAgbV9pc1N5c3RlbUZvbnQgPSAhd2NzY21wKGZhY2VOYW1lLmRhdGEoKSwg
TCJMdWNpZGEgR3JhbmRlIik7CiAgICAgICAgIFNlbGVjdE9iamVjdChkYywgb2xkRm9udCk7Ci0g
ICAgICAgIFJlbGVhc2VEQygwLCBkYyk7CiAKICAgICAgICAgZkFzY2VudCA9IGFzY2VudENvbnNp
ZGVyaW5nTWFjQXNjZW50SGFjayhmYWNlTmFtZS5kYXRhKCksIGZBc2NlbnQsIGZEZXNjZW50KTsK
ICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4v
U2ltcGxlRm9udERhdGFXaW4uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
d2luL1NpbXBsZUZvbnREYXRhV2luLmNwcAppbmRleCBkZTY2ODdmNWM3YTgzMzM1YjEyOTRiZjBk
OTQ5NDM2ZTA0ZmJlYzRmLi45ODNjMWJmOTJiZWYxNzM5N2U3YTQzZWIyZWY2NWNiZGM3ZDkyMTQ0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vU2ltcGxl
Rm9udERhdGFXaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dp
bi9TaW1wbGVGb250RGF0YVdpbi5jcHAKQEAgLTMzLDYgKzMzLDcgQEAKICNpbmNsdWRlICJGb250
Q2FjaGUuaCIKICNpbmNsdWRlICJGbG9hdFJlY3QuaCIKICNpbmNsdWRlICJGb250RGVzY3JpcHRp
b24uaCIKKyNpbmNsdWRlICJIV25kREMuaCIKICNpbmNsdWRlIDxtbGFuZy5oPgogI2luY2x1ZGUg
PHVuaWNvZGUvdWNoYXIuaD4KICNpbmNsdWRlIDx1bmljb2RlL3Vub3JtLmg+CkBAIC04OSw3ICs5
MCw3IEBAIHZvaWQgU2ltcGxlRm9udERhdGE6OmluaXRHRElGb250KCkKICAgICAgICAgcmV0dXJu
OwogICAgIH0KIAotICAgICBIREMgaGRjID0gR2V0REMoMCk7CisgICAgIEhXbmREQyBoZGMoMCk7
CiAgICAgIEhHRElPQkogb2xkRm9udCA9IFNlbGVjdE9iamVjdChoZGMsIG1fcGxhdGZvcm1EYXRh
Lmhmb250KCkpOwogICAgICBPVVRMSU5FVEVYVE1FVFJJQyBtZXRyaWNzOwogICAgICBHZXRPdXRs
aW5lVGV4dE1ldHJpY3MoaGRjLCBzaXplb2YobWV0cmljcyksICZtZXRyaWNzKTsKQEAgLTExNSw5
ICsxMTYsNiBAQCB2b2lkIFNpbXBsZUZvbnREYXRhOjppbml0R0RJRm9udCgpCiAgICAgIG1fZm9u
dE1ldHJpY3Muc2V0VW5pdHNQZXJFbShtZXRyaWNzLm90bUVNU3F1YXJlKTsKIAogICAgICBTZWxl
Y3RPYmplY3QoaGRjLCBvbGRGb250KTsKLSAgICAgUmVsZWFzZURDKDAsIGhkYyk7Ci0KLSAgICAg
cmV0dXJuOwogfQogCiB2b2lkIFNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUNoYXJXaWR0aEluaXQo
KQpAQCAtMTg1LDggKzE4Myw4IEBAIGJvb2wgU2ltcGxlRm9udERhdGE6OmNvbnRhaW5zQ2hhcmFj
dGVycyhjb25zdCBVQ2hhciogY2hhcmFjdGVycywgaW50IGxlbmd0aCkgY29uCiAgICAgaWYgKCFs
YW5nRm9udExpbmspCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIEhEQyBkYyA9IEdldERD
KDApOwotICAgIAorICAgIEhXbmREQyBkYygwKTsKKwogICAgIERXT1JEIGFjcENvZGVQYWdlczsK
ICAgICBsYW5nRm9udExpbmstPkNvZGVQYWdlVG9Db2RlUGFnZXMoQ1BfQUNQLCAmYWNwQ29kZVBh
Z2VzKTsKIApAQCAtMjAzLDggKzIwMSw2IEBAIGJvb2wgU2ltcGxlRm9udERhdGE6OmNvbnRhaW5z
Q2hhcmFjdGVycyhjb25zdCBVQ2hhciogY2hhcmFjdGVycywgaW50IGxlbmd0aCkgY29uCiAgICAg
ICAgIG9mZnNldCArPSBudW1DaGFyYWN0ZXJzUHJvY2Vzc2VkOwogICAgIH0KIAotICAgIFJlbGVh
c2VEQygwLCBkYyk7Ci0KICAgICByZXR1cm4gdHJ1ZTsKIH0KIApAQCAtMjE2LDcgKzIxMiw3IEBA
IHZvaWQgU2ltcGxlRm9udERhdGE6OmRldGVybWluZVBpdGNoKCkKICAgICB9CiAKICAgICAvLyBU
RVhUTUVUUklDUyBoYXZlIHRoaXMuICBTZXQgbV90cmVhdEFzRml4ZWRQaXRjaCBiYXNlZCBvZmYg
dGhhdC4KLSAgICBIREMgZGMgPSBHZXREQygwKTsKKyAgICBIV25kREMgZGMoMCk7CiAgICAgU2F2
ZURDKGRjKTsKICAgICBTZWxlY3RPYmplY3QoZGMsIG1fcGxhdGZvcm1EYXRhLmhmb250KCkpOwog
CkBAIC0yMjcsMTIgKzIyMywxMSBAQCB2b2lkIFNpbXBsZUZvbnREYXRhOjpkZXRlcm1pbmVQaXRj
aCgpCiAgICAgbV90cmVhdEFzRml4ZWRQaXRjaCA9ICgodG0udG1QaXRjaEFuZEZhbWlseSAmIFRN
UEZfRklYRURfUElUQ0gpID09IDApOwogCiAgICAgUmVzdG9yZURDKGRjLCAtMSk7Ci0gICAgUmVs
ZWFzZURDKDAsIGRjKTsKIH0KIAogRmxvYXRSZWN0IFNpbXBsZUZvbnREYXRhOjpib3VuZHNGb3JH
RElHbHlwaChHbHlwaCBnbHlwaCkgY29uc3QKIHsKLSAgICBIREMgaGRjID0gR2V0REMoMCk7Cisg
ICAgSFduZERDIGhkYygwKTsKICAgICBTZXRHcmFwaGljc01vZGUoaGRjLCBHTV9BRFZBTkNFRCk7
CiAgICAgSEdESU9CSiBvbGRGb250ID0gU2VsZWN0T2JqZWN0KGhkYywgbV9wbGF0Zm9ybURhdGEu
aGZvbnQoKSk7CiAgICAgCkBAIC0yNDEsNyArMjM2LDYgQEAgRmxvYXRSZWN0IFNpbXBsZUZvbnRE
YXRhOjpib3VuZHNGb3JHRElHbHlwaChHbHlwaCBnbHlwaCkgY29uc3QKICAgICBHZXRHbHlwaE91
dGxpbmUoaGRjLCBnbHlwaCwgR0dPX01FVFJJQ1MgfCBHR09fR0xZUEhfSU5ERVgsICZnZGlNZXRy
aWNzLCAwLCAwLCAmaWRlbnRpdHkpOwogICAgIAogICAgIFNlbGVjdE9iamVjdChoZGMsIG9sZEZv
bnQpOwotICAgIFJlbGVhc2VEQygwLCBoZGMpOwogICAgIAogICAgIHJldHVybiBGbG9hdFJlY3Qo
Z2RpTWV0cmljcy5nbXB0R2x5cGhPcmlnaW4ueCwgLWdkaU1ldHJpY3MuZ21wdEdseXBoT3JpZ2lu
LnksCiAgICAgICAgIGdkaU1ldHJpY3MuZ21CbGFja0JveFggKyBtX3N5bnRoZXRpY0JvbGRPZmZz
ZXQsIGdkaU1ldHJpY3MuZ21CbGFja0JveFkpOyAKQEAgLTI0OSw3ICsyNDMsNyBAQCBGbG9hdFJl
Y3QgU2ltcGxlRm9udERhdGE6OmJvdW5kc0ZvckdESUdseXBoKEdseXBoIGdseXBoKSBjb25zdAog
ICAgIAogZmxvYXQgU2ltcGxlRm9udERhdGE6OndpZHRoRm9yR0RJR2x5cGgoR2x5cGggZ2x5cGgp
IGNvbnN0CiB7Ci0gICAgSERDIGhkYyA9IEdldERDKDApOworICAgIEhXbmREQyBoZGMoMCk7CiAg
ICAgU2V0R3JhcGhpY3NNb2RlKGhkYywgR01fQURWQU5DRUQpOwogICAgIEhHRElPQkogb2xkRm9u
dCA9IFNlbGVjdE9iamVjdChoZGMsIG1fcGxhdGZvcm1EYXRhLmhmb250KCkpOwogCkBAIC0yNTgs
NyArMjUyLDYgQEAgZmxvYXQgU2ltcGxlRm9udERhdGE6OndpZHRoRm9yR0RJR2x5cGgoR2x5cGgg
Z2x5cGgpIGNvbnN0CiAgICAgR2V0R2x5cGhPdXRsaW5lKGhkYywgZ2x5cGgsIEdHT19NRVRSSUNT
IHwgR0dPX0dMWVBIX0lOREVYLCAmZ2RpTWV0cmljcywgMCwgMCwgJmlkZW50aXR5KTsKIAogICAg
IFNlbGVjdE9iamVjdChoZGMsIG9sZEZvbnQpOwotICAgIFJlbGVhc2VEQygwLCBoZGMpOwogCiAg
ICAgcmV0dXJuIGdkaU1ldHJpY3MuZ21DZWxsSW5jWCArIG1fc3ludGhldGljQm9sZE9mZnNldDsK
IH0KQEAgLTI3MSwxMiArMjY0LDExIEBAIFNDUklQVF9GT05UUFJPUEVSVElFUyogU2ltcGxlRm9u
dERhdGE6OnNjcmlwdEZvbnRQcm9wZXJ0aWVzKCkgY29uc3QKICAgICAgICAgbV9zY3JpcHRGb250
UHJvcGVydGllcy0+Y0J5dGVzID0gc2l6ZW9mKFNDUklQVF9GT05UUFJPUEVSVElFUyk7CiAgICAg
ICAgIEhSRVNVTFQgcmVzdWx0ID0gU2NyaXB0R2V0Rm9udFByb3BlcnRpZXMoMCwgc2NyaXB0Q2Fj
aGUoKSwgbV9zY3JpcHRGb250UHJvcGVydGllcyk7CiAgICAgICAgIGlmIChyZXN1bHQgPT0gRV9Q
RU5ESU5HKSB7Ci0gICAgICAgICAgICBIREMgZGMgPSBHZXREQygwKTsKKyAgICAgICAgICAgIEhX
bmREQyBkYygwKTsKICAgICAgICAgICAgIFNhdmVEQyhkYyk7CiAgICAgICAgICAgICBTZWxlY3RP
YmplY3QoZGMsIG1fcGxhdGZvcm1EYXRhLmhmb250KCkpOwogICAgICAgICAgICAgU2NyaXB0R2V0
Rm9udFByb3BlcnRpZXMoZGMsIHNjcmlwdENhY2hlKCksIG1fc2NyaXB0Rm9udFByb3BlcnRpZXMp
OwogICAgICAgICAgICAgUmVzdG9yZURDKGRjLCAtMSk7Ci0gICAgICAgICAgICBSZWxlYXNlREMo
MCwgZGMpOwogICAgICAgICB9CiAgICAgfQogICAgIHJldHVybiBtX3NjcmlwdEZvbnRQcm9wZXJ0
aWVzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL0N1cnNvcldpbi5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vQ3Vyc29yV2luLmNwcAppbmRleCA1NDRi
OWE3N2JmNDYwNjM4MGY3ZGJjOGMzOWIyYmEzMDM1OTA2N2NlLi5jZTRkNThmYjQyMWE1ZDg0NzJh
NzM2MzgyYWJkZThjMTQ3MzUwOWM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS93aW4vQ3Vyc29yV2luLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vQ3Vy
c29yV2luLmNwcApAQCAtMjgsNiArMjgsNyBAQAogI2luY2x1ZGUgIkN1cnNvci5oIgogCiAjaW5j
bHVkZSAiQml0bWFwSW5mby5oIgorI2luY2x1ZGUgIkhXbmREQy5oIgogI2luY2x1ZGUgIkltYWdl
LmgiCiAjaW5jbHVkZSAiSW50UG9pbnQuaCIKICNpbmNsdWRlICJTeXN0ZW1JbmZvLmgiCkBAIC00
OSw3ICs1MCw3IEBAIHN0YXRpYyBQYXNzUmVmUHRyPFNoYXJlZEN1cnNvcj4gY3JlYXRlU2hhcmVk
Q3Vyc29yKEltYWdlKiBpbWcsIGNvbnN0IEludFBvaW50JiBoCiAgICAgc3RhdGljIGJvb2wgZG9B
bHBoYSA9IHdpbmRvd3NWZXJzaW9uKCkgPj0gV2luZG93c1hQOwogICAgIEJpdG1hcEluZm8gY3Vy
c29ySW1hZ2UgPSBCaXRtYXBJbmZvOjpjcmVhdGUoSW50U2l6ZShpbWctPndpZHRoKCksIGltZy0+
aGVpZ2h0KCkpKTsKIAotICAgIEhEQyBkYyA9IEdldERDKDApOworICAgIEhXbmREQyBkYygwKTsK
ICAgICBIREMgd29ya2luZ0RDID0gQ3JlYXRlQ29tcGF0aWJsZURDKGRjKTsKICAgICBpZiAoZG9B
bHBoYSkgewogICAgICAgICBPd25QdHI8SEJJVE1BUD4gaEN1cnNvciA9IGFkb3B0UHRyKENyZWF0
ZURJQlNlY3Rpb24oZGMsIChCSVRNQVBJTkZPICopJmN1cnNvckltYWdlLCBESUJfUkdCX0NPTE9S
UywgMCwgMCwgMCkpOwpAQCAtMTEyLDcgKzExMyw2IEBAIHN0YXRpYyBQYXNzUmVmUHRyPFNoYXJl
ZEN1cnNvcj4gY3JlYXRlU2hhcmVkQ3Vyc29yKEltYWdlKiBpbWcsIGNvbnN0IEludFBvaW50JiBo
CiAgICAgICAgIERlbGV0ZURDKGFuZE1hc2tEQyk7CiAgICAgfQogICAgIERlbGV0ZURDKHdvcmtp
bmdEQyk7Ci0gICAgUmVsZWFzZURDKDAsIGRjKTsKIAogICAgIHJldHVybiBpbXBsLnJlbGVhc2Uo
KTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9EcmFnSW1hZ2VD
R1dpbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vRHJhZ0ltYWdlQ0dXaW4uY3Bw
CmluZGV4IGJjNDVlMjJjMzE4NGNmM2I4MjhiODdjMzFkODM1OTRiZGVjMTUwMWQuLjc0MTAxNjg0
NmVlNjBjYjlhNDg3OWE1YjMwMTQ5MDRmYWNmODFkYTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL3dpbi9EcmFnSW1hZ2VDR1dpbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vd2luL0RyYWdJbWFnZUNHV2luLmNwcApAQCAtMjksNiArMjksNyBAQAogI2luY2x1
ZGUgIkJpdG1hcEluZm8uaCIKICNpbmNsdWRlICJDYWNoZWRJbWFnZS5oIgogI2luY2x1ZGUgIkdy
YXBoaWNzQ29udGV4dENHLmgiCisjaW5jbHVkZSAiSFduZERDLmgiCiAjaW5jbHVkZSAiSW1hZ2Uu
aCIKICNpbmNsdWRlICJSZXRhaW5QdHIuaCIKIApAQCAtODksNyArOTAsNyBAQCBEcmFnSW1hZ2VS
ZWYgc2NhbGVEcmFnSW1hZ2UoRHJhZ0ltYWdlUmVmIGltYWdlLCBGbG9hdFNpemUgc2NhbGUpCiAg
ICAgSW50U2l6ZSBzcmNTaXplID0gZHJhZ0ltYWdlU2l6ZShpbWFnZSk7CiAgICAgSW50U2l6ZSBk
c3RTaXplKHN0YXRpY19jYXN0PGludD4oc3JjU2l6ZS53aWR0aCgpICogc2NhbGUud2lkdGgoKSks
IHN0YXRpY19jYXN0PGludD4oc3JjU2l6ZS5oZWlnaHQoKSAqIHNjYWxlLmhlaWdodCgpKSk7CiAg
ICAgSEJJVE1BUCBoYm1wID0gMDsKLSAgICBIREMgZGMgPSBHZXREQygwKTsKKyAgICBIV25kREMg
ZGMoMCk7CiAgICAgSERDIGRzdERDID0gQ3JlYXRlQ29tcGF0aWJsZURDKGRjKTsKICAgICBpZiAo
IWRzdERDKQogICAgICAgICBnb3RvIGV4aXQ7CkBAIC0xMTYsMTQgKzExNywxMyBAQCBleGl0Ogog
ICAgICAgICBoYm1wID0gaW1hZ2U7CiAgICAgaWYgKGRzdERDKQogICAgICAgICBEZWxldGVEQyhk
c3REQyk7Ci0gICAgUmVsZWFzZURDKDAsIGRjKTsKICAgICByZXR1cm4gaGJtcDsKIH0KICAgICAK
IERyYWdJbWFnZVJlZiBjcmVhdGVEcmFnSW1hZ2VGcm9tSW1hZ2UoSW1hZ2UqIGltZykKIHsKICAg
ICBIQklUTUFQIGhibXAgPSAwOwotICAgIEhEQyBkYyA9IEdldERDKDApOworICAgIEhXbmREQyBk
YygwKTsKICAgICBIREMgd29ya2luZ0RDID0gQ3JlYXRlQ29tcGF0aWJsZURDKGRjKTsKICAgICBD
R0NvbnRleHRSZWYgZHJhd0NvbnRleHQgPSAwOwogICAgIGlmICghd29ya2luZ0RDKQpAQCAtMTU1
LDcgKzE1NSw2IEBAIERyYWdJbWFnZVJlZiBjcmVhdGVEcmFnSW1hZ2VGcm9tSW1hZ2UoSW1hZ2Uq
IGltZykKIGV4aXQ6CiAgICAgaWYgKHdvcmtpbmdEQykKICAgICAgICAgRGVsZXRlREMod29ya2lu
Z0RDKTsKLSAgICBSZWxlYXNlREMoMCwgZGMpOwogICAgIHJldHVybiBoYm1wOwogfQogICAgIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL0RyYWdJbWFnZVdpbi5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vRHJhZ0ltYWdlV2luLmNwcAppbmRleCBmODU4
YjA3ZjE2ZjM2M2UxZTVmYmZmOTk2OWM5YTc2NDliYjgwMWEzLi4xZjZiNzNlODllZDQzOTg3NzQ4
NDcwMDM1ZmM2ZDI4NjAzNDc0NDUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS93aW4vRHJhZ0ltYWdlV2luLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4v
RHJhZ0ltYWdlV2luLmNwcApAQCAtMzMsNiArMzMsNyBAQAogI2luY2x1ZGUgIkZvbnRTZWxlY3Rv
ci5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0LmgiCisj
aW5jbHVkZSAiSFduZERDLmgiCiAjaW5jbHVkZSAiSW1hZ2UuaCIKICNpbmNsdWRlICJSZXRhaW5Q
dHIuaCIKICNpbmNsdWRlICJTZXR0aW5ncy5oIgpAQCAtMTgzLDE4ICsxODQsMTUgQEAgRHJhZ0lt
YWdlUmVmIGNyZWF0ZURyYWdJbWFnZUZvckxpbmsoS1VSTCYgdXJsLCBjb25zdCBTdHJpbmcmIGlu
TGFiZWwsIEZyYW1lKiBmcmEKICAgICAvLyBXZSBub3cga25vdyBob3cgYmlnIHRoZSBpbWFnZSBu
ZWVkcyB0byBiZSwgc28gd2UgY3JlYXRlIGFuZAogICAgIC8vIGZpbGwgdGhlIGJhY2tncm91bmQK
ICAgICBIQklUTUFQIGltYWdlID0gMDsKLSAgICBIREMgZGMgPSBHZXREQygwKTsKKyAgICBIV25k
REMgZGMoMCk7CiAgICAgSERDIHdvcmtpbmdEQyA9IENyZWF0ZUNvbXBhdGlibGVEQyhkYyk7Ci0g
ICAgaWYgKCF3b3JraW5nREMpIHsKLSAgICAgICAgUmVsZWFzZURDKDAsIGRjKTsKKyAgICBpZiAo
IXdvcmtpbmdEQykKICAgICAgICAgcmV0dXJuIDA7Ci0gICAgfQogCiAgICAgUGxhdGZvcm1HcmFw
aGljc0NvbnRleHQqIGNvbnRleHRSZWY7CiAgICAgaW1hZ2UgPSBhbGxvY0ltYWdlKHdvcmtpbmdE
QywgaW1hZ2VTaXplLCAmY29udGV4dFJlZik7CiAgICAgaWYgKCFpbWFnZSkgewogICAgICAgICBE
ZWxldGVEQyh3b3JraW5nREMpOwotICAgICAgICBSZWxlYXNlREMoMCwgZGMpOwogICAgICAgICBy
ZXR1cm4gMDsKICAgICB9CiAgICAgICAgIApAQCAtMjI1LDcgKzIyMyw2IEBAIERyYWdJbWFnZVJl
ZiBjcmVhdGVEcmFnSW1hZ2VGb3JMaW5rKEtVUkwmIHVybCwgY29uc3QgU3RyaW5nJiBpbkxhYmVs
LCBGcmFtZSogZnJhCiAKICAgICBkZWFsbG9jQ29udGV4dChjb250ZXh0UmVmKTsKICAgICBEZWxl
dGVEQyh3b3JraW5nREMpOwotICAgIFJlbGVhc2VEQygwLCBkYyk7CiAgICAgcmV0dXJuIGltYWdl
OwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vUGFzdGVib2Fy
ZFdpbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vUGFzdGVib2FyZFdpbi5jcHAK
aW5kZXggZDc2OGEzZDUzZmJjNzZmNzQ3OTg1ODJiMzJmZjU3ZmQ4NGMwZjIzMi4uODg3ZmM5MTJj
MDAyZDUzMzdmMzVhNjY1MzUyNjQxZTI4OGQxMGI5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vd2luL1Bhc3RlYm9hcmRXaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL3dpbi9QYXN0ZWJvYXJkV2luLmNwcApAQCAtMzIsNiArMzIsNyBAQAogI2luY2x1ZGUg
IkRvY3VtZW50RnJhZ21lbnQuaCIKICNpbmNsdWRlICJFbGVtZW50LmgiCiAjaW5jbHVkZSAiRnJh
bWUuaCIKKyNpbmNsdWRlICJIV25kREMuaCIKICNpbmNsdWRlICJIaXRUZXN0UmVzdWx0LmgiCiAj
aW5jbHVkZSAiSW1hZ2UuaCIKICNpbmNsdWRlICJLVVJMLmgiCkBAIC0yMjMsNyArMjI0LDcgQEAg
dm9pZCBQYXN0ZWJvYXJkOjp3cml0ZUltYWdlKE5vZGUqIG5vZGUsIGNvbnN0IEtVUkwmLCBjb25z
dCBTdHJpbmcmKQogCiAgICAgY2xlYXIoKTsKIAotICAgIEhEQyBkYyA9IEdldERDKDApOworICAg
IEhXbmREQyBkYygwKTsKICAgICBIREMgY29tcGF0aWJsZURDID0gQ3JlYXRlQ29tcGF0aWJsZURD
KDApOwogICAgIEhEQyBzb3VyY2VEQyA9IENyZWF0ZUNvbXBhdGlibGVEQygwKTsKICAgICBPd25Q
dHI8SEJJVE1BUD4gcmVzdWx0Qml0bWFwID0gYWRvcHRQdHIoQ3JlYXRlQ29tcGF0aWJsZUJpdG1h
cChkYywgaW1hZ2UtPndpZHRoKCksIGltYWdlLT5oZWlnaHQoKSkpOwpAQCAtMjQzLDcgKzI0NCw2
IEBAIHZvaWQgUGFzdGVib2FyZDo6d3JpdGVJbWFnZShOb2RlKiBub2RlLCBjb25zdCBLVVJMJiwg
Y29uc3QgU3RyaW5nJikKICAgICBTZWxlY3RPYmplY3QoY29tcGF0aWJsZURDLCBvbGRCaXRtYXAp
OwogICAgIERlbGV0ZURDKHNvdXJjZURDKTsKICAgICBEZWxldGVEQyhjb21wYXRpYmxlREMpOwot
ICAgIFJlbGVhc2VEQygwLCBkYyk7CiAKICAgICBpZiAoOjpPcGVuQ2xpcGJvYXJkKG1fb3duZXIp
KSB7CiAgICAgICAgIDo6U2V0Q2xpcGJvYXJkRGF0YShDRl9CSVRNQVAsIHJlc3VsdEJpdG1hcC5s
ZWFrUHRyKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vV2ViSWNvbkRhdGFiYXNl
LmNwcCBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYkljb25EYXRhYmFzZS5jcHAKaW5kZXggZDgxN2Y2
OTc1ZjZhZTU2ZmVmZmE3NWRlM2UzODIyMzVkMTNmMDUzMy4uZjQyOGJmYzc2OTYwYTM2NmE4NTc2
OTBjM2FlNmNiYzI4ZjY4MDczMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vV2ViSWNv
bkRhdGFiYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJJY29uRGF0YWJhc2UuY3Bw
CkBAIC0zNCw2ICszNCw3IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9CU3RyaW5nLmg+CiAjaW5jbHVk
ZSA8V2ViQ29yZS9DT01QdHIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0ZpbGVTeXN0ZW0uaD4KKyNp
bmNsdWRlIDxXZWJDb3JlL0hXbmREQy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvSWNvbkRhdGFiYXNl
Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9JbWFnZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUGxhdGZv
cm1TdHJpbmcuaD4KQEAgLTI4NCwxMSArMjg1LDggQEAgSEJJVE1BUCBjcmVhdGVESUIoTFBTSVpF
IHNpemUpCiB7CiAgICAgQml0bWFwSW5mbyBibUluZm8gPSBCaXRtYXBJbmZvOjpjcmVhdGUoSW50
U2l6ZSgqc2l6ZSkpOwogCi0gICAgSERDIGRjID0gR2V0REMoMCk7Ci0gICAgSEJJVE1BUCByZXN1
bHQgPSBDcmVhdGVESUJTZWN0aW9uKGRjLCAmYm1JbmZvLCBESUJfUkdCX0NPTE9SUywgMCwgMCwg
MCk7Ci0gICAgUmVsZWFzZURDKDAsIGRjKTsKLQotICAgIHJldHVybiByZXN1bHQ7CisgICAgSFdu
ZERDIGRjKDApOworICAgIHJldHVybiBDcmVhdGVESUJTZWN0aW9uKGRjLCAmYm1JbmZvLCBESUJf
UkdCX0NPTE9SUywgMCwgMCwgMCk7CiB9CiAKIEhCSVRNQVAgV2ViSWNvbkRhdGFiYXNlOjpnZXRP
ckNyZWF0ZVNoYXJlZEJpdG1hcChMUFNJWkUgc2l6ZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy93aW4vV2ViVmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
d2luL1dlYlZpZXcuY3BwCmluZGV4IGQ0NGUyNTU2MGUyZTE1ODUxNWEwMmQzZDJmOTgzN2E1YjEw
Yjc1ZWMuLmMwMDYxZmNjNjQ2Y2UzMjU4MTlkYTFiYmZlNzg3OGUwNzUzYmM0OGQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy93aW4vV2ViVmlldy5jcHAKKysrIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL3dpbi9XZWJWaWV3LmNwcApAQCAtNTIsNiArNTIsNyBAQAogI2lm
IFVTRShDRykKICNpbmNsdWRlIDxXZWJDb3JlL0dyYXBoaWNzQ29udGV4dENHLmg+CiAjZW5kaWYK
KyNpbmNsdWRlIDxXZWJDb3JlL0hXbmREQy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvSW50UmVjdC5o
PgogI2luY2x1ZGUgPFdlYkNvcmUvTm90SW1wbGVtZW50ZWQuaD4KICNpbmNsdWRlIDxXZWJDb3Jl
L1JlZ2lvbi5oPgpAQCAtOTU5LDkgKzk2MCw4IEBAIHZvaWQgV2ViVmlldzo6c2Nyb2xsVmlldyhj
b25zdCBJbnRSZWN0JiBzY3JvbGxSZWN0LCBjb25zdCBJbnRTaXplJiBzY3JvbGxPZmZzZXQpCiB2
b2lkIFdlYlZpZXc6OmZsYXNoQmFja2luZ1N0b3JlVXBkYXRlcyhjb25zdCBWZWN0b3I8SW50UmVj
dD4mIHVwZGF0ZVJlY3RzKQogewogICAgIHN0YXRpYyBIQlJVU0ggYnJ1c2ggPSBjcmVhdGVCcnVz
aChXZWJQYWdlUHJveHk6OmJhY2tpbmdTdG9yZVVwZGF0ZXNGbGFzaENvbG9yKCkucmdiKCkpLmxl
YWtQdHIoKTsKLSAgICBIREMgZGMgPSA6OkdldERDKG1fd2luZG93KTsKKyAgICBIV25kREMgZGMo
bV93aW5kb3cpOwogICAgIGZsYXNoUmVjdHMoZGMsIHVwZGF0ZVJlY3RzLmRhdGEoKSwgdXBkYXRl
UmVjdHMuc2l6ZSgpLCBicnVzaCk7Ci0gICAgOjpSZWxlYXNlREMobV93aW5kb3csIGRjKTsKIH0K
IAogV2ViQ29yZTo6SW50U2l6ZSBXZWJWaWV3Ojp2aWV3U2l6ZSgpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>123394</attachid>
            <date>2012-01-20 15:24:37 -0800</date>
            <delta_ts>2012-01-23 17:07:57 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-76744-20120120152436.patch</filename>
            <type>text/plain</type>
            <size>19796</size>
            <attacher name="David Levin">levin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA1NTQ2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKb2xkIG1vZGUgMTAwNzU1Cm5ldyBt
b2RlIDEwMDY0NAppbmRleCA2NWEwOTFhOTcxMDc0OWVmNzU3YWJlODYxYTQ1NGQwNjRkYjI1NGMx
Li44ODFhZTcxNzdhYjRhMmM4NmE5YzYwYzk5YzY3NDZlMzBmNjYxZGU2Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwzOCBAQAorMjAxMi0wMS0xOCAgRGF2aWQgTGV2aW4gIDxsZXZpbkBjaHJvbWl1bS5vcmc+CisK
KyAgICAgICAgW3dpbmRvd3NdIENvbnZlcnQgdXNhZ2VzIG9mIEdldERDIHRvIEhXbmREQyBQYXJ0
IDEuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03Njc0
NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5l
dyBmdW5jdGlvbmFsaXR5IHNvIG5vIG5ldyB0ZXN0cy4KKworICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL3dpbi9Gb250Q2FjaGVXaW4uY3BwOgorICAgICAgICAoV2ViQ29yZTo6Rm9udENhY2hl
OjpnZXRGb250RGF0YUZvckNoYXJhY3RlcnMpOiBDaGFuZ2VkIEdldERDIHRvIEhXbmREQworICAg
ICAgICBhbmQgcmVtb3ZlZCBSZWxlYXNlREMuCisgICAgICAgIChXZWJDb3JlOjpjcmVhdGVHRElG
b250KTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpGb250Q2FjaGU6OmdldFRyYWl0c0luRmFt
aWx5KTogRGl0dG8uCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRQbGF0Zm9y
bURhdGFXaW4uY3BwOgorICAgICAgICAoV2ViQ29yZTo6Rm9udFBsYXRmb3JtRGF0YTo6Rm9udFBs
YXRmb3JtRGF0YSk6IERpdHRvLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3dpbi9TaW1w
bGVGb250RGF0YUNHV2luLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUZvbnREYXRhOjpw
bGF0Zm9ybUluaXQpOiBEaXR0by4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy93aW4vU2lt
cGxlRm9udERhdGFXaW4uY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2ltcGxlRm9udERhdGE6Omlu
aXRHRElGb250KTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpTaW1wbGVGb250RGF0YTo6Y29u
dGFpbnNDaGFyYWN0ZXJzKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpTaW1wbGVGb250RGF0
YTo6ZGV0ZXJtaW5lUGl0Y2gpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUZvbnRE
YXRhOjpib3VuZHNGb3JHRElHbHlwaCk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6U2ltcGxl
Rm9udERhdGE6OndpZHRoRm9yR0RJR2x5cGgpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlNp
bXBsZUZvbnREYXRhOjpzY3JpcHRGb250UHJvcGVydGllcyk6IERpdHRvLgorICAgICAgICAqIHBs
YXRmb3JtL3dpbi9DdXJzb3JXaW4uY3BwOgorICAgICAgICAoV2ViQ29yZTo6Y3JlYXRlU2hhcmVk
Q3Vyc29yKTogRGl0dG8uCisgICAgICAgICogcGxhdGZvcm0vd2luL0RyYWdJbWFnZUNHV2luLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OnNjYWxlRHJhZ0ltYWdlKTogRGl0dG8uCisgICAgICAgIChX
ZWJDb3JlOjpjcmVhdGVEcmFnSW1hZ2VGcm9tSW1hZ2UpOiBEaXR0by4KKyAgICAgICAgKiBwbGF0
Zm9ybS93aW4vRHJhZ0ltYWdlV2luLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmNyZWF0ZURyYWdJ
bWFnZUZvckxpbmspOiBEaXR0by4KKyAgICAgICAgKiBwbGF0Zm9ybS93aW4vUGFzdGVib2FyZFdp
bi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQYXN0ZWJvYXJkOjp3cml0ZUltYWdlKTogRGl0dG8u
CisKIDIwMTItMDEtMjAgIENhaW8gTWFyY2VsbyBkZSBPbGl2ZWlyYSBGaWxobyAgPGNhaW8ub2xp
dmVpcmFAb3BlbmJvc3NhLm9yZz4KIAogICAgICAgICBSZW1vdmUgdW51c2VkIHZhcmlhYmxlIGlu
IFJlbmRlclJlcGxhY2VkIGFmdGVyIHIxMDU1MTMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
d2luL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwppbmRleCAzODRmYWE1
ZDAxNWU1MjUwOTZiNTZmMmUxNWMzNGNjZmM3ZDY4OGI3Li40NzAzNmY4YzBmZGNmYTljNDgyNTI2
NThiYzVkMTM0MjMyY2E4OWI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIw
MTItMDEtMTcgIERhdmlkIExldmluICA8bGV2aW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFt3
aW5kb3dzXSBDb252ZXJ0IHVzYWdlcyBvZiBHZXREQyB0byBIV25kREMgUGFydCAxLgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY3NDQKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkljb25EYXRhYmFz
ZS5jcHA6CisgICAgICAgIChjcmVhdGVESUIpOiBDaGFuZ2VkIEdldERDIHRvIEhXbmREQyBhbmQg
cmVtb3ZlZCBSZWxlYXNlREMuCisKIDIwMTItMDEtMDcgIEFuZHJlYXMgS2xpbmcgIDxhd2Vzb21l
a2xpbmdAYXBwbGUuY29tPgogCiAgICAgICAgIFdpbmRvd3MgYnVpbGQgZml4LgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmlu
ZGV4IDU0NTM3OWZjNjA3ZTgyMDczZWQ2ODJlYTRiYzIzMDFmZTg0NTAyYzUuLjU1NjZmMTQ5MGRi
OTgxNjE5MGQ5M2I4N2MyMmFiMmI0ODczZmQyOTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBA
QAorMjAxMi0wMS0xNyAgRGF2aWQgTGV2aW4gIDxsZXZpbkBjaHJvbWl1bS5vcmc+CisKKyAgICAg
ICAgW3dpbmRvd3NdIENvbnZlcnQgdXNhZ2VzIG9mIEdldERDIHRvIEhXbmREQyBQYXJ0IDEuCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03Njc0NAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVUlQcm9jZXNz
L3dpbi9XZWJWaWV3LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViVmlldzo6Zmxhc2hCYWNraW5n
U3RvcmVVcGRhdGVzKTogVHlwaWNhbCBjb252ZXJzaW9uLgorCiAyMDEyLTAxLTIwICBKb2NlbHlu
IFR1cmNvdHRlICA8am9jZWx5bi50dXJjb3R0ZUBub2tpYS5jb20+CiAKICAgICAgICAgW1F0XSBU
cmlnZ2VyIGZvcmNpbmcgYWNjZWxlcmF0ZWQgY29tcG9zaXRpbmcgZnJvbSB0aGUgVUkgcHJvY2Vz
cyBzaWRlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2lu
L0ZvbnRDYWNoZVdpbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4v
Rm9udENhY2hlV2luLmNwcAppbmRleCAzZWI3NDM2ZWUyZTU1ZDk1MGU1ZDIwMGM1MTdkN2I0NGQ4
YjYwNzY3Li40ZDFiMmNmZDM2OWYwMmExZjdjODc3YjU0ODFmYjY2YmZlNTgyYzVhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udENhY2hlV2luLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udENhY2hlV2lu
LmNwcApAQCAtMzAsNiArMzAsNyBAQAogI2luY2x1ZGUgPHdpbnNvY2syLmg+CiAjaW5jbHVkZSAi
Rm9udENhY2hlLmgiCiAjaW5jbHVkZSAiRm9udC5oIgorI2luY2x1ZGUgIkhXbmREQy5oIgogI2lu
Y2x1ZGUgIlNpbXBsZUZvbnREYXRhLmgiCiAjaW5jbHVkZSAiVW5pY29kZVJhbmdlLmgiCiAjaW5j
bHVkZSA8bWxhbmcuaD4KQEAgLTE4OSw3ICsxOTAsNyBAQCBjb25zdCBTaW1wbGVGb250RGF0YSog
Rm9udENhY2hlOjpnZXRGb250RGF0YUZvckNoYXJhY3RlcnMoY29uc3QgRm9udCYgZm9udCwgY29u
cwogewogICAgIFVDaGFyIGNoYXJhY3RlciA9IGNoYXJhY3RlcnNbMF07CiAgICAgU2ltcGxlRm9u
dERhdGEqIGZvbnREYXRhID0gMDsKLSAgICBIREMgaGRjID0gR2V0REMoMCk7CisgICAgSFduZERD
IGhkYygwKTsKICAgICBIRk9OVCBwcmltYXJ5Rm9udCA9IGZvbnQucHJpbWFyeUZvbnQoKS0+Zm9u
dERhdGFGb3JDaGFyYWN0ZXIoY2hhcmFjdGVyKS0+cGxhdGZvcm1EYXRhKCkuaGZvbnQoKTsKICAg
ICBIR0RJT0JKIG9sZEZvbnQgPSBTZWxlY3RPYmplY3QoaGRjLCBwcmltYXJ5Rm9udCk7CiAgICAg
SEZPTlQgaGZvbnQgPSAwOwpAQCAtMjkyLDcgKzI5Myw2IEBAIGNvbnN0IFNpbXBsZUZvbnREYXRh
KiBGb250Q2FjaGU6OmdldEZvbnREYXRhRm9yQ2hhcmFjdGVycyhjb25zdCBGb250JiBmb250LCBj
b25zCiAgICAgICAgIERlbGV0ZU9iamVjdChoZm9udCk7CiAgICAgfQogCi0gICAgUmVsZWFzZURD
KDAsIGhkYyk7CiAgICAgcmV0dXJuIGZvbnREYXRhOwogfQogCkBAIC00NDcsNyArNDQ3LDcgQEAg
c3RhdGljIGludCBDQUxMQkFDSyBtYXRjaEltcHJvdmluZ0VudW1Qcm9jKENPTlNUIExPR0ZPTlQq
IGNhbmRpZGF0ZSwgQ09OU1QgVEVYVE0KIAogc3RhdGljIEhGT05UIGNyZWF0ZUdESUZvbnQoY29u
c3QgQXRvbWljU3RyaW5nJiBmYW1pbHksIExPTkcgZGVzaXJlZFdlaWdodCwgYm9vbCBkZXNpcmVk
SXRhbGljLCBpbnQgc2l6ZSwgYm9vbCBzeW50aGVzaXplSXRhbGljKQogewotICAgIEhEQyBoZGMg
PSBHZXREQygwKTsKKyAgICBIV25kREMgaGRjKDApOwogCiAgICAgTE9HRk9OVCBsb2dGb250Owog
ICAgIGxvZ0ZvbnQubGZDaGFyU2V0ID0gREVGQVVMVF9DSEFSU0VUOwpAQCAtNDU5LDggKzQ1OSw2
IEBAIHN0YXRpYyBIRk9OVCBjcmVhdGVHRElGb250KGNvbnN0IEF0b21pY1N0cmluZyYgZmFtaWx5
LCBMT05HIGRlc2lyZWRXZWlnaHQsIGJvb2wKICAgICBNYXRjaEltcHJvdmluZ1Byb2NEYXRhIG1h
dGNoRGF0YShkZXNpcmVkV2VpZ2h0LCBkZXNpcmVkSXRhbGljKTsKICAgICBFbnVtRm9udEZhbWls
aWVzRXgoaGRjLCAmbG9nRm9udCwgbWF0Y2hJbXByb3ZpbmdFbnVtUHJvYywgcmVpbnRlcnByZXRf
Y2FzdDxMUEFSQU0+KCZtYXRjaERhdGEpLCAwKTsKIAotICAgIFJlbGVhc2VEQygwLCBoZGMpOwot
CiAgICAgaWYgKCFtYXRjaERhdGEubV9oYXNNYXRjaGVkKQogICAgICAgICByZXR1cm4gMDsKIApA
QCAtNDg2LDEzICs0ODQsMTIgQEAgc3RhdGljIEhGT05UIGNyZWF0ZUdESUZvbnQoY29uc3QgQXRv
bWljU3RyaW5nJiBmYW1pbHksIExPTkcgZGVzaXJlZFdlaWdodCwgYm9vbAogICAgIGlmICghcmVz
dWx0KQogICAgICAgICByZXR1cm4gMDsKIAotICAgIEhEQyBkYyA9IEdldERDKDApOworICAgIEhX
bmREQyBkYygwKTsKICAgICBTYXZlREMoZGMpOwogICAgIFNlbGVjdE9iamVjdChkYywgcmVzdWx0
KTsKICAgICBXQ0hBUiBhY3R1YWxOYW1lW0xGX0ZBQ0VTSVpFXTsKICAgICBHZXRUZXh0RmFjZShk
YywgTEZfRkFDRVNJWkUsIGFjdHVhbE5hbWUpOwogICAgIFJlc3RvcmVEQyhkYywgLTEpOwotICAg
IFJlbGVhc2VEQygwLCBkYyk7CiAKICAgICBpZiAod2NzaWNtcChtYXRjaERhdGEubV9jaG9zZW4u
bGZGYWNlTmFtZSwgYWN0dWFsTmFtZSkpIHsKICAgICAgICAgRGVsZXRlT2JqZWN0KHJlc3VsdCk7
CkBAIC01MzQsNyArNTMxLDcgQEAgc3RhdGljIGludCBDQUxMQkFDSyB0cmFpdHNJbkZhbWlseUVu
dW1Qcm9jKENPTlNUIExPR0ZPTlQqIGxvZ0ZvbnQsIENPTlNUIFRFWFRNRVQKIH0KIHZvaWQgRm9u
dENhY2hlOjpnZXRUcmFpdHNJbkZhbWlseShjb25zdCBBdG9taWNTdHJpbmcmIGZhbWlseU5hbWUs
IFZlY3Rvcjx1bnNpZ25lZD4mIHRyYWl0c01hc2tzKQogewotICAgIEhEQyBoZGMgPSBHZXREQygw
KTsKKyAgICBIV25kREMgaGRjKDApOwogCiAgICAgTE9HRk9OVCBsb2dGb250OwogICAgIGxvZ0Zv
bnQubGZDaGFyU2V0ID0gREVGQVVMVF9DSEFSU0VUOwpAQCAtNTQ2LDggKzU0Myw2IEBAIHZvaWQg
Rm9udENhY2hlOjpnZXRUcmFpdHNJbkZhbWlseShjb25zdCBBdG9taWNTdHJpbmcmIGZhbWlseU5h
bWUsIFZlY3Rvcjx1bnNpZ25lCiAgICAgVHJhaXRzSW5GYW1pbHlQcm9jRGF0YSBwcm9jRGF0YShm
YW1pbHlOYW1lKTsKICAgICBFbnVtRm9udEZhbWlsaWVzRXgoaGRjLCAmbG9nRm9udCwgdHJhaXRz
SW5GYW1pbHlFbnVtUHJvYywgcmVpbnRlcnByZXRfY2FzdDxMUEFSQU0+KCZwcm9jRGF0YSksIDAp
OwogICAgIGNvcHlUb1ZlY3Rvcihwcm9jRGF0YS5tX3RyYWl0c01hc2tzLCB0cmFpdHNNYXNrcyk7
Ci0KLSAgICBSZWxlYXNlREMoMCwgaGRjKTsKIH0KIAogRm9udFBsYXRmb3JtRGF0YSogRm9udENh
Y2hlOjpjcmVhdGVGb250UGxhdGZvcm1EYXRhKGNvbnN0IEZvbnREZXNjcmlwdGlvbiYgZm9udERl
c2NyaXB0aW9uLCBjb25zdCBBdG9taWNTdHJpbmcmIGZhbWlseSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250UGxhdGZvcm1EYXRhV2luLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250UGxhdGZvcm1EYXRhV2lu
LmNwcAppbmRleCBkMGIzN2JkYTNlNWY2ZjM4NmFmZWQ3NTU0ZDI5NzgxMDdhMzk2NWRhLi45ODYw
ZGY2YTIxMzlhNjkwMGQwZmI4MzRiM2VjZmMzNWEzOWJkNjIzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udFBsYXRmb3JtRGF0YVdpbi5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRQbGF0Zm9ybURhdGFX
aW4uY3BwCkBAIC0yNSw2ICsyNSw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAi
Rm9udFBsYXRmb3JtRGF0YS5oIgogCisjaW5jbHVkZSAiSFduZERDLmgiCiAjaW5jbHVkZSAiUGxh
dGZvcm1TdHJpbmcuaCIKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0Zi9S
ZXRhaW5QdHIuaD4KQEAgLTUxLDcgKzUyLDcgQEAgRm9udFBsYXRmb3JtRGF0YTo6Rm9udFBsYXRm
b3JtRGF0YShIRk9OVCBmb250LCBmbG9hdCBzaXplLCBib29sIGJvbGQsIGJvb2wgb2JsaXEKICAg
ICAsIG1fc3ludGhldGljT2JsaXF1ZShvYmxpcXVlKQogICAgICwgbV91c2VHREkodXNlR0RJKQog
ewotICAgIEhEQyBoZGMgPSBHZXREQygwKTsKKyAgICBIV25kREMgaGRjKDApOwogICAgIFNhdmVE
QyhoZGMpOwogICAgIAogICAgIFNlbGVjdE9iamVjdChoZGMsIGZvbnQpOwpAQCAtNzEsNyArNzIs
NiBAQCBGb250UGxhdGZvcm1EYXRhOjpGb250UGxhdGZvcm1EYXRhKEhGT05UIGZvbnQsIGZsb2F0
IHNpemUsIGJvb2wgYm9sZCwgYm9vbCBvYmxpcQogICAgIH0KIAogICAgIFJlc3RvcmVEQyhoZGMs
IC0xKTsKLSAgICBSZWxlYXNlREMoMCwgaGRjKTsKIH0KIAogI2lmbmRlZiBOREVCVUcKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9TaW1wbGVGb250RGF0
YUNHV2luLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9TaW1wbGVG
b250RGF0YUNHV2luLmNwcAppbmRleCAyZDhmMTNlMzZlZGJlMTYyZmI4NjAzZDgyZDBlZDY0NmE2
Mzc1MTQzLi5hZDAyNWI4MDNiZmIwZDJiZDk5MGFjYzliNGJkZTA1YmI5M2NkNDY3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vU2ltcGxlRm9udERhdGFD
R1dpbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1NpbXBs
ZUZvbnREYXRhQ0dXaW4uY3BwCkBAIC0zMyw2ICszMyw3IEBACiAjaW5jbHVkZSAiRm9udENhY2hl
LmgiCiAjaW5jbHVkZSAiRmxvYXRSZWN0LmgiCiAjaW5jbHVkZSAiRm9udERlc2NyaXB0aW9uLmgi
CisjaW5jbHVkZSAiSFduZERDLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKICNpbmNs
dWRlIDxBcHBsaWNhdGlvblNlcnZpY2VzL0FwcGxpY2F0aW9uU2VydmljZXMuaD4KICNpbmNsdWRl
IDxXZWJLaXRTeXN0ZW1JbnRlcmZhY2UvV2ViS2l0U3lzdGVtSW50ZXJmYWNlLmg+CkBAIC01NSw3
ICs1Niw3IEBAIHZvaWQgU2ltcGxlRm9udERhdGE6OnBsYXRmb3JtSW5pdCgpCiAgICAgbV9pc1N5
c3RlbUZvbnQgPSBmYWxzZTsKIAogICAgIGlmIChtX3BsYXRmb3JtRGF0YS51c2VHREkoKSkKLSAg
ICAgICByZXR1cm4gaW5pdEdESUZvbnQoKTsKKyAgICAgICAgcmV0dXJuIGluaXRHRElGb250KCk7
CiAKICAgICBDR0ZvbnRSZWYgZm9udCA9IG1fcGxhdGZvcm1EYXRhLmNnRm9udCgpOwogICAgIGlu
dCBpQXNjZW50ID0gQ0dGb250R2V0QXNjZW50KGZvbnQpOwpAQCAtNjgsMTQgKzY5LDEzIEBAIHZv
aWQgU2ltcGxlRm9udERhdGE6OnBsYXRmb3JtSW5pdCgpCiAgICAgZmxvYXQgZkxpbmVHYXAgPSBz
Y2FsZUVtVG9Vbml0cyhpTGluZUdhcCwgdW5pdHNQZXJFbSkgKiBwb2ludFNpemU7CiAKICAgICBp
ZiAoIWlzQ3VzdG9tRm9udCgpKSB7Ci0gICAgICAgIEhEQyBkYyA9IEdldERDKDApOworICAgICAg
ICBIV25kREMgZGMoMCk7CiAgICAgICAgIEhHRElPQkogb2xkRm9udCA9IFNlbGVjdE9iamVjdChk
YywgbV9wbGF0Zm9ybURhdGEuaGZvbnQoKSk7CiAgICAgICAgIGludCBmYWNlTGVuZ3RoID0gR2V0
VGV4dEZhY2UoZGMsIDAsIDApOwogICAgICAgICBWZWN0b3I8V0NIQVI+IGZhY2VOYW1lKGZhY2VM
ZW5ndGgpOwogICAgICAgICBHZXRUZXh0RmFjZShkYywgZmFjZUxlbmd0aCwgZmFjZU5hbWUuZGF0
YSgpKTsKICAgICAgICAgbV9pc1N5c3RlbUZvbnQgPSAhd2NzY21wKGZhY2VOYW1lLmRhdGEoKSwg
TCJMdWNpZGEgR3JhbmRlIik7CiAgICAgICAgIFNlbGVjdE9iamVjdChkYywgb2xkRm9udCk7Ci0g
ICAgICAgIFJlbGVhc2VEQygwLCBkYyk7CiAKICAgICAgICAgZkFzY2VudCA9IGFzY2VudENvbnNp
ZGVyaW5nTWFjQXNjZW50SGFjayhmYWNlTmFtZS5kYXRhKCksIGZBc2NlbnQsIGZEZXNjZW50KTsK
ICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4v
U2ltcGxlRm9udERhdGFXaW4uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
d2luL1NpbXBsZUZvbnREYXRhV2luLmNwcAppbmRleCBkZTY2ODdmNWM3YTgzMzM1YjEyOTRiZjBk
OTQ5NDM2ZTA0ZmJlYzRmLi45ODNjMWJmOTJiZWYxNzM5N2U3YTQzZWIyZWY2NWNiZGM3ZDkyMTQ0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vU2ltcGxl
Rm9udERhdGFXaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dp
bi9TaW1wbGVGb250RGF0YVdpbi5jcHAKQEAgLTMzLDYgKzMzLDcgQEAKICNpbmNsdWRlICJGb250
Q2FjaGUuaCIKICNpbmNsdWRlICJGbG9hdFJlY3QuaCIKICNpbmNsdWRlICJGb250RGVzY3JpcHRp
b24uaCIKKyNpbmNsdWRlICJIV25kREMuaCIKICNpbmNsdWRlIDxtbGFuZy5oPgogI2luY2x1ZGUg
PHVuaWNvZGUvdWNoYXIuaD4KICNpbmNsdWRlIDx1bmljb2RlL3Vub3JtLmg+CkBAIC04OSw3ICs5
MCw3IEBAIHZvaWQgU2ltcGxlRm9udERhdGE6OmluaXRHRElGb250KCkKICAgICAgICAgcmV0dXJu
OwogICAgIH0KIAotICAgICBIREMgaGRjID0gR2V0REMoMCk7CisgICAgIEhXbmREQyBoZGMoMCk7
CiAgICAgIEhHRElPQkogb2xkRm9udCA9IFNlbGVjdE9iamVjdChoZGMsIG1fcGxhdGZvcm1EYXRh
Lmhmb250KCkpOwogICAgICBPVVRMSU5FVEVYVE1FVFJJQyBtZXRyaWNzOwogICAgICBHZXRPdXRs
aW5lVGV4dE1ldHJpY3MoaGRjLCBzaXplb2YobWV0cmljcyksICZtZXRyaWNzKTsKQEAgLTExNSw5
ICsxMTYsNiBAQCB2b2lkIFNpbXBsZUZvbnREYXRhOjppbml0R0RJRm9udCgpCiAgICAgIG1fZm9u
dE1ldHJpY3Muc2V0VW5pdHNQZXJFbShtZXRyaWNzLm90bUVNU3F1YXJlKTsKIAogICAgICBTZWxl
Y3RPYmplY3QoaGRjLCBvbGRGb250KTsKLSAgICAgUmVsZWFzZURDKDAsIGhkYyk7Ci0KLSAgICAg
cmV0dXJuOwogfQogCiB2b2lkIFNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUNoYXJXaWR0aEluaXQo
KQpAQCAtMTg1LDggKzE4Myw4IEBAIGJvb2wgU2ltcGxlRm9udERhdGE6OmNvbnRhaW5zQ2hhcmFj
dGVycyhjb25zdCBVQ2hhciogY2hhcmFjdGVycywgaW50IGxlbmd0aCkgY29uCiAgICAgaWYgKCFs
YW5nRm9udExpbmspCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIEhEQyBkYyA9IEdldERD
KDApOwotICAgIAorICAgIEhXbmREQyBkYygwKTsKKwogICAgIERXT1JEIGFjcENvZGVQYWdlczsK
ICAgICBsYW5nRm9udExpbmstPkNvZGVQYWdlVG9Db2RlUGFnZXMoQ1BfQUNQLCAmYWNwQ29kZVBh
Z2VzKTsKIApAQCAtMjAzLDggKzIwMSw2IEBAIGJvb2wgU2ltcGxlRm9udERhdGE6OmNvbnRhaW5z
Q2hhcmFjdGVycyhjb25zdCBVQ2hhciogY2hhcmFjdGVycywgaW50IGxlbmd0aCkgY29uCiAgICAg
ICAgIG9mZnNldCArPSBudW1DaGFyYWN0ZXJzUHJvY2Vzc2VkOwogICAgIH0KIAotICAgIFJlbGVh
c2VEQygwLCBkYyk7Ci0KICAgICByZXR1cm4gdHJ1ZTsKIH0KIApAQCAtMjE2LDcgKzIxMiw3IEBA
IHZvaWQgU2ltcGxlRm9udERhdGE6OmRldGVybWluZVBpdGNoKCkKICAgICB9CiAKICAgICAvLyBU
RVhUTUVUUklDUyBoYXZlIHRoaXMuICBTZXQgbV90cmVhdEFzRml4ZWRQaXRjaCBiYXNlZCBvZmYg
dGhhdC4KLSAgICBIREMgZGMgPSBHZXREQygwKTsKKyAgICBIV25kREMgZGMoMCk7CiAgICAgU2F2
ZURDKGRjKTsKICAgICBTZWxlY3RPYmplY3QoZGMsIG1fcGxhdGZvcm1EYXRhLmhmb250KCkpOwog
CkBAIC0yMjcsMTIgKzIyMywxMSBAQCB2b2lkIFNpbXBsZUZvbnREYXRhOjpkZXRlcm1pbmVQaXRj
aCgpCiAgICAgbV90cmVhdEFzRml4ZWRQaXRjaCA9ICgodG0udG1QaXRjaEFuZEZhbWlseSAmIFRN
UEZfRklYRURfUElUQ0gpID09IDApOwogCiAgICAgUmVzdG9yZURDKGRjLCAtMSk7Ci0gICAgUmVs
ZWFzZURDKDAsIGRjKTsKIH0KIAogRmxvYXRSZWN0IFNpbXBsZUZvbnREYXRhOjpib3VuZHNGb3JH
RElHbHlwaChHbHlwaCBnbHlwaCkgY29uc3QKIHsKLSAgICBIREMgaGRjID0gR2V0REMoMCk7Cisg
ICAgSFduZERDIGhkYygwKTsKICAgICBTZXRHcmFwaGljc01vZGUoaGRjLCBHTV9BRFZBTkNFRCk7
CiAgICAgSEdESU9CSiBvbGRGb250ID0gU2VsZWN0T2JqZWN0KGhkYywgbV9wbGF0Zm9ybURhdGEu
aGZvbnQoKSk7CiAgICAgCkBAIC0yNDEsNyArMjM2LDYgQEAgRmxvYXRSZWN0IFNpbXBsZUZvbnRE
YXRhOjpib3VuZHNGb3JHRElHbHlwaChHbHlwaCBnbHlwaCkgY29uc3QKICAgICBHZXRHbHlwaE91
dGxpbmUoaGRjLCBnbHlwaCwgR0dPX01FVFJJQ1MgfCBHR09fR0xZUEhfSU5ERVgsICZnZGlNZXRy
aWNzLCAwLCAwLCAmaWRlbnRpdHkpOwogICAgIAogICAgIFNlbGVjdE9iamVjdChoZGMsIG9sZEZv
bnQpOwotICAgIFJlbGVhc2VEQygwLCBoZGMpOwogICAgIAogICAgIHJldHVybiBGbG9hdFJlY3Qo
Z2RpTWV0cmljcy5nbXB0R2x5cGhPcmlnaW4ueCwgLWdkaU1ldHJpY3MuZ21wdEdseXBoT3JpZ2lu
LnksCiAgICAgICAgIGdkaU1ldHJpY3MuZ21CbGFja0JveFggKyBtX3N5bnRoZXRpY0JvbGRPZmZz
ZXQsIGdkaU1ldHJpY3MuZ21CbGFja0JveFkpOyAKQEAgLTI0OSw3ICsyNDMsNyBAQCBGbG9hdFJl
Y3QgU2ltcGxlRm9udERhdGE6OmJvdW5kc0ZvckdESUdseXBoKEdseXBoIGdseXBoKSBjb25zdAog
ICAgIAogZmxvYXQgU2ltcGxlRm9udERhdGE6OndpZHRoRm9yR0RJR2x5cGgoR2x5cGggZ2x5cGgp
IGNvbnN0CiB7Ci0gICAgSERDIGhkYyA9IEdldERDKDApOworICAgIEhXbmREQyBoZGMoMCk7CiAg
ICAgU2V0R3JhcGhpY3NNb2RlKGhkYywgR01fQURWQU5DRUQpOwogICAgIEhHRElPQkogb2xkRm9u
dCA9IFNlbGVjdE9iamVjdChoZGMsIG1fcGxhdGZvcm1EYXRhLmhmb250KCkpOwogCkBAIC0yNTgs
NyArMjUyLDYgQEAgZmxvYXQgU2ltcGxlRm9udERhdGE6OndpZHRoRm9yR0RJR2x5cGgoR2x5cGgg
Z2x5cGgpIGNvbnN0CiAgICAgR2V0R2x5cGhPdXRsaW5lKGhkYywgZ2x5cGgsIEdHT19NRVRSSUNT
IHwgR0dPX0dMWVBIX0lOREVYLCAmZ2RpTWV0cmljcywgMCwgMCwgJmlkZW50aXR5KTsKIAogICAg
IFNlbGVjdE9iamVjdChoZGMsIG9sZEZvbnQpOwotICAgIFJlbGVhc2VEQygwLCBoZGMpOwogCiAg
ICAgcmV0dXJuIGdkaU1ldHJpY3MuZ21DZWxsSW5jWCArIG1fc3ludGhldGljQm9sZE9mZnNldDsK
IH0KQEAgLTI3MSwxMiArMjY0LDExIEBAIFNDUklQVF9GT05UUFJPUEVSVElFUyogU2ltcGxlRm9u
dERhdGE6OnNjcmlwdEZvbnRQcm9wZXJ0aWVzKCkgY29uc3QKICAgICAgICAgbV9zY3JpcHRGb250
UHJvcGVydGllcy0+Y0J5dGVzID0gc2l6ZW9mKFNDUklQVF9GT05UUFJPUEVSVElFUyk7CiAgICAg
ICAgIEhSRVNVTFQgcmVzdWx0ID0gU2NyaXB0R2V0Rm9udFByb3BlcnRpZXMoMCwgc2NyaXB0Q2Fj
aGUoKSwgbV9zY3JpcHRGb250UHJvcGVydGllcyk7CiAgICAgICAgIGlmIChyZXN1bHQgPT0gRV9Q
RU5ESU5HKSB7Ci0gICAgICAgICAgICBIREMgZGMgPSBHZXREQygwKTsKKyAgICAgICAgICAgIEhX
bmREQyBkYygwKTsKICAgICAgICAgICAgIFNhdmVEQyhkYyk7CiAgICAgICAgICAgICBTZWxlY3RP
YmplY3QoZGMsIG1fcGxhdGZvcm1EYXRhLmhmb250KCkpOwogICAgICAgICAgICAgU2NyaXB0R2V0
Rm9udFByb3BlcnRpZXMoZGMsIHNjcmlwdENhY2hlKCksIG1fc2NyaXB0Rm9udFByb3BlcnRpZXMp
OwogICAgICAgICAgICAgUmVzdG9yZURDKGRjLCAtMSk7Ci0gICAgICAgICAgICBSZWxlYXNlREMo
MCwgZGMpOwogICAgICAgICB9CiAgICAgfQogICAgIHJldHVybiBtX3NjcmlwdEZvbnRQcm9wZXJ0
aWVzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL0N1cnNvcldpbi5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vQ3Vyc29yV2luLmNwcAppbmRleCA1NDRi
OWE3N2JmNDYwNjM4MGY3ZGJjOGMzOWIyYmEzMDM1OTA2N2NlLi5jZTRkNThmYjQyMWE1ZDg0NzJh
NzM2MzgyYWJkZThjMTQ3MzUwOWM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS93aW4vQ3Vyc29yV2luLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vQ3Vy
c29yV2luLmNwcApAQCAtMjgsNiArMjgsNyBAQAogI2luY2x1ZGUgIkN1cnNvci5oIgogCiAjaW5j
bHVkZSAiQml0bWFwSW5mby5oIgorI2luY2x1ZGUgIkhXbmREQy5oIgogI2luY2x1ZGUgIkltYWdl
LmgiCiAjaW5jbHVkZSAiSW50UG9pbnQuaCIKICNpbmNsdWRlICJTeXN0ZW1JbmZvLmgiCkBAIC00
OSw3ICs1MCw3IEBAIHN0YXRpYyBQYXNzUmVmUHRyPFNoYXJlZEN1cnNvcj4gY3JlYXRlU2hhcmVk
Q3Vyc29yKEltYWdlKiBpbWcsIGNvbnN0IEludFBvaW50JiBoCiAgICAgc3RhdGljIGJvb2wgZG9B
bHBoYSA9IHdpbmRvd3NWZXJzaW9uKCkgPj0gV2luZG93c1hQOwogICAgIEJpdG1hcEluZm8gY3Vy
c29ySW1hZ2UgPSBCaXRtYXBJbmZvOjpjcmVhdGUoSW50U2l6ZShpbWctPndpZHRoKCksIGltZy0+
aGVpZ2h0KCkpKTsKIAotICAgIEhEQyBkYyA9IEdldERDKDApOworICAgIEhXbmREQyBkYygwKTsK
ICAgICBIREMgd29ya2luZ0RDID0gQ3JlYXRlQ29tcGF0aWJsZURDKGRjKTsKICAgICBpZiAoZG9B
bHBoYSkgewogICAgICAgICBPd25QdHI8SEJJVE1BUD4gaEN1cnNvciA9IGFkb3B0UHRyKENyZWF0
ZURJQlNlY3Rpb24oZGMsIChCSVRNQVBJTkZPICopJmN1cnNvckltYWdlLCBESUJfUkdCX0NPTE9S
UywgMCwgMCwgMCkpOwpAQCAtMTEyLDcgKzExMyw2IEBAIHN0YXRpYyBQYXNzUmVmUHRyPFNoYXJl
ZEN1cnNvcj4gY3JlYXRlU2hhcmVkQ3Vyc29yKEltYWdlKiBpbWcsIGNvbnN0IEludFBvaW50JiBo
CiAgICAgICAgIERlbGV0ZURDKGFuZE1hc2tEQyk7CiAgICAgfQogICAgIERlbGV0ZURDKHdvcmtp
bmdEQyk7Ci0gICAgUmVsZWFzZURDKDAsIGRjKTsKIAogICAgIHJldHVybiBpbXBsLnJlbGVhc2Uo
KTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9EcmFnSW1hZ2VD
R1dpbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vRHJhZ0ltYWdlQ0dXaW4uY3Bw
CmluZGV4IGJjNDVlMjJjMzE4NGNmM2I4MjhiODdjMzFkODM1OTRiZGVjMTUwMWQuLjc0MTAxNjg0
NmVlNjBjYjlhNDg3OWE1YjMwMTQ5MDRmYWNmODFkYTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL3dpbi9EcmFnSW1hZ2VDR1dpbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vd2luL0RyYWdJbWFnZUNHV2luLmNwcApAQCAtMjksNiArMjksNyBAQAogI2luY2x1
ZGUgIkJpdG1hcEluZm8uaCIKICNpbmNsdWRlICJDYWNoZWRJbWFnZS5oIgogI2luY2x1ZGUgIkdy
YXBoaWNzQ29udGV4dENHLmgiCisjaW5jbHVkZSAiSFduZERDLmgiCiAjaW5jbHVkZSAiSW1hZ2Uu
aCIKICNpbmNsdWRlICJSZXRhaW5QdHIuaCIKIApAQCAtODksNyArOTAsNyBAQCBEcmFnSW1hZ2VS
ZWYgc2NhbGVEcmFnSW1hZ2UoRHJhZ0ltYWdlUmVmIGltYWdlLCBGbG9hdFNpemUgc2NhbGUpCiAg
ICAgSW50U2l6ZSBzcmNTaXplID0gZHJhZ0ltYWdlU2l6ZShpbWFnZSk7CiAgICAgSW50U2l6ZSBk
c3RTaXplKHN0YXRpY19jYXN0PGludD4oc3JjU2l6ZS53aWR0aCgpICogc2NhbGUud2lkdGgoKSks
IHN0YXRpY19jYXN0PGludD4oc3JjU2l6ZS5oZWlnaHQoKSAqIHNjYWxlLmhlaWdodCgpKSk7CiAg
ICAgSEJJVE1BUCBoYm1wID0gMDsKLSAgICBIREMgZGMgPSBHZXREQygwKTsKKyAgICBIV25kREMg
ZGMoMCk7CiAgICAgSERDIGRzdERDID0gQ3JlYXRlQ29tcGF0aWJsZURDKGRjKTsKICAgICBpZiAo
IWRzdERDKQogICAgICAgICBnb3RvIGV4aXQ7CkBAIC0xMTYsMTQgKzExNywxMyBAQCBleGl0Ogog
ICAgICAgICBoYm1wID0gaW1hZ2U7CiAgICAgaWYgKGRzdERDKQogICAgICAgICBEZWxldGVEQyhk
c3REQyk7Ci0gICAgUmVsZWFzZURDKDAsIGRjKTsKICAgICByZXR1cm4gaGJtcDsKIH0KICAgICAK
IERyYWdJbWFnZVJlZiBjcmVhdGVEcmFnSW1hZ2VGcm9tSW1hZ2UoSW1hZ2UqIGltZykKIHsKICAg
ICBIQklUTUFQIGhibXAgPSAwOwotICAgIEhEQyBkYyA9IEdldERDKDApOworICAgIEhXbmREQyBk
YygwKTsKICAgICBIREMgd29ya2luZ0RDID0gQ3JlYXRlQ29tcGF0aWJsZURDKGRjKTsKICAgICBD
R0NvbnRleHRSZWYgZHJhd0NvbnRleHQgPSAwOwogICAgIGlmICghd29ya2luZ0RDKQpAQCAtMTU1
LDcgKzE1NSw2IEBAIERyYWdJbWFnZVJlZiBjcmVhdGVEcmFnSW1hZ2VGcm9tSW1hZ2UoSW1hZ2Uq
IGltZykKIGV4aXQ6CiAgICAgaWYgKHdvcmtpbmdEQykKICAgICAgICAgRGVsZXRlREMod29ya2lu
Z0RDKTsKLSAgICBSZWxlYXNlREMoMCwgZGMpOwogICAgIHJldHVybiBoYm1wOwogfQogICAgIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL0RyYWdJbWFnZVdpbi5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vRHJhZ0ltYWdlV2luLmNwcAppbmRleCBmODU4
YjA3ZjE2ZjM2M2UxZTVmYmZmOTk2OWM5YTc2NDliYjgwMWEzLi4xZjZiNzNlODllZDQzOTg3NzQ4
NDcwMDM1ZmM2ZDI4NjAzNDc0NDUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS93aW4vRHJhZ0ltYWdlV2luLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4v
RHJhZ0ltYWdlV2luLmNwcApAQCAtMzMsNiArMzMsNyBAQAogI2luY2x1ZGUgIkZvbnRTZWxlY3Rv
ci5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0LmgiCisj
aW5jbHVkZSAiSFduZERDLmgiCiAjaW5jbHVkZSAiSW1hZ2UuaCIKICNpbmNsdWRlICJSZXRhaW5Q
dHIuaCIKICNpbmNsdWRlICJTZXR0aW5ncy5oIgpAQCAtMTgzLDE4ICsxODQsMTUgQEAgRHJhZ0lt
YWdlUmVmIGNyZWF0ZURyYWdJbWFnZUZvckxpbmsoS1VSTCYgdXJsLCBjb25zdCBTdHJpbmcmIGlu
TGFiZWwsIEZyYW1lKiBmcmEKICAgICAvLyBXZSBub3cga25vdyBob3cgYmlnIHRoZSBpbWFnZSBu
ZWVkcyB0byBiZSwgc28gd2UgY3JlYXRlIGFuZAogICAgIC8vIGZpbGwgdGhlIGJhY2tncm91bmQK
ICAgICBIQklUTUFQIGltYWdlID0gMDsKLSAgICBIREMgZGMgPSBHZXREQygwKTsKKyAgICBIV25k
REMgZGMoMCk7CiAgICAgSERDIHdvcmtpbmdEQyA9IENyZWF0ZUNvbXBhdGlibGVEQyhkYyk7Ci0g
ICAgaWYgKCF3b3JraW5nREMpIHsKLSAgICAgICAgUmVsZWFzZURDKDAsIGRjKTsKKyAgICBpZiAo
IXdvcmtpbmdEQykKICAgICAgICAgcmV0dXJuIDA7Ci0gICAgfQogCiAgICAgUGxhdGZvcm1HcmFw
aGljc0NvbnRleHQqIGNvbnRleHRSZWY7CiAgICAgaW1hZ2UgPSBhbGxvY0ltYWdlKHdvcmtpbmdE
QywgaW1hZ2VTaXplLCAmY29udGV4dFJlZik7CiAgICAgaWYgKCFpbWFnZSkgewogICAgICAgICBE
ZWxldGVEQyh3b3JraW5nREMpOwotICAgICAgICBSZWxlYXNlREMoMCwgZGMpOwogICAgICAgICBy
ZXR1cm4gMDsKICAgICB9CiAgICAgICAgIApAQCAtMjI1LDcgKzIyMyw2IEBAIERyYWdJbWFnZVJl
ZiBjcmVhdGVEcmFnSW1hZ2VGb3JMaW5rKEtVUkwmIHVybCwgY29uc3QgU3RyaW5nJiBpbkxhYmVs
LCBGcmFtZSogZnJhCiAKICAgICBkZWFsbG9jQ29udGV4dChjb250ZXh0UmVmKTsKICAgICBEZWxl
dGVEQyh3b3JraW5nREMpOwotICAgIFJlbGVhc2VEQygwLCBkYyk7CiAgICAgcmV0dXJuIGltYWdl
OwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vUGFzdGVib2Fy
ZFdpbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vUGFzdGVib2FyZFdpbi5jcHAK
aW5kZXggZDc2OGEzZDUzZmJjNzZmNzQ3OTg1ODJiMzJmZjU3ZmQ4NGMwZjIzMi4uODg3ZmM5MTJj
MDAyZDUzMzdmMzVhNjY1MzUyNjQxZTI4OGQxMGI5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vd2luL1Bhc3RlYm9hcmRXaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL3dpbi9QYXN0ZWJvYXJkV2luLmNwcApAQCAtMzIsNiArMzIsNyBAQAogI2luY2x1ZGUg
IkRvY3VtZW50RnJhZ21lbnQuaCIKICNpbmNsdWRlICJFbGVtZW50LmgiCiAjaW5jbHVkZSAiRnJh
bWUuaCIKKyNpbmNsdWRlICJIV25kREMuaCIKICNpbmNsdWRlICJIaXRUZXN0UmVzdWx0LmgiCiAj
aW5jbHVkZSAiSW1hZ2UuaCIKICNpbmNsdWRlICJLVVJMLmgiCkBAIC0yMjMsNyArMjI0LDcgQEAg
dm9pZCBQYXN0ZWJvYXJkOjp3cml0ZUltYWdlKE5vZGUqIG5vZGUsIGNvbnN0IEtVUkwmLCBjb25z
dCBTdHJpbmcmKQogCiAgICAgY2xlYXIoKTsKIAotICAgIEhEQyBkYyA9IEdldERDKDApOworICAg
IEhXbmREQyBkYygwKTsKICAgICBIREMgY29tcGF0aWJsZURDID0gQ3JlYXRlQ29tcGF0aWJsZURD
KDApOwogICAgIEhEQyBzb3VyY2VEQyA9IENyZWF0ZUNvbXBhdGlibGVEQygwKTsKICAgICBPd25Q
dHI8SEJJVE1BUD4gcmVzdWx0Qml0bWFwID0gYWRvcHRQdHIoQ3JlYXRlQ29tcGF0aWJsZUJpdG1h
cChkYywgaW1hZ2UtPndpZHRoKCksIGltYWdlLT5oZWlnaHQoKSkpOwpAQCAtMjQzLDcgKzI0NCw2
IEBAIHZvaWQgUGFzdGVib2FyZDo6d3JpdGVJbWFnZShOb2RlKiBub2RlLCBjb25zdCBLVVJMJiwg
Y29uc3QgU3RyaW5nJikKICAgICBTZWxlY3RPYmplY3QoY29tcGF0aWJsZURDLCBvbGRCaXRtYXAp
OwogICAgIERlbGV0ZURDKHNvdXJjZURDKTsKICAgICBEZWxldGVEQyhjb21wYXRpYmxlREMpOwot
ICAgIFJlbGVhc2VEQygwLCBkYyk7CiAKICAgICBpZiAoOjpPcGVuQ2xpcGJvYXJkKG1fb3duZXIp
KSB7CiAgICAgICAgIDo6U2V0Q2xpcGJvYXJkRGF0YShDRl9CSVRNQVAsIHJlc3VsdEJpdG1hcC5s
ZWFrUHRyKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vV2ViSWNvbkRhdGFiYXNl
LmNwcCBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYkljb25EYXRhYmFzZS5jcHAKaW5kZXggZDgxN2Y2
OTc1ZjZhZTU2ZmVmZmE3NWRlM2UzODIyMzVkMTNmMDUzMy4uZjQyOGJmYzc2OTYwYTM2NmE4NTc2
OTBjM2FlNmNiYzI4ZjY4MDczMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vV2ViSWNv
bkRhdGFiYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJJY29uRGF0YWJhc2UuY3Bw
CkBAIC0zNCw2ICszNCw3IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9CU3RyaW5nLmg+CiAjaW5jbHVk
ZSA8V2ViQ29yZS9DT01QdHIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0ZpbGVTeXN0ZW0uaD4KKyNp
bmNsdWRlIDxXZWJDb3JlL0hXbmREQy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvSWNvbkRhdGFiYXNl
Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9JbWFnZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUGxhdGZv
cm1TdHJpbmcuaD4KQEAgLTI4NCwxMSArMjg1LDggQEAgSEJJVE1BUCBjcmVhdGVESUIoTFBTSVpF
IHNpemUpCiB7CiAgICAgQml0bWFwSW5mbyBibUluZm8gPSBCaXRtYXBJbmZvOjpjcmVhdGUoSW50
U2l6ZSgqc2l6ZSkpOwogCi0gICAgSERDIGRjID0gR2V0REMoMCk7Ci0gICAgSEJJVE1BUCByZXN1
bHQgPSBDcmVhdGVESUJTZWN0aW9uKGRjLCAmYm1JbmZvLCBESUJfUkdCX0NPTE9SUywgMCwgMCwg
MCk7Ci0gICAgUmVsZWFzZURDKDAsIGRjKTsKLQotICAgIHJldHVybiByZXN1bHQ7CisgICAgSFdu
ZERDIGRjKDApOworICAgIHJldHVybiBDcmVhdGVESUJTZWN0aW9uKGRjLCAmYm1JbmZvLCBESUJf
UkdCX0NPTE9SUywgMCwgMCwgMCk7CiB9CiAKIEhCSVRNQVAgV2ViSWNvbkRhdGFiYXNlOjpnZXRP
ckNyZWF0ZVNoYXJlZEJpdG1hcChMUFNJWkUgc2l6ZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy93aW4vV2ViVmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
d2luL1dlYlZpZXcuY3BwCmluZGV4IGU5YTNkMDRiMDg5Y2RjNGZkMTQwNDJjYTY3YzA4NDU2ODM4
N2M3ZmIuLjIxOWVmNzAyYmZjNjQ4NzFhYTIyMTZjYWQ1ODI2OTFkMTFjMDQwMDYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy93aW4vV2ViVmlldy5jcHAKKysrIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL3dpbi9XZWJWaWV3LmNwcApAQCAtNDUsNiArNDUsNyBAQAogI2lu
Y2x1ZGUgPFdlYkNvcmUvRHJhZ1Nlc3Npb24uaD4KICNpbmNsdWRlIDxXZWJDb3JlL0VkaXRvci5o
PgogI2luY2x1ZGUgPFdlYkNvcmUvRmxvYXRSZWN0Lmg+CisjaW5jbHVkZSA8V2ViQ29yZS9IV25k
REMuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0ludFJlY3QuaD4KICNpbmNsdWRlIDxXZWJDb3JlL05v
dEltcGxlbWVudGVkLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZWdpb24uaD4KQEAgLTk1OCw5ICs5
NTksOCBAQCB2b2lkIFdlYlZpZXc6OnNjcm9sbFZpZXcoY29uc3QgSW50UmVjdCYgc2Nyb2xsUmVj
dCwgY29uc3QgSW50U2l6ZSYgc2Nyb2xsT2Zmc2V0KQogdm9pZCBXZWJWaWV3OjpmbGFzaEJhY2tp
bmdTdG9yZVVwZGF0ZXMoY29uc3QgVmVjdG9yPEludFJlY3Q+JiB1cGRhdGVSZWN0cykKIHsKICAg
ICBzdGF0aWMgSEJSVVNIIGJydXNoID0gY3JlYXRlQnJ1c2goV2ViUGFnZVByb3h5OjpiYWNraW5n
U3RvcmVVcGRhdGVzRmxhc2hDb2xvcigpLnJnYigpKS5sZWFrUHRyKCk7Ci0gICAgSERDIGRjID0g
OjpHZXREQyhtX3dpbmRvdyk7CisgICAgSFduZERDIGRjKG1fd2luZG93KTsKICAgICBmbGFzaFJl
Y3RzKGRjLCB1cGRhdGVSZWN0cy5kYXRhKCksIHVwZGF0ZVJlY3RzLnNpemUoKSwgYnJ1c2gpOwot
ICAgIDo6UmVsZWFzZURDKG1fd2luZG93LCBkYyk7CiB9CiAKIFdlYkNvcmU6OkludFNpemUgV2Vi
Vmlldzo6dmlld1NpemUoKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>