<?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>46451</bug_id>
          
          <creation_ts>2010-09-23 23:38:16 -0700</creation_ts>
          <short_desc>Rename calcWidth and calcHeight to imply directional abstraction</short_desc>
          <delta_ts>2010-09-23 23:45:41 -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>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>46123</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Dave Hyatt">hyatt</reporter>
          <assigned_to name="Dave Hyatt">hyatt</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>284257</commentid>
    <comment_count>0</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2010-09-23 23:38:16 -0700</bug_when>
    <thetext>Rename calcWidth and calcHeight to imply directional abstraction.  The new names are computeLogicalWidth and computeLogicalHeight.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>284258</commentid>
    <comment_count>1</comment_count>
      <attachid>68655</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2010-09-23 23:39:51 -0700</bug_when>
    <thetext>Created attachment 68655
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>284259</commentid>
    <comment_count>2</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2010-09-23 23:45:41 -0700</bug_when>
    <thetext>Fixed in r68238.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>68655</attachid>
            <date>2010-09-23 23:39:51 -0700</date>
            <delta_ts>2010-09-23 23:43:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>31754</size>
            <attacher name="Dave Hyatt">hyatt</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2ODIzNykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsODUgQEAKKzIwMTAtMDktMjMgIERhdmlkIEh5YXR0ICA8aHlhdHRAYXBwbGUuY29t
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NjQ1MQorICAgICAgICAKKyAgICAg
ICAgUmVuYW1lIGNhbGNXaWR0aCB0byBjb21wdXRlTG9naWNhbFdpZHRoLiAgUmVuYW1lIGNhbGNI
ZWlnaHQgdG8gY29tcHV0ZUxvZ2ljYWxIZWlnaHQuCisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVu
ZGVyQXBwbGV0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckFwcGxldDo6bGF5b3V0KToK
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyQmxvY2s6OmxheW91dEJsb2NrKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2Nr
OjppbnNlcnRGbG9hdGluZ09iamVjdCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6
Z2V0Q2xlYXJEZWx0YSk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrTGluZUxheW91
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6Y29tcHV0ZUlubGluZURpcmVj
dGlvblBvc2l0aW9uc0ZvckxpbmUpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCb3guY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94Ojpjb21wdXRlTG9naWNhbFdpZHRoKToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6Y29tcHV0ZUxvZ2ljYWxIZWlnaHQpOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyQm94OjpjYWxjUGVyY2VudGFnZUhlaWdodCk6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJCb3g6OmNhbGNSZXBsYWNlZEhlaWdodFVzaW5nKToKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlckJveDo6YXZhaWxhYmxlSGVpZ2h0VXNpbmcpOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyQm94OjpjYWxjQWJzb2x1dGVIb3Jpem9udGFsKToKKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVyQm94Lmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3g6OnRyeUxheW91dERv
aW5nUG9zaXRpb25lZE1vdmVtZW50T25seSk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckVt
YmVkZGVkT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVtYmVkZGVkT2JqZWN0
OjpsYXlvdXQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJGbGV4aWJsZUJveDo6bGF5b3V0QmxvY2spOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyRmxleGlibGVCb3g6OmxheW91dEhvcml6b250YWxCb3gpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyRmxleGlibGVCb3g6OmxheW91dFZlcnRpY2FsQm94KToKKyAg
ICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRm9yZWlnbk9iamVjdC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJGb3JlaWduT2JqZWN0Ojpjb21wdXRlTG9naWNhbFdpZHRoKToKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlckZvcmVpZ25PYmplY3Q6OmNvbXB1dGVMb2dpY2FsSGVpZ2h0KToKKyAg
ICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRm9yZWlnbk9iamVjdC5oOgorICAgICAgICAqIHJlbmRl
cmluZy9SZW5kZXJIVE1MQ2FudmFzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckhUTUxD
YW52YXM6OmNhbnZhc1NpemVDaGFuZ2VkKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVySUZy
YW1lLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlcklGcmFtZTo6Y29tcHV0ZUxvZ2ljYWxI
ZWlnaHQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVySUZyYW1lOjpjb21wdXRlTG9naWNhbFdp
ZHRoKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlcklGcmFtZTo6bGF5b3V0KToKKyAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVySUZyYW1lLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlcklt
YWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckltYWdlOjppbWFnZUNoYW5nZWQpOgor
ICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJJbmRpY2F0b3IuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVySW5kaWNhdG9yOjpsYXlvdXQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJM
aXN0Qm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxpc3RCb3g6OmNvbXB1dGVMb2dp
Y2FsSGVpZ2h0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGlzdEJveC5oOgorICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJNZXRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJN
ZXRlcjo6Y29tcHV0ZUxvZ2ljYWxXaWR0aCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJNZXRl
cjo6Y29tcHV0ZUxvZ2ljYWxIZWlnaHQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJNZXRl
ci5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJSZXBsYWNlZDo6bGF5b3V0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVu
ZGVyU1ZHUm9vdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdSb290OjpsYXlvdXQp
OgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJTbGlkZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyU2xpZGVyOjpsYXlvdXQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUYWJs
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUYWJsZTo6Y29tcHV0ZUxvZ2ljYWxXaWR0
aCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUYWJsZTo6bGF5b3V0KToKKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyVGFibGUuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGFibGVD
ZWxsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRhYmxlQ2VsbDo6Y29tcHV0ZUxvZ2lj
YWxXaWR0aCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRhYmxlQ2VsbC5oOgorICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJUZXh0Q29udHJvbDo6Y29tcHV0ZUxvZ2ljYWxIZWlnaHQpOgorICAgICAgICAqIHJlbmRl
cmluZy9SZW5kZXJUZXh0Q29udHJvbC5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUZXh0
Q29udHJvbFNpbmdsZUxpbmUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGV4dENvbnRy
b2xTaW5nbGVMaW5lOjpsYXlvdXQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGV4dENvbnRy
b2xTaW5nbGVMaW5lOjp0ZXh0QmxvY2tXaWR0aCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJU
ZXh0Q29udHJvbFNpbmdsZUxpbmU6OmRlY29yYXRpb25XaWR0aFJpZ2h0KToKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlclRleHRDb250cm9sU2luZ2xlTGluZTo6cHJlZmVycmVkRGVjb3JhdGlvbldp
ZHRoUmlnaHQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5l
OjphZGp1c3RDb250cm9sSGVpZ2h0QmFzZWRPbkxpbmVIZWlnaHQpOgorICAgICAgICAqIHJlbmRl
cmluZy9SZW5kZXJWaWV3LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclZpZXc6OmNvbXB1
dGVMb2dpY2FsSGVpZ2h0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclZpZXc6OmNvbXB1dGVM
b2dpY2FsV2lkdGgpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJWaWV3Lmg6CisgICAgICAg
ICogc3ZnL1NWR1NWR0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHU1ZHRWxlbWVu
dDo6c3ZnQXR0cmlidXRlQ2hhbmdlZCk6CisKIDIwMTAtMDktMjMgIEhhbnMgV2VubmJvcmcgIDxo
YW5zQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBGcmFzZXIuCklu
ZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJBcHBsZXQuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckFwcGxldC5jcHAJKHJldmlzaW9uIDY4MTc0KQorKysgV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQXBwbGV0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzksOCAr
NzksOCBAQCB2b2lkIFJlbmRlckFwcGxldDo6bGF5b3V0KCkKIHsKICAgICBBU1NFUlQobmVlZHNM
YXlvdXQoKSk7CiAKLSAgICBjYWxjV2lkdGgoKTsKLSAgICBjYWxjSGVpZ2h0KCk7CisgICAgY29t
cHV0ZUxvZ2ljYWxXaWR0aCgpOworICAgIGNvbXB1dGVMb2dpY2FsSGVpZ2h0KCk7CiAKICAgICAv
LyBUaGUgYXBwbGV0J3Mgd2lkZ2V0IGdldHMgY3JlYXRlZCBsYXppbHkgdXBvbiBmaXJzdCBsYXlv
dXQuCiAgICAgY3JlYXRlV2lkZ2V0SWZOZWNlc3NhcnkoKTsKSW5kZXg6IFdlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckJsb2NrLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJCbG9jay5jcHAJKHJldmlzaW9uIDY4MTc3KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
QmxvY2suY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTIzLDcgKzExMjMsNyBAQCB2b2lkIFJlbmRl
ckJsb2NrOjpsYXlvdXRCbG9jayhib29sIHJlbGF5CiAgICAgaW50IG9sZFdpZHRoID0gd2lkdGgo
KTsKICAgICBpbnQgb2xkQ29sdW1uV2lkdGggPSBkZXNpcmVkQ29sdW1uV2lkdGgoKTsKIAotICAg
IGNhbGNXaWR0aCgpOworICAgIGNvbXB1dGVMb2dpY2FsV2lkdGgoKTsKICAgICBjYWxjQ29sdW1u
V2lkdGgoKTsKIAogICAgIG1fb3ZlcmZsb3cuY2xlYXIoKTsKQEAgLTExNDEsNyArMTE0MSw3IEBA
IHZvaWQgUmVuZGVyQmxvY2s6OmxheW91dEJsb2NrKGJvb2wgcmVsYXkKICAgICAgICAgaWYgKCFw
YWdlSGVpZ2h0KSB7CiAgICAgICAgICAgICAvLyBXZSBuZWVkIHRvIGdvIGFoZWFkIGFuZCBzZXQg
b3VyIGV4cGxpY2l0IHBhZ2UgaGVpZ2h0IGlmIG9uZSBleGlzdHMsIHNvIHRoYXQgd2UgY2FuCiAg
ICAgICAgICAgICAvLyBhdm9pZCBkb2luZyB0d28gbGF5b3V0IHBhc3Nlcy4KLSAgICAgICAgICAg
IGNhbGNIZWlnaHQoKTsKKyAgICAgICAgICAgIGNvbXB1dGVMb2dpY2FsSGVpZ2h0KCk7CiAgICAg
ICAgICAgICBpbnQgY29sdW1uSGVpZ2h0ID0gY29udGVudEhlaWdodCgpOwogICAgICAgICAgICAg
aWYgKGNvbHVtbkhlaWdodCA+IDApIHsKICAgICAgICAgICAgICAgICBwYWdlSGVpZ2h0ID0gY29s
dW1uSGVpZ2h0OwpAQCAtMTIxNSw3ICsxMjE1LDcgQEAgdm9pZCBSZW5kZXJCbG9jazo6bGF5b3V0
QmxvY2soYm9vbCByZWxheQogIAogICAgIC8vIENhbGN1bGF0ZSBvdXIgbmV3IGhlaWdodC4KICAg
ICBpbnQgb2xkSGVpZ2h0ID0gaGVpZ2h0KCk7Ci0gICAgY2FsY0hlaWdodCgpOworICAgIGNvbXB1
dGVMb2dpY2FsSGVpZ2h0KCk7CiAgICAgaWYgKG9sZEhlaWdodCAhPSBoZWlnaHQoKSkgewogICAg
ICAgICBpZiAob2xkSGVpZ2h0ID4gaGVpZ2h0KCkgJiYgbWF4RmxvYXRCb3R0b20gPiBoZWlnaHQo
KSAmJiAhY2hpbGRyZW5JbmxpbmUoKSkgewogICAgICAgICAgICAgLy8gT25lIG9mIG91ciBjaGls
ZHJlbidzIGZsb2F0cyBtYXkgaGF2ZSBiZWNvbWUgYW4gb3ZlcmhhbmdpbmcgZmxvYXQgZm9yIHVz
LiBXZSBuZWVkIHRvIGxvb2sgZm9yIGl0LgpAQCAtMjkyNCw3ICsyOTI0LDcgQEAgUmVuZGVyQmxv
Y2s6OkZsb2F0aW5nT2JqZWN0KiBSZW5kZXJCbG9jawogICAgIGlmICghYWZmZWN0ZWRCeVBhZ2lu
YXRpb24pCiAgICAgICAgIG8tPmxheW91dElmTmVlZGVkKCk7CiAgICAgZWxzZSB7Ci0gICAgICAg
IG8tPmNhbGNXaWR0aCgpOworICAgICAgICBvLT5jb21wdXRlTG9naWNhbFdpZHRoKCk7CiAgICAg
ICAgIG8tPmNhbGNWZXJ0aWNhbE1hcmdpbnMoKTsKICAgICB9CiAgICAgbmV3T2JqLT5tX3dpZHRo
ID0gby0+d2lkdGgoKSArIG8tPm1hcmdpbkxlZnQoKSArIG8tPm1hcmdpblJpZ2h0KCk7CkBAIC0z
OTQ1LDcgKzM5NDUsNyBAQCBpbnQgUmVuZGVyQmxvY2s6OmdldENsZWFyRGVsdGEoUmVuZGVyQm94
CiAgICAgICAgICAgICBpbnQgb2xkQ2hpbGRZID0gY2hpbGQtPnkoKTsKICAgICAgICAgICAgIGlu
dCBvbGRDaGlsZFdpZHRoID0gY2hpbGQtPndpZHRoKCk7CiAgICAgICAgICAgICBjaGlsZC0+c2V0
WSh5KTsKLSAgICAgICAgICAgIGNoaWxkLT5jYWxjV2lkdGgoKTsKKyAgICAgICAgICAgIGNoaWxk
LT5jb21wdXRlTG9naWNhbFdpZHRoKCk7CiAgICAgICAgICAgICBpbnQgY2hpbGRXaWR0aEF0WSA9
IGNoaWxkLT53aWR0aCgpOwogICAgICAgICAgICAgY2hpbGQtPnNldFkob2xkQ2hpbGRZKTsKICAg
ICAgICAgICAgIGNoaWxkLT5zZXRXaWR0aChvbGRDaGlsZFdpZHRoKTsKSW5kZXg6IFdlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckJsb2NrTGluZUxheW91dC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tMaW5lTGF5b3V0LmNwcAkocmV2aXNpb24gNjgyMDYpCisr
KyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0xpbmVMYXlvdXQuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0zNzIsNyArMzcyLDcgQEAgdm9pZCBSZW5kZXJCbG9jazo6Y29tcHV0ZUlubGluZURp
cmVjdGlvbgogICAgICAgICAgICAgfQogICAgICAgICB9IGVsc2UgaWYgKCFyLT5tX29iamVjdC0+
aXNSZW5kZXJJbmxpbmUoKSkgewogICAgICAgICAgICAgUmVuZGVyQm94KiByZW5kZXJCb3ggPSB0
b1JlbmRlckJveChyLT5tX29iamVjdCk7Ci0gICAgICAgICAgICByZW5kZXJCb3gtPmNhbGNXaWR0
aCgpOworICAgICAgICAgICAgcmVuZGVyQm94LT5jb21wdXRlTG9naWNhbFdpZHRoKCk7CiAgICAg
ICAgICAgICByLT5tX2JveC0+c2V0TG9naWNhbFdpZHRoKHJlbmRlckJveC0+d2lkdGgoKSk7CiAg
ICAgICAgICAgICB0b3RXaWR0aCArPSByZW5kZXJCb3gtPm1hcmdpbkxlZnQoKSArIHJlbmRlckJv
eC0+bWFyZ2luUmlnaHQoKTsKICAgICAgICAgfQpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyQm94LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3Bw
CShyZXZpc2lvbiA2ODIwMCkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTEzNDcsNyArMTM0Nyw3IEBAIHZvaWQgUmVuZGVyQm94OjpyZXBhaW50
RHVyaW5nTGF5b3V0SWZNb3YKICAgICB9CiB9CiAKLXZvaWQgUmVuZGVyQm94OjpjYWxjV2lkdGgo
KQordm9pZCBSZW5kZXJCb3g6OmNvbXB1dGVMb2dpY2FsV2lkdGgoKQogewogICAgIGlmIChpc1Bv
c2l0aW9uZWQoKSkgewogICAgICAgICBjYWxjQWJzb2x1dGVIb3Jpem9udGFsKCk7CkBAIC0xNTI3
LDcgKzE1MjcsNyBAQCB2b2lkIFJlbmRlckJveDo6Y2FsY0hvcml6b250YWxNYXJnaW5zKGNvCiAg
ICAgfQogfQogCi12b2lkIFJlbmRlckJveDo6Y2FsY0hlaWdodCgpCit2b2lkIFJlbmRlckJveDo6
Y29tcHV0ZUxvZ2ljYWxIZWlnaHQoKQogewogICAgIC8vIENlbGwgaGVpZ2h0IGlzIG1hbmFnZWQg
YnkgdGhlIHRhYmxlIGFuZCBpbmxpbmUgbm9uLXJlcGxhY2VkIGVsZW1lbnRzIGRvIG5vdCBzdXBw
b3J0IGEgaGVpZ2h0IHByb3BlcnR5LgogICAgIGlmIChpc1RhYmxlQ2VsbCgpIHx8IChpc0lubGlu
ZSgpICYmICFpc1JlcGxhY2VkKCkpKQpAQCAtMTY4MSw3ICsxNjgxLDcgQEAgaW50IFJlbmRlckJv
eDo6Y2FsY1BlcmNlbnRhZ2VIZWlnaHQoY29ucwogICAgICAgICAvLyBEb24ndCBhbGxvdyB0aGlz
IHRvIGFmZmVjdCB0aGUgYmxvY2snIGhlaWdodCgpIG1lbWJlciB2YXJpYWJsZSwgc2luY2UgdGhp
cwogICAgICAgICAvLyBjYW4gZ2V0IGNhbGxlZCB3aGlsZSB0aGUgYmxvY2sgaXMgc3RpbGwgbGF5
aW5nIG91dCBpdHMga2lkcy4KICAgICAgICAgaW50IG9sZEhlaWdodCA9IGNiLT5oZWlnaHQoKTsK
LSAgICAgICAgY2ItPmNhbGNIZWlnaHQoKTsKKyAgICAgICAgY2ItPmNvbXB1dGVMb2dpY2FsSGVp
Z2h0KCk7CiAgICAgICAgIHJlc3VsdCA9IGNiLT5jb250ZW50SGVpZ2h0KCk7CiAgICAgICAgIGNi
LT5zZXRIZWlnaHQob2xkSGVpZ2h0KTsKICAgICB9IGVsc2UgaWYgKGNiLT5pc1Jvb3QoKSAmJiBp
c1Bvc2l0aW9uZWQoKSkKQEAgLTE3NTMsNyArMTc1Myw3IEBAIGludCBSZW5kZXJCb3g6OmNhbGNS
ZXBsYWNlZEhlaWdodFVzaW5nKEwKICAgICAgICAgICAgICAgICBBU1NFUlQoY2ItPmlzUmVuZGVy
QmxvY2soKSk7CiAgICAgICAgICAgICAgICAgUmVuZGVyQmxvY2sqIGJsb2NrID0gdG9SZW5kZXJC
bG9jayhjYik7CiAgICAgICAgICAgICAgICAgaW50IG9sZEhlaWdodCA9IGJsb2NrLT5oZWlnaHQo
KTsKLSAgICAgICAgICAgICAgICBibG9jay0+Y2FsY0hlaWdodCgpOworICAgICAgICAgICAgICAg
IGJsb2NrLT5jb21wdXRlTG9naWNhbEhlaWdodCgpOwogICAgICAgICAgICAgICAgIGludCBuZXdI
ZWlnaHQgPSBibG9jay0+Y2FsY0NvbnRlbnRCb3hIZWlnaHQoYmxvY2stPmNvbnRlbnRIZWlnaHQo
KSk7CiAgICAgICAgICAgICAgICAgYmxvY2stPnNldEhlaWdodChvbGRIZWlnaHQpOwogICAgICAg
ICAgICAgICAgIHJldHVybiBjYWxjQ29udGVudEJveEhlaWdodChoZWlnaHQuY2FsY1ZhbHVlKG5l
d0hlaWdodCkpOwpAQCAtMTgwMyw3ICsxODAzLDcgQEAgaW50IFJlbmRlckJveDo6YXZhaWxhYmxl
SGVpZ2h0VXNpbmcoY29ucwogICAgIGlmIChpc1JlbmRlckJsb2NrKCkgJiYgaXNQb3NpdGlvbmVk
KCkgJiYgc3R5bGUoKS0+aGVpZ2h0KCkuaXNBdXRvKCkgJiYgIShzdHlsZSgpLT50b3AoKS5pc0F1
dG8oKSB8fCBzdHlsZSgpLT5ib3R0b20oKS5pc0F1dG8oKSkpIHsKICAgICAgICAgUmVuZGVyQmxv
Y2sqIGJsb2NrID0gY29uc3RfY2FzdDxSZW5kZXJCbG9jayo+KHRvUmVuZGVyQmxvY2sodGhpcykp
OwogICAgICAgICBpbnQgb2xkSGVpZ2h0ID0gYmxvY2stPmhlaWdodCgpOwotICAgICAgICBibG9j
ay0+Y2FsY0hlaWdodCgpOworICAgICAgICBibG9jay0+Y29tcHV0ZUxvZ2ljYWxIZWlnaHQoKTsK
ICAgICAgICAgaW50IG5ld0hlaWdodCA9IGJsb2NrLT5jYWxjQ29udGVudEJveEhlaWdodChibG9j
ay0+Y29udGVudEhlaWdodCgpKTsKICAgICAgICAgYmxvY2stPnNldEhlaWdodChvbGRIZWlnaHQp
OwogICAgICAgICByZXR1cm4gY2FsY0NvbnRlbnRCb3hIZWlnaHQobmV3SGVpZ2h0KTsKQEAgLTE4
OTAsNyArMTg5MCw3IEBAIHZvaWQgUmVuZGVyQm94OjpjYWxjQWJzb2x1dGVIb3Jpem9udGFsKCkK
ICAgICAvLyB3YXMgcHJldmlvdXNseSBkb25lIGluIGNhbGN1bGF0aW5nIHRoZSBzdGF0aWMgZGlz
dGFuY2VzLCBvciBvdXJzZWxmLCB3aGljaAogICAgIC8vIHdhcyBhbHNvIHByZXZpb3VzbHkgZG9u
ZSBmb3IgZGVjaWRpbmcgd2hhdCB0byBvdmVycmlkZSB3aGVuIHlvdSBoYWQKICAgICAvLyBvdmVy
LWNvbnN0cmFpbmVkIG1hcmdpbnM/ICBBbHNvIG5vdGUgdGhhdCB0aGUgY29udGFpbmVyIGJsb2Nr
IGlzIHVzZWQKLSAgICAvLyBpbiBzaW1pbGFyIHNpdHVhdGlvbnMgaW4gb3RoZXIgcGFydHMgb2Yg
dGhlIFJlbmRlckJveCBjbGFzcyAoc2VlIGNhbGNXaWR0aCgpCisgICAgLy8gaW4gc2ltaWxhciBz
aXR1YXRpb25zIGluIG90aGVyIHBhcnRzIG9mIHRoZSBSZW5kZXJCb3ggY2xhc3MgKHNlZSBjb21w
dXRlTG9naWNhbFdpZHRoKCkKICAgICAvLyBhbmQgY2FsY0hvcml6b250YWxNYXJnaW5zKCkpLiBG
b3Igbm93IHdlIGFyZSB1c2luZyB0aGUgcGFyZW50IGZvciBxdWlya3MKICAgICAvLyBtb2RlIGFu
ZCB0aGUgY29udGFpbmluZyBibG9jayBmb3Igc3RyaWN0IG1vZGUuCiAKSW5kZXg6IFdlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckJveC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckJveC5oCShyZXZpc2lvbiA2ODE3NCkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJv
eC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMjEsOCArMjIxLDggQEAgcHVibGljOgogCiAgICAgdmly
dHVhbCBpbnQgY29udGFpbmluZ0Jsb2NrV2lkdGhGb3JDb250ZW50KCkgY29uc3Q7CiAKLSAgICB2
aXJ0dWFsIHZvaWQgY2FsY1dpZHRoKCk7Ci0gICAgdmlydHVhbCB2b2lkIGNhbGNIZWlnaHQoKTsK
KyAgICB2aXJ0dWFsIHZvaWQgY29tcHV0ZUxvZ2ljYWxXaWR0aCgpOworICAgIHZpcnR1YWwgdm9p
ZCBjb21wdXRlTG9naWNhbEhlaWdodCgpOwogCiAgICAgYm9vbCBzdHJldGNoZXNUb1ZpZXdIZWln
aHQoKSBjb25zdAogICAgIHsKQEAgLTI4NywxMSArMjg3LDExIEBAIHB1YmxpYzoKICAgICB2b2lk
IHRyeUxheW91dERvaW5nUG9zaXRpb25lZE1vdmVtZW50T25seSgpCiAgICAgewogICAgICAgICBp
bnQgb2xkV2lkdGggPSB3aWR0aCgpOwotICAgICAgICBjYWxjV2lkdGgoKTsKKyAgICAgICAgY29t
cHV0ZUxvZ2ljYWxXaWR0aCgpOwogICAgICAgICAvLyBJZiB3ZSBzaHJpbmsgdG8gZml0IG91ciB3
aWR0aCBtYXkgaGF2ZSBjaGFuZ2VkLCBzbyB3ZSBzdGlsbCBuZWVkIGZ1bGwgbGF5b3V0LgogICAg
ICAgICBpZiAob2xkV2lkdGggIT0gd2lkdGgoKSkKICAgICAgICAgICAgIHJldHVybjsKLSAgICAg
ICAgY2FsY0hlaWdodCgpOworICAgICAgICBjb21wdXRlTG9naWNhbEhlaWdodCgpOwogICAgICAg
ICBzZXROZWVkc0xheW91dChmYWxzZSk7CiAgICAgfQogCkluZGV4OiBXZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJFbWJlZGRlZE9iamVjdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyRW1iZWRkZWRPYmplY3QuY3BwCShyZXZpc2lvbiA2ODE3NCkKKysrIFdlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckVtYmVkZGVkT2JqZWN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjE1
LDggKzIxNSw4IEBAIHZvaWQgUmVuZGVyRW1iZWRkZWRPYmplY3Q6OmxheW91dCgpCiB7CiAgICAg
QVNTRVJUKG5lZWRzTGF5b3V0KCkpOwogCi0gICAgY2FsY1dpZHRoKCk7Ci0gICAgY2FsY0hlaWdo
dCgpOworICAgIGNvbXB1dGVMb2dpY2FsV2lkdGgoKTsKKyAgICBjb21wdXRlTG9naWNhbEhlaWdo
dCgpOwogCiAgICAgUmVuZGVyUGFydDo6bGF5b3V0KCk7CiAKSW5kZXg6IFdlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckZsZXhpYmxlQm94LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJGbGV4aWJsZUJveC5jcHAJKHJldmlzaW9uIDY4MTc3KQorKysgV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyRmxleGlibGVCb3guY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMTQsOCArMjE0
LDggQEAgdm9pZCBSZW5kZXJGbGV4aWJsZUJveDo6bGF5b3V0QmxvY2soYm9vbAogICAgIGludCBw
cmV2aW91c1dpZHRoID0gd2lkdGgoKTsKICAgICBpbnQgcHJldmlvdXNIZWlnaHQgPSBoZWlnaHQo
KTsKICAgICAKLSAgICBjYWxjV2lkdGgoKTsKLSAgICBjYWxjSGVpZ2h0KCk7CisgICAgY29tcHV0
ZUxvZ2ljYWxXaWR0aCgpOworICAgIGNvbXB1dGVMb2dpY2FsSGVpZ2h0KCk7CiAgICAgCiAgICAg
bV9vdmVyZmxvdy5jbGVhcigpOwogCkBAIC0yNDMsNyArMjQzLDcgQEAgdm9pZCBSZW5kZXJGbGV4
aWJsZUJveDo6bGF5b3V0QmxvY2soYm9vbAogICAgIGVsc2UKICAgICAgICAgbGF5b3V0VmVydGlj
YWxCb3gocmVsYXlvdXRDaGlsZHJlbik7CiAKLSAgICBjYWxjSGVpZ2h0KCk7CisgICAgY29tcHV0
ZUxvZ2ljYWxIZWlnaHQoKTsKIAogICAgIGlmIChwcmV2aW91c0hlaWdodCAhPSBoZWlnaHQoKSkK
ICAgICAgICAgcmVsYXlvdXRDaGlsZHJlbiA9IHRydWU7CkBAIC00MDQsNyArNDA0LDcgQEAgdm9p
ZCBSZW5kZXJGbGV4aWJsZUJveDo6bGF5b3V0SG9yaXpvbnRhbAogICAgICAgICBzZXRIZWlnaHQo
aGVpZ2h0KCkgKyB0b0FkZCk7CiAgICAgICAgIAogICAgICAgICBvbGRIZWlnaHQgPSBoZWlnaHQo
KTsKLSAgICAgICAgY2FsY0hlaWdodCgpOworICAgICAgICBjb21wdXRlTG9naWNhbEhlaWdodCgp
OwogCiAgICAgICAgIHJlbGF5b3V0Q2hpbGRyZW4gPSBmYWxzZTsKICAgICAgICAgaWYgKG9sZEhl
aWdodCAhPSBoZWlnaHQoKSkKQEAgLTQzNiw3ICs0MzYsNyBAQCB2b2lkIFJlbmRlckZsZXhpYmxl
Qm94OjpsYXlvdXRIb3Jpem9udGFsCiAgICAgICAgICAgICAvLyBmaWxsIHRoZSBoZWlnaHQgb2Yg
YSBjb250YWluaW5nIGJveCBieSBkZWZhdWx0LgogICAgICAgICAgICAgLy8gTm93IGRvIGEgbGF5
b3V0LgogICAgICAgICAgICAgaW50IG9sZENoaWxkSGVpZ2h0ID0gY2hpbGQtPmhlaWdodCgpOwot
ICAgICAgICAgICAgY2hpbGQtPmNhbGNIZWlnaHQoKTsKKyAgICAgICAgICAgIGNoaWxkLT5jb21w
dXRlTG9naWNhbEhlaWdodCgpOwogICAgICAgICAgICAgaWYgKG9sZENoaWxkSGVpZ2h0ICE9IGNo
aWxkLT5oZWlnaHQoKSkKICAgICAgICAgICAgICAgICBjaGlsZC0+c2V0Q2hpbGROZWVkc0xheW91
dCh0cnVlLCBmYWxzZSk7CiAgICAgICAgICAgICAgICAgCkBAIC03NjEsNyArNzYxLDcgQEAgdm9p
ZCBSZW5kZXJGbGV4aWJsZUJveDo6bGF5b3V0VmVydGljYWxCbwogCiAgICAgICAgIC8vIE5vdyB3
ZSBoYXZlIHRvIGNhbGMgb3VyIGhlaWdodCwgc28gd2Uga25vdyBob3cgbXVjaCBzcGFjZSB3ZSBo
YXZlIHJlbWFpbmluZy4KICAgICAgICAgb2xkSGVpZ2h0ID0gaGVpZ2h0KCk7Ci0gICAgICAgIGNh
bGNIZWlnaHQoKTsKKyAgICAgICAgY29tcHV0ZUxvZ2ljYWxIZWlnaHQoKTsKICAgICAgICAgaWYg
KG9sZEhlaWdodCAhPSBoZWlnaHQoKSkKICAgICAgICAgICAgIGhlaWdodFNwZWNpZmllZCA9IHRy
dWU7CiAKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZvcmVpZ25PYmplY3QuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZvcmVpZ25PYmplY3QuY3BwCShy
ZXZpc2lvbiA2ODE3NCkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZvcmVpZ25PYmplY3Qu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC04MiwxMyArODIsMTMgQEAgY29uc3QgQWZmaW5lVHJhbnNm
b3JtJiBSZW5kZXJGb3JlaWduT2JqZQogICAgIHJldHVybiBtX2xvY2FsVG9QYXJlbnRUcmFuc2Zv
cm07CiB9CiAKLXZvaWQgUmVuZGVyRm9yZWlnbk9iamVjdDo6Y2FsY1dpZHRoKCkKK3ZvaWQgUmVu
ZGVyRm9yZWlnbk9iamVjdDo6Y29tcHV0ZUxvZ2ljYWxXaWR0aCgpCiB7CiAgICAgLy8gRklYTUU6
IEludmVzdGlnYXRlIGluIHNpemUgcm91bmRpbmcgaXNzdWVzCiAgICAgc2V0V2lkdGgoc3RhdGlj
X2Nhc3Q8aW50Pihyb3VuZGYobV92aWV3cG9ydC53aWR0aCgpKSkpOwogfQogCi12b2lkIFJlbmRl
ckZvcmVpZ25PYmplY3Q6OmNhbGNIZWlnaHQoKQordm9pZCBSZW5kZXJGb3JlaWduT2JqZWN0Ojpj
b21wdXRlTG9naWNhbEhlaWdodCgpCiB7CiAgICAgLy8gRklYTUU6IEludmVzdGlnYXRlIGluIHNp
emUgcm91bmRpbmcgaXNzdWVzCiAgICAgc2V0SGVpZ2h0KHN0YXRpY19jYXN0PGludD4ocm91bmRm
KG1fdmlld3BvcnQuaGVpZ2h0KCkpKSk7CkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJG
b3JlaWduT2JqZWN0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRm9y
ZWlnbk9iamVjdC5oCShyZXZpc2lvbiA2ODE3NCkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckZvcmVpZ25PYmplY3QuaAkod29ya2luZyBjb3B5KQpAQCAtNTcsOCArNTcsOCBAQCBwdWJsaWM6
CiAgICAgdmlydHVhbCB2b2lkIHNldE5lZWRzVHJhbnNmb3JtVXBkYXRlKCkgeyBtX25lZWRzVHJh
bnNmb3JtVXBkYXRlID0gdHJ1ZTsgfQogCiAgcHJpdmF0ZToKLSAgICB2aXJ0dWFsIHZvaWQgY2Fs
Y1dpZHRoKCk7Ci0gICAgdmlydHVhbCB2b2lkIGNhbGNIZWlnaHQoKTsKKyAgICB2aXJ0dWFsIHZv
aWQgY29tcHV0ZUxvZ2ljYWxXaWR0aCgpOworICAgIHZpcnR1YWwgdm9pZCBjb21wdXRlTG9naWNh
bEhlaWdodCgpOwogCiAgICAgdmlydHVhbCBjb25zdCBBZmZpbmVUcmFuc2Zvcm0mIGxvY2FsVG9Q
YXJlbnRUcmFuc2Zvcm0oKSBjb25zdDsKICAgICB2aXJ0dWFsIEFmZmluZVRyYW5zZm9ybSBsb2Nh
bFRyYW5zZm9ybSgpIGNvbnN0IHsgcmV0dXJuIG1fbG9jYWxUcmFuc2Zvcm07IH0KSW5kZXg6IFdl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckhUTUxDYW52YXMuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckhUTUxDYW52YXMuY3BwCShyZXZpc2lvbiA2ODE3NCkKKysrIFdl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckhUTUxDYW52YXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03
Nyw4ICs3Nyw4IEBAIHZvaWQgUmVuZGVySFRNTENhbnZhczo6Y2FudmFzU2l6ZUNoYW5nZWQKICAg
ICAgICAgc2V0UHJlZldpZHRoc0RpcnR5KHRydWUpOwogCiAgICAgSW50U2l6ZSBvbGRTaXplID0g
c2l6ZSgpOwotICAgIGNhbGNXaWR0aCgpOwotICAgIGNhbGNIZWlnaHQoKTsKKyAgICBjb21wdXRl
TG9naWNhbFdpZHRoKCk7CisgICAgY29tcHV0ZUxvZ2ljYWxIZWlnaHQoKTsKICAgICBpZiAob2xk
U2l6ZSA9PSBzaXplKCkpCiAgICAgICAgIHJldHVybjsKIApJbmRleDogV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVySUZyYW1lLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJJRnJhbWUuY3BwCShyZXZpc2lvbiA2ODE3NCkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
cklGcmFtZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQxLDkgKzQxLDkgQEAgUmVuZGVySUZyYW1l
OjpSZW5kZXJJRnJhbWUoRWxlbWVudCogZWxlbQogewogfQogCi12b2lkIFJlbmRlcklGcmFtZTo6
Y2FsY0hlaWdodCgpCit2b2lkIFJlbmRlcklGcmFtZTo6Y29tcHV0ZUxvZ2ljYWxIZWlnaHQoKQog
ewotICAgIFJlbmRlclBhcnQ6OmNhbGNIZWlnaHQoKTsKKyAgICBSZW5kZXJQYXJ0Ojpjb21wdXRl
TG9naWNhbEhlaWdodCgpOwogICAgIGlmICghZmxhdHRlbkZyYW1lKCkpCiAgICAgICAgICByZXR1
cm47CiAKQEAgLTU5LDkgKzU5LDkgQEAgdm9pZCBSZW5kZXJJRnJhbWU6OmNhbGNIZWlnaHQoKQog
ICAgIH0KIH0KIAotdm9pZCBSZW5kZXJJRnJhbWU6OmNhbGNXaWR0aCgpCit2b2lkIFJlbmRlcklG
cmFtZTo6Y29tcHV0ZUxvZ2ljYWxXaWR0aCgpCiB7Ci0gICAgUmVuZGVyUGFydDo6Y2FsY1dpZHRo
KCk7CisgICAgUmVuZGVyUGFydDo6Y29tcHV0ZUxvZ2ljYWxXaWR0aCgpOwogICAgIGlmICghZmxh
dHRlbkZyYW1lKCkpCiAgICAgICAgIHJldHVybjsKIApAQCAtMTA3LDggKzEwNyw4IEBAIHZvaWQg
UmVuZGVySUZyYW1lOjpsYXlvdXQoKQogewogICAgIEFTU0VSVChuZWVkc0xheW91dCgpKTsKIAot
ICAgIFJlbmRlclBhcnQ6OmNhbGNXaWR0aCgpOwotICAgIFJlbmRlclBhcnQ6OmNhbGNIZWlnaHQo
KTsKKyAgICBSZW5kZXJQYXJ0Ojpjb21wdXRlTG9naWNhbFdpZHRoKCk7CisgICAgUmVuZGVyUGFy
dDo6Y29tcHV0ZUxvZ2ljYWxIZWlnaHQoKTsKIAogICAgIGlmIChmbGF0dGVuRnJhbWUoKSkgewog
ICAgICAgICBsYXlvdXRXaXRoRmxhdHRlbmluZyhzdHlsZSgpLT53aWR0aCgpLmlzRml4ZWQoKSwg
c3R5bGUoKS0+aGVpZ2h0KCkuaXNGaXhlZCgpKTsKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlcklGcmFtZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcklGcmFt
ZS5oCShyZXZpc2lvbiA2ODE3NCkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcklGcmFtZS5o
CSh3b3JraW5nIGNvcHkpCkBAIC0zOSw4ICszOSw4IEBAIHB1YmxpYzoKICNlbmRpZgogCiBwcml2
YXRlOgotICAgIHZpcnR1YWwgdm9pZCBjYWxjSGVpZ2h0KCk7Ci0gICAgdmlydHVhbCB2b2lkIGNh
bGNXaWR0aCgpOworICAgIHZpcnR1YWwgdm9pZCBjb21wdXRlTG9naWNhbEhlaWdodCgpOworICAg
IHZpcnR1YWwgdm9pZCBjb21wdXRlTG9naWNhbFdpZHRoKCk7CiAKICAgICB2aXJ0dWFsIHZvaWQg
bGF5b3V0KCk7CiAKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHAJKHJldmlzaW9uIDY4
MTc0KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0xNTMsOCArMTUzLDggQEAgdm9pZCBSZW5kZXJJbWFnZTo6aW1hZ2VDaGFuZ2VkKFdyYXBw
ZWRJbQogICAgICAgICAgICAgaW50IG9sZGhlaWdodCA9IGhlaWdodCgpOwogICAgICAgICAgICAg
aWYgKCFwcmVmV2lkdGhzRGlydHkoKSkKICAgICAgICAgICAgICAgICBzZXRQcmVmV2lkdGhzRGly
dHkodHJ1ZSk7Ci0gICAgICAgICAgICBjYWxjV2lkdGgoKTsKLSAgICAgICAgICAgIGNhbGNIZWln
aHQoKTsKKyAgICAgICAgICAgIGNvbXB1dGVMb2dpY2FsV2lkdGgoKTsKKyAgICAgICAgICAgIGNv
bXB1dGVMb2dpY2FsSGVpZ2h0KCk7CiAKICAgICAgICAgICAgIGlmIChpbWFnZVNpemVDaGFuZ2Vk
IHx8IHdpZHRoKCkgIT0gb2xkd2lkdGggfHwgaGVpZ2h0KCkgIT0gb2xkaGVpZ2h0KSB7CiAgICAg
ICAgICAgICAgICAgc2hvdWxkUmVwYWludCA9IGZhbHNlOwpJbmRleDogV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVySW5kaWNhdG9yLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJJbmRpY2F0b3IuY3BwCShyZXZpc2lvbiA2ODE3NCkKKysrIFdlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckluZGljYXRvci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ0LDggKzQ0LDggQEAgdm9p
ZCBSZW5kZXJJbmRpY2F0b3I6OmxheW91dCgpCiAgICAgQVNTRVJUKG5lZWRzTGF5b3V0KCkpOwog
CiAgICAgTGF5b3V0UmVwYWludGVyIHJlcGFpbnRlcigqdGhpcywgY2hlY2tGb3JSZXBhaW50RHVy
aW5nTGF5b3V0KCkpOwotICAgIGNhbGNXaWR0aCgpOwotICAgIGNhbGNIZWlnaHQoKTsKKyAgICBj
b21wdXRlTG9naWNhbFdpZHRoKCk7CisgICAgY29tcHV0ZUxvZ2ljYWxIZWlnaHQoKTsKICAgICBs
YXlvdXRQYXJ0cygpOwogICAgIHJlcGFpbnRlci5yZXBhaW50QWZ0ZXJMYXlvdXQoKTsKICAgICBz
ZXROZWVkc0xheW91dChmYWxzZSk7CkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0
Qm94LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmNw
cAkocmV2aXNpb24gNjgxNzQpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMjE5LDE0ICsyMTksMTQgQEAgaW50IFJlbmRlckxpc3RCb3g6
Omxpc3RIZWlnaHQoKSBjb25zdAogICAgIHJldHVybiBpdGVtSGVpZ2h0KCkgKiBudW1JdGVtcygp
IC0gcm93U3BhY2luZzsKIH0KIAotdm9pZCBSZW5kZXJMaXN0Qm94OjpjYWxjSGVpZ2h0KCkKK3Zv
aWQgUmVuZGVyTGlzdEJveDo6Y29tcHV0ZUxvZ2ljYWxIZWlnaHQoKQogewogICAgIGludCB0b0Fk
ZCA9IGJvcmRlckFuZFBhZGRpbmdIZWlnaHQoKTsKICAKICAgICBpbnQgaXRlbUhlaWdodCA9IFJl
bmRlckxpc3RCb3g6Oml0ZW1IZWlnaHQoKTsKICAgICBzZXRIZWlnaHQoaXRlbUhlaWdodCAqIHNp
emUoKSAtIHJvd1NwYWNpbmcgKyB0b0FkZCk7CiAgICAgCi0gICAgUmVuZGVyQmxvY2s6OmNhbGNI
ZWlnaHQoKTsKKyAgICBSZW5kZXJCbG9jazo6Y29tcHV0ZUxvZ2ljYWxIZWlnaHQoKTsKICAgICAK
ICAgICBpZiAobV92QmFyKSB7CiAgICAgICAgIGJvb2wgZW5hYmxlZCA9IG51bVZpc2libGVJdGVt
cygpIDwgbnVtSXRlbXMoKTsKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RCb3gu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmgJKHJldmlz
aW9uIDY4MTc0KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEJveC5oCSh3b3JraW5n
IGNvcHkpCkBAIC03Miw3ICs3Miw3IEBAIHByaXZhdGU6CiAKICAgICB2aXJ0dWFsIHZvaWQgY2Fs
Y1ByZWZXaWR0aHMoKTsKICAgICB2aXJ0dWFsIGludCBiYXNlbGluZVBvc2l0aW9uKGJvb2wgZmly
c3RMaW5lLCBib29sIGlzUm9vdExpbmVCb3gpIGNvbnN0OwotICAgIHZpcnR1YWwgdm9pZCBjYWxj
SGVpZ2h0KCk7CisgICAgdmlydHVhbCB2b2lkIGNvbXB1dGVMb2dpY2FsSGVpZ2h0KCk7CiAKICAg
ICB2aXJ0dWFsIHZvaWQgbGF5b3V0KCk7CiAKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ck1ldGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNZXRlci5j
cHAJKHJldmlzaW9uIDY4MTc0KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWV0ZXIuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC00OCwxNSArNDgsMTUgQEAgUmVuZGVyTWV0ZXI6On5SZW5kZXJN
ZXRlcigpCiAgICAgICAgIG1fYmFyUGFydC0+ZGV0YWNoKCk7CiB9CiAKLXZvaWQgUmVuZGVyTWV0
ZXI6OmNhbGNXaWR0aCgpCit2b2lkIFJlbmRlck1ldGVyOjpjb21wdXRlTG9naWNhbFdpZHRoKCkK
IHsKLSAgICBSZW5kZXJCb3g6OmNhbGNXaWR0aCgpOworICAgIFJlbmRlckJveDo6Y29tcHV0ZUxv
Z2ljYWxXaWR0aCgpOwogICAgIHNldFdpZHRoKHRoZW1lKCktPm1ldGVyU2l6ZUZvckJvdW5kcyh0
aGlzLCBmcmFtZVJlY3QoKSkud2lkdGgoKSk7CiB9CiAKLXZvaWQgUmVuZGVyTWV0ZXI6OmNhbGNI
ZWlnaHQoKQordm9pZCBSZW5kZXJNZXRlcjo6Y29tcHV0ZUxvZ2ljYWxIZWlnaHQoKQogewotICAg
IFJlbmRlckJveDo6Y2FsY0hlaWdodCgpOworICAgIFJlbmRlckJveDo6Y29tcHV0ZUxvZ2ljYWxI
ZWlnaHQoKTsKICAgICBzZXRIZWlnaHQodGhlbWUoKS0+bWV0ZXJTaXplRm9yQm91bmRzKHRoaXMs
IGZyYW1lUmVjdCgpKS5oZWlnaHQoKSk7CiB9CiAKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlck1ldGVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWV0ZXIu
aAkocmV2aXNpb24gNjgxNzQpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNZXRlci5oCSh3
b3JraW5nIGNvcHkpCkBAIC00MCw4ICs0MCw4IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgdmly
dHVhbCBjb25zdCBjaGFyKiByZW5kZXJOYW1lKCkgY29uc3QgeyByZXR1cm4gIlJlbmRlck1ldGVy
IjsgfQogICAgIHZpcnR1YWwgYm9vbCBpc01ldGVyKCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQot
ICAgIHZpcnR1YWwgdm9pZCBjYWxjV2lkdGgoKTsKLSAgICB2aXJ0dWFsIHZvaWQgY2FsY0hlaWdo
dCgpOworICAgIHZpcnR1YWwgdm9pZCBjb21wdXRlTG9naWNhbFdpZHRoKCk7CisgICAgdmlydHVh
bCB2b2lkIGNvbXB1dGVMb2dpY2FsSGVpZ2h0KCk7CiAKICAgICB2aXJ0dWFsIHZvaWQgbGF5b3V0
UGFydHMoKTsKICAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkSGF2ZVBhcnRzKCkgY29uc3Q7CkluZGV4
OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQuY3BwCShyZXZpc2lvbiA2ODE3NCkKKysrIFdl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlcGxhY2VkLmNwcAkod29ya2luZyBjb3B5KQpAQCAtODIs
OCArODIsOCBAQCB2b2lkIFJlbmRlclJlcGxhY2VkOjpsYXlvdXQoKQogICAgIAogICAgIHNldEhl
aWdodChtaW5pbXVtUmVwbGFjZWRIZWlnaHQoKSk7CiAKLSAgICBjYWxjV2lkdGgoKTsKLSAgICBj
YWxjSGVpZ2h0KCk7CisgICAgY29tcHV0ZUxvZ2ljYWxXaWR0aCgpOworICAgIGNvbXB1dGVMb2dp
Y2FsSGVpZ2h0KCk7CiAKICAgICBtX292ZXJmbG93LmNsZWFyKCk7CiAgICAgYWRkU2hhZG93T3Zl
cmZsb3coKTsKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jvb3QuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jvb3QuY3BwCShyZXZpc2lvbiA2
ODE3NCkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jvb3QuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0xMTUsOCArMTE1LDggQEAgdm9pZCBSZW5kZXJTVkdSb290OjpsYXlvdXQoKQogICAg
IExheW91dFJlcGFpbnRlciByZXBhaW50ZXIoKnRoaXMsIG5lZWRzTGF5b3V0ICYmIG1fZXZlckhh
ZExheW91dCAmJiBjaGVja0ZvclJlcGFpbnREdXJpbmdMYXlvdXQoKSk7CiAKICAgICBJbnRTaXpl
IG9sZFNpemUod2lkdGgoKSwgaGVpZ2h0KCkpOwotICAgIGNhbGNXaWR0aCgpOwotICAgIGNhbGNI
ZWlnaHQoKTsKKyAgICBjb21wdXRlTG9naWNhbFdpZHRoKCk7CisgICAgY29tcHV0ZUxvZ2ljYWxI
ZWlnaHQoKTsKICAgICBjYWxjVmlld3BvcnQoKTsKIAogICAgIFNWR1NWR0VsZW1lbnQqIHN2ZyA9
IHN0YXRpY19jYXN0PFNWR1NWR0VsZW1lbnQqPihub2RlKCkpOwpJbmRleDogV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyU2xpZGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJTbGlkZXIuY3BwCShyZXZpc2lvbiA2ODE3NCkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclNsaWRlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI3NCw4ICsyNzQsOCBAQCB2b2lkIFJl
bmRlclNsaWRlcjo6bGF5b3V0KCkKICAgICBJbnRTaXplIG9sZFNpemUgPSBzaXplKCk7CiAKICAg
ICBzZXRTaXplKGJhc2VTaXplKTsKLSAgICBjYWxjV2lkdGgoKTsKLSAgICBjYWxjSGVpZ2h0KCk7
CisgICAgY29tcHV0ZUxvZ2ljYWxXaWR0aCgpOworICAgIGNvbXB1dGVMb2dpY2FsSGVpZ2h0KCk7
CiAKICAgICBpZiAodGh1bWIpIHsKICAgICAgICAgaWYgKG9sZFNpemUgIT0gc2l6ZSgpKQpJbmRl
eDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGUuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlLmNwcAkocmV2aXNpb24gNjgxNzQpCisrKyBXZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJUYWJsZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE5NCw3ICsxOTQs
NyBAQCB2b2lkIFJlbmRlclRhYmxlOjpyZW1vdmVDaGlsZChSZW5kZXJPYmplCiAgICAgc2V0TmVl
ZHNTZWN0aW9uUmVjYWxjKCk7CiB9CiAKLXZvaWQgUmVuZGVyVGFibGU6OmNhbGNXaWR0aCgpCit2
b2lkIFJlbmRlclRhYmxlOjpjb21wdXRlTG9naWNhbFdpZHRoKCkKIHsKICAgICBpZiAoaXNQb3Np
dGlvbmVkKCkpCiAgICAgICAgIGNhbGNBYnNvbHV0ZUhvcml6b250YWwoKTsKQEAgLTI1Miw3ICsy
NTIsNyBAQCB2b2lkIFJlbmRlclRhYmxlOjpsYXlvdXQoKQogICAgIGluaXRNYXhNYXJnaW5WYWx1
ZXMoKTsKICAgICAKICAgICBpbnQgb2xkV2lkdGggPSB3aWR0aCgpOwotICAgIGNhbGNXaWR0aCgp
OworICAgIGNvbXB1dGVMb2dpY2FsV2lkdGgoKTsKIAogICAgIGlmIChtX2NhcHRpb24gJiYgd2lk
dGgoKSAhPSBvbGRXaWR0aCkKICAgICAgICAgbV9jYXB0aW9uLT5zZXROZWVkc0xheW91dCh0cnVl
LCBmYWxzZSk7CkBAIC0zMTgsNyArMzE4LDcgQEAgdm9pZCBSZW5kZXJUYWJsZTo6bGF5b3V0KCkK
ICAgICBzZXRIZWlnaHQoaGVpZ2h0KCkgKyBicFRvcCk7CiAKICAgICBpZiAoIWlzUG9zaXRpb25l
ZCgpKQotICAgICAgICBjYWxjSGVpZ2h0KCk7CisgICAgICAgIGNvbXB1dGVMb2dpY2FsSGVpZ2h0
KCk7CiAKICAgICBMZW5ndGggaCA9IHN0eWxlKCktPmhlaWdodCgpOwogICAgIGludCB0aCA9IDA7
CkBAIC0zNzEsNyArMzcxLDcgQEAgdm9pZCBSZW5kZXJUYWJsZTo6bGF5b3V0KCkKICAgICB9CiAK
ICAgICBpZiAoaXNQb3NpdGlvbmVkKCkpCi0gICAgICAgIGNhbGNIZWlnaHQoKTsKKyAgICAgICAg
Y29tcHV0ZUxvZ2ljYWxIZWlnaHQoKTsKIAogICAgIC8vIHRhYmxlIGNhbiBiZSBjb250YWluaW5n
IGJsb2NrIG9mIHBvc2l0aW9uZWQgZWxlbWVudHMuCiAgICAgLy8gRklYTUU6IE9ubHkgcGFzcyB0
cnVlIGlmIHdpZHRoIG9yIGhlaWdodCBjaGFuZ2VkLgpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVGFibGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJs
ZS5oCShyZXZpc2lvbiA2ODE3NCkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTE3MCw3ICsxNzAsNyBAQCBwcml2YXRlOgogICAgIAogICAgIHZp
cnR1YWwgdm9pZCBzZXRDZWxsV2lkdGhzKCk7CiAKLSAgICB2aXJ0dWFsIHZvaWQgY2FsY1dpZHRo
KCk7CisgICAgdmlydHVhbCB2b2lkIGNvbXB1dGVMb2dpY2FsV2lkdGgoKTsKIAogICAgIHZpcnR1
YWwgSW50UmVjdCBvdmVyZmxvd0NsaXBSZWN0KGludCB0eCwgaW50IHR5KTsKIApJbmRleDogV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVDZWxsLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJUYWJsZUNlbGwuY3BwCShyZXZpc2lvbiA2ODE3NCkKKysrIFdlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlQ2VsbC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE0NCw3
ICsxNDQsNyBAQCB2b2lkIFJlbmRlclRhYmxlQ2VsbDo6Y2FsY1ByZWZXaWR0aHMoKQogICAgIH0K
IH0KIAotdm9pZCBSZW5kZXJUYWJsZUNlbGw6OmNhbGNXaWR0aCgpCit2b2lkIFJlbmRlclRhYmxl
Q2VsbDo6Y29tcHV0ZUxvZ2ljYWxXaWR0aCgpCiB7CiB9CiAKSW5kZXg6IFdlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRhYmxlQ2VsbC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRhYmxlQ2VsbC5oCShyZXZpc2lvbiA2ODE3NCkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRhYmxlQ2VsbC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMjYsNyArMTI2LDcgQEAgcHJpdmF0
ZToKIAogICAgIHZpcnR1YWwgYm9vbCByZXF1aXJlc0xheWVyKCkgY29uc3QgeyByZXR1cm4gaXNQ
b3NpdGlvbmVkKCkgfHwgaXNUcmFuc3BhcmVudCgpIHx8IGhhc092ZXJmbG93Q2xpcCgpIHx8IGhh
c1RyYW5zZm9ybSgpIHx8IGhhc01hc2soKSB8fCBoYXNSZWZsZWN0aW9uKCk7IH0KIAotICAgIHZp
cnR1YWwgdm9pZCBjYWxjV2lkdGgoKTsKKyAgICB2aXJ0dWFsIHZvaWQgY29tcHV0ZUxvZ2ljYWxX
aWR0aCgpOwogCiAgICAgdmlydHVhbCB2b2lkIHBhaW50Qm94RGVjb3JhdGlvbnMoUGFpbnRJbmZv
JiwgaW50IHR4LCBpbnQgdHkpOwogICAgIHZpcnR1YWwgdm9pZCBwYWludE1hc2soUGFpbnRJbmZv
JiwgaW50IHR4LCBpbnQgdHkpOwpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENv
bnRyb2wuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRDb250
cm9sLmNwcAkocmV2aXNpb24gNjgxNzQpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0
Q29udHJvbC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQwMSw3ICs0MDEsNyBAQCBpbnQgUmVuZGVy
VGV4dENvbnRyb2w6OnNjcm9sbGJhclRoaWNrbmVzCiAgICAgcmV0dXJuIFNjcm9sbGJhclRoZW1l
OjpuYXRpdmVUaGVtZSgpLT5zY3JvbGxiYXJUaGlja25lc3MoKTsKIH0KIAotdm9pZCBSZW5kZXJU
ZXh0Q29udHJvbDo6Y2FsY0hlaWdodCgpCit2b2lkIFJlbmRlclRleHRDb250cm9sOjpjb21wdXRl
TG9naWNhbEhlaWdodCgpCiB7CiAgICAgc2V0SGVpZ2h0KG1faW5uZXJUZXh0LT5yZW5kZXJCb3go
KS0+Ym9yZGVyVG9wKCkgKyBtX2lubmVyVGV4dC0+cmVuZGVyQm94KCktPmJvcmRlckJvdHRvbSgp
ICsKICAgICAgICAgICAgICAgbV9pbm5lclRleHQtPnJlbmRlckJveCgpLT5wYWRkaW5nVG9wKCkg
KyBtX2lubmVyVGV4dC0+cmVuZGVyQm94KCktPnBhZGRpbmdCb3R0b20oKSArCkBAIC00MTQsNyAr
NDE0LDcgQEAgdm9pZCBSZW5kZXJUZXh0Q29udHJvbDo6Y2FsY0hlaWdodCgpCiAgICAgaWYgKHN0
eWxlKCktPm92ZXJmbG93WCgpID09IE9TQ1JPTEwgfHwgIChzdHlsZSgpLT5vdmVyZmxvd1goKSA9
PSBPQVVUTyAmJiBtX2lubmVyVGV4dC0+cmVuZGVyZXIoKS0+c3R5bGUoKS0+d29yZFdyYXAoKSA9
PSBOb3JtYWxXb3JkV3JhcCkpCiAgICAgICAgIHNldEhlaWdodChoZWlnaHQoKSArIHNjcm9sbGJh
clRoaWNrbmVzcygpKTsKIAotICAgIFJlbmRlckJsb2NrOjpjYWxjSGVpZ2h0KCk7CisgICAgUmVu
ZGVyQmxvY2s6OmNvbXB1dGVMb2dpY2FsSGVpZ2h0KCk7CiB9CiAKIHZvaWQgUmVuZGVyVGV4dENv
bnRyb2w6OmhpdElubmVyVGV4dEVsZW1lbnQoSGl0VGVzdFJlc3VsdCYgcmVzdWx0LCBpbnQgeFBv
cywgaW50IHlQb3MsIGludCB0eCwgaW50IHR5KQpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVGV4dENvbnRyb2wuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJU
ZXh0Q29udHJvbC5oCShyZXZpc2lvbiA2ODE3NCkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clRleHRDb250cm9sLmgJKHdvcmtpbmcgY29weSkKQEAgLTg1LDcgKzg1LDcgQEAgcHJvdGVjdGVk
OgogICAgIHZpcnR1YWwgUmVuZGVyU3R5bGUqIHRleHRCYXNlU3R5bGUoKSBjb25zdCA9IDA7CiAK
ICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlRnJvbUVsZW1lbnQoKTsKLSAgICB2aXJ0dWFsIHZvaWQg
Y2FsY0hlaWdodCgpOworICAgIHZpcnR1YWwgdm9pZCBjb21wdXRlTG9naWNhbEhlaWdodCgpOwog
CiAgICAgZnJpZW5kIGNsYXNzIFRleHRJdGVyYXRvcjsKICAgICBIVE1MRWxlbWVudCogaW5uZXJU
ZXh0RWxlbWVudCgpIGNvbnN0OwpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENv
bnRyb2xTaW5nbGVMaW5lLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJUZXh0Q29udHJvbFNpbmdsZUxpbmUuY3BwCShyZXZpc2lvbiA2ODE3NCkKKysrIFdlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sU2luZ2xlTGluZS5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTIyNywxMCArMjI3LDEwIEBAIHZvaWQgUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lOjph
ZGRGb2MKIHZvaWQgUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lOjpsYXlvdXQoKQogewogICAg
IGludCBvbGRIZWlnaHQgPSBoZWlnaHQoKTsKLSAgICBjYWxjSGVpZ2h0KCk7CisgICAgY29tcHV0
ZUxvZ2ljYWxIZWlnaHQoKTsKIAogICAgIGludCBvbGRXaWR0aCA9IHdpZHRoKCk7Ci0gICAgY2Fs
Y1dpZHRoKCk7CisgICAgY29tcHV0ZUxvZ2ljYWxXaWR0aCgpOwogCiAgICAgYm9vbCByZWxheW91
dENoaWxkcmVuID0gb2xkSGVpZ2h0ICE9IGhlaWdodCgpIHx8IG9sZFdpZHRoICE9IHdpZHRoKCk7
CiAKQEAgLTQ3OSwyMyArNDc5LDIzIEBAIGludCBSZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmU6
OnRleHRCbG8KICAgICBpbnQgd2lkdGggPSBSZW5kZXJUZXh0Q29udHJvbDo6dGV4dEJsb2NrV2lk
dGgoKTsKIAogICAgIGlmIChSZW5kZXJCb3gqIHJlc3VsdHNSZW5kZXJlciA9IG1fcmVzdWx0c0J1
dHRvbiA/IG1fcmVzdWx0c0J1dHRvbi0+cmVuZGVyQm94KCkgOiAwKSB7Ci0gICAgICAgIHJlc3Vs
dHNSZW5kZXJlci0+Y2FsY1dpZHRoKCk7CisgICAgICAgIHJlc3VsdHNSZW5kZXJlci0+Y29tcHV0
ZUxvZ2ljYWxXaWR0aCgpOwogICAgICAgICB3aWR0aCAtPSByZXN1bHRzUmVuZGVyZXItPndpZHRo
KCkgKyByZXN1bHRzUmVuZGVyZXItPm1hcmdpbkxlZnQoKSArIHJlc3VsdHNSZW5kZXJlci0+bWFy
Z2luUmlnaHQoKTsKICAgICB9CiAKICAgICBpZiAoUmVuZGVyQm94KiBjYW5jZWxSZW5kZXJlciA9
IG1fY2FuY2VsQnV0dG9uID8gbV9jYW5jZWxCdXR0b24tPnJlbmRlckJveCgpIDogMCkgewotICAg
ICAgICBjYW5jZWxSZW5kZXJlci0+Y2FsY1dpZHRoKCk7CisgICAgICAgIGNhbmNlbFJlbmRlcmVy
LT5jb21wdXRlTG9naWNhbFdpZHRoKCk7CiAgICAgICAgIHdpZHRoIC09IGNhbmNlbFJlbmRlcmVy
LT53aWR0aCgpICsgY2FuY2VsUmVuZGVyZXItPm1hcmdpbkxlZnQoKSArIGNhbmNlbFJlbmRlcmVy
LT5tYXJnaW5SaWdodCgpOwogICAgIH0KIAogICAgIGlmIChSZW5kZXJCb3gqIHNwaW5SZW5kZXJl
ciA9IG1faW5uZXJTcGluQnV0dG9uID8gbV9pbm5lclNwaW5CdXR0b24tPnJlbmRlckJveCgpIDog
MCkgewotICAgICAgICBzcGluUmVuZGVyZXItPmNhbGNXaWR0aCgpOworICAgICAgICBzcGluUmVu
ZGVyZXItPmNvbXB1dGVMb2dpY2FsV2lkdGgoKTsKICAgICAgICAgd2lkdGggLT0gc3BpblJlbmRl
cmVyLT53aWR0aCgpICsgc3BpblJlbmRlcmVyLT5tYXJnaW5MZWZ0KCkgKyBzcGluUmVuZGVyZXIt
Pm1hcmdpblJpZ2h0KCk7CiAgICAgfQogCiAjaWYgRU5BQkxFKElOUFVUX1NQRUVDSCkKICAgICBp
ZiAoUmVuZGVyQm94KiBzcGVlY2hSZW5kZXJlciA9IG1fc3BlZWNoQnV0dG9uID8gbV9zcGVlY2hC
dXR0b24tPnJlbmRlckJveCgpIDogMCkgewotICAgICAgICBzcGVlY2hSZW5kZXJlci0+Y2FsY1dp
ZHRoKCk7CisgICAgICAgIHNwZWVjaFJlbmRlcmVyLT5jb21wdXRlTG9naWNhbFdpZHRoKCk7CiAg
ICAgICAgIHdpZHRoIC09IHNwZWVjaFJlbmRlcmVyLT53aWR0aCgpICsgc3BlZWNoUmVuZGVyZXIt
Pm1hcmdpbkxlZnQoKSArIHNwZWVjaFJlbmRlcmVyLT5tYXJnaW5SaWdodCgpOwogICAgIH0KICNl
bmRpZgpAQCAtNTA3LDcgKzUwNyw3IEBAIGludCBSZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmU6
OmRlY29yYXQKIHsKICAgICBpbnQgd2lkdGggPSAwOwogICAgIGlmIChSZW5kZXJCb3gqIHNwaW5S
ZW5kZXJlciA9IG1fb3V0ZXJTcGluQnV0dG9uID8gbV9vdXRlclNwaW5CdXR0b24tPnJlbmRlckJv
eCgpIDogMCkgewotICAgICAgICBzcGluUmVuZGVyZXItPmNhbGNXaWR0aCgpOworICAgICAgICBz
cGluUmVuZGVyZXItPmNvbXB1dGVMb2dpY2FsV2lkdGgoKTsKICAgICAgICAgd2lkdGggKz0gc3Bp
blJlbmRlcmVyLT53aWR0aCgpICsgc3BpblJlbmRlcmVyLT5tYXJnaW5MZWZ0KCkgKyBzcGluUmVu
ZGVyZXItPm1hcmdpblJpZ2h0KCk7CiAgICAgfQogICAgIGlmICh3aWR0aCA+IDApCkBAIC01NzQs
NyArNTc0LDcgQEAgaW50IFJlbmRlclRleHRDb250cm9sU2luZ2xlTGluZTo6cHJlZmVycgogewog
ICAgIGludCB3aWR0aCA9IDA7CiAgICAgaWYgKFJlbmRlckJveCogc3BpblJlbmRlcmVyID0gbV9v
dXRlclNwaW5CdXR0b24gPyBtX291dGVyU3BpbkJ1dHRvbi0+cmVuZGVyQm94KCkgOiAwKSB7Ci0g
ICAgICAgIHNwaW5SZW5kZXJlci0+Y2FsY1dpZHRoKCk7CisgICAgICAgIHNwaW5SZW5kZXJlci0+
Y29tcHV0ZUxvZ2ljYWxXaWR0aCgpOwogICAgICAgICB3aWR0aCArPSBzcGluUmVuZGVyZXItPm1p
blByZWZXaWR0aCgpICsgc3BpblJlbmRlcmVyLT5tYXJnaW5MZWZ0KCkgKyBzcGluUmVuZGVyZXIt
Pm1hcmdpblJpZ2h0KCk7CiAgICAgfQogICAgIGlmICh3aWR0aCA+IDApCkBAIC01ODUsNyArNTg1
LDcgQEAgaW50IFJlbmRlclRleHRDb250cm9sU2luZ2xlTGluZTo6cHJlZmVycgogdm9pZCBSZW5k
ZXJUZXh0Q29udHJvbFNpbmdsZUxpbmU6OmFkanVzdENvbnRyb2xIZWlnaHRCYXNlZE9uTGluZUhl
aWdodChpbnQgbGluZUhlaWdodCkKIHsKICAgICBpZiAoUmVuZGVyQm94KiByZXN1bHRzUmVuZGVy
ZXIgPSBtX3Jlc3VsdHNCdXR0b24gPyBtX3Jlc3VsdHNCdXR0b24tPnJlbmRlckJveCgpIDogMCkg
ewotICAgICAgICB0b1JlbmRlckJsb2NrKHJlc3VsdHNSZW5kZXJlciktPmNhbGNIZWlnaHQoKTsK
KyAgICAgICAgdG9SZW5kZXJCbG9jayhyZXN1bHRzUmVuZGVyZXIpLT5jb21wdXRlTG9naWNhbEhl
aWdodCgpOwogICAgICAgICBzZXRIZWlnaHQobWF4KGhlaWdodCgpLAogICAgICAgICAgICAgICAg
ICAgcmVzdWx0c1JlbmRlcmVyLT5ib3JkZXJUb3AoKSArIHJlc3VsdHNSZW5kZXJlci0+Ym9yZGVy
Qm90dG9tKCkgKwogICAgICAgICAgICAgICAgICAgcmVzdWx0c1JlbmRlcmVyLT5wYWRkaW5nVG9w
KCkgKyByZXN1bHRzUmVuZGVyZXItPnBhZGRpbmdCb3R0b20oKSArCkBAIC01OTQsNyArNTk0LDcg
QEAgdm9pZCBSZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmU6OmFkanVzdAogICAgIH0KIAogICAg
IGlmIChSZW5kZXJCb3gqIGNhbmNlbFJlbmRlcmVyID0gbV9jYW5jZWxCdXR0b24gPyBtX2NhbmNl
bEJ1dHRvbi0+cmVuZGVyQm94KCkgOiAwKSB7Ci0gICAgICAgIHRvUmVuZGVyQmxvY2soY2FuY2Vs
UmVuZGVyZXIpLT5jYWxjSGVpZ2h0KCk7CisgICAgICAgIHRvUmVuZGVyQmxvY2soY2FuY2VsUmVu
ZGVyZXIpLT5jb21wdXRlTG9naWNhbEhlaWdodCgpOwogICAgICAgICBzZXRIZWlnaHQobWF4KGhl
aWdodCgpLAogICAgICAgICAgICAgICAgICAgY2FuY2VsUmVuZGVyZXItPmJvcmRlclRvcCgpICsg
Y2FuY2VsUmVuZGVyZXItPmJvcmRlckJvdHRvbSgpICsKICAgICAgICAgICAgICAgICAgIGNhbmNl
bFJlbmRlcmVyLT5wYWRkaW5nVG9wKCkgKyBjYW5jZWxSZW5kZXJlci0+cGFkZGluZ0JvdHRvbSgp
ICsKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuY3BwCShyZXZpc2lvbiA2ODE3NCkKKysrIFdl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03MiwxMyAr
NzIsMTMgQEAgUmVuZGVyVmlldzo6flJlbmRlclZpZXcoKQogewogfQogCi12b2lkIFJlbmRlclZp
ZXc6OmNhbGNIZWlnaHQoKQordm9pZCBSZW5kZXJWaWV3Ojpjb21wdXRlTG9naWNhbEhlaWdodCgp
CiB7CiAgICAgaWYgKCFwcmludGluZygpICYmIG1fZnJhbWVWaWV3KQogICAgICAgICBzZXRIZWln
aHQodmlld0hlaWdodCgpKTsKIH0KIAotdm9pZCBSZW5kZXJWaWV3OjpjYWxjV2lkdGgoKQordm9p
ZCBSZW5kZXJWaWV3Ojpjb21wdXRlTG9naWNhbFdpZHRoKCkKIHsKICAgICBpZiAoIXByaW50aW5n
KCkgJiYgbV9mcmFtZVZpZXcpCiAgICAgICAgIHNldFdpZHRoKHZpZXdXaWR0aCgpKTsKSW5kZXg6
IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJWaWV3LmgJKHJldmlzaW9uIDY4MTc0KQorKysgV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVmlldy5oCSh3b3JraW5nIGNvcHkpCkBAIC00Nyw4ICs0Nyw4IEBAIHB1YmxpYzoK
ICAgICB2aXJ0dWFsIGJvb2wgcmVxdWlyZXNMYXllcigpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0K
IAogICAgIHZpcnR1YWwgdm9pZCBsYXlvdXQoKTsKLSAgICB2aXJ0dWFsIHZvaWQgY2FsY1dpZHRo
KCk7Ci0gICAgdmlydHVhbCB2b2lkIGNhbGNIZWlnaHQoKTsKKyAgICB2aXJ0dWFsIHZvaWQgY29t
cHV0ZUxvZ2ljYWxXaWR0aCgpOworICAgIHZpcnR1YWwgdm9pZCBjb21wdXRlTG9naWNhbEhlaWdo
dCgpOwogICAgIHZpcnR1YWwgdm9pZCBjYWxjUHJlZldpZHRocygpOwogCiAgICAgLy8gVGhlIHNh
bWUgYXMgdGhlIEZyYW1lVmlldydzIGxheW91dEhlaWdodC9sYXlvdXRXaWR0aCBidXQgd2l0aCBu
dWxsIGNoZWNrIGd1YXJkcy4KSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR1NWR0VsZW1lbnQuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR1NWR0VsZW1lbnQuY3BwCShyZXZpc2lvbiA2ODE3
NCkKKysrIFdlYkNvcmUvc3ZnL1NWR1NWR0VsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0y
OTksNyArMjk5LDcgQEAgdm9pZCBTVkdTVkdFbGVtZW50OjpzdmdBdHRyaWJ1dGVDaGFuZ2VkKAog
CiAgICAgLy8gRklYTUU6IFVnbHksIHVnbHkgaGFjayB0byBhcm91bmQgdGhhdCBwYXJzZU1hcHBl
ZEF0dHJpYnV0ZSBpcyBub3QgY2FsbGVkCiAgICAgLy8gd2hlbiBzdmcud2lkdGguYmFzZVZhbHVl
ID0gMTAwIGlzIGV2YWx1YXRlZC4KLSAgICAvLyBUaHVzIHRoZSBDU1MgbGVuZ3RoIHZhbHVlIGZv
ciB3aWR0aCBpcyBub3QgdXBkYXRlZCwgYW5kIHdpZHRoKCkgY2FsY1dpZHRoKCkKKyAgICAvLyBU
aHVzIHRoZSBDU1MgbGVuZ3RoIHZhbHVlIGZvciB3aWR0aCBpcyBub3QgdXBkYXRlZCwgYW5kIHdp
ZHRoKCkgY29tcHV0ZUxvZ2ljYWxXaWR0aCgpCiAgICAgLy8gY2FsY3VsYXRpb25zIG9uIFJlbmRl
clNWR1Jvb3Qgd2lsbCBiZSB3cm9uZy4KICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjUzODcKICAgICBib29sIHVwZGF0ZVJlbGF0aXZlTGVuZ3RocyA9IGZh
bHNlOwo=
</data>
<flag name="review"
          id="58213"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>