{ "metadata": { "name": "", "signature": "sha256:f205b549386c42b5f3a6c46e46fc23cc150019c0881c30a371fb09105fe87560" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "code", "collapsed": false, "input": [ "from vsm import *\n", "from vsm.extensions.corpusbuilders import toy_corpus\n", "\n", "\n", "plain_corpus = \"\"\"\n", "His theology challenged the Pope of the Roman Catholic Church by\n", "teaching that the Bible is the only source of divinely revealed\n", "knowledge.\n", "\n", "Augustine is held in the Catholic Church to be the model teacher.\n", "\n", "Augustine was recognized as a Doctor of the Church by Pope Boniface\n", "VIII.\n", "\n", "Roman Catholic theology stated that faith alone cannot justify man.\n", "\n", "In the Catholic Church the Pope is regarded as the successor of Saint\n", "Peter.\n", "\n", "Alonzo Church was an American mathematician and logician who made\n", "major contributions to mathematical logic and the foundations of\n", "theoretical computer science.\n", "\n", "The lambda calculus was introduced by mathematician Alonzo Church as\n", "an investigation into the foundations of mathematics.\n", "\n", "The Church Turing thesis states that a function is algorithmically\n", "computable if and only if it is computable by a Turing machine.\n", "\n", "Mathematical logic has close connections to the foundations of\n", "mathematics, theoretical computer science.\n", "\n", "A Turing machine can be adapted to simulate the logic of any computer\n", "algorithm.\n", "\"\"\"\n", "\n", "metadata = ['Ecclesiastical ' + str(i) for i in xrange(1, 6)]\n", "\n", "metadata += ['Logic ' + str(i) for i in xrange(1, 6)]\n", "\n", "c = toy_corpus(plain_corpus, nltk_stop=True, metadata=metadata)\n", "\n", "m = LDA(c, context_type='document', K=2)\n", "\n", "m.train(n_iterations=200)\n", "\n", "v = LdaCgsViewer(c, m)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Begin LDA training for 200 iterations\n", "Iteration 199 complete: log_prob=-292.814182029, time=0.0" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\n" ] } ], "prompt_number": 3 }, { "cell_type": "code", "collapsed": false, "input": [ "v.topics(compact_view=False)" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "
Topics Sorted by Index
Topic 0Topic 1
Word Prob Word Prob
logic0.06070catholic0.09879
turing0.06070church0.09879
foundations0.06070pope0.07416
church0.06070theology0.04952
computer0.06070augustine0.04952
computable0.04053roman0.04952
mathematical0.04053model0.02488
mathematician0.04053man0.02488
mathematics0.04053bible0.02488
science0.04053boniface0.02488
" ], "metadata": {}, "output_type": "pyout", "prompt_number": 4, "text": [ "[LabeledColumn([('logic', 0.06069772131478124), ('turing', 0.06069772131478124),\n", " ('foundations', 0.06069772131478124),\n", " ('church', 0.06069772131478124), ('computer', 0.06069772131478124),\n", " ('computable', 0.04053236539624926),\n", " ('mathematical', 0.04053236539624926),\n", " ('mathematician', 0.04053236539624926),\n", " ('mathematics', 0.04053236539624926),\n", " ('science', 0.04053236539624926), ('machine', 0.04053236539624926),\n", " ('alonzo', 0.04053236539624926),\n", " ('theoretical', 0.04053236539624926),\n", " ('close', 0.020367009477717295), ('calculus', 0.020367009477717295),\n", " ('made', 0.020367009477717295),\n", " ('contributions', 0.020367009477717295),\n", " ('american', 0.020367009477717295),\n", " ('function', 0.020367009477717295),\n", " ('introduced', 0.020367009477717295),\n", " ('investigation', 0.020367009477717295),\n", " ('lambda', 0.020367009477717295),\n", " ('algorithmically', 0.020367009477717295),\n", " ('algorithm', 0.020367009477717295),\n", " ('logician', 0.020367009477717295),\n", " ('connections', 0.020367009477717295),\n", " ('adapted', 0.020367009477717295), ('major', 0.020367009477717295),\n", " ('states', 0.020367009477717295), ('thesis', 0.020367009477717295),\n", " ('simulate', 0.020367009477717295),\n", " ('viii', 0.00020165355918531992),\n", " ('catholic', 0.00020165355918531992),\n", " ('successor', 0.00020165355918531992),\n", " ('boniface', 0.00020165355918531992),\n", " ('teacher', 0.00020165355918531992),\n", " ('saint', 0.00020165355918531992),\n", " ('doctor', 0.00020165355918531992),\n", " ('model', 0.00020165355918531992),\n", " ('regarded', 0.00020165355918531992),\n", " ('held', 0.00020165355918531992),\n", " ('recognized', 0.00020165355918531992),\n", " ('pope', 0.00020165355918531992),\n", " ('challenged', 0.00020165355918531992),\n", " ('theology', 0.00020165355918531975),\n", " ('alone', 0.00020165355918531975),\n", " ('teaching', 0.00020165355918531975),\n", " ('bible', 0.00020165355918531975),\n", " ('knowledge', 0.00020165355918531975),\n", " ('peter', 0.00020165355918531975),\n", " ('justify', 0.00020165355918531975),\n", " ('source', 0.00020165355918531975), ('man', 0.00020165355918531975),\n", " ('roman', 0.00020165355918531975),\n", " ('divinely', 0.00020165355918531975),\n", " ('faith', 0.00020165355918531975),\n", " ('revealed', 0.00020165355918531975),\n", " ('stated', 0.00020165355918531975),\n", " ('augustine', 0.00020165355918531544)], \n", " dtype=[('word', '|S15'), ('value', 'Document: Logic 1Topic Prob 0 0.99929 1 0.00071 " ], "metadata": {}, "output_type": "pyout", "prompt_number": 5, "text": [ "LabeledColumn([(0, 0.9992867332382311), (1, 0.0007132667617689016)], \n", " dtype=[('i', 'Sorted by Topic DistanceTopicWords0 logic, turing, foundations, church, computer, computable, mathematical, mathematician, mathematics, science 1 catholic, church, pope, theology, augustine, roman, model, man, bible, boniface " ], "metadata": {}, "output_type": "pyout", "prompt_number": 6, "text": [ "CompactTable([[('logic', 0.06069772131478124), ('turing', 0.06069772131478124),\n", " ('foundations', 0.06069772131478124),\n", " ('church', 0.06069772131478124), ('computer', 0.06069772131478124),\n", " ('computable', 0.04053236539624926),\n", " ('mathematical', 0.04053236539624926),\n", " ('mathematician', 0.04053236539624926),\n", " ('mathematics', 0.04053236539624926),\n", " ('science', 0.04053236539624926), ('machine', 0.04053236539624926),\n", " ('alonzo', 0.04053236539624926),\n", " ('theoretical', 0.04053236539624926),\n", " ('close', 0.020367009477717295),\n", " ('calculus', 0.020367009477717295), ('made', 0.020367009477717295),\n", " ('contributions', 0.020367009477717295),\n", " ('american', 0.020367009477717295),\n", " ('function', 0.020367009477717295),\n", " ('introduced', 0.020367009477717295),\n", " ('investigation', 0.020367009477717295),\n", " ('lambda', 0.020367009477717295),\n", " ('algorithmically', 0.020367009477717295),\n", " ('algorithm', 0.020367009477717295),\n", " ('logician', 0.020367009477717295),\n", " ('connections', 0.020367009477717295),\n", " ('adapted', 0.020367009477717295), ('major', 0.020367009477717295),\n", " ('states', 0.020367009477717295), ('thesis', 0.020367009477717295),\n", " ('simulate', 0.020367009477717295),\n", " ('viii', 0.00020165355918531992),\n", " ('catholic', 0.00020165355918531992),\n", " ('successor', 0.00020165355918531992),\n", " ('boniface', 0.00020165355918531992),\n", " ('teacher', 0.00020165355918531992),\n", " ('saint', 0.00020165355918531992),\n", " ('doctor', 0.00020165355918531992),\n", " ('model', 0.00020165355918531992),\n", " ('regarded', 0.00020165355918531992),\n", " ('held', 0.00020165355918531992),\n", " ('recognized', 0.00020165355918531992),\n", " ('pope', 0.00020165355918531992),\n", " ('challenged', 0.00020165355918531992),\n", " ('theology', 0.00020165355918531975),\n", " ('alone', 0.00020165355918531975),\n", " ('teaching', 0.00020165355918531975),\n", " ('bible', 0.00020165355918531975),\n", " ('knowledge', 0.00020165355918531975),\n", " ('peter', 0.00020165355918531975),\n", " ('justify', 0.00020165355918531975),\n", " ('source', 0.00020165355918531975),\n", " ('man', 0.00020165355918531975), ('roman', 0.00020165355918531975),\n", " ('divinely', 0.00020165355918531975),\n", " ('faith', 0.00020165355918531975),\n", " ('revealed', 0.00020165355918531975),\n", " ('stated', 0.00020165355918531975),\n", " ('augustine', 0.00020165355918531544)],\n", " [('catholic', 0.09879280610987926), ('church', 0.09879280610987926),\n", " ('pope', 0.0741561961074156), ('theology', 0.04951958610495194),\n", " ('augustine', 0.04951958610495194), ('roman', 0.04951958610495194),\n", " ('model', 0.02488297610248829), ('man', 0.02488297610248829),\n", " ('bible', 0.02488297610248829), ('boniface', 0.02488297610248829),\n", " ('viii', 0.02488297610248829), ('challenged', 0.02488297610248829),\n", " ('peter', 0.02488297610248829), ('justify', 0.02488297610248829),\n", " ('held', 0.02488297610248829), ('faith', 0.02488297610248829),\n", " ('doctor', 0.02488297610248829), ('divinely', 0.02488297610248829),\n", " ('knowledge', 0.02488297610248829), ('alone', 0.02488297610248829),\n", " ('recognized', 0.02488297610248829),\n", " ('saint', 0.02488297610248829), ('teaching', 0.02488297610248829),\n", " ('teacher', 0.02488297610248829),\n", " ('successor', 0.02488297610248829),\n", " ('source', 0.02488297610248829), ('stated', 0.02488297610248829),\n", " ('revealed', 0.02488297610248829),\n", " ('regarded', 0.02488297610248829),\n", " ('algorithmically', 0.00024636610002463677),\n", " ('calculus', 0.00024636610002463677),\n", " ('simulate', 0.00024636610002463677),\n", " ('states', 0.00024636610002463677),\n", " ('introduced', 0.00024636610002463677),\n", " ('function', 0.00024636610002463677),\n", " ('thesis', 0.00024636610002463677),\n", " ('connections', 0.00024636610002463656),\n", " ('american', 0.00024636610002463656),\n", " ('close', 0.00024636610002463656),\n", " ('alonzo', 0.00024636610002463656),\n", " ('algorithm', 0.00024636610002463656),\n", " ('computer', 0.00024636610002463656),\n", " ('logic', 0.00024636610002463656),\n", " ('contributions', 0.00024636610002463656),\n", " ('foundations', 0.00024636610002463656),\n", " ('investigation', 0.00024636610002463656),\n", " ('lambda', 0.00024636610002463656),\n", " ('turing', 0.00024636610002463656),\n", " ('logician', 0.00024636610002463656),\n", " ('machine', 0.00024636610002463656),\n", " ('made', 0.00024636610002463656),\n", " ('major', 0.00024636610002463656),\n", " ('mathematical', 0.00024636610002463656),\n", " ('mathematician', 0.00024636610002463656),\n", " ('mathematics', 0.00024636610002463656),\n", " ('science', 0.00024636610002463656),\n", " ('theoretical', 0.00024636610002463656),\n", " ('adapted', 0.00024636610002463656),\n", " ('computable', 0.0002463661000246313)]], \n", " dtype=[('word', '|S15'), ('value', 'Documents: Document Distance Ecclesiastical 3 0.00000 Ecclesiastical 5 0.00000 Ecclesiastical 4 0.00207 Ecclesiastical 2 0.00256 Ecclesiastical 1 0.00754 Logic 5 0.99221 Logic 4 0.99297 Logic 2 0.99297 Logic 3 0.99325 Logic 1 0.99398 " ], "metadata": {}, "output_type": "pyout", "prompt_number": 7, "text": [ "LabeledColumn([('Ecclesiastical 3', 0.0), ('Ecclesiastical 5', 0.0),\n", " ('Ecclesiastical 4', 0.002065988297172851),\n", " ('Ecclesiastical 2', 0.002561532434347629),\n", " ('Ecclesiastical 1', 0.007539933660187026),\n", " ('Logic 5', 0.992208252445885), ('Logic 4', 0.992974054340914),\n", " ('Logic 2', 0.9929740543409141), ('Logic 3', 0.9932494872489327),\n", " ('Logic 1', 0.9939798430010864)], \n", " dtype=[('doc', '|S16'), ('value', 'Topics: 0, 1Document Distance Ecclesiastical 2 0.55111 Logic 5 0.55195 Ecclesiastical 3 0.55195 Ecclesiastical 5 0.55195 Ecclesiastical 4 0.55259 Logic 2 0.55310 Logic 4 0.55310 Logic 3 0.55351 Ecclesiastical 1 0.55415 Logic 1 0.55462 " ], "metadata": {}, "output_type": "pyout", "prompt_number": 8, "text": [ "LabeledColumn([('Ecclesiastical 2', 0.5511129750477453),\n", " ('Logic 5', 0.5519453530845314),\n", " ('Ecclesiastical 3', 0.5519453530845315),\n", " ('Ecclesiastical 5', 0.5519453530845315),\n", " ('Ecclesiastical 4', 0.5525859764901941),\n", " ('Logic 2', 0.5530953459056704), ('Logic 4', 0.5530953459056704),\n", " ('Logic 3', 0.5535107346714779),\n", " ('Ecclesiastical 1', 0.5541488721986697),\n", " ('Logic 1', 0.5546174996468003)], \n", " dtype=[('doc', '|S16'), ('value', 'Sorted by Topic DistanceTopicWords1 catholic, church, pope, theology, augustine, roman, model, man, bible, boniface 0 logic, turing, foundations, church, computer, computable, mathematical, mathematician, mathematics, science " ], "metadata": {}, "output_type": "pyout", "prompt_number": 9, "text": [ "CompactTable([[('catholic', 0.09879280610987926), ('church', 0.09879280610987926),\n", " ('pope', 0.0741561961074156), ('theology', 0.04951958610495194),\n", " ('augustine', 0.04951958610495194), ('roman', 0.04951958610495194),\n", " ('model', 0.02488297610248829), ('man', 0.02488297610248829),\n", " ('bible', 0.02488297610248829), ('boniface', 0.02488297610248829),\n", " ('viii', 0.02488297610248829), ('challenged', 0.02488297610248829),\n", " ('peter', 0.02488297610248829), ('justify', 0.02488297610248829),\n", " ('held', 0.02488297610248829), ('faith', 0.02488297610248829),\n", " ('doctor', 0.02488297610248829), ('divinely', 0.02488297610248829),\n", " ('knowledge', 0.02488297610248829), ('alone', 0.02488297610248829),\n", " ('recognized', 0.02488297610248829),\n", " ('saint', 0.02488297610248829), ('teaching', 0.02488297610248829),\n", " ('teacher', 0.02488297610248829),\n", " ('successor', 0.02488297610248829),\n", " ('source', 0.02488297610248829), ('stated', 0.02488297610248829),\n", " ('revealed', 0.02488297610248829),\n", " ('regarded', 0.02488297610248829),\n", " ('algorithmically', 0.00024636610002463677),\n", " ('calculus', 0.00024636610002463677),\n", " ('simulate', 0.00024636610002463677),\n", " ('states', 0.00024636610002463677),\n", " ('introduced', 0.00024636610002463677),\n", " ('function', 0.00024636610002463677),\n", " ('thesis', 0.00024636610002463677),\n", " ('connections', 0.00024636610002463656),\n", " ('american', 0.00024636610002463656),\n", " ('close', 0.00024636610002463656),\n", " ('alonzo', 0.00024636610002463656),\n", " ('algorithm', 0.00024636610002463656),\n", " ('computer', 0.00024636610002463656),\n", " ('logic', 0.00024636610002463656),\n", " ('contributions', 0.00024636610002463656),\n", " ('foundations', 0.00024636610002463656),\n", " ('investigation', 0.00024636610002463656),\n", " ('lambda', 0.00024636610002463656),\n", " ('turing', 0.00024636610002463656),\n", " ('logician', 0.00024636610002463656),\n", " ('machine', 0.00024636610002463656),\n", " ('made', 0.00024636610002463656),\n", " ('major', 0.00024636610002463656),\n", " ('mathematical', 0.00024636610002463656),\n", " ('mathematician', 0.00024636610002463656),\n", " ('mathematics', 0.00024636610002463656),\n", " ('science', 0.00024636610002463656),\n", " ('theoretical', 0.00024636610002463656),\n", " ('adapted', 0.00024636610002463656),\n", " ('computable', 0.0002463661000246313)],\n", " [('logic', 0.06069772131478124), ('turing', 0.06069772131478124),\n", " ('foundations', 0.06069772131478124),\n", " ('church', 0.06069772131478124), ('computer', 0.06069772131478124),\n", " ('computable', 0.04053236539624926),\n", " ('mathematical', 0.04053236539624926),\n", " ('mathematician', 0.04053236539624926),\n", " ('mathematics', 0.04053236539624926),\n", " ('science', 0.04053236539624926), ('machine', 0.04053236539624926),\n", " ('alonzo', 0.04053236539624926),\n", " ('theoretical', 0.04053236539624926),\n", " ('close', 0.020367009477717295),\n", " ('calculus', 0.020367009477717295), ('made', 0.020367009477717295),\n", " ('contributions', 0.020367009477717295),\n", " ('american', 0.020367009477717295),\n", " ('function', 0.020367009477717295),\n", " ('introduced', 0.020367009477717295),\n", " ('investigation', 0.020367009477717295),\n", " ('lambda', 0.020367009477717295),\n", " ('algorithmically', 0.020367009477717295),\n", " ('algorithm', 0.020367009477717295),\n", " ('logician', 0.020367009477717295),\n", " ('connections', 0.020367009477717295),\n", " ('adapted', 0.020367009477717295), ('major', 0.020367009477717295),\n", " ('states', 0.020367009477717295), ('thesis', 0.020367009477717295),\n", " ('simulate', 0.020367009477717295),\n", " ('viii', 0.00020165355918531992),\n", " ('catholic', 0.00020165355918531992),\n", " ('successor', 0.00020165355918531992),\n", " ('boniface', 0.00020165355918531992),\n", " ('teacher', 0.00020165355918531992),\n", " ('saint', 0.00020165355918531992),\n", " ('doctor', 0.00020165355918531992),\n", " ('model', 0.00020165355918531992),\n", " ('regarded', 0.00020165355918531992),\n", " ('held', 0.00020165355918531992),\n", " ('recognized', 0.00020165355918531992),\n", " ('pope', 0.00020165355918531992),\n", " ('challenged', 0.00020165355918531992),\n", " ('theology', 0.00020165355918531975),\n", " ('alone', 0.00020165355918531975),\n", " ('teaching', 0.00020165355918531975),\n", " ('bible', 0.00020165355918531975),\n", " ('knowledge', 0.00020165355918531975),\n", " ('peter', 0.00020165355918531975),\n", " ('justify', 0.00020165355918531975),\n", " ('source', 0.00020165355918531975),\n", " ('man', 0.00020165355918531975), ('roman', 0.00020165355918531975),\n", " ('divinely', 0.00020165355918531975),\n", " ('faith', 0.00020165355918531975),\n", " ('revealed', 0.00020165355918531975),\n", " ('stated', 0.00020165355918531975),\n", " ('augustine', 0.00020165355918531544)]], \n", " dtype=[('word', '|S15'), ('value', 'Sorted by Topic DistanceTopicWords0 logic, turing, foundations, church, computer, computable, mathematical, mathematician, mathematics, science " ], "metadata": {}, "output_type": "pyout", "prompt_number": 10, "text": [ "CompactTable([[('logic', 0.06069772131478124), ('turing', 0.06069772131478124),\n", " ('foundations', 0.06069772131478124),\n", " ('church', 0.06069772131478124), ('computer', 0.06069772131478124),\n", " ('computable', 0.04053236539624926),\n", " ('mathematical', 0.04053236539624926),\n", " ('mathematician', 0.04053236539624926),\n", " ('mathematics', 0.04053236539624926),\n", " ('science', 0.04053236539624926), ('machine', 0.04053236539624926),\n", " ('alonzo', 0.04053236539624926),\n", " ('theoretical', 0.04053236539624926),\n", " ('close', 0.020367009477717295),\n", " ('calculus', 0.020367009477717295), ('made', 0.020367009477717295),\n", " ('contributions', 0.020367009477717295),\n", " ('american', 0.020367009477717295),\n", " ('function', 0.020367009477717295),\n", " ('introduced', 0.020367009477717295),\n", " ('investigation', 0.020367009477717295),\n", " ('lambda', 0.020367009477717295),\n", " ('algorithmically', 0.020367009477717295),\n", " ('algorithm', 0.020367009477717295),\n", " ('logician', 0.020367009477717295),\n", " ('connections', 0.020367009477717295),\n", " ('adapted', 0.020367009477717295), ('major', 0.020367009477717295),\n", " ('states', 0.020367009477717295), ('thesis', 0.020367009477717295),\n", " ('simulate', 0.020367009477717295),\n", " ('viii', 0.00020165355918531992),\n", " ('catholic', 0.00020165355918531992),\n", " ('successor', 0.00020165355918531992),\n", " ('boniface', 0.00020165355918531992),\n", " ('teacher', 0.00020165355918531992),\n", " ('saint', 0.00020165355918531992),\n", " ('doctor', 0.00020165355918531992),\n", " ('model', 0.00020165355918531992),\n", " ('regarded', 0.00020165355918531992),\n", " ('held', 0.00020165355918531992),\n", " ('recognized', 0.00020165355918531992),\n", " ('pope', 0.00020165355918531992),\n", " ('challenged', 0.00020165355918531992),\n", " ('theology', 0.00020165355918531975),\n", " ('alone', 0.00020165355918531975),\n", " ('teaching', 0.00020165355918531975),\n", " ('bible', 0.00020165355918531975),\n", " ('knowledge', 0.00020165355918531975),\n", " ('peter', 0.00020165355918531975),\n", " ('justify', 0.00020165355918531975),\n", " ('source', 0.00020165355918531975),\n", " ('man', 0.00020165355918531975), ('roman', 0.00020165355918531975),\n", " ('divinely', 0.00020165355918531975),\n", " ('faith', 0.00020165355918531975),\n", " ('revealed', 0.00020165355918531975),\n", " ('stated', 0.00020165355918531975),\n", " ('augustine', 0.00020165355918531544)]], \n", " dtype=[('word', '|S15'), ('value', '" ] } ], "prompt_number": 16 }, { "cell_type": "code", "collapsed": false, "input": [ "p2 = v.topic_hist()" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "iVBORw0KGgoAAAANSUhEUgAAAkcAAAJmCAYAAABWsyRkAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAHr5JREFUeJzt3Xl0VYW96PF9QqiMAlJkjAmTCBYhCEFFLIoKFinVOoCK\nCLb22ep1aHt9jrUqtX1qW5XahV5B1Baxva1YLIJVUrhSjchQnihDTTAMRUWmMCc57w/vWet3+xgU\nNUeTz2etvVb2OXuf8+NEwtd99tlJpdPpBACAD+VkewAAgM8TcQQAEIgjAIBAHAEABOIIACAQRwAA\ngTgCDujKK6/89V133XVLtuf4LP3mN7+5eMiQIbOyPQfw+ZBynSOoPZo0aVKRSqXSSZIk27dvb9yg\nQYNd9erVq0qSJHn44YevGDVq1NSamqWgoKDs3XffPbJevXpVjRs33n7WWWfNnDBhwlWNGzfeXlMz\n7EtZWVlBp06d3q6srMzNycmpzuYswOeTI0dQi1RUVDTZtm1b023btjXNz89fPWPGjLMz6zUZRkmS\nJKlUKp15/oULF/ZZsGBB330dgaqsrMytqZnic6XT6VRNPS/wxSKOoA7YvXv3Yddee+0v27dvv7Z9\n+/Zrr7vuul/s2bPnS0mSJMXFxYM6dOiw5u67776xVatW73Xs2LH0t7/97UWZfS+77LLHbr311jsz\n69OnTx/Ru3fvxc2aNdvSpUuXVbNmzRpysOdv167duqFDhz7/xhtvHJskSZKTk1P90EMPfbdr164r\nu3XrtjxJkuSRRx75dteuXVe2bNly44gRI6avX7++bWb/nJyc6gcffPDqzp07/6NVq1bv/fu///v/\nycRNOp1O3XXXXbcUFBSUtW7desOYMWOmbN269fAk+fAoUU5OTvWkSZPG5efnrx48ePCLX/3qV/+a\nJEnSvHnzzYcffvjWV1555YTHHnvssoEDB87LPN/8+fNP6tev32vNmzffXFRUVPK3v/3txMx9gwYN\nKr7tttvuOPnkk//r8MMP3zpkyJBZGzdubJkkSbJr164Gl1xyyZNf/vKX32/RosWmoqKiknfffffI\nQ/2+AdkhjqAOGD9+/M0lJSVFS5Ys6bVkyZJeJSUlRfEozoYNG1pv3Lix5bp169pNmTJlzBVXXPHw\nypUruybJh0eAMm/VlZSUFI0ZM2bKfffd9/0tW7Y0mzt37ikFBQVl+3veTMCUl5fnzZw586zCwsJF\nmfumT58+4rXXXuu3bNmyHi+99NJpN910009+97vfnb9+/fq2+fn5q0eOHPlUfKxnnnnmG6+//vrx\nCxcu7DN9+vQRkyZNGpckSTJ58uSxU6ZMGVNcXDzo7bff7lRRUdHkqquumhD3nTt37ilvvfXWMbNn\nzz5z7ty5pyRJkmzZsqXZ1q1bDz/hhBNeidt+8MEHRwwbNuy5a6+99pcffPDBEddff/3Phw0b9tym\nTZtaZLaZOnXqqMcee+yyd99998g9e/Z86d577/1BkiTJlClTxmzduvXwNWvWdPjggw+OmDhx4nca\nNmy482N+u4BsS6fTFoulFi4FBQWlL7744mnpdDrp3LnzqpkzZw7N3Ddr1qwzCwoKStPpdDJnzpxB\nubm5e3fs2NEwc/8FF1ww7c4777wlnU4nl1122eRbb731jnQ6nVxxxRUTr7/++vs+yvPn5+eXNWnS\nZFvz5s035efnl33ve9+bsGvXrsPS6XSSSqWq58yZMyiz7bhx4x694YYbfppZr6ioaFy/fv09q1ev\nPiqz/axZs87M3P/QQw9dOXjw4L+k0+nktNNOe/HXv/71/8rct3z58qPr16+/p6qqKqe0tLQglUpV\nl5aWFmTuz9xWVVWVk7lt8uTJl5188snz0ul08vjjj4/u37//K/HPcuKJJ85/7LHHxqTT6WTQoEFz\nxo8ff1OcZejQoTPT6XQyadKksSeddNLLf//733tm+/tvsVgOfXHkCOqAdevWtcvPz1+dWT/qqKPe\nWbduXbvMeosWLTbFIxz5+fmr49taGWvWrOnQuXPnf3yU50ylUunp06eP2LRpU4uysrKCCRMmXHXY\nYYftztyfl5dXnvk6c7Qos964cePtLVu23Lh27dr2+9o+zv+v+x511FHvVFZW5m7YsKH1vvY9mHXr\n1rU76qij3om35efnr46vV5s2bf6Z+bphw4Y7KyoqmiRJkowePfqJIUOGzBo5cuRT7du3X3vDDTf8\nrCbPqQI+HeII6oB27dqtKysrK8isv/POO0e1a9duXWZ906ZNLXbs2NEos7569er8eH9GXl5e+apV\nq7p8GjNl3qrb13zbt29vvHHjxpbt27dfG2eOX2fu29efLTc3t7J169Yb9vVc8et9ad++/drVq1fn\nx9tWr16dH2fZn9zc3MrbbrvtjjfeeOPY+fPnnzRjxoyzH3/88UsPth/w+SKOoA4YNWrU1LvuuuuW\n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\neOPdmdtd/6jmjRs3blLr1q039OzZc2m2Z6kLysvL80499dQ5xx577Btf+cpX/u8DDzzwb9meqbbb\ntWtXg/79+7/au3fvxT169FgWf+bw2aqqqqpXWFi4aPjw4X/K9ix1QUFBQdlxxx3398LCwkVFRUUl\n2Z6nLti8eXPz88477/fdu3d/s0ePHsteeeWVE/a7cTqd/thLZWVlvc6dO68qLS0t2LNnT/1evXot\nXrZsWfdDeSzLR1/mzp07cOHChYVf+cpXlmZ7lrqwrF+/vs2iRYt6p9PpZNu2bU2OPvro5f47/+yX\n7du3N0qn08nevXtz+/fv/8q8efNOzvZMdWG57777rr/ooot+M3z48GezPUtdWAoKCko3btx4RLbn\nqEvLpZdeOuXRRx8dl05/+PNl8+bNzfa37SH9+hDXP8qOgQMHzmvRosWmbM9RV7Rp0+afvXv3Xpwk\nSdKkSZOK7t27v7lu3bp22Z6rtmvUqNGOJEmSPXv2fKmqqqreEUcc8UG2Z6rt1qxZ0+HPf/7z1771\nrW/9R9qnkGuM17rmbNmypdm8efMGjhs3blKSfHjaULNmzbbsb/tDiqN9Xf9o7dq17Q/lseCLoKys\nrGDRokWF/fv3fzXbs9R21dXVOb17917cunXrDaeeeuqcHj16LMv2TLXddddd94t77rnnhzk5OdXZ\nnqWuSKVS6dNPP/0vffv2XfDII498O9vz1HalpaUdW7Vq9d7YsWMn9+nTZ+G3v/3tR3bs2NFof9sf\nUhwd7PpHUJtUVFQ0Oe+8835///33X9OkSZOKbM9T2+Xk5FQvXry495o1azrMnTv3lOLi4kHZnqk2\nmzFjxtlHHnnku4WFhYscyag5L7/88oBFixYVzpw586xf/epX35s3b97AbM9Um1VWVuYuXLiwz3e/\n+92HFi5c2Kdx48bbf/rTn/7v/W1/SHHk+kfUFXv37q3/zW9+8z8vueSSJ7/xjW88k+156pJmzZpt\nGTZs2HMLFizom+1ZarP58+ef9Oyzz369Y8eOpaNGjZr60ksvnXbppZc+nu25aru2bduuT5IkadWq\n1XvnnHPOH0tKSoqyPVNt1qFDhzUdOnRY069fv9eSJEnOO++83y9cuLDP/rY/pDhy/SPqgnQ6nbr8\n8ssf7dGjx7Jrr732l9mepy54//33v7x58+bmSZIkO3fubPjCCy+cUVhYuCjbc9VmP/nJT24qLy/P\nKy0t7fjUU0+NPO200156/PHHL832XLXZjh07Gm3btq1pkiTJ9u3bG8+ePftMn0L+bLVp0+afeXl5\n5StWrDg6SZLkL3/5y+nHHnvsG/vb/oDXOdrvTq5/lBWjRo2a+te//vWrGzdubJmXl1d+xx133DZ2\n7NjJ2Z6rtnr55ZcHPPnkk5dkPm6bJEly99133zh06NDnsz1bbbV+/fq2Y8aMmVJdXZ1TXV2dM3r0\n6CcGDx78YrbnqkucNvHZ27BhQ+tzzjnnj0ny4ds9F1988W/OPPPM2dmeq7Z78MEHr7744ot/s2fP\nni917tz5H5MnTx67v21T6bS/BwAAGYf0thoAQG0ljgAAAnEEABCIIwCAQBwBB1SvXr2qwsLCRZnl\nnXfeOSrbMx3M66+/fvw111xzf7bnAL6YfFoNOKCmTZtuy1yT5V9lrqjs499AbeLIEfCxlJWVFXTr\n1m35mDFjpvTs2XNpeXl53j333PPDoqKikl69ei25/fbbb89sO378+Ju7deu2fODAgfMuuuii3953\n333fT5IkGTRoUPHrr79+fJJ8eOHHjh07liZJklRVVdX74Q9/eE/msR5++OErkiRJiouLBw0aNKj4\n/PPP/1337t3fvOSSS57MPMdrr73Wb8CAAS/37t17cf/+/V+tqKhoUlxcPGj48OF/SpIPL7I3bty4\nSf3793+1T58+C5999tmvJ0mSvPHGG8f279//1cLCwkW9evVasmrVqi419iICn2uHdBFIoO7YuXNn\nw8xFMDt16vT2z3/+8+tXrVrV5YknnhhdVFRUMnv27DNXrVrVpaSkpKi6ujpnxIgR0+fNmzewUaNG\nO6ZNm3bhkiVLeu3du7d+nz59Fvbt23dBknx4pGlfR5seffTRy5s3b765pKSkaPfu3YedfPLJ/5W5\nON7ixYt7L1u2rEfbtm3XDxgw4OX58+ef1Ldv3wUjR4586umnn77g+OOPf72ioqJJw4YNd8bHHD9+\n/M2DBw9+cdKkSeM2b97cvH///q+efvrpf5k4ceJ3rrnmmvsvuuii31ZWVuZWVlb6eQgkSSKOgINo\n2LDhzkWLFhVm1svKygry8/NXFxUVlSRJksyePfvM2bNnn5kJqO3btzdeuXJl123btjU999xz/9Cg\nQYNdDRo02PVRfsXQ7Nmzz1y6dGnP3//+9+clSZJs3br18FWrVnWpX7/+3qKiopJ27dqtS5Ik6d27\n9+LS0tKOTZs23da2bdv1xx9//OtJkiT7+sXAs2fPPvNPf/rT8HvvvfcHSZIku3fvPuydd9456sQT\nT/zb+PHjb16zZk2Hc8899w9dunRZ9Wm8XsAXnzgCPrbGjRtvj+s33njj3VdcccXD8bb777//mvhb\n3uPXubm5ldXV1TlJkiS7du1qEPebMGHCVWecccYL8bbi4uJBhx122O7Mer169aoqKytzP+q5Tn/4\nwx/O7dq168p42zHHHPPWCSec8MqMGTPO/trXvvbniRMnfufUU0+d81EeD6jdnHMEfCJDhgyZNWnS\npHHbt29vnCRJsnbt2vbvvfdeq1NOOWXuM888841du3Y12LZtW9MZM2acndmnoKCgbMGCBX2TJEky\nR4kyj/XQQw99N/MW14oVK47esWNHo309byqVSnfr1m35+vXr22Yea9u2bU2rqqrq/et8DzzwwL9l\n1jNHwUpLSzt27Nix9Oqrr35wxIgR05cuXdrz03tVgC8yR46AA9rX0Zl42xlnnPHCm2++2f3EE0/8\nW5J8+Om2J5988pLCwsJFF1544bRevXotOfLII9/t16/fa5mjRz/4wQ/uveCCC55++OGHrxg2bNhz\nmcf71re+9R9lZWUFffr0WZhOp1NHHnnku3/84x/P2d85SvXr1987bdq0C6+++uoHd+7c2bBRo0Y7\nXnjhhTPi9rfeeuud11577S+PO+64v1dXV+d06tTp7WefffbrTz/99AVPPPHE6Pr16+9t27bt+ptv\nvnn8Z/UaAl8sPsoP1Igf//jHP2rSpEnF97///fuyPQvAgXhbDagxrocEfBE4cgQAEDhyBAAQiCMA\ngEAcAQAE4ggAIBBHAACBOAIACP4fUbSKWSu/xi8AAAAASUVORK5CYII=\n", "text": [ "" ] } ], "prompt_number": 17 } ], "metadata": {} } ] }