def recombine(self, other, d=<NUM_LIT>):
a, b = self, other<EOL>d1 = max(<NUM_LIT:0>, min(d, <NUM_LIT:1>))<EOL>d2 = d1<EOL>c = ColorTheme(<EOL>name=a.name[:int(len(a.name) * d1)] +<EOL>b.name[int(len(b.name) * d2):],<EOL>ranges=a.ranges[:int(len(a.ranges) * d1)] +<EOL>b.ranges[int(len(b.ranges) * d2):],<EOL>top=a.top,<EOL>cache=os.path.join(DEFAULT_CACHE, "<STR_LIT>"),<EOL>blue=a.blue,<EOL>length=a.length * d1 + b.length * d2<EOL>)<EOL>c.tags = a.tags[:int(len(a.tags) * d1)]<EOL>c.tags += b.tags[int(len(b.tags) * d2):]<EOL>return c<EOL>
Genetic recombination of two themes using cut and splice technique.