Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Merge pull request #326 from modilabs/latest

Latest
  • Loading branch information...
commit 6cb8267ddcd1a623392c36f9b9b8b32733223d2a 2 parents 42c932a + a658fc4
@pld pld authored
View
70 bamboo/core/aggregations.py
@@ -1,5 +1,7 @@
from pandas import concat, DataFrame, Series
+from bamboo.lib.utils import parse_float
+
class Aggregation(object):
"""Abstract class for all aggregations.
@@ -25,15 +27,19 @@ def eval(self, columns):
def group(self):
"""For when aggregation is called with a group parameter."""
- groupby = self.dframe[self.groups].join(
- self.column).groupby(self.groups, as_index=False)
-
- return groupby.agg(self.formula_name)
+ return self._groupby().agg(self.formula_name)
def agg(self):
"""For when aggregation is called without a group parameter."""
result = float(self.column.__getattribute__(self.formula_name)())
- return DataFrame({self.name: Series([result])})
+ return self._value_to_dframe(result)
+
+ def _value_to_dframe(self, value):
+ return DataFrame({self.name: Series([value])})
+
+ def _groupby(self):
+ return self.dframe[self.groups].join(
+ self.column).groupby(self.groups, as_index=False)
class MultiColumnAggregation(Aggregation):
@@ -95,10 +101,62 @@ class MaxAggregation(Aggregation):
formula_name = 'max'
+class ArgMaxAggregation(Aggregation):
+ """Return the index for the maximum of a column.
+
+ Written as ``argmax(FORMULA)``. Where `FORMULA` is a valid formula.
+ """
+
+ formula_name = 'argmax'
+
+ def group(self):
+ """For when aggregation is called with a group parameter."""
+ indices = self.column.apply(lambda value: parse_float(value, value)
+ ).reset_index().set_index(self.name)
+
+ def max_index_for_row(row):
+ return indices.get_value(row[self.name], 'index').max()
+
+ groupby_max = self._groupby().max()
+ column = groupby_max.apply(max_index_for_row, axis=1)
+ column.name = self.name
+
+ return DataFrame(column).join(groupby_max[self.groups])
+
+
+class NewestAggregation(MultiColumnAggregation):
+ """For the newest index column get the value column."""
+
+ formula_name = 'newest'
+
+ index_column = 0
+ value_column = 1
+
+ def agg(self):
+ idx = self.columns[self.index_column].argmax()
+ result = self.columns[self.value_column].ix[idx]
+
+ return self._value_to_dframe(result)
+
+ def group(self):
+ argmax_agg = ArgMaxAggregation(self.name, self.groups, self.dframe)
+ argmax_df = argmax_agg.eval(self.columns)
+ indices = argmax_df.pop(self.name)
+
+ newest_col = self.columns[self.value_column][indices]
+ newest_col.index = argmax_df.index
+
+ return argmax_df.join(newest_col)
+
+
+
class MeanAggregation(MultiColumnAggregation):
"""Calculate the arithmetic mean.
Written as ``mean(FORMULA)``. Where `FORMULA` is a valid formula.
+
+ Because mean is irreducible this inherits from `MultiColumnAggregation` to
+ use its reduce generic implementation.
"""
formula_name = 'mean'
@@ -214,7 +272,7 @@ def agg(self):
else:
result = len(self.dframe)
- return DataFrame({self.name: Series([result])})
+ return self._value_to_dframe(result)
# dict of formula names to aggregation classes
View
10 bamboo/lib/utils.py
@@ -8,8 +8,16 @@
def parse_int(value, default):
+ return _parse_type(int, value, default)
+
+
+def parse_float(value, default):
+ return _parse_type(float, value, default)
+
+
+def _parse_type(_type, value, default):
try:
- return int(value)
+ return _type(value)
except ValueError:
return default
View
4 bamboo/tests/core/test_aggregations.py
@@ -23,6 +23,8 @@ class TestAggregations(TestCalculator):
'ratio(risk_factor in ["low_risk"], 1)': 18.0 / 19,
'count()': 19.0,
'count(risk_factor in ["low_risk"])': 18.0,
+ 'argmax(submit_date)': 18.0,
+ 'newest(submit_date, amount)': 28.0,
}
GROUP_TO_RESULTS = {
@@ -51,6 +53,8 @@ def setUp(self):
'ratio(risk_factor in ["low_risk"], 1)',
'count(risk_factor in ["low_risk"])',
'count()',
+ 'argmax(submit_date)',
+ 'newest(submit_date, amount)',
]
self.expected_length = defaultdict(int)
self.groups_list = None
View
3  bamboo/tests/core/test_frame.py
@@ -13,8 +13,7 @@ class TestFrame(TestBase):
def setUp(self):
TestBase.setUp(self)
- self.dframe = self.test_data['good_eats.csv'
- ]
+ self.dframe = self.test_data['good_eats.csv']
self.bframe = BambooFrame(self.dframe)
def _add_bamboo_reserved_keys(self, value=1):
View
166 bamboo/tests/fixtures/good_eats_agg_group_food_type.p
@@ -30,7 +30,7 @@ p12
tp13
Rp14
((I1
-(I23
+(I25
tp15
cnumpy
dtype
@@ -96,162 +96,167 @@ aS'count(risk_factor in ["low_risk"])'
p44
aS'count()'
p45
-atp46
-(Ntp47
-tp48
+aS'argmax(submit_date)'
+p46
+aS'newest(submit_date, amount)'
+p47
+atp48
+(Ntp49
+tp50
bag9
(g10
(I0
-tp49
+tp51
g12
-tp50
-Rp51
+tp52
+Rp53
((I1
(I8
-tp52
+tp54
g16
(S'O8'
-p53
+p55
I0
I1
-tp54
-Rp55
+tp56
+Rp57
(I3
S'|'
-p56
+p58
NNNI-1
I-1
I63
-tp57
+tp59
bI00
-(lp58
+(lp60
S'caffeination'
-p59
+p61
aS'deserts'
-p60
+p62
aS'dinner'
-p61
+p63
aS'drunk_food'
-p62
+p64
aS'lunch'
-p63
+p65
aS'morning_food'
-p64
+p66
aS'streat_sweets'
-p65
+p67
aS'street_meat'
-p66
-atp67
-(S'food_type'
p68
-tp69
-tp70
-ba(lp71
+atp69
+(S'food_type'
+p70
+tp71
+tp72
+ba(lp73
g9
(cnumpy
ndarray
-p72
+p74
(I0
-tp73
+tp75
g12
-tp74
-Rp75
+tp76
+Rp77
(I1
-(I2
+(I3
I8
-tp76
+tp78
g16
(S'i8'
-p77
+p79
I0
I1
-tp78
-Rp79
+tp80
+Rp81
(I3
S'<'
-p80
+p82
NNNI-1
I-1
I0
-tp81
-bI00
-S'\x01\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x07\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x07\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00'
-p82
tp83
+bI00
+S'\x01\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x07\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x07\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\n\x00\x00\x00\x00\x00\x00\x00\x0b\x00\x00\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x05\x00\x00\x00\x00\x00\x00\x00\x11\x00\x00\x00\x00\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x05\x00\x00\x00\x00\x00\x00\x00\x05\x00\x00\x00\x00\x00\x00\x00'
+p84
+tp85
bag9
-(g72
+(g74
(I0
-tp84
+tp86
g12
-tp85
-Rp86
+tp87
+Rp88
(I1
-(I21
+(I22
I8
-tp87
+tp89
g16
(S'f8'
-p88
+p90
I0
I1
-tp89
-Rp90
+tp91
+Rp92
(I3
S'<'
-p91
+p93
NNNI-1
I-1
I0
-tp92
-bI00
-S'_ \x18)S_;@\xa8\xe3\xe3*%\xfaL@\xe0"7\x93\x8b~\x02\xc0\x00\x00\x00\x00\x00\x00\xf8\x7fpL\xa2\x9f\xe71\x1e@\xea\x8b\xd5F\x1b\x0cG\xc0\xbc\x07\x0c<u\xf8L@\x8c\xfd\xcf\xdb\xc4\xf9<@\xd2\xee\xff\xff\x99\xd9K@\x00\x00\x00\x00\x00Pa@\xca\xdf\xff\xbf\xcc\xb6\x91@\x00\x00\x00\x00\x00\x00\xf8\x7f\x04\x06\x00\x80\x00\xa0U@\x00\x00\x00\x00\x00\xe4\x81@O\n\x00\x00\x9a\xf9T@\x9e\x14\x00\x004\xb3L@\x00\x00\x00\x00\x00\x004@\x00\x00\x00\x00\x00@P@\x00\x00\x00\x00\x000\x85@\x00\x00\x00\x00\x00\x00\xf8\x7f\x00\x00\x00\x00\x000w@\x00\x00\x00\x00\x00\xc0V@\x00\x00\x00\x00\x00\x80Q@\x00\x00\x00\x00\x00\x00>@\x00\xbcLz\xb7`\xf4B\x00\xbcLz\xb7`\x04C\x00\x1as7\x13\x91\x0eC\x00\xbcLz\xb7`\xf4B\x80$\x03\x8b\xa0\xd4!C\x00\xbcLz\xb7`\x04C\x00\xbcLz\xb7`\x04C\x00\x00\x00\x00\x00\x00\xf8\x7f\x00\x00\x00\x00\x00\x00\xf8\x7f\x00\x00\x00\x00\x00\x00\xf8\x7f\x00\x00\x00\x00\x00\x00\xf8\x7f\x00\x00\x00\x00\x00\x00\xf8\x7f\x00\x00\x00\x00\x00\x00\xf8\x7f\x00\x00\x00\x00\x00\x00\xf8\x7f\x00\x00\x00\x00\x00\x00\xf8\x7f\x00\x00\x00\x00\x00\x00\xf8\x7f\x00\x00\x00\x00\x00\x00\x04@\x00\x00\x00\x00\x00\x80!@\x00\x00\x00\x00\x00\xec\x99@\x00\x00\x00\x00\x00\x004@\x00\x00\x00\x00\x00\xf4p@\x00\x00\x00\x00\x00\x00D@\x00\x00\x00\x00\x00\x00\x10@\x00\x00\x00\x00\x00\x00\x00@c\x06\xce\x04\xa8\xf9B@I\r\x83w\xf6\x81T@:\xcd\x12=\x81\x8bS@\x00\x00\x00\x00\x00\x00\xf8\x7f\xbad1,\xdd\x1fn@\xcc\xdc\x87q\x13\xf1N@l\xea\x10\x85<\x82T@\x9a\x0fp\x0e\xdc\x81D@\x00\x00\x00\x00\x00\x00\x04@\x00\x00\x00\x00\x00\x00\x06@\x00\x00\x00\x00\x00\x00,@\x00\x00\x00\x00\x00\x004@\x00\x00\x00\x00\x00\x00\x11@\x00\x00\x00\x00\x00\x00(@\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x04@\x00\x00\x00\x00\x00\x80\x11@\x00\x00\x00\x00\x00\x80F@\x00\x00\x00\x00\x00\x004@\x00\x00\x00\x00\x00\x00(@\x00\x00\x00\x00\x00\x004@\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x04@\x00\x00\x00\x00\x00\x80\x11@\x00\x00\x00\x00\x00H\x81@\x00\x00\x00\x00\x00\x004@\x00\x00\x00\x00\x00`C@\x00\x00\x00\x00\x00\x004@\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x04@\x00\x00\x00\x00\x00\x00\x18@\x00\x00\x00\x00\x00\x00\x99@\x00\x00\x00\x00\x00\x004@\x00\x00\x00\x00\x00\x00i@\x00\x00\x00\x00\x00\x00<@\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x00@\xd4[n\xa15\xdd\xb0?[4\x80f\x8eN\xbb?\xc3y\x1f<g85@\x00\x00\x00\x00\x00\x00\xf8\x7f\x08{\xd8\xaf4\x02\xf2?B\xd5\xb1x\x1e\xaf\xe4?\xa8\x04*X\x08\xf7\xa8?%6\xb7\xc6}\xf7\xa8?\x00\x00\x00\x00\x00\x00\x04@\x00\x00\x00\x00\x00\x80!@\x00\x00\x00\x00\x00\xec\x99@\x00\x00\x00\x00\x00\x00\xf8\x7f\x00\x00\x00\x00\x00\xf4p@\x00\x00\x00\x00\x00\x00D@\x00\x00\x00\x00\x00\x00\x10@\x00\x00\x00\x00\x00\x00\x00@c\x06\xce\x04\xa8\xf9B@I\r\x83w\xf6\x81T@:\xcd\x12=\x81\x8bS@\x00\x00\x00\x00\x00\x00\xf8\x7f\xbad1,\xdd\x1fn@\xcc\xdc\x87q\x13\xf1N@l\xea\x10\x85<\x82T@\x9a\x0fp\x0e\xdc\x81D@\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x08@\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\x1c@\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x08@\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\x1c@\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x08@\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\x1c@\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\xe0?\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x08@\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\x1c@\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x08@\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\x1c@\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\xe0?\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\xf0?'
-p93
tp94
-ba(lp95
+bI00
+S'_ \x18)S_;@\xa8\xe3\xe3*%\xfaL@\xe0"7\x93\x8b~\x02\xc0\x00\x00\x00\x00\x00\x00\xf8\x7fpL\xa2\x9f\xe71\x1e@\xea\x8b\xd5F\x1b\x0cG\xc0\xbc\x07\x0c<u\xf8L@\x8c\xfd\xcf\xdb\xc4\xf9<@\xd2\xee\xff\xff\x99\xd9K@\x00\x00\x00\x00\x00Pa@\xca\xdf\xff\xbf\xcc\xb6\x91@\x00\x00\x00\x00\x00\x00\xf8\x7f\x04\x06\x00\x80\x00\xa0U@\x00\x00\x00\x00\x00\xe4\x81@O\n\x00\x00\x9a\xf9T@\x9e\x14\x00\x004\xb3L@\x00\x00\x00\x00\x00\x004@\x00\x00\x00\x00\x00@P@\x00\x00\x00\x00\x000\x85@\x00\x00\x00\x00\x00\x00\xf8\x7f\x00\x00\x00\x00\x000w@\x00\x00\x00\x00\x00\xc0V@\x00\x00\x00\x00\x00\x80Q@\x00\x00\x00\x00\x00\x00>@\x00\xbcLz\xb7`\xf4B\x00\xbcLz\xb7`\x04C\x00\x1as7\x13\x91\x0eC\x00\xbcLz\xb7`\xf4B\x80$\x03\x8b\xa0\xd4!C\x00\xbcLz\xb7`\x04C\x00\xbcLz\xb7`\x04C\x00\x00\x00\x00\x00\x00\xf8\x7f\x00\x00\x00\x00\x00\x00\xf8\x7f\x00\x00\x00\x00\x00\x00\xf8\x7f\x00\x00\x00\x00\x00\x00\xf8\x7f\x00\x00\x00\x00\x00\x00\xf8\x7f\x00\x00\x00\x00\x00\x00\xf8\x7f\x00\x00\x00\x00\x00\x00\xf8\x7f\x00\x00\x00\x00\x00\x00\xf8\x7f\x00\x00\x00\x00\x00\x00\xf8\x7f\x00\x00\x00\x00\x00\x00\x04@\x00\x00\x00\x00\x00\x80!@\x00\x00\x00\x00\x00\xec\x99@\x00\x00\x00\x00\x00\x004@\x00\x00\x00\x00\x00\xf4p@\x00\x00\x00\x00\x00\x00D@\x00\x00\x00\x00\x00\x00\x10@\x00\x00\x00\x00\x00\x00\x00@c\x06\xce\x04\xa8\xf9B@I\r\x83w\xf6\x81T@:\xcd\x12=\x81\x8bS@\x00\x00\x00\x00\x00\x00\xf8\x7f\xbad1,\xdd\x1fn@\xcc\xdc\x87q\x13\xf1N@l\xea\x10\x85<\x82T@\x9a\x0fp\x0e\xdc\x81D@\x00\x00\x00\x00\x00\x00\x04@\x00\x00\x00\x00\x00\x00\x06@\x00\x00\x00\x00\x00\x00,@\x00\x00\x00\x00\x00\x004@\x00\x00\x00\x00\x00\x00\x11@\x00\x00\x00\x00\x00\x00(@\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x04@\x00\x00\x00\x00\x00\x80\x11@\x00\x00\x00\x00\x00\x80F@\x00\x00\x00\x00\x00\x004@\x00\x00\x00\x00\x00\x00(@\x00\x00\x00\x00\x00\x004@\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x04@\x00\x00\x00\x00\x00\x80\x11@\x00\x00\x00\x00\x00H\x81@\x00\x00\x00\x00\x00\x004@\x00\x00\x00\x00\x00`C@\x00\x00\x00\x00\x00\x004@\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x04@\x00\x00\x00\x00\x00\x00\x18@\x00\x00\x00\x00\x00\x00\x99@\x00\x00\x00\x00\x00\x004@\x00\x00\x00\x00\x00\x00i@\x00\x00\x00\x00\x00\x00<@\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x00@\xd4[n\xa15\xdd\xb0?[4\x80f\x8eN\xbb?\xc3y\x1f<g85@\x00\x00\x00\x00\x00\x00\xf8\x7f\x08{\xd8\xaf4\x02\xf2?B\xd5\xb1x\x1e\xaf\xe4?\xa8\x04*X\x08\xf7\xa8?%6\xb7\xc6}\xf7\xa8?\x00\x00\x00\x00\x00\x00\x04@\x00\x00\x00\x00\x00\x80!@\x00\x00\x00\x00\x00\xec\x99@\x00\x00\x00\x00\x00\x00\xf8\x7f\x00\x00\x00\x00\x00\xf4p@\x00\x00\x00\x00\x00\x00D@\x00\x00\x00\x00\x00\x00\x10@\x00\x00\x00\x00\x00\x00\x00@c\x06\xce\x04\xa8\xf9B@I\r\x83w\xf6\x81T@:\xcd\x12=\x81\x8bS@\x00\x00\x00\x00\x00\x00\xf8\x7f\xbad1,\xdd\x1fn@\xcc\xdc\x87q\x13\xf1N@l\xea\x10\x85<\x82T@\x9a\x0fp\x0e\xdc\x81D@\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x08@\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\x1c@\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x08@\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\x1c@\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x08@\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\x1c@\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\xe0?\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x08@\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\x1c@\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x08@\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\x1c@\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\xe0?\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\x04@\x00\x00\x00\x00\x00\x00\x18@\x00\x00\x00\x00\x00\x80F@\x00\x00\x00\x00\x00\x004@\x00\x00\x00\x00\x00\x00\x11@\x00\x00\x00\x00\x00\x00<@\x00\x00\x00\x00\x00\x004@\x00\x00\x00\x00\x00\x004@'
+p95
+tp96
+ba(lp97
g9
(g10
(I0
-tp96
+tp98
g12
-tp97
-Rp98
-((I1
-(I2
tp99
+Rp100
+((I1
+(I3
+tp101
g16
(S'O8'
-p100
+p102
I0
I1
-tp101
-Rp102
+tp103
+Rp104
(I3
S'|'
-p103
+p105
NNNI-1
I-1
I63
-tp104
+tp106
bI00
-(lp105
+(lp107
g44
ag45
-atp106
-(Ntp107
-tp108
+ag46
+atp108
+(Ntp109
+tp110
bag9
(g10
(I0
-tp109
+tp111
g12
-tp110
-Rp111
-((I1
-(I21
tp112
+Rp113
+((I1
+(I22
+tp114
g19
I00
-(lp113
+(lp115
g23
ag24
ag25
@@ -273,8 +278,9 @@ ag40
ag41
ag42
ag43
-atp114
-(Ntp115
-tp116
-batp117
+ag47
+atp116
+(Ntp117
+tp118
+batp119
bb.
View
208 bamboo/tests/fixtures/good_eats_agg_group_food_type_rating.p
@@ -30,7 +30,7 @@ p12
tp13
Rp14
((I1
-(I23
+(I25
tp15
cnumpy
dtype
@@ -96,186 +96,191 @@ aS'count(risk_factor in ["low_risk"])'
p44
aS'count()'
p45
-atp46
-(Ntp47
-tp48
+aS'argmax(submit_date)'
+p46
+aS'newest(submit_date, amount)'
+p47
+atp48
+(Ntp49
+tp50
bag9
(g10
(I0
-tp49
+tp51
g12
-tp50
-Rp51
+tp52
+Rp53
((I1
(I11
-tp52
+tp54
g16
(S'O8'
-p53
+p55
I0
I1
-tp54
-Rp55
+tp56
+Rp57
(I3
S'|'
-p56
+p58
NNNI-1
I-1
I63
-tp57
+tp59
bI00
-(lp58
+(lp60
(S'caffeination'
-p59
+p61
S'epic_eat'
-p60
-tp61
-a(S'deserts'
p62
-g60
tp63
-a(S'dinner'
+a(S'deserts'
p64
+g62
+tp65
+a(S'dinner'
+p66
S'delectible'
-p65
-tp66
-a(g64
-g60
-tp67
-a(S'drunk_food'
-p68
-g65
+p67
+tp68
+a(g66
+g62
tp69
-a(S'lunch'
+a(S'drunk_food'
p70
-g65
+g67
tp71
-a(g70
-g60
-tp72
-a(S'morning_food'
-p73
-g65
+a(S'lunch'
+p72
+g67
+tp73
+a(g72
+g62
tp74
-a(g73
-g60
-tp75
-a(S'streat_sweets'
-p76
-g65
+a(S'morning_food'
+p75
+g67
+tp76
+a(g75
+g62
tp77
-a(S'street_meat'
+a(S'streat_sweets'
p78
-g65
+g67
tp79
-atp80
-(Ntp81
-tp82
-ba(lp83
+a(S'street_meat'
+p80
+g67
+tp81
+atp82
+(Ntp83
+tp84
+ba(lp85
g9
(cnumpy
ndarray
-p84
+p86
(I0
-tp85
+tp87
g12
-tp86
-Rp87
-(I1
+tp88
+Rp89
(I1
+(I2
I11
-tp88
+tp90
g16
(S'i8'
-p89
+p91
I0
I1
-tp90
-Rp91
+tp92
+Rp93
(I3
S'<'
-p92
+p94
NNNI-1
I-1
I0
-tp93
-bI00
-S'\x01\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x05\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00'
-p94
tp95
+bI00
+S'\x01\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x05\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\n\x00\x00\x00\x00\x00\x00\x00\x0b\x00\x00\x00\x00\x00\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x05\x00\x00\x00\x00\x00\x00\x00\r\x00\x00\x00\x00\x00\x00\x00\x11\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x05\x00\x00\x00\x00\x00\x00\x00\x05\x00\x00\x00\x00\x00\x00\x00'
+p96
+tp97
bag9
-(g84
+(g86
(I0
-tp96
+tp98
g12
-tp97
-Rp98
+tp99
+Rp100
(I1
-(I22
+(I23
I11
-tp99
+tp101
g16
(S'f8'
-p100
+p102
I0
I1
-tp101
-Rp102
+tp103
+Rp104
(I3
S'<'
-p103
+p105
NNNI-1
I-1
I0
-tp104
-bI00
-S"_ \x18)S_;@\xa8\xe3\xe3*%\xfaL@\xb8\xfb\x93v.jA@\xe7m\xc7/\x17\x92B\xc0\x00\x00\x00\x00\x00\x00\xf8\x7f\xb48`rc4K@&\xefk~&nG\xc0T\xba&j\xca\xc9^\xc0_\xf4\xbb\xc6\xbcCS@\xbc\x07\x0c<u\xf8L@\x8c\xfd\xcf\xdb\xc4\xf9<@\xd2\xee\xff\xff\x99\xd9K@\x00\x00\x00\x00\x00Pa@\xca\xdf\xff\xbf\xcc\xb6\x91@\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf8\x7f\x00\x00\x00\x00\x00\xc0C@\x07\x0c\x00\x00\x01\x80G@\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe4\x81@O\n\x00\x00\x9a\xf9T@\x9e\x14\x00\x004\xb3L@\x00\x00\x00\x00\x00\x004@\x00\x00\x00\x00\x00@P@\x00\x00\x00\x00\x00\x00.@\x00\x00\x00\x00\x00\xb8\x84@\x00\x00\x00\x00\x00\x00\xf8\x7f\x00\x00\x00\x00\x00`t@\x00\x00\x00\x00\x00\x80F@\x00\x00\x00\x00\x00\x00L@\x00\x00\x00\x00\x00\x80A@\x00\x00\x00\x00\x00\x80Q@\x00\x00\x00\x00\x00\x00>@\x00\xbcLz\xb7`\xf4B\x00\xbcLz\xb7`\x04C\x00\xbcLz\xb7`\xf4B\x00\xbcLz\xb7`\x04C\x00\xbcLz\xb7`\xf4B\x00\xeb\xdfX\xe5x\x19C\x00\xbcLz\xb7`\x04C\x00\xbcLz\xb7`\xf4B\x00\xbcLz\xb7`\xf4B\x00\xbcLz\xb7`\x04C\x00\x00\x00\x00\x00\x00\xf8\x7f\x00\x00\x00\x00\x00\x00\xf8\x7f\x00\x00\x00\x00\x00\x00\xf8\x7f\x00\x00\x00\x00\x00\x00\xf8\x7f\x00\x00\x00\x00\x00\x00\xf8\x7f\x00\x00\x00\x00\x00\x00\xf8\x7f\x00\x00\x00\x00\x00\x00\xf8\x7f\x00\x00\x00\x00\x00\x00\xf8\x7f\x00\x00\x00\x00\x00\x00\xf8\x7f\x00\x00\x00\x00\x00\x00\xf8\x7f\x00\x00\x00\x00\x00\x00\xf8\x7f\x00\x00\x00\x00\x00\x00\xf8\x7f\x00\x00\x00\x00\x00\x00\x04@\x00\x00\x00\x00\x00\x80!@\x00\x00\x00\x00\x00\x00,@\x00\x00\x00\x00\x00\xb4\x99@\x00\x00\x00\x00\x00\x004@\x00\x00\x00\x00\x00 o@\x00\x00\x00\x00\x00@6@\x00\x00\x00\x00\x00\x00(@\x00\x00\x00\x00\x00\x00<@\x00\x00\x00\x00\x00\x00\x10@\x00\x00\x00\x00\x00\x00\x00@c\x06\xce\x04\xa8\xf9B@I\r\x83w\xf6\x81T@7\xed\xdd\xf3@RC@>\xadG\x86\xc1\xc4C@\x00\x00\x00\x00\x00\x00\xf8\x7f\xc5\xdd\x1d\xebc;d@\xeb\r'\x82\xf2\xc8S@^\xcf\x9d\x81\x8d\xa2H@\xba5\xa8\xbf\x17:)@l\xea\x10\x85<\x82T@\x9a\x0fp\x0e\xdc\x81D@\x00\x00\x00\x00\x00\x00\x04@\x00\x00\x00\x00\x00\x00\x06@\x00\x00\x00\x00\x00\x00,@\x00\x00\x00\x00\x00\x80F@\x00\x00\x00\x00\x00\x004@\x00\x00\x00\x00\x00\x00 @\x00\x00\x00\x00\x00\x00\x11@\x00\x00\x00\x00\x00\x00(@\x00\x00\x00\x00\x00\x00<@\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x04@\x00\x00\x00\x00\x00\x00\x18@\x00\x00\x00\x00\x00\x00,@\x00\x00\x00\x00\x00\x00\x99@\x00\x00\x00\x00\x00\x004@\x00\x00\x00\x00\x00\x00i@\x00\x00\x00\x00\x00\x002@\x00\x00\x00\x00\x00\x00(@\x00\x00\x00\x00\x00\x00<@\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x04@\x00\x00\x00\x00\x00\x80\x11@\x00\x00\x00\x00\x00\x00,@\x00\x00\x00\x00\x00\xb4\x89@\x00\x00\x00\x00\x00\x004@fffff\xe6H@\x00\x00\x00\x00\x00@&@\x00\x00\x00\x00\x00\x00(@\x00\x00\x00\x00\x00\x00<@\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x04@\x00\x00\x00\x00\x00\x80\x11@\x00\x00\x00\x00\x00\x00,@\x00\x00\x00\x00\x00\xb4\x89@\x00\x00\x00\x00\x00\x004@\x00\x00\x00\x00\x00\x00(@\x00\x00\x00\x00\x00@&@\x00\x00\x00\x00\x00\x00(@\x00\x00\x00\x00\x00\x00<@\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x00@\xd4[n\xa15\xdd\xb0?[4\x80f\x8eN\xbb?\xfc\x13\xa4\xd4\xd4/\xd7?X;\xc8\x92\x9f\xcdD@\x00\x00\x00\x00\x00\x00\xf8\x7f\x89\xf2\x93\x92N\x9d\xf8?\x13\xfd\x14XT\xfe\xd1?\xb74St\xd9,\xcf?`\xc7\t\xf1@\xc2\x01@\xa8\x04*X\x08\xf7\xa8?%6\xb7\xc6}\xf7\xa8?\x00\x00\x00\x00\x00\x00\x04@\x00\x00\x00\x00\x00\x80!@\x00\x00\x00\x00\x00\x00,@\x00\x00\x00\x00\x00\xb4\x99@\x00\x00\x00\x00\x00\x00\xf8\x7f\x00\x00\x00\x00\x00 o@\x00\x00\x00\x00\x00@6@\x00\x00\x00\x00\x00\x00(@\x00\x00\x00\x00\x00\x00<@\x00\x00\x00\x00\x00\x00\x10@\x00\x00\x00\x00\x00\x00\x00@c\x06\xce\x04\xa8\xf9B@I\r\x83w\xf6\x81T@7\xed\xdd\xf3@RC@>\xadG\x86\xc1\xc4C@\x00\x00\x00\x00\x00\x00\xf8\x7f\xc5\xdd\x1d\xebc;d@\xeb\r'\x82\xf2\xc8S@^\xcf\x9d\x81\x8d\xa2H@\xba5\xa8\xbf\x17:)@l\xea\x10\x85<\x82T@\x9a\x0fp\x0e\xdc\x81D@\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\x14@\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\x14@\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\x14@\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\x14@\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\x14@\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\x14@\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\xf8\x7f\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\xf0?"
-p105
tp106
-ba(lp107
+bI00
+S"_ \x18)S_;@\xa8\xe3\xe3*%\xfaL@\xb8\xfb\x93v.jA@\xe7m\xc7/\x17\x92B\xc0\x00\x00\x00\x00\x00\x00\xf8\x7f\xb48`rc4K@&\xefk~&nG\xc0T\xba&j\xca\xc9^\xc0_\xf4\xbb\xc6\xbcCS@\xbc\x07\x0c<u\xf8L@\x8c\xfd\xcf\xdb\xc4\xf9<@\xd2\xee\xff\xff\x99\xd9K@\x00\x00\x00\x00\x00Pa@\xca\xdf\xff\xbf\xcc\xb6\x91@\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf8\x7f\x00\x00\x00\x00\x00\xc0C@\x07\x0c\x00\x00\x01\x80G@\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe4\x81@O\n\x00\x00\x9a\xf9T@\x9e\x14\x00\x004\xb3L@\x00\x00\x00\x00\x00\x004@\x00\x00\x00\x00\x00@P@\x00\x00\x00\x00\x00\x00.@\x00\x00\x00\x00\x00\xb8\x84@\x00\x00\x00\x00\x00\x00\xf8\x7f\x00\x00\x00\x00\x00`t@\x00\x00\x00\x00\x00\x80F@\x00\x00\x00\x00\x00\x00L@\x00\x00\x00\x00\x00\x80A@\x00\x00\x00\x00\x00\x80Q@\x00\x00\x00\x00\x00\x00>@\x00\xbcLz\xb7`\xf4B\x00\xbcLz\xb7`\x04C\x00\xbcLz\xb7`\xf4B\x00\xbcLz\xb7`\x04C\x00\xbcLz\xb7`\xf4B\x00\xeb\xdfX\xe5x\x19C\x00\xbcLz\xb7`\x04C\x00\xbcLz\xb7`\xf4B\x00\xbcLz\xb7`\xf4B\x00\xbcLz\xb7`\x04C\x00\x00\x00\x00\x00\x00\xf8\x7f\x00\x00\x00\x00\x00\x00\xf8\x7f\x00\x00\x00\x00\x00\x00\xf8\x7f\x00\x00\x00\x00\x00\x00\xf8\x7f\x00\x00\x00\x00\x00\x00\xf8\x7f\x00\x00\x00\x00\x00\x00\xf8\x7f\x00\x00\x00\x00\x00\x00\xf8\x7f\x00\x00\x00\x00\x00\x00\xf8\x7f\x00\x00\x00\x00\x00\x00\xf8\x7f\x00\x00\x00\x00\x00\x00\xf8\x7f\x00\x00\x00\x00\x00\x00\xf8\x7f\x00\x00\x00\x00\x00\x00\xf8\x7f\x00\x00\x00\x00\x00\x00\x04@\x00\x00\x00\x00\x00\x80!@\x00\x00\x00\x00\x00\x00,@\x00\x00\x00\x00\x00\xb4\x99@\x00\x00\x00\x00\x00\x004@\x00\x00\x00\x00\x00 o@\x00\x00\x00\x00\x00@6@\x00\x00\x00\x00\x00\x00(@\x00\x00\x00\x00\x00\x00<@\x00\x00\x00\x00\x00\x00\x10@\x00\x00\x00\x00\x00\x00\x00@c\x06\xce\x04\xa8\xf9B@I\r\x83w\xf6\x81T@7\xed\xdd\xf3@RC@>\xadG\x86\xc1\xc4C@\x00\x00\x00\x00\x00\x00\xf8\x7f\xc5\xdd\x1d\xebc;d@\xeb\r'\x82\xf2\xc8S@^\xcf\x9d\x81\x8d\xa2H@\xba5\xa8\xbf\x17:)@l\xea\x10\x85<\x82T@\x9a\x0fp\x0e\xdc\x81D@\x00\x00\x00\x00\x00\x00\x04@\x00\x00\x00\x00\x00\x00\x06@\x00\x00\x00\x00\x00\x00,@\x00\x00\x00\x00\x00\x80F@\x00\x00\x00\x00\x00\x004@\x00\x00\x00\x00\x00\x00 @\x00\x00\x00\x00\x00\x00\x11@\x00\x00\x00\x00\x00\x00(@\x00\x00\x00\x00\x00\x00<@\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x04@\x00\x00\x00\x00\x00\x00\x18@\x00\x00\x00\x00\x00\x00,@\x00\x00\x00\x00\x00\x00\x99@\x00\x00\x00\x00\x00\x004@\x00\x00\x00\x00\x00\x00i@\x00\x00\x00\x00\x00\x002@\x00\x00\x00\x00\x00\x00(@\x00\x00\x00\x00\x00\x00<@\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x04@\x00\x00\x00\x00\x00\x80\x11@\x00\x00\x00\x00\x00\x00,@\x00\x00\x00\x00\x00\xb4\x89@\x00\x00\x00\x00\x00\x004@fffff\xe6H@\x00\x00\x00\x00\x00@&@\x00\x00\x00\x00\x00\x00(@\x00\x00\x00\x00\x00\x00<@\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x04@\x00\x00\x00\x00\x00\x80\x11@\x00\x00\x00\x00\x00\x00,@\x00\x00\x00\x00\x00\xb4\x89@\x00\x00\x00\x00\x00\x004@\x00\x00\x00\x00\x00\x00(@\x00\x00\x00\x00\x00@&@\x00\x00\x00\x00\x00\x00(@\x00\x00\x00\x00\x00\x00<@\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x00@\xd4[n\xa15\xdd\xb0?[4\x80f\x8eN\xbb?\xfc\x13\xa4\xd4\xd4/\xd7?X;\xc8\x92\x9f\xcdD@\x00\x00\x00\x00\x00\x00\xf8\x7f\x89\xf2\x93\x92N\x9d\xf8?\x13\xfd\x14XT\xfe\xd1?\xb74St\xd9,\xcf?`\xc7\t\xf1@\xc2\x01@\xa8\x04*X\x08\xf7\xa8?%6\xb7\xc6}\xf7\xa8?\x00\x00\x00\x00\x00\x00\x04@\x00\x00\x00\x00\x00\x80!@\x00\x00\x00\x00\x00\x00,@\x00\x00\x00\x00\x00\xb4\x99@\x00\x00\x00\x00\x00\x00\xf8\x7f\x00\x00\x00\x00\x00 o@\x00\x00\x00\x00\x00@6@\x00\x00\x00\x00\x00\x00(@\x00\x00\x00\x00\x00\x00<@\x00\x00\x00\x00\x00\x00\x10@\x00\x00\x00\x00\x00\x00\x00@c\x06\xce\x04\xa8\xf9B@I\r\x83w\xf6\x81T@7\xed\xdd\xf3@RC@>\xadG\x86\xc1\xc4C@\x00\x00\x00\x00\x00\x00\xf8\x7f\xc5\xdd\x1d\xebc;d@\xeb\r'\x82\xf2\xc8S@^\xcf\x9d\x81\x8d\xa2H@\xba5\xa8\xbf\x17:)@l\xea\x10\x85<\x82T@\x9a\x0fp\x0e\xdc\x81D@\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\x14@\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\x14@\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\x14@\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\x14@\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\x14@\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\x14@\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\xf8\x7f\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\x04@\x00\x00\x00\x00\x00\x00\x18@\x00\x00\x00\x00\x00\x00,@\x00\x00\x00\x00\x00\x80F@\x00\x00\x00\x00\x00\x004@\x00\x00\x00\x00\x00\x00i@\x00\x00\x00\x00\x00\x00\x11@\x00\x00\x00\x00\x00\x00(@\x00\x00\x00\x00\x00\x00<@\x00\x00\x00\x00\x00\x004@\x00\x00\x00\x00\x00\x004@"
+p107
+tp108
+ba(lp109
g9
(g10
(I0
-tp108
+tp110
g12
-tp109
-Rp110
-((I1
-(I1
tp111
+Rp112
+((I1
+(I2
+tp113
g16
(S'O8'
-p112
+p114
I0
I1
-tp113
-Rp114
+tp115
+Rp116
(I3
S'|'
-p115
+p117
NNNI-1
I-1
I63
-tp116
+tp118
bI00
-(lp117
+(lp119
g45
-atp118
-(Ntp119
-tp120
+ag46
+atp120
+(Ntp121
+tp122
bag9
(g10
(I0
-tp121
+tp123
g12
-tp122
-Rp123
-((I1
-(I22
tp124
+Rp125
+((I1
+(I23
+tp126
g19
I00
-(lp125
+(lp127
g23
ag24
ag25
@@ -298,8 +303,9 @@ ag41
ag42
ag43
ag44
-atp126
-(Ntp127
-tp128
-batp129
+ag47
+atp128
+(Ntp129
+tp130
+batp131
bb.
Please sign in to comment.
Something went wrong with that request. Please try again.