From sources-request at octave dot org Sun May 22 22:05:00 2005 Subject: Tax 0.3: Open source US Federal/state Tax software for octave. From: "D Goel" To: sources at octave dot org Date: Sun, 22 May 2005 20:37:42 -0400 --=-=-= OcTaX: OPEN SOURCE US FEDERAL (AND STATE) SOFTWARE FOR OCTAVE. New: Updated federal tax to 2005. Also includes GA state taxes now. Other states upon request. I have only covered single, married and married jointly statuses for federal for the last 3 years 2003--2005. The ONLY state covered is GA, 2004 being the only year (no 2005 info yet). If there's interest, I will fill in the missing brackets, as requested. If your filing status or state is not covered, and you are interested, email me at deego at gnufans dot org and I will fill out the bracket information. Attached 5 files. The entry points are are tax and taxstate_ga. ==================================================== Rest of the README: ;; 2004-12-18 T21:03:28-0500 (Saturday) D. Goel Sub: OcTaX: Open Source US Federal Tax software for octave. (OcTaX stands for Octave Tax) Attached, please find a few files (GPL) that calculate US federal income tax. Save them to your octave path, and type something like "tax" or "tax(,,-1,...)" or just type "help tax". My interested was sparked by the question of whether "married filing separately" can sometimes make more sense than "married filing jointly". To see the results of such an analysis for federal taxes, type tax_married_analysis. Or, just study the tax-bracket code, which makes it clear that: Federalwise, filing jointly is always equal or better to filing separately. However, if you and spouse earn about the same, the difference is zero or negligible. In that case, other considerations, like state taxes might become more important, when deciding your federal filing status. The tax code of KY, for example, seems to heavily favor couples filing separately. On the other hand, KY (probably) allows you to file separately even if you filed jointly on federal form, and thus, KY's tax code would have no effect on your choice of optimal federal filing status. Moreover, filing separately can adversely affect your eligiblity for IRAs, Earned Income Credit, etc. ==================================================== Regarding the verification of the accuracy of this software:. I have just one single data point of verification for this "tax software": I checked it on my "married filing jointly" tax return for 2003. If you find that this code was accurate or inaccurate for your returns, I would love to hear about it. Also checked my GA state tax return for 2004. ==================================================== LOOKING AROUND FOR OTHER OPEN SOURCE TAX SOFTWARE: Until recently, this was the only open source tax software for US known to me at this time. But looking around more: * PTAX (1998 and 2001) at http://www.arborway.net/koch/. * http://opentaxsolver.sourceforge.net/ * gnutaxes: http://gnutaxes.sourceforge.net/ -- kinda dead. * Linux tax preparation software: https://users.cs.jmu.edu/harrisja/software/tax/ * http://freshmeat.net/search/?q=taxes§ion=projects ==================================================== Discussion: * http://ask.slashdot.org/comments.pl?sid=2969&threshold=4&mode=thread&commentsort=0&op=Change * http://ask.slashdot.org/article.pl?sid=05/03/09/011259&tid=98&tid=185&tid=103&tid=4 ==================================================== NON-FREE but probably free as in beer: * http://hrblock.com/goto/free * http://www.turbotax.com/turbotaxweb/welcome.htm?SRC=tcomhome * http://www.securetax.com/ * See the IRS website on e-filing and on tax software. * taxact * turbotax ---- See all my tax links at http://gnufans.net/~deego/DeegoWiki/TaxLinks.html --=-=-= Content-Type: application/octet-stream Content-Disposition: attachment; filename=tax.m Content-Transfer-Encoding: base64 ZnVuY3Rpb24gZmVkdGF4PXRheChpbmNvbWUsc3RhdHVzLGV4ZW1wdGlvbnMseWVhcixkZWR1Y3Rp b24pOwogICMjIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSBhbmQgb253YXJkcyBELiBHb2VsCiAg IyMKICAjIyBUaGlzIGZpbGUgaXMgTk9UICh5ZXQpIHBhcnQgb2YgT2N0YXZlLgogICMjCiAgIyMg VGhpcyBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9k aWZ5IGl0CiAgIyMgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGlj ZW5zZSBhcyBwdWJsaXNoZWQgYnkKICAjIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBl aXRoZXIgdmVyc2lvbiAyLCBvciAoYXQgeW91ciBvcHRpb24pCiAgIyMgYW55IGxhdGVyIHZlcnNp b24uCiAgIyMKICAjIyBUaGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRo YXQgaXQgd2lsbCBiZSB1c2VmdWwsCiAgIyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRo b3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKICAjIyBNRVJDSEFOVEFCSUxJVFkgb3Ig RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQogICMjIEdlbmVy YWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KICAjIwogICMjIFlvdSBzaG91bGQg aGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiAg IyMgYWxvbmcgd2l0aCBPY3RhdmU7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLiAgSWYgbm90LCB3cml0 ZSB0byB0aGUgRnJlZQogICMjIFNvZnR3YXJlIEZvdW5kYXRpb24sIDU5IFRlbXBsZSBQbGFjZSAt IFN1aXRlIDMzMCwgQm9zdG9uLCBNQQogICMjIDAyMTExLTEzMDcsIFVTQS4KICAjIwogICMjIC0q LSB0ZXhpbmZvIC0qLSBAZGVmdHlwZWZuIHtGdW5jdGlvbiBGaWxlfSB7fSBuYW1lX29mX2Z1bmN0 aW9uCiAgIyMgKEB2YXJ7YXJnMX0sIEB2YXJ7YXJnMn0pIERvZXMgZm9vIGJhci4gSWYgQHZhcnth cmcxfSBpcyBub3QKICAjIyBzcGVjaWZpZWQgaXQgZGVmYXVsdHMgdG8gMCwgOCBvciAxNiBkZXBl bmRpbmcgb24gS2V5d29yZHM6IEBlbmQKICAjIyBkZWZ0eXBlZm4gQHNlZWFsc297ZnVuY3Rpb24x LCBmdW5jdGlvbjIsIGZ1bmN0aW9uM30KICAjIwogICMjIEF1dGhvcjogRC4gR29lbCA8ZGVlZ29A Z251ZmFucy5vcmc+IENyZWF0ZWQ6IDE4IERlYyAyMDA0CiAgIyMgQWRhcHRlZC1CeToKICAjIwog ICMjIEZ1bmN0aW9uIGZlZHRheD10YXgoaW5jb21lLHN0YXR1cyxleGVtcHRpb25zLHllYXIsZGVk dWN0aW9uKTsKICAjIwogICMjIEZpZ3VyZSBvdXQgeW91ciBhcHByb3hpbWF0ZSBVUyBmZWRlcmFs IGluY29tZSB0YXggZm9yIHRoZSBnaXZlbgogICMjIFlFQVIsIGFzc3VtaW5nIHN0YW5kYXJkIGRl ZHVjdGlvbiwgdW5sZXNzIGFuIGl0ZW1pemVkIERFRFVDVElPTiBpcwogICMjIHNwZWNpZmllZC4g U1RBVFVTIGNhbiBiZSBzcGVjaWZpZWQgYXMgInNpbmdsZSIgb3IgMSwgIm1hcnJpZWRqb2ludCIK ICAjIyBvciAyLCAibWFycmllZHNlcGFyYXRlIiBvciAzLCAiaGVhZGhvdXNlaG9sZCIgb3IgNCwK ICAjIyAicXVhbGlmeWluZ3dpZG93ZXJ3aXRoY2hpbGQiIG9yIDUuICBUSElTIElTIEpVU1QgQSBG VU4gQ0FMQ1VMQVRJT04sCiAgIyMgVEhFIEFDVFVBTCBUQVggU0hPVUxEIEJFIEZJR1VSRUQgT1VU IEZST00gSVJTJ1MgVEFYIFRBQkxFUy4gIFRoZQogICMjIG51bWJlciBvZiBFWEVNUFRJT05TIGNh biBiZSBzcGVjaWZpZWQsIGVsc2UgZGVmYXVsdHMgd2lsbCBiZQogICMjIGFzc3VtZWQuIElmIHlv dSBzcGVjaWZ5IG5lZ2F0aXZlIGFtb3VudCBmb3IgZXhlbXB0aW9ucywgd2Ugd2lsbAogICMjIGNo YW5nZSB0aGF0IGJhY2sgdG8gYSBkZWZhdWx0LiBQZW9wbGUgb2xkZXIgdGhhbiA2NSwgYmxpbmQs IHRob3NlCiAgIyMgd2l0aCBkZXBlbmRlbnRzLCBldGMuIHNob3VsZCBmaWd1cmUgb3V0IHRoZWly IGFjdHVhbCBleGVtcHRpb25zIGFuZAogICMjIHNwZWNpZnkgaGVyZS4gIFRvIHJlcXVlc3Qgc3Rh bmRhcmQgZGVkdWN0aW9uLCBlaXRoZXIgbGVhdmUgdGhlCiAgIyMgREVEVUNUSU9OIGZpZWxkIGJs YW5rLCBvciBzcGVjaWZ5IGEgbmVnYXRpdmUgYW1vdW50LiBOb3RlIHRoYXQKICAjIyBJTkNPTUUg dG8gYmUgc3BlY2lmaWVkIGlzIE5PVCB0aGUgbmV0IGluY29tZSwgYnV0IHRoZSBBREpVU1RFRAog ICMjIEdST1NTIElOQ09NRSAoQUdJKSAtLSB0aGUgaW5jb21lIHRoYXQgcmVzdWx0cyBmcm9tIGFk ZGluZyBhbGwgeW91cgogICMjIHNvdXJjZXMgb2YgaW5jb21lLCBhbmQgcmVtb3ZpbmcgYWxsIG5v bi10YXhhYmxlIGluY29tZXMsIHN1Y2ggYXMKICAjIyBJUkEgZGVkdWN0aW9ucywgZXRjLiwgb25l IGhhbGYgb2Ygc2VsZi1lbXBsb3ltZW50IHRheCwgZXRjLiAgVGhpcwogICMjIGlzIHRoZSBJTkNP TUUgdGhhdCB3b3VsZCB0eXBpY2FsbHkgcmVzdWx0IG9uIHRoZSBsYXN0IGxpbmUgb2YgeW91cgog ICMjIDEwNDAuIEN1cnJlbnRseSwgdGhpcyB3b3JrcyBmb3IgeWVhcnMgMjAwMyBhbmQgMjAwNCBm b3IgZmlsaW5nCiAgIyMgc3RhdHVzZXMgMS0tMywgZWxzZSBpdCBzaWduYWxzIGFuIGVycm9yLgog ICMjCiAgIyMgT25jZSBhZ2FpbiwgZm9yIGFueSBxdWFudGl0eSwgeW91IGNhbiBmb3JjZSBhIGRl ZmF1bHQgYXNzdW1wdGlvbiBieQogICMjIHN1cHBseWluZyBhIG5lZ2F0aXZlIHZhbHVlLiAgVGhl IGRlZmF1bHQgaXMgdXN1YWxseSBjYWxjdWxhdGVkCiAgIyMgc29tZXdoYXQgInNtYXJ0bHkiLgog ICMjCiAgIyMgVE8gVVNFIERFRkFVTFRTLCBTUEVDSUZZIE5FR0FUSVZFIE5VTUJFUlMsIE9SIFNQ RUNJRlkgIiIuCgoKICAjIyBodHRwOi8vdGF4Z3VydS5vcmcvaW5jb21ldGF4L1JhdGVzL3JhdGVz Lmh0bQogIGdsb2JhbCB0YXh2ZXJib3NlcD0xOwogIGdsb2JhbCB0YXhfdXJsPSJodHRwOi8vZ251 ZmFucy5uZXQvfmRlZWdvL3B1Yi9vY3RhdmUvdGF4LyI7CiAgZ2xvYmFsIHRheF92ZXJzaW9uPSIw LjMiCgogIAogIHRheGRpc3AoIkxPVFMgT0YgU0hPUlRDT01JTkdTLiBUWVBFIHRheHdhcm5pbmcg Zm9yIHN1bW1hcnkuICIpOwoKCiAgaWYgKG5hcmdpbjwxKQogICAgaW5jb21lPS0xOwogIGVuZGlm CgogIGlmIHN0cmNtcChpbmNvbWUsIiIpOwogICAgaW5jb21lPS0xOwogIGVuZGlmCgogIGlmIChp bmNvbWU8MCk7CiAgICB0YXhkaXNwKCJObyBpbmNvbWUgc3BlY2lmaWVkLiAgQVNTVU1JTkcgMTAw MDAwIik7CiAgICBpbmNvbWU9MTAwMDAwOwogIGVuZGlmCgoKICBpZiAobmFyZ2luPDIpOwogICAg c3RhdHVzPS0xOwogIGVuZGlmCgoKICBpZiBzdHJjbXAoc3RhdHVzLCIiKTsKICAgIHN0YXR1cz0t MTsKICBlbmRpZgoKCgoKCiAgaWYgaXNzdHIoc3RhdHVzKTsKICAgIGlmIHN0cmNtcChzdGF0dXMs InNpbmdsZSIpOwogICAgICBzdGF0dXM9MTsKICAgIGVsc2VpZgogICAgICBzdHJjbXAoc3RhdHVz LCJtYXJyaWVkam9pbnQiKTsKICAgICAgc3RhdHVzPTI7CiAgICBlbHNlaWYKICAgICAgc3RyY21w KHN0YXR1cywibWFycmllZCIpOwogICAgICBzdGF0dXM9MjsKICAgIGVsc2VpZgogICAgICBzdHJj bXAoc3RhdHVzLCJtYXJyaWVkc2VwYXJhdGUiKTsKICAgICAgc3RhdHVzPTM7CiAgICBlbHNlaWYK ICAgICAgc3RyY21wKHN0YXR1cywiaGVhZGhvdXNlaG9sZCIpOwogICAgICBzdGF0dXM9NDsKICAg IGVsc2VpZgogICAgICBzdHJjbXAoc3RhdHVzLCJxdWFsaWZ5aW5nd2lkb3dlcndpdGhjaGlsZCIp OwogICAgICBzdGF0dXM9NTsKICAgIGVsc2UKICAgICAgKGVycm9yKCJVbmtub3duIHN0YXR1cyIp KQogICAgZW5kaWYKICBlbmRpZgoKICAKICBpZiBzdGF0dXM8MDsKICAgIHRheGRpc3AoIk5vIGZp bGluZyBzdGF0dXMgc3BlY2lmaWVkLiAgQVNTVU1JTkcgU0lOR0xFIik7CiAgICBzdGF0dXM9MTsK ICBlbmRpZgogIAoKCgogIGlmIChuYXJnaW48Myk7CiAgICBleGVtcHRpb25zPS0xOwogIGVuZGlm CgoKICBpZiBzdHJjbXAoZXhlbXB0aW9ucywiIik7CiAgICBleGVtcHRpb25zPS0xOwogIGVuZGlm CiAgCgoKICBpZiBleGVtcHRpb25zPDA7CiAgICB0YXhkaXNwKCJOdW1iZXIgb2YgZXhlbXB0aW9u cyB3YXMgbm90IHNwZWNpZmllZC4gQXNzdW1pbmcgYSBkZWZhdWx0OiIpOwogICAgaWYgKHN0YXR1 cz09MSl8KHN0YXR1cz09MykKICAgICAgZXhlbXB0aW9ucz0xOwogICAgZWxzZWlmIChzdGF0dXM9 PTIpfChzdGF0dXM9PTQpfChzdGF0dXM9PTUpOwogICAgICBleGVtcHRpb25zPTI7CiAgICBlbHNl CiAgICAgIHN0YXR1cwogICAgICBlcnJvcigiU2hvdWxkIG5vdCBoYXZlIHJlYWNoZWQgaGVyZS4i KTsKICAgIGVuZGlmOwogICAgdGF4ZGlzcChbIk5VTUJFUiBPRiBFWEVNUFRJT05TIFRBS0VOIFRP IEJFICIgbnVtMnN0cihleGVtcHRpb25zKV0pOwogIGVuZGlmCgoKCiAgaWYgKG5hcmdpbjw0KTsK ICAgIHllYXI9LTE7CiAgZW5kaWYKCiAgCiAgaWYgeWVhcjwwOwogICAgdGF4ZGlzcCgiTm8geWVh ciBzcGVjaWZpZWQuIEFzc3VtaW5nIGEgZGVmYXVsdDoiKTsKICAgICMjIExldCdzIGdldCB0aGUg bW9zdCByZWxldmFudCB0YXggeWVhci4gCiAgICAjIyBJZiBpdCBpcyBiZWZvcmUgQXByaWwgMTUs IGdldCBsYXN0IHllYXIuIAogICAgY3VycnRpbWV2ZWM9Y2xvY2s7CiAgICBjdXJyeWVhcj1jdXJy dGltZXZlYygxKTsKICAgIGN1cnJtb250aD1jdXJydGltZXZlYygyKTsKICAgIGN1cnJkYXRlPWNs b2NrKDMpOwogICAgaWYgKGN1cnJtb250aD40KXwoKGN1cnJtb250aD00KSYoY3VycmRhdGU+MTUp KQogICAgICB5ZWFyPWN1cnJ5ZWFyOwogICAgZWxzZQogICAgICB5ZWFyPWN1cnJ5ZWFyLTE7CiAg ICBlbmRpZjsKICAgIHRheGRpc3AoWyJZRUFSIEFTU1VNRUQgVE8gQkU6ICIgbnVtMnN0cih5ZWFy KV0pOwogIGVuZGlmCgoKICBpZiBzdHJjbXAoeWVhciwiIik7CiAgICB5ZWFyPS0xOwogIGVuZGlm CgoKCiAgaWYgKG5hcmdpbjw1KTsKICAgIGRlZHVjdGlvbj0tMTsKICBlbmRpZgoKCiAgaWYgc3Ry Y21wKGRlZHVjdGlvbiwiIik7CiAgICBkZWR1Y3Rpb249LTE7CiAgZW5kaWYKCgogIGlmIGRlZHVj dGlvbjwwOwogICAgc3RkcD0xOwogICAgdGF4ZGlzcCgiV2lsbCB1c2Ugc3RhbmRhcmQgZGVkdWN0 aW9uLiIpOwogIGVsc2UKICAgIHN0ZHA9MDsKICBlbmRpZgoKICB0YXhkaXNwKCIiKTsKCgoKICBp ZiAoc3RhdHVzPjMpCiAgICBlcnJvcigiVGhpcyBmaWxpbmcgc3RhdHVzIGlzIG5vdCAoeWV0KSBp bXBsZW1lbnRlZCIpCiAgZW5kaWYKICAKICAKICAKICBudW15ZWFycz0zMDAwOwoKCiAgIyMgQWxs b3cgdXAgdG8gMjAgdGF4IGJyYWNrZXRzLCBhbmQgNSBmaWxpbmcgc3RhdHVzZXMgZm9yIGVhY2gg eWVhci4KICAjIyBUaGUgeSBwcmVmaXggPT4geWVhci4gCiAgeXRheGJyYWNrZXRzPXplcm9zKG51 bXllYXJzLDIwLDUpOwogIHl0YXhyYXRlcz16ZXJvcyhudW15ZWFycywyMCw1KTsKICB5bnVtdGF4 YnJhY2tldHM9emVyb3MobnVteWVhcnMsMSk7CiAgeWRlZHVjdGlvbnM9emVyb3MobnVteWVhcnMs NSk7CiAgeWV4ZW1wdGlvbmFtb3VudHM9emVyb3MobnVteWVhcnMsMSk7CgogICMjSWYgIG51bXRh eGJyYWNrZXRzIGZvciBhIGNlcnRhaW4geWVhciBpcyB6ZXJvLCB0aGF0IG1lYW5zIHRoYXQgd2UK ICAjI2hhdmUgbm8gaW5mbyBmb3IgdGhhdCB5ZWFyLiAKCgogICMjIHRheHJhdGVzKGkseCx4KSBz cGVjaWZ5IHRoZSByYXRlcyBmb3IgdGhlIGFtb3VudCBvZiBtb25leSBiZWluZwogICMjIGVhcm5l ZCB0aGF0IGxpZXMgYmV0d2VlbiB0YXhicmFja2V0cyhpLHgseCkgYW5kCiAgIyMgdGF4YnJhY2tl dHMoaSsxLHgseCksIHdoZXJlIGkgY2FuIGdvIHVwIHRvIG51bXRheGJyYWNrZXRzKHgpIGZvcgog ICMjIHRoZSBjdXJyZW50IHllYXIuCgogICMjIElmLCBieSBhbnkgY2hhbmNlLCB0aGUgbnVtYmVy IG9mIHRheCBicmFja2V0cyBhcmUgZGlmZmVyZW50IGZvcgogICMjIGRpZmZlcmVudCBmaWxpbmcg c3RhdHVzZXMsIHRoZXkgY2FuIGFsd2F5cyBiZSBtYWRlIGVxdWFsIGFnYWluIGJ5CiAgIyMgc3Bl Y2lmeWluZyBhIG51bGwgdGF4IGJyYWNrZXQuIAogIAogICMjIFRodXMsIHRheGJyYWNrZXRzKDAs eCx4KSBpcyBhbHdheXMgemVyby4gCgoKICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAgIyMgTkVYVCwgV0Ug RklMTCBJTiBTT01FIFRBWCBJTkZPUk1BVElPTiBGT1IgVkFSSU9VUyBZRUFSUzogCiAgCiAgIyMg Rm9yIGluZm8gb24gdGhpcywgZ29vZ2xlIGZvciB0YXggYnJhY2tldHMsIG9yIHNlYXJjaCBJUlMg c2l0ZSBmb3IKICAjIyB0YXggc2NoZWR1bGVzLiAKICAjIyBGb3Igc3RhbmRhcmQgZGVkdWN0aW9u LCBzZWUgaHR0cDovL3d3dy4xMDQwLmNvbS9zdGRkZWR1Y3QwNC5jZm0KCgoKCgoKCgoKCiAgIyMg MjAwNTogCgogICMjIGh0dHA6Ly93d3cuaW52ZXN0aW5naW5ib25kcy5jb20vbGVhcm5tb3JlLmFz cD9jYXRpZD04JnN1YmNhdGlkPTYxICAKICAjIyBodHRwOi8vdGF4Z3VydS5vcmcvaW5jb21ldGF4 L1JhdGVzLzEwNDAtMDUuaHRtCgogIHludW10YXhicmFja2V0cygyMDA1KT02OwogICMjIHNpbmds ZTogIAogIHl0YXhicmFja2V0cygyMDA1LDE6NiwxKT1bMCA3MzAwIDI5NzAwIDcxOTUwIDE1MDE1 MCAzMjY0NTBdOwogIHl0YXhyYXRlcygyMDA1LDE6NiwxKT1bMTAgMTUgMjUgMjggMzMgMzVdOwoK CiAgIyMgbWFycmllZDogIAogIHl0YXhicmFja2V0cygyMDA1LDE6NiwyKT1bMCAxNDYwMCA1OTQw MCAxMTk5NTAgMTgyODAwIDMyNjQ1MF07CiAgeXRheHJhdGVzKDIwMDUsMTo2LDIpPVsxMCAxNSAy NSAyOCAzMyAzNV07CgoKCiAgIyMgbWFycmllZCBmaWxpbmcgc2VwYXJhdGVseTogIAogIHl0YXhi cmFja2V0cygyMDA1LDE6NiwzKT1bMCA3MzAwIDI5NzAwIDU5OTc1IDkxNDAwIDE2MzIyNV07CiAg eXRheHJhdGVzKDIwMDUsMTo2LDMpPVsxMCAxNSAyNSAyOCAzMyAzNV07CgoKCiAgeWRlZHVjdGlv bnMoMjAwNSw6KT1bNTAwMCBcICAjIHNpbmdsZQoJCSAgICAgMTAwMDAgXCAgIyMgbWFycmllZCAK CQkgICAgIDUwMDAgXCAgIyMgbWFycmllZCwgc2VwYXJhdGUKCQkgICAgIDczMDAgXCAgIyMgaG91 c2Vob2xkLCB1bmltcGxlbWVudGVkCgkJICAgICAwXTsgIyMgd2lkb3dlciwgdW5pbXBsZW1lbnRl ZC4KICAKICAKICB5ZXhlbXB0aW9uYW1vdW50cygyMDA1KT0zMjAwOwogIAogIAoKCgoKCiAgIyMg MjAwNDogCgogICMjIGh0dHA6Ly90YXhndXJ1Lm9yZy9pbmNvbWV0YXgvUmF0ZXMvMTA0MC0wNC5o dG0KCiAgeW51bXRheGJyYWNrZXRzKDIwMDQpPTY7CiAgIyMgc2luZ2xlOiAgCiAgeXRheGJyYWNr ZXRzKDIwMDQsMTo2LDEpPVswIDcxNTAgMjkwNTAgNzAzNTAgMTQ2NzUwIDMxOTEwMF07CiAgeXRh eHJhdGVzKDIwMDQsMTo2LDEpPVsxMCAxNSAyNSAyOCAzMyAzNV07CgoKICAjIyBtYXJyaWVkOiAg CiAgeXRheGJyYWNrZXRzKDIwMDQsMTo2LDIpPVswIDE0MzAwIDU4MTAwIDExNzI1MCAxNzg2NTAg MzE5MTAwXTsKICB5dGF4cmF0ZXMoMjAwNCwxOjYsMik9WzEwIDE1IDI1IDI4IDMzIDM1XTsKCgoK ICAjIyBtYXJyaWVkIGZpbGluZyBzZXBhcmF0ZWx5OiAgCiAgeXRheGJyYWNrZXRzKDIwMDQsMTo2 LDMpPVswIDcxNTAgMjkwNTAgNTgyNjUgODkzMjUgMTU5NTUwXTsKICB5dGF4cmF0ZXMoMjAwNCwx OjYsMyk9WzEwIDE1IDI1IDI4IDMzIDM1XTsKCgoKICB5ZGVkdWN0aW9ucygyMDA0LDopPVs0ODUw IFwgICMgc2luZ2xlCgkJICAgICA5NzAwIFwgICMjIG1hcnJpZWQgCgkJICAgICA0ODUwIFwgICMj IG1hcnJpZWQsIHNlcGFyYXRlCgkJICAgICA3MTUwIFwgICMjIGhvdXNlaG9sZCwgdW5pbXBsZW1l bnRlZAoJCSAgICAgMF07ICMjIHdpZG93ZXIsIHVuaW1wbGVtZW50ZWQuCiAgCiAgCiAgeWV4ZW1w dGlvbmFtb3VudHMoMjAwNCk9MzEwMDsKCgogICMjIExldCdzIGZpbGwgdGhpcyBpbiBmb3IgMjAw MyB0b286IAogICMjIGh0dHA6Ly90YXhndXJ1Lm9yZy9pbmNvbWV0YXgvUmF0ZXMvMTA0MC0wMy5o dG0gIAoKCgogIHludW10YXhicmFja2V0cygyMDAzKT02OwogICMjIHNpbmdsZTogIAogIHl0YXhi cmFja2V0cygyMDAzLDE6NiwxKT1bMCA3MDAwIDI4NDAwIDY4ODAwIDE0MzUwMCAzMTE5NTBdOwog IHl0YXhyYXRlcygyMDAzLDE6NiwxKT1bMTAgMTUgMjUgMjggMzMgMzVdOwoKCiAgIyMgbWFycmll ZDogIAogIHl0YXhicmFja2V0cygyMDAzLDE6NiwyKT1bMCAxNDAwMCA1NjgwMCAxMTQ2NTAgMTc0 NzAwIDMxMTk1MF07CiAgeXRheHJhdGVzKDIwMDMsMTo2LDIpPVsxMCAxNSAyNSAyOCAzMyAzNV07 CgoKCiAgIyMgbWFycmllZCBmaWxpbmcgc2VwYXJhdGVseTogIAogIHl0YXhicmFja2V0cygyMDAz LDE6NiwzKT1bMCA3MDAwIDI4NDAwIDU3MzI1IDg3MzUwIDE1NTk3NV07CiAgeXRheHJhdGVzKDIw MDMsMTo2LDMpPVsxMCAxNSAyNSAyOCAzMyAzNV07CgoKCiAgeWRlZHVjdGlvbnMoMjAwMyw6KT1b NDc1MCBcICAjIHNpbmdsZQoJCSAgICAgOTUwMCBcICAjIyBtYXJyaWVkIAoJCSAgICAgNDc1MCBc ICAjIyBtYXJyaWVkLCBzZXBhcmF0ZQoJCSAgICAgNzAwMCBcICAjIyBob3VzZWhvbGQsIHVuaW1w bGVtZW50ZWQKCQkgICAgIDBdOyAjIyB3aWRvd2VyLCB1bmltcGxlbWVudGVkLgogIAogIAogIHll eGVtcHRpb25hbW91bnRzKDIwMDMpPTMwNTA7CgoKCiAgCiAgCiAgCiAgCgogICMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMKICAjIyBORVhULCBXRSBETyBUSEUgV09SSy4KCiAgdGhpc251bXRheGJyYWNrZXRzPXlu dW10YXhicmFja2V0cyh5ZWFyKTsKICBpZiB0aGlzbnVtdGF4YnJhY2tldHM9PTAKICAgIGVycm9y KCJObyB0YXggaW5mb3JtYXRpb24gaXMgYXZhaWxhYmxlIGZvciB0aGUgZ2l2ZW4geWVhciBmb3Ig dGhlIGdpdmVuIHN0YXR1cy4gIikKICBlbmRpZgoKCiAgaWYgKHN0ZHA9PTEpOwogICAgZGVkdWN0 aW9uPXlkZWR1Y3Rpb25zKHllYXIsc3RhdHVzKTsKICBlbmRpZgogIAogIGV4ZW1wdGlvbmFtb3Vu dD1leGVtcHRpb25zKnlleGVtcHRpb25hbW91bnRzKHllYXIpOyAKICB0YXhkaXNwKCIiKTsKCiAg dGF4ZGlzcChbIlN1YnRyYWN0aW5nIGEgZGVkdWN0aW9uIG9mICIgbnVtMnN0cihkZWR1Y3Rpb24p ICIgZG9sbGFycy4iXSk7CiAgdGF4ZGlzcChbIlN1YnRyYWN0aW5nICIgbnVtMnN0cihleGVtcHRp b25zKSBcCgkiIGV4ZW1wdGlvbnMgdG90YWxsaW5nICIgbnVtMnN0cihleGVtcHRpb25hbW91bnQp ICIgZG9sbGFycy4iXSk7CiAgCiAgdGF4YWJsZWluY29tZT1pbmNvbWUtZGVkdWN0aW9uLWV4ZW1w dGlvbmFtb3VudDsKCiAgdGF4ZGlzcChbIlRoZSByZW1haW5pbmcgaXMgeW91ciBUQVhBQkxFIElO Q09NRTogIiBcCgludW0yc3RyKHRheGFibGVpbmNvbWUpXSk7CgogIGlmIHRheGFibGVpbmNvbWU8 MDsKICAgIHRheGRpc3AoIlJlc2V0dGluZyB0byB6ZXJvIik7CiAgICB0YXhhYmxlaW5jb21lPTA7 CiAgZW5kaWYKICBmZWR0YXg9dGF4X2Zyb21fcmF0ZXModGF4YWJsZWluY29tZSx5dGF4YnJhY2tl dHMoeWVhciwxOnRoaXNudW10YXhicmFja2V0cyxzdGF0dXMpLHl0YXhyYXRlcyh5ZWFyLDE6dGhp c251bXRheGJyYWNrZXRzKSk7CiAgCgogIHRheGRpc3AoIiIpOwogIHRheGRpc3AoIiIpOwoKICB0 YXhkaXNwKCIqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKiIpOwogIHRheGRpc3AoWyIqKiBGaWxpbmcgc3RhdHVz IHdhczogIiBudW0yc3RyKHN0YXR1cykgIjsgQUdJIHdhczogJCIgbnVtMnN0cihpbmNvbWUpXSk7 CiAgdGF4ZGlzcChbIioqIE51bWJlciBvZiBleGVtcHRpb25zIHdhczogIiBudW0yc3RyKGV4ZW1w dGlvbnMpXSk7CiAgaWYgc3RkcAogICAgdGF4ZGlzcChbIioqIFdlIHVzZWQgc3RhbmRhcmQgZGVk dWN0aW9uICgkIiBudW0yc3RyKGRlZHVjdGlvbikgIikuIl0pOwogIGVsc2UKICAgIHRheGRpc3Ao WyIqKiBJdGVtaXplZCBkZWR1Y3Rpb24gYW1vdW50IHdhcyAiIG51bTJzdHIoZGVkdWN0aW9uKSAi LiJdKTsKICBlbmRpZgogIHRheGRpc3AoWyIqKiBZT1VSIEVTVElNQVRFRCBGRURFUkFMIElOQ09N RSBUQVggRk9SIFlFQVIgIiBudW0yc3RyKHllYXIpICIgV09VTEQgQkU6ICJdKTsKICB0YXhkaXNw KFsiKiogJCIgbnVtMnN0cihmZWR0YXgpXSk7CiAgICAKICB0YXhkaXNwKCIqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKiIpOwoKICB0YXhkaXNwKCIiKTsKICB0YXhkaXNwKCIiKTsKCiAgaWYgKHN0ZHA9PTApJihk ZWR1Y3Rpb24+PTAuMSppbmNvbWUtMTAwMCkKICAgIHRheGRpc3AoIllvdXIgc3RhdGUgdGF4ZXMg YW5kIG90aGVyIGl0ZW1pemVkIGRlZHVjdGlvbnMgbWF5IGJlIHF1aXRlIGhpZ2guIikKICAgIHRh eGRpc3AoIlRoYXQgbWlnaHQgbWFrZSBpdGVtaXppbmcgeW91ciBkZWR1Y3Rpb25zIG1vcmUgYXBw cm9wcmlhdGUhIikKICAgIHRheGRpc3AoIkFsbCB0aGF0ICBkZXBlbmRzIG9uIHlvdXIgc3RhdGUg dGF4ICBmb3IgeW91ciBzdGF0ZSwgYW5kIikKICAgIHRheGRpc3AoInlvdXIgYWN0dWFsIHF1YWxp ZmllZCBleHBlbnNlcy4gIikKICAgIHRheGRpc3AoIiIpCiAgZW5kaWYKCgogIAogIGlmIChzdGF0 dXM9PTIpCiAgICByb3RoaXJhbGltaXQ9MTUwMDAwOwogIGVsc2VpZiAoc3RhdHVzPT0zKQogICAg cm90aGlyYWxpbWl0PTEwMDAwOwogIGVsc2UKICAgIHJvdGhpcmFsaW1pdD05MDAwMDsKICBlbmRp ZgoKCgoKCgogIGlmIChpbmNvbWU+PSgwLjkqcm90aGlyYWxpbWl0LTEzMDAwKSkKICAgIHRheGRp c3AoIiIpOwogICAgdGF4ZGlzcChbIkFsbCBleGNlc3MgbW9uZXkgc2hvdWxkIGFsd2F5cyBiZSBz dG9yZWQgYXMgUk9USCBJUkEncyB1cHRvIjsKCSAgICAgInRoZSBtYXhpbXVtIGFsbG93ZWQuICI7 CgkgICAgIFsiSG93ZXZlciwgYXMgaW5jb21lIGdyb3dzIGJleW9uZCAiIG51bTJzdHIocm90aGly YWxpbWl0KSAiLCB0aGF0IG1heGltdW0gZGVjcmVhc2VzLiJdOwoJICAgICAiWW91IHNlZW0gdG8g YmUgYXBwcm9hY2hpbmcgdGhhdCBsaW1pdC4gIgoJICAgICAiSWYgc28sIGNvbnNpZGVyIHJlZHVj aW5nIHlvdXIgQUdJIGJ5IGNvbnRyaWJ1dGluZyI7CgkgICAgICJtb3JlIHRvIHlvdXIgNDAxay4i CgkgICIiXAoJICBdKTsKICAgIHRheGRpc3AoIiIpOwogIGVuZGlmCgoKICBzb2NsaW1pdD04Nzkw MDsKCiAgaWYgKGluY29tZT49KDAuOSpzb2NsaW1pdCkpCiAgICB0YXhkaXNwKCIiKTsKICAgIHRh eGRpc3AoWyIiOwoJICAgICAiV0lUSCBUSElTIElOQ09NRSwgWU9VIE1BWSBTT09OIEJFIEVYQ0VF RElORyI7CgkgICAgICJUSEUgTUFYSU1VTSBDT05UUklCVVRJT04gTkVFREVEIEZPUiBTT0NJQUwg U0VDVVJJVFkiOwoJICAgICAiU0VFIGh0dHA6Ly93d3cuaXJzLmdvdi9mYXFzL2ZhcS1rdzIxMi5o dG1sIjsKCSAgICAgIk5vcm1hbGx5LCB5b3VyIGVtcGxveWVyIHdvdWxkIGhhdmUgbm90IGNvbnRy aWJ1dGVkIjsKCSAgICAgImFueXRoaW5nIGluIGV4Y2Vlc3MsIEJVVCBJRiBZT1UgSEVMRCA+IDEg Sk9CIjsKCSAgICAgImNoZWNrIHRvIHNlZSBpZiB5b3UgYXJlIG93ZWQgYSBzb2NpYWwgc2VjdXJp dHkgcmVmdW5kLiIKCSAgICAgIiIKCSAgICAgXSk7CiAgICB0YXhkaXNwKCIiKTsKICBlbmRpZiA7 CgoKICBpZiAoc3RhdHVzPT0zKQogICAgdGF4ZGlzcChbIk5vdGUgdGhhdCBJUkEgQ29udHJpYnV0 aW9uIG1heGltdW0gbGltaXRzIGdldCBzaWduaWZpY2FudGx5IjsKCSAgImxvd2VyZWQgZm9yIG1h cnJpZWQgZmlsaW5nIHNlcGFyYXRlbHkiXSk7CiAgICB0YXhkaXNwKCIiKTsKICBlbmRpZgogIAoK ICB0YXhkaXNwKCJMT1RTIE9GIFNIT1JUQ09NSU5HUy4gVFlQRSB0YXh3YXJuaW5nIGZvciBzdW1t YXJ5LiAiKTsKCgogIAplbmRmdW5jdGlvbgoK --=-=-= Content-Type: application/octet-stream Content-Disposition: attachment; filename=taxstate_ga.m Content-Transfer-Encoding: base64 ZnVuY3Rpb24gZmVkdGF4PXRheHN0YXRlX2dhKGluY29tZSxzdGF0dXMsZXhlbXB0aW9ucyx5ZWFy LGRlZHVjdGlvbik7CiAgIyMgQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA1IGFuZCBvbndhcmRzIEQu IEdvZWwKICAjIwogICMjIFRoaXMgZmlsZSBpcyBOT1QgKHlldCkgcGFydCBvZiBPY3RhdmUuCiAg IyMKICAjIyBUaGlzIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFu ZC9vciBtb2RpZnkgaXQKICAjIyB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1 YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQogICMjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k YXRpb247IGVpdGhlciB2ZXJzaW9uIDIsIG9yIChhdCB5b3VyIG9wdGlvbikKICAjIyBhbnkgbGF0 ZXIgdmVyc2lvbi4KICAjIwogICMjIFRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhl IGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKICAjIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFO VFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogICMjIE1FUkNIQU5UQUJJ TElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCiAg IyMgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgogICMjCiAgIyMgWW91 IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExp Y2Vuc2UKICAjIyBhbG9uZyB3aXRoIE9jdGF2ZTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuICBJZiBu b3QsIHdyaXRlIHRvIHRoZSBGcmVlCiAgIyMgU29mdHdhcmUgRm91bmRhdGlvbiwgNTkgVGVtcGxl IFBsYWNlIC0gU3VpdGUgMzMwLCBCb3N0b24sIE1BCiAgIyMgMDIxMTEtMTMwNywgVVNBLgogICMj CiAgIyMgLSotIHRleGluZm8gLSotIEBkZWZ0eXBlZm4ge0Z1bmN0aW9uIEZpbGV9IHt9IG5hbWVf b2ZfZnVuY3Rpb24KICAjIyAoQHZhcnthcmcxfSwgQHZhcnthcmcyfSkgRG9lcyBmb28gYmFyLiBJ ZiBAdmFye2FyZzF9IGlzIG5vdAogICMjIHNwZWNpZmllZCBpdCBkZWZhdWx0cyB0byAwLCA4IG9y IDE2IGRlcGVuZGluZyBvbiBLZXl3b3JkczogQGVuZAogICMjIGRlZnR5cGVmbiBAc2VlYWxzb3tm dW5jdGlvbjEsIGZ1bmN0aW9uMiwgZnVuY3Rpb24zfQogICMjCiAgIyMgQXV0aG9yOiBELiBHb2Vs IDxkZWVnb0BnbnVmYW5zLm9yZz4gQ3JlYXRlZDogMTggRGVjIDIwMDQKICAjIyBBZGFwdGVkLUJ5 OgogICMjCiAgIyMgRnVuY3Rpb24gZmVkdGF4PXRheChpbmNvbWUsc3RhdHVzLGV4ZW1wdGlvbnMs eWVhcixkZWR1Y3Rpb24pOwogICMjCiAgIyMgRmlndXJlIG91dCB5b3VyIGFwcHJveGltYXRlIFVT IGZlZGVyYWwgaW5jb21lIHRheCBmb3IgdGhlIGdpdmVuCiAgIyMgWUVBUiwgYXNzdW1pbmcgc3Rh bmRhcmQgZGVkdWN0aW9uLCB1bmxlc3MgYW4gaXRlbWl6ZWQgREVEVUNUSU9OIGlzCiAgIyMgc3Bl Y2lmaWVkLiBTVEFUVVMgY2FuIGJlIHNwZWNpZmllZCBhcyAic2luZ2xlIiBvciAxLCAibWFycmll ZGpvaW50IgogICMjIG9yIDIsICJtYXJyaWVkc2VwYXJhdGUiIG9yIDMsICJoZWFkaG91c2Vob2xk IiBvciA0LAogICMjICJxdWFsaWZ5aW5nd2lkb3dlcndpdGhjaGlsZCIgb3IgNS4gIFRISVMgSVMg SlVTVCBBIEZVTiBDQUxDVUxBVElPTiwKICAjIyBUSEUgQUNUVUFMIFRBWCBTSE9VTEQgQkUgRklH VVJFRCBPVVQgRlJPTSBJUlMnUyBUQVggVEFCTEVTLiAgVGhlCiAgIyMgbnVtYmVyIG9mIEVYRU1Q VElPTlMgY2FuIGJlIHNwZWNpZmllZCwgZWxzZSBkZWZhdWx0cyB3aWxsIGJlCiAgIyMgYXNzdW1l ZC4gSWYgeW91IHNwZWNpZnkgbmVnYXRpdmUgYW1vdW50IGZvciBleGVtcHRpb25zLCB3ZSB3aWxs CiAgIyMgY2hhbmdlIHRoYXQgYmFjayB0byBhIGRlZmF1bHQuIFBlb3BsZSBvbGRlciB0aGFuIDY1 LCBibGluZCwgdGhvc2UKICAjIyB3aXRoIGRlcGVuZGVudHMsIGV0Yy4gc2hvdWxkIGZpZ3VyZSBv dXQgdGhlaXIgYWN0dWFsIGV4ZW1wdGlvbnMgYW5kCiAgIyMgc3BlY2lmeSBoZXJlLiAgVG8gcmVx dWVzdCBzdGFuZGFyZCBkZWR1Y3Rpb24sIGVpdGhlciBsZWF2ZSB0aGUKICAjIyBERURVQ1RJT04g ZmllbGQgYmxhbmssIG9yIHNwZWNpZnkgYSBuZWdhdGl2ZSBhbW91bnQuIE5vdGUgdGhhdAogICMj IElOQ09NRSB0byBiZSBzcGVjaWZpZWQgaXMgTk9UIHRoZSBuZXQgaW5jb21lLCBidXQgdGhlIEFE SlVTVEVECiAgIyMgR1JPU1MgSU5DT01FIChBR0kpIC0tIHRoZSBpbmNvbWUgdGhhdCByZXN1bHRz IGZyb20gYWRkaW5nIGFsbCB5b3VyCiAgIyMgc291cmNlcyBvZiBpbmNvbWUsIGFuZCByZW1vdmlu ZyBhbGwgbm9uLXRheGFibGUgaW5jb21lcywgc3VjaCBhcwogICMjIElSQSBkZWR1Y3Rpb25zLCBl dGMuLCBvbmUgaGFsZiBvZiBzZWxmLWVtcGxveW1lbnQgdGF4LCBldGMuICBUaGlzCiAgIyMgaXMg dGhlIElOQ09NRSB0aGF0IHdvdWxkIHR5cGljYWxseSByZXN1bHQgb24gdGhlIGxhc3QgbGluZSBv ZiB5b3VyCiAgIyMgMTA0MC4gQ3VycmVudGx5LCB0aGlzIHdvcmtzIGZvciB5ZWFycyAyMDAzIGFu ZCAyMDA0IGZvciBmaWxpbmcKICAjIyBzdGF0dXNlcyAxLS0zLCBlbHNlIGl0IHNpZ25hbHMgYW4g ZXJyb3IuCiAgIyMKICAjIyBPbmNlIGFnYWluLCBmb3IgYW55IHF1YW50aXR5LCB5b3UgY2FuIGZv cmNlIGEgZGVmYXVsdCBhc3N1bXB0aW9uIGJ5CiAgIyMgc3VwcGx5aW5nIGEgbmVnYXRpdmUgdmFs dWUuICBUaGUgZGVmYXVsdCBpcyB1c3VhbGx5IGNhbGN1bGF0ZWQKICAjIyBzb21ld2hhdCAic21h cnRseSIuCiAgIyMKICAjIyBUTyBVU0UgREVGQVVMVFMsIFNQRUNJRlkgTkVHQVRJVkUgTlVNQkVS UywgT1IgU1BFQ0lGWSAiIi4KCiAgIyMgT25lIHNpbmdsZSBkYXRhIHBvaW50IGNoZWNrIHNvIGZh cjogTXkgb3duIHRheCBmb3IgMjAwNCAobWFycmllZAogICMjIGZpbGVkIGpvaW50bHkpLiAKCiAg IyMgaHR0cDovL3RheGd1cnUub3JnL2luY29tZXRheC9SYXRlcy9yYXRlcy5odG0KICBnbG9iYWwg dGF4dmVyYm9zZXA9MTsKICBnbG9iYWwgdGF4X3VybD0iaHR0cDovL2dudWZhbnMubmV0L35kZWVn by9wdWIvb2N0YXZlL3RheC8iOwoKIAogIHRheGRpc3AoIkxPVFMgT0YgU0hPUlRDT01JTkdTLiBU WVBFIHRheHdhcm5pbmcgZm9yIHN1bW1hcnkuICIpOwoKCiAgaWYgKG5hcmdpbjwxKQogICAgaW5j b21lPS0xOwogIGVuZGlmCgogIGlmIHN0cmNtcChpbmNvbWUsIiIpOwogICAgaW5jb21lPS0xOwog IGVuZGlmCgogIGlmIChpbmNvbWU8MCk7CiAgICB0YXhkaXNwKCJObyBpbmNvbWUgc3BlY2lmaWVk LiAgQVNTVU1JTkcgMTAwMDAwIik7CiAgICBpbmNvbWU9MTAwMDAwOwogIGVuZGlmCgoKICBpZiAo bmFyZ2luPDIpOwogICAgc3RhdHVzPS0xOwogIGVuZGlmCgoKICBpZiBzdHJjbXAoc3RhdHVzLCIi KTsKICAgIHN0YXR1cz0tMTsKICBlbmRpZgoKCgoKCiAgaWYgaXNzdHIoc3RhdHVzKTsKICAgIGlm IHN0cmNtcChzdGF0dXMsInNpbmdsZSIpOwogICAgICBzdGF0dXM9MTsKICAgIGVsc2VpZgogICAg ICBzdHJjbXAoc3RhdHVzLCJtYXJyaWVkam9pbnQiKTsKICAgICAgc3RhdHVzPTI7CiAgICBlbHNl aWYKICAgICAgc3RyY21wKHN0YXR1cywibWFycmllZCIpOwogICAgICBzdGF0dXM9MjsKICAgIGVs c2VpZgogICAgICBzdHJjbXAoc3RhdHVzLCJtYXJyaWVkc2VwYXJhdGUiKTsKICAgICAgc3RhdHVz PTM7CiAgICBlbHNlaWYKICAgICAgc3RyY21wKHN0YXR1cywiaGVhZGhvdXNlaG9sZCIpOwogICAg ICBzdGF0dXM9NDsKICAgIGVsc2VpZgogICAgICBzdHJjbXAoc3RhdHVzLCJxdWFsaWZ5aW5nd2lk b3dlcndpdGhjaGlsZCIpOwogICAgICBzdGF0dXM9NTsKICAgIGVsc2UKICAgICAgKGVycm9yKCJV bmtub3duIHN0YXR1cyIpKQogICAgZW5kaWYKICBlbmRpZgoKICAKICBpZiBzdGF0dXM8MDsKICAg IHRheGRpc3AoIk5vIGZpbGluZyBzdGF0dXMgc3BlY2lmaWVkLiAgQVNTVU1JTkcgU0lOR0xFIik7 CiAgICBzdGF0dXM9MTsKICBlbmRpZgogIAoKCgogIGlmIChuYXJnaW48Myk7CiAgICBleGVtcHRp b25zPS0xOwogIGVuZGlmCgoKICBpZiBzdHJjbXAoZXhlbXB0aW9ucywiIik7CiAgICBleGVtcHRp b25zPS0xOwogIGVuZGlmCiAgCgoKICBpZiBleGVtcHRpb25zPDA7CiAgICB0YXhkaXNwKCJOdW1i ZXIgb2YgZXhlbXB0aW9ucyB3YXMgbm90IHNwZWNpZmllZC4gQXNzdW1pbmcgYSBkZWZhdWx0OiIp OwogICAgaWYgKHN0YXR1cz09MSl8KHN0YXR1cz09MykKICAgICAgZXhlbXB0aW9ucz0xOwogICAg ZWxzZWlmIChzdGF0dXM9PTIpfChzdGF0dXM9PTQpfChzdGF0dXM9PTUpOwogICAgICBleGVtcHRp b25zPTI7CiAgICBlbHNlCiAgICAgIHN0YXR1cwogICAgICBlcnJvcigiU2hvdWxkIG5vdCBoYXZl IHJlYWNoZWQgaGVyZS4iKTsKICAgIGVuZGlmOwogICAgdGF4ZGlzcChbIk5VTUJFUiBPRiBFWEVN UFRJT05TIFRBS0VOIFRPIEJFICIgbnVtMnN0cihleGVtcHRpb25zKV0pOwogIGVuZGlmCgoKCiAg aWYgKG5hcmdpbjw0KTsKICAgIHllYXI9LTE7CiAgZW5kaWYKCiAgCiAgaWYgeWVhcjwwOwogICAg dGF4ZGlzcCgiTm8geWVhciBzcGVjaWZpZWQuIEFzc3VtaW5nIGEgZGVmYXVsdDoiKTsKICAgICMj IExldCdzIGdldCB0aGUgbW9zdCByZWxldmFudCB0YXggeWVhci4gCiAgICAjIyBJZiBpdCBpcyBi ZWZvcmUgQXByaWwgMTUsIGdldCBsYXN0IHllYXIuIAogICAgY3VycnRpbWV2ZWM9Y2xvY2s7CiAg ICBjdXJyeWVhcj1jdXJydGltZXZlYygxKTsKICAgIGN1cnJtb250aD1jdXJydGltZXZlYygyKTsK ICAgIGN1cnJkYXRlPWNsb2NrKDMpOwogICAgaWYgKGN1cnJtb250aD40KXwoKGN1cnJtb250aD00 KSYoY3VycmRhdGU+MTUpKQogICAgICB5ZWFyPWN1cnJ5ZWFyOwogICAgZWxzZQogICAgICB5ZWFy PWN1cnJ5ZWFyLTE7CiAgICBlbmRpZjsKICAgIHRheGRpc3AoWyJZRUFSIEFTU1VNRUQgVE8gQkU6 ICIgbnVtMnN0cih5ZWFyKV0pOwogIGVuZGlmCgoKICBpZiBzdHJjbXAoeWVhciwiIik7CiAgICB5 ZWFyPS0xOwogIGVuZGlmCgoKCiAgaWYgKG5hcmdpbjw1KTsKICAgIGRlZHVjdGlvbj0tMTsKICBl bmRpZgoKCiAgaWYgc3RyY21wKGRlZHVjdGlvbiwiIik7CiAgICBkZWR1Y3Rpb249LTE7CiAgZW5k aWYKCgogIGlmIGRlZHVjdGlvbjwwOwogICAgc3RkcD0xOwogICAgdGF4ZGlzcCgiV2lsbCB1c2Ug c3RhbmRhcmQgZGVkdWN0aW9uLiIpOwogIGVsc2UKICAgIHN0ZHA9MDsKICBlbmRpZgoKICB0YXhk aXNwKCIiKTsKCgoKICBpZiAoc3RhdHVzPjIpCiAgICBlcnJvcigiVGhpcyBmaWxpbmcgc3RhdHVz IGlzIG5vdCAoeWV0KSBpbXBsZW1lbnRlZCIpCiAgZW5kaWYKICAKICAKICAKICBudW15ZWFycz0z MDAwOwoKCiAgIyMgQWxsb3cgdXAgdG8gMjAgdGF4IGJyYWNrZXRzLCBhbmQgNSBmaWxpbmcgc3Rh dHVzZXMgZm9yIGVhY2ggeWVhci4KICAjIyBUaGUgeSBwcmVmaXggPT4geWVhci4gCiAgeXRheGJy YWNrZXRzPXplcm9zKG51bXllYXJzLDIwLDUpOwogIHl0YXhyYXRlcz16ZXJvcyhudW15ZWFycywy MCw1KTsKICB5bnVtdGF4YnJhY2tldHM9emVyb3MobnVteWVhcnMsMSk7CiAgeWRlZHVjdGlvbnM9 emVyb3MobnVteWVhcnMsNSk7CiAgeWV4ZW1wdGlvbmFtb3VudHM9emVyb3MobnVteWVhcnMsMSk7 CgogICMjSWYgIG51bXRheGJyYWNrZXRzIGZvciBhIGNlcnRhaW4geWVhciBpcyB6ZXJvLCB0aGF0 IG1lYW5zIHRoYXQgd2UKICAjI2hhdmUgbm8gaW5mbyBmb3IgdGhhdCB5ZWFyLiAKCgogICMjIHRh eHJhdGVzKGkseCx4KSBzcGVjaWZ5IHRoZSByYXRlcyBmb3IgdGhlIGFtb3VudCBvZiBtb25leSBi ZWluZwogICMjIGVhcm5lZCB0aGF0IGxpZXMgYmV0d2VlbiB0YXhicmFja2V0cyhpLHgseCkgYW5k CiAgIyMgdGF4YnJhY2tldHMoaSsxLHgseCksIHdoZXJlIGkgY2FuIGdvIHVwIHRvIG51bXRheGJy YWNrZXRzKHgpIGZvcgogICMjIHRoZSBjdXJyZW50IHllYXIuCgogICMjIElmLCBieSBhbnkgY2hh bmNlLCB0aGUgbnVtYmVyIG9mIHRheCBicmFja2V0cyBhcmUgZGlmZmVyZW50IGZvcgogICMjIGRp ZmZlcmVudCBmaWxpbmcgc3RhdHVzZXMsIHRoZXkgY2FuIGFsd2F5cyBiZSBtYWRlIGVxdWFsIGFn YWluIGJ5CiAgIyMgc3BlY2lmeWluZyBhIG51bGwgdGF4IGJyYWNrZXQuIAogIAogICMjIFRodXMs IHRheGJyYWNrZXRzKDAseCx4KSBpcyBhbHdheXMgemVyby4gCgoKICAjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj CiAgIyMgTkVYVCwgV0UgRklMTCBJTiBTT01FIFRBWCBJTkZPUk1BVElPTiBGT1IgVkFSSU9VUyBZ RUFSUzogCiAgCiAgIyMgRm9yIGluZm8gb24gdGhpcywgZ29vZ2xlIGZvciB0YXggYnJhY2tldHMs IG9yIHNlYXJjaCBJUlMgc2l0ZSBmb3IKICAjIyB0YXggc2NoZWR1bGVzLiAKICAjIyBGb3Igc3Rh bmRhcmQgZGVkdWN0aW9uLCBzZWUgaHR0cDovL3d3dy4xMDQwLmNvbS9zdGRkZWR1Y3QwNC5jZm0K CgoKCgoKCgoKICAKICAKCgoKCgogICMjIDIwMDQ6IAogICMjIFNlZSBwZy4gMTQgb2YgdGhlIGlu c3RydWN0aW9uIGJvb2tsZXQtLSBsaW5rZWQgZnJvbQogICMjIGh0dHA6Ly93d3cuZXRheC5kb3Iu Z2EuZ292L2luY3RheC9JbmRHZW5lcmFsSW5mby5zaHRtbAogICMjIGh0dHA6Ly9zd3ouc2FsYXJ5 LmNvbS9zYWxhcnl3aXphcmQvbGF5b3V0aHRtbHMvc3d6bF9zdGF0ZXRheHJhdGVfR0EuaHRtbAog ICMjIGh0dHA6Ly90YXhndXJ1Lm9yZy9pbmNvbWV0YXgvUmF0ZXMvMTA0MC0wNC5odG0KICAjIyBo dHRwOi8vd3d3LnRheGVzaW5kZXB0aC5jb20vc3RhdGUtdGF4ZXMtR2VvcmdpYS5odG1sCgogIHlu dW10YXhicmFja2V0cygyMDA0KT02OwogICMjIHNpbmdsZTogIAogIHl0YXhicmFja2V0cygyMDA0 LDE6NiwxKT1bMCA3NTAgMjI1MCAzNzUwIDUyNTAgNzAwMF07CiAgeXRheHJhdGVzKDIwMDQsMTo2 LDEpPVsxIDIgMyA0IDUgNl07CgoKICAjIyBtYXJyaWVkOiAgCiAgeXRheGJyYWNrZXRzKDIwMDQs MTo2LDIpPVswIDEwMDAgMzAwMCA1MDAwIDcwMDAgMTAwMDBdOyAKICB5dGF4cmF0ZXMoMjAwNCwx OjYsMik9WzEgMiAzIDQgNSA2XTsKCgoKICAjIyBtYXJyaWVkIGZpbGluZyBzZXBhcmF0ZWx5OiAg CiAgeXRheGJyYWNrZXRzKDIwMDQsMTo2LDMpPVswIDUwMCAxNTAwIDI1MDAgMzUwMCA1MDAwXTsK ICB5dGF4cmF0ZXMoMjAwNCwxOjYsMyk9WzEgMiAzIDQgNSA2XTsKCgogIHlkZWR1Y3Rpb25zKDIw MDQsOik9WzIzMDAgXCAgIyBzaW5nbGUKCQkgICAgIDMwMDAgXCAgIyMgbWFycmllZCAKCQkgICAg ICAgMTUwMCBcICAjIyBtYXJyaWVkLCBzZXBhcmF0ZQoJCSAgICAgICAtMSBcICAjIyBob3VzZWhv bGQsIHVuaW1wbGVtZW50ZWQKCQkgICAgICAgLTFdOyAjIyB3aWRvd2VyLCB1bmltcGxlbWVudGVk LgogIAogIAogIHlleGVtcHRpb25hbW91bnRzKDIwMDQpPTI3MDA7CiAgIyMgdGhhdCB3YXMganVz dCBmb3Igc2VsZiBhbmQgc3BvdXNlLiAKICAjIyBjaGlsZCBleGVtcHRpb24gc2hvdWxkIGJlIDMw MDAsIG5vdCAyNzAwIQoKICAKICAKICAKICAKCiAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogICMjIE5FWFQs IFdFIERPIFRIRSBXT1JLLgoKICB0aGlzbnVtdGF4YnJhY2tldHM9eW51bXRheGJyYWNrZXRzKHll YXIpOwogIGlmIHRoaXNudW10YXhicmFja2V0cz09MAogICAgZXJyb3IoIk5vIHRheCBpbmZvcm1h dGlvbiBpcyBhdmFpbGFibGUgZm9yIHRoZSBnaXZlbiB5ZWFyIGZvciB0aGUgZ2l2ZW4gc3RhdHVz LiAiKQogIGVuZGlmCgoKICBpZiAoc3RkcD09MSk7CiAgICBkZWR1Y3Rpb249eWRlZHVjdGlvbnMo eWVhcixzdGF0dXMpOwogIGVuZGlmCiAgCiAgZXhlbXB0aW9uYW1vdW50PWV4ZW1wdGlvbnMqeWV4 ZW1wdGlvbmFtb3VudHMoeWVhcik7IAogIHRheGRpc3AoIiIpOwoKICB0YXhkaXNwKFsiU3VidHJh Y3RpbmcgYSBkZWR1Y3Rpb24gb2YgIiBudW0yc3RyKGRlZHVjdGlvbikgIiBkb2xsYXJzLiJdKTsK ICB0YXhkaXNwKFsiU3VidHJhY3RpbmcgIiBudW0yc3RyKGV4ZW1wdGlvbnMpIFwKCSIgZXhlbXB0 aW9ucyB0b3RhbGxpbmcgIiBudW0yc3RyKGV4ZW1wdGlvbmFtb3VudCkgIiBkb2xsYXJzLiJdKTsK ICAKICB0YXhhYmxlaW5jb21lPWluY29tZS1kZWR1Y3Rpb24tZXhlbXB0aW9uYW1vdW50OwoKICB0 YXhkaXNwKFsiVGhlIHJlbWFpbmluZyBpcyB5b3VyIFRBWEFCTEUgSU5DT01FOiAiIFwKCW51bTJz dHIodGF4YWJsZWluY29tZSldKTsKCiAgaWYgdGF4YWJsZWluY29tZTwwOwogICAgdGF4ZGlzcCgi UmVzZXR0aW5nIHRvIHplcm8iKTsKICAgIHRheGFibGVpbmNvbWU9MDsKICBlbmRpZgogIGZlZHRh eD10YXhfZnJvbV9yYXRlcyh0YXhhYmxlaW5jb21lLHl0YXhicmFja2V0cyh5ZWFyLDE6dGhpc251 bXRheGJyYWNrZXRzLHN0YXR1cykseXRheHJhdGVzKHllYXIsMTp0aGlzbnVtdGF4YnJhY2tldHMp KTsKICAKCiAgdGF4ZGlzcCgiIik7CiAgdGF4ZGlzcCgiIik7CgogIHRheGRpc3AoIioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqIik7CiAgdGF4ZGlzcChbIioqIEZpbGluZyBzdGF0dXMgd2FzOiAiIG51bTJzdHIo c3RhdHVzKSAiOyBBR0kgd2FzOiAkIiBudW0yc3RyKGluY29tZSldKTsKICB0YXhkaXNwKFsiKiog TnVtYmVyIG9mIGV4ZW1wdGlvbnMgd2FzOiAiIG51bTJzdHIoZXhlbXB0aW9ucyldKTsKICBpZiBz dGRwCiAgICB0YXhkaXNwKFsiKiogV2UgdXNlZCBzdGFuZGFyZCBkZWR1Y3Rpb24gKCQiIG51bTJz dHIoZGVkdWN0aW9uKSAiKS4iXSk7CiAgZWxzZQogICAgdGF4ZGlzcChbIioqIEl0ZW1pemVkIGRl ZHVjdGlvbiBhbW91bnQgd2FzICIgbnVtMnN0cihkZWR1Y3Rpb24pICIuIl0pOwogIGVuZGlmCiAg dGF4ZGlzcChbIioqIFlPVVIgRVNUSU1BVEVEIEZFREVSQUwgSU5DT01FIFRBWCBGT1IgWUVBUiAi IG51bTJzdHIoeWVhcikgIiBXT1VMRCBCRTogIl0pOwogIHRheGRpc3AoWyIqKiAkIiBudW0yc3Ry KGZlZHRheCldKTsKICAgIAogIHRheGRpc3AoIioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIik7CgogIHRheGRp c3AoIiIpOwogIHRheGRpc3AoIiIpOwoKCgogIAogIGlmIChzdGF0dXM9PTIpCiAgICByb3RoaXJh bGltaXQ9MTUwMDAwOwogIGVsc2VpZiAoc3RhdHVzPT0zKQogICAgcm90aGlyYWxpbWl0PTEwMDAw OwogIGVsc2UKICAgIHJvdGhpcmFsaW1pdD05MDAwMDsKICBlbmRpZgoKCgoKCiAgdGF4ZGlzcCgi TE9UUyBPRiBTSE9SVENPTUlOR1MuIFRZUEUgdGF4d2FybmluZyBmb3Igc3VtbWFyeS4gIik7CgoK ZW5kZnVuY3Rpb24KCg== --=-=-= Content-Type: application/octet-stream Content-Disposition: attachment; filename=taxdisp.m function rett=taxdisp(arg) global taxverbosep=1; if taxverbosep; disp(arg) endif rett=arg; endfunction --=-=-= Content-Type: application/octet-stream Content-Disposition: attachment; filename=taxwarning.m Content-Transfer-Encoding: base64 ZnVuY3Rpb24gd2FybmluZz10YXh3YXJuaW5nKCk7CiAgZ2xvYmFsIHRheHZlcmJvc2VwPTE7CiAg IyMgUHJpbnQgb3V0IGEgbm8gd2FycmFudHkgdGF4IHdhcm5pbmcuICAgCiAgIyMKICAjIyBDb3B5 cmlnaHQgKEMpIDIwMDQgYW5kIG9ud2FyZHMgRC4gR29lbAogICMjIFRoaXMgZmlsZSBpcyBOT1Qg KHlldCkgcGFydCBvZiBPY3RhdmUuCiAgIyMKICAjIyBUaGlzIGlzIGZyZWUgc29mdHdhcmU7IHlv dSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQKICAjIyB1bmRlciB0aGUgdGVy bXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQogICMj IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIsIG9yIChhdCB5 b3VyIG9wdGlvbikKICAjIyBhbnkgbGF0ZXIgdmVyc2lvbi4KICAjIyBUaGlzIHNvZnR3YXJlIGlz IGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dAogICMj IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkg b2YKICAjIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP U0UuICBTZWUgdGhlIEdOVQogICMjIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0 YWlscy4KICAjIwogICMjIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdO VSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiAgIyMgYWxvbmcgd2l0aCBPY3RhdmU7IHNlZSB0aGUg ZmlsZSBDT1BZSU5HLiAgSWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZQogICMjIFNvZnR3YXJlIEZv dW5kYXRpb24sIDU5IFRlbXBsZSBQbGFjZSAtIFN1aXRlIDMzMCwgQm9zdG9uLCBNQQogICMjIDAy MTExLTEzMDcsIFVTQS4KICAjIwogICMjIC0qLSB0ZXhpbmZvIC0qLQogICMjIEBkZWZ0eXBlZm4g e0Z1bmN0aW9uIEZpbGV9IHt9IG5hbWVfb2ZfZnVuY3Rpb24gKEB2YXJ7YXJnMX0sIEB2YXJ7YXJn Mn0pCiAgIyMgRG9lcyBmb28gYmFyLiAKICAjIyBJZiBAdmFye2FyZzF9IGlzIG5vdCBzcGVjaWZp ZWQgaXQgZGVmYXVsdHMgdG8gMCwgOCBvciAxNiBkZXBlbmRpbmcgb24gCiAgIyMgS2V5d29yZHM6 IAogICMjIEBlbmQgZGVmdHlwZWZuCiAgIyMgQHNlZWFsc297ZnVuY3Rpb24xLCBmdW5jdGlvbjIs IGZ1bmN0aW9uM30KICAjIwogICMjIEF1dGhvcjogRC4gR29lbCA8ZGVlZ29AZ251ZmFucy5vcmc+ CiAgIyMgQ3JlYXRlZDogMTggRGVjIDIwMDQKICAjIyBBZGFwdGVkLUJ5OiAKCiAgdGF4ZGlzcCgi Iik7CiAgd2FybmluZz0gXAogICAgICBbXAogICAgICAgIiIKICAgICAgICItLS0tLS0tLS0tLS0t LS0tLS0tLS0gV0FSTklORyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0iCiAgICAgICAi VEhJUyBTT0ZUV0FSRSBJUyBOT1QgVE8gQkUgVVNFRCBGT1IgQU5ZIFNPUlQgT0YgVEFYIEFEVklD RS4iCiAgICAgICAiT1IgTEVHQUwgQURWSUNFLCBPUiBBTlkgT1RIRVIgQURWSUNFIgogICAgICAg IlRISVMgU09GVFdBUkUgSVMgSlVTVCBBIEZVTiBPUEVOIFNPVVJDRSBIT0JCWS4iCiAgICAgICAi Rk9SIFBST1BFUiBUQVggSEVMUCwgUExFQVNFIENPTlNVTFQgQSBUQVggUFJPRkVTU0lPTkFMLiIK ICAgICAgICJUaGlzIGlzIGFuIGluLWRldmVsb3BtZW50IHNvZnR3YXJlLCBwcm9iYWJseSB2ZXJ5 IGJ1Z2d5LiIKICAgICAgICJFdmVuIGlmIHRoaXMgc29mdHdhcmUgV0VSRSBjb21wbGV0ZWx5IGJ1 Zy1mcmVlLCBpdCBpcyIKICAgICAgICJzdGlsbCBJTkNPUlJFQ1QgLS0tICIKICAgICAgICJUaGUg Y29ycmVjdCB0YXggaXMgdGhlIHJvdW5kZWQgZmlndXJlIG9idGFpbmVkIGZyb20gdGhlIHRheC10 YWJsZXMgcmF0aGVyIHRoYW4iCiAgICAgICAiZnJvbSBmb3JtdWxhcywgYXMgaXMgZG9uZSBoZXJl LiIKICAgICAgICIiCiAgICAgICAiRm9yIGhpZ2ggaW5jb21lcywgdGhlIHN0YW5kYXJkIGRlZHVj dGlvbnMgcHJvYmFibHkgcGhhc2Ugb3V0LiBUaGlzIgogICAgICAgInNvZnR3YXJlIERPRVMgTk9U IGltcGxlbWVudCB0aGF0IHlldC4gIgogICAgICAgIkZpbHRoeSByaWNoIHNob3VsZCBsaWtlbHkg YmUgaXRlbWl6aW5nIGluIGFueSBjYXNlLi4iCiAgICAgICAiRm9yIGhpZ2ggaW5jb21lcywgdGhl IGV4ZW1wdGlvbiBhbW91bnRzIGFjdHVhbGx5IHBoYXNlIG91dC4gVGhpcyIKICAgICAgICJzb2Z0 d2FyZSBET0VTIE5PVCBpbXBsZW1lbnQgdGhhdCB5ZXQuICIKICAgICAgICJUaGlzIHNvZnR3YXJl IERPRVMgTk9UIGNvbnNpZGVyIHRoZSBBbHRlcm5hdGUgTWluaW11bSBUYXguIgogICAgICAgIlRo aXMgc29mdHdhcmUgRE9FUyBOT1QgZXZhbHVhdGUgdGhpbmdzIGxpa2UgcG9zc2liaWxpdHkgb2Yi CiAgICAgICAiRWFybmVkIEluY29tZSAgVGF4LCBIb3BlL0xpZmV0aW1lIExlYXJuaW5nIENyZWRp dCwgZXRjLiAiCiAgICAgICAiVGhpcyBzb2Z0d2FyZSBET0VTIE5PVCBkZWFsIHdpdGggbm9ucmVz aWRlbnRzIG9yIHBhcnRpYWwgeWVhciIKICAgICAgICJyZXNpZGVudCBzdGF0dXNlcy4gIgogICAg ICAgIklmIG92ZXIgNjUgb3IgYmxpbmQsIHlvdSB3b3VsZCBnZXQgYSBoaWdoZXIgc3RhbmRhcmQg ZGVkdWN0aW9uLiAiCiAgICAgICAiVGhpcyBzb2Z0d2FyZSBET0VTIE5PVCBpbXBsZW1lbnQgdGhh dC4gIgogICAgICAgIkluY29tZSBmcm9tIGRpdmlkZW5kcyBhbmQgbG9uZy10ZXJtIGNhcGl0YWwg Z2FpbnMgaXMgdGF4ZWQgYXQgbG93ZXIgYnJhY2tldHMsIgogICAgICAgImJ1dCBOT1QgSU1QTEVN RU5URUQgaGVyZS4gIgogICAgICAgIkFsbW9zdCBhbnl0aGluZyBlbHNlIG90aGVyIHRoYW4gdGhl IHNpbXBsZXN0IHN0cmFpZ2h0Zm9yd2FyZCBmb3JtdWxhaWMiCiAgICAgICAiY29tcHV0YXRpb24g aXMgTk9UIElNUExFTUVOVEVEIGhlcmUuICIKICAgICAgICItLS0tLS0tLS0tLS0tLS0tLS0tLS0g RU5EIE9GIFdBUk5JTkcgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0iCiAgICAgICAiSSBkaWQgbm90 IGNhcmUgdG8gZmlsbCBpbiB0aGUgYnJhY2tldHMgZm9yIGhlYWQtb2YtaG91c2Vob2xkIgogICAg ICAgIm9yIGZvciBzdGF0ZXMgb3RoZXIgdGhhbiBtaW5lLiAiCiAgICAgICAiQnV0IGl0J3MgdHJp dmlhbCBhbmQgd2lsbCBnbGFkbHkgZmlsbCBpbiBicmFja2V0cyBmb3IgeW91ciBjYXNlIHVwb24g cmVxdWVzdC4iCiAgICAgICAiSWYgc28sIGVtYWlsIG1lIGF0IGRlZWdvQGdudWZhbnMub3JnIgog ICAgICAgXTsKCgoKICB0YXhkaXNwKHdhcm5pbmcpOwoKICB0YXhkaXNwKCIiKTsKICBpZiBuYXJn b3V0PDE7CiAgIHdhcm5pbmc9IiI7CiBlbmRpZgoKZW5kZnVuY3Rpb24K --=-=-= Content-Type: application/octet-stream Content-Disposition: attachment; filename=tax_married_analysis.m Content-Transfer-Encoding: base64 ZnVuY3Rpb24gdGF4cmF0aW89dGF4X21hcnJpZWRfYW5hbHlzaXM7CiAgCiAgZ2xvYmFsIHRheHZl cmJvc2VwOwoKICB0YXh3YXJuaW5nOwoKICB0YXh2ZXJib3NlcD0wOwoKICB1bndpbmRfcHJvdGVj dAogICAgZmlndXJlKDEpOwogICAgCiAgICAKICAgIGluY29tZXJhbmdlPTEwMDAwOjIwMDAwOjIw MDAwMDsKICAgICMjaW5jb21lcmFuZ2U9MTAwMDA6NjAwMDA6MjAwMDAwOwogICAgcGVyY3Jhbmdl PTA6MTA6MTAwOwogICAgIyNwZXJjcmFuZ2U9MDoyMDoyMDsKICAgIGlsZW49bGVuZ3RoKGluY29t ZXJhbmdlKTsKICAgIHBsZW49bGVuZ3RoKHBlcmNyYW5nZSk7CiAgICBbaWkgcHBdPW1lc2hkb20o aW5jb21lcmFuZ2UscGVyY3JhbmdlKTsKICAgIHRheHJhdGlvPXplcm9zKHBsZW4saWxlbik7Cgog ICAgZGlzcCgiIik7CiAgICBkaXNwKCJUaGlzIGxvb3Agd2lsbCB0YWtlIGEgd2hpbGUsIHBsZWFz ZSB3YWl0LiAiKTsKCiAgICBmb3IgaWN0cj0xOmlsZW47CiAgICAgIGluY29tZT1pbmNvbWVyYW5n ZShpY3RyKTsKICAgICAgdGF4bm9ybWFsPXRheChpbmNvbWUsMik7CiAgICAgIGZvciBwY3RyPTE6 cGxlbjsKCglwZXJjPXBlcmNyYW5nZShwY3RyKTsKCSMjW251bTJzdHIoaW5jb21lKSAiICIgbnVt MnN0cihwZXJjKSAiJSJdCglpMT1pbmNvbWUqcGVyYy8xMDA7CglpMj1pbmNvbWUtaTE7Cgl0YXhz ZXA9dGF4KGkxLDMpK3RheChpMiwzKTsKCXJhdGlvdGhpcz10YXhub3JtYWwvKHRheHNlcCk7Cgl0 YXhyYXRpbyhwY3RyLGljdHIpPXJhdGlvdGhpczsKCWRpc3AoW251bTJzdHIoaW5jb21lKSAiICIg IG51bTJzdHIocGVyYykgIiUgIiAgbnVtMnN0cihyYXRpb3RoaXMpXSk7CglkaXNwKCIiKTsKICAg ICAgZW5kZm9yOwogICAgZW5kZm9yOwoKICAgIG1lc2goaWkscHAsdGF4cmF0aW8pOwogICAgdGl0 bGUoIlBlcmNlbnRhZ2UgbGVzcyB0YXggcGFpZCB3aGVuIGZpbGluZyBqb2ludGx5LiIpOwoKICAg IAoKICAgIGRpc3AoIk9uIHRoZSB6IGF4aXMsIHdlIHBsb3QgdGhlIHJhdGlvIG9mIHRoZSB0b3Rh bCB0YXggcGFpZCB3aGVuIGZpbGluZyIpCiAgICBkaXNwKCJqb2ludGx5LCB0byB0aGUgdG90YWwg dGF4IHBhaWQgd2hlbiBmaWxpbmcgc2VwYXJhdGVseS4gIikKCiAgICBkaXNwKCIiKTsKCiAgICBk aXNwKCJPbiB0aGUgeCBheGlzIGlzIHRoZSB0b3RhbCBpbmNvbWUgb2YgdGhlIGNvdXBsZS4iKQog ICAgZGlzcCgiT24gdGhlIHkgenhpcyBpcyB0aGUgcGVyY2VudGFnZSBvZiB0aGF0IGluY29tZSBl YXJuZWQgYnkgdGhlIGZpcnN0IHBhcnRlciAiKTsKCgogICAgZGlzcCgiQXMgeW91IGNhbiBzZWUs IFNlcGFyYXRlbHkgaXMgYWx3YXlzIHdvcnNlIik7CiAgICBkaXNwKCJleGNlcHQsIGlmIHlvdXIg aW5jb21lcyBhcmUgZXF1YWxseSBiYWxhbmNlZCwiKTsKCgogICAgZGlzcChbIk1BWElNVU0gVEFY UkFUSU8gV0FTICIgbnVtMnN0cihtYXgobWF4KHRheHJhdGlvKSkpXSk7CiAgdW53aW5kX3Byb3Rl Y3RfY2xlYW51cDsKICAgIHRheHZlcmJvc2VwPTE7CiAgICAKICAgIHRheHdhcm5pbmc7CiAgZW5k X3Vud2luZF9wcm90ZWN0OwogIHRheHZlcmJvc2VwPTE7CgplbmRmdW5jdGlvbgogIAo= --=-=-=--