ngx-mariem-datatable
Version:
Advanced table extension with sorting, filtering, paging and more... for Angular apps
370 lines • 44.7 kB
JavaScript
/**
* @fileoverview added by tsickle
* Generated from: lib/animations/index.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { sequence, trigger, animate, style, group, query, transition, animateChild, state, animation, useAnimation, stagger } from '@angular/animations';
/** @type {?} */
var customAnimation = animation([
style({
opacity: '{{opacity}}',
transform: 'scale({{scale}}) translate3d({{x}}, {{y}}, {{z}})'
}),
animate('{{duration}} {{delay}} cubic-bezier(0.0, 0.0, 0.2, 1)', style('*'))
], {
params: {
duration: '200ms',
delay: '0ms',
opacity: '0',
scale: '1',
x: '0',
y: '0',
z: '0'
}
});
/** @type {?} */
export var Animations = [
trigger('animate', [transition('void => *', [useAnimation(customAnimation)])]),
trigger('animateStagger', [
state('50', style('*')),
state('100', style('*')),
state('200', style('*')),
transition('void => 50', query('@*', [
stagger('50ms', [
animateChild()
])
], { optional: true })),
transition('void => 100', query('@*', [
stagger('100ms', [
animateChild()
])
], { optional: true })),
transition('void => 200', query('@*', [
stagger('200ms', [
animateChild()
])
], { optional: true }))
]),
trigger('fadeInOut', [
state('0', style({
display: 'none',
opacity: 0
})),
state('1', style({
display: 'block',
opacity: 1
})),
transition('1 => 0', animate('300ms ease-out')),
transition('0 => 1', animate('300ms ease-in'))
]),
trigger('slideInOut', [
state('0', style({
height: '0px',
display: 'none'
})),
state('1', style({
height: '*',
display: 'block'
})),
transition('1 => 0', animate('300ms ease-out')),
transition('0 => 1', animate('300ms ease-in'))
]),
trigger('slideIn', [
transition('void => left', [
style({
transform: 'translateX(100%)'
}),
animate('300ms ease-in', style({
transform: 'translateX(0)'
}))
]),
transition('left => void', [
style({
transform: 'translateX(0)'
}),
animate('300ms ease-in', style({
transform: 'translateX(-100%)'
}))
]),
transition('void => right', [
style({
transform: 'translateX(-100%)'
}),
animate('300ms ease-in', style({
transform: 'translateX(0)'
}))
]),
transition('right => void', [
style({
transform: 'translateX(0)'
}),
animate('300ms ease-in', style({
transform: 'translateX(100%)'
}))
]),
]),
trigger('slideInLeft', [
state('void', style({
transform: 'translateX(-100%)',
display: 'none'
})),
state('*', style({
transform: 'translateX(0)',
display: 'flex'
})),
transition('void => *', animate('300ms')),
transition('* => void', animate('300ms'))
]),
trigger('slideInRight', [
state('void', style({
transform: 'translateX(100%)',
display: 'none'
})),
state('*', style({
transform: 'translateX(0)',
display: 'flex'
})),
transition('void => *', animate('300ms')),
transition('* => void', animate('300ms'))
]),
trigger('slideInTop', [
state('void', style({
transform: 'translateY(-100%)',
display: 'none'
})),
state('*', style({
transform: 'translateY(0)',
display: 'flex'
})),
transition('void => *', animate('300ms')),
transition('* => void', animate('300ms'))
]),
trigger('slideInBottom', [
state('void', style({
transform: 'translateY(100%)',
display: 'none'
})),
state('*', style({
transform: 'translateY(0)',
display: 'flex'
})),
transition('void => *', animate('300ms')),
transition('* => void', animate('300ms'))
]),
trigger('expandCollapse', [
state('void', style({
height: '0px'
})),
state('*', style({
height: '*'
})),
transition('void => *', animate('300ms ease-out')),
transition('* => void', animate('300ms ease-in'))
]),
// -----------------------------------------------------------------------------------------------------
// @ Router animations
// -----------------------------------------------------------------------------------------------------
trigger('routerTransitionLeft', [
transition('* => *', [
query('content > :enter, content > :leave', [
style({
position: 'absolute',
top: 0,
bottom: 0,
left: 0,
right: 0
})
], { optional: true }),
query('content > :enter', [
style({
transform: 'translateX(100%)',
opacity: 0
})
], { optional: true }),
sequence([
group([
query('content > :leave', [
style({
transform: 'translateX(0)',
opacity: 1
}),
animate('600ms cubic-bezier(0.0, 0.0, 0.2, 1)', style({
transform: 'translateX(-100%)',
opacity: 0
}))
], { optional: true }),
query('content > :enter', [
style({ transform: 'translateX(100%)' }),
animate('600ms cubic-bezier(0.0, 0.0, 0.2, 1)', style({
transform: 'translateX(0%)',
opacity: 1
}))
], { optional: true })
]),
query('content > :leave', animateChild(), { optional: true }),
query('content > :enter', animateChild(), { optional: true })
])
])
]),
trigger('routerTransitionRight', [
transition('* => *', [
query('content > :enter, content > :leave', [
style({
position: 'absolute',
top: 0,
bottom: 0,
left: 0,
right: 0
})
], { optional: true }),
query('content > :enter', [
style({
transform: 'translateX(-100%)',
opacity: 0
})
], { optional: true }),
sequence([
group([
query('content > :leave', [
style({
transform: 'translateX(0)',
opacity: 1
}),
animate('600ms cubic-bezier(0.0, 0.0, 0.2, 1)', style({
transform: 'translateX(100%)',
opacity: 0
}))
], { optional: true }),
query('content > :enter', [
style({ transform: 'translateX(-100%)' }),
animate('600ms cubic-bezier(0.0, 0.0, 0.2, 1)', style({
transform: 'translateX(0%)',
opacity: 1
}))
], { optional: true })
]),
query('content > :leave', animateChild(), { optional: true }),
query('content > :enter', animateChild(), { optional: true })
])
])
]),
trigger('routerTransitionUp', [
transition('* => *', [
query('content > :enter, content > :leave', [
style({
position: 'absolute',
top: 0,
bottom: 0,
left: 0,
right: 0
})
], { optional: true }),
query('content > :enter', [
style({
transform: 'translateY(100%)',
opacity: 0
})
], { optional: true }),
group([
query('content > :leave', [
style({
transform: 'translateY(0)',
opacity: 1
}),
animate('600ms cubic-bezier(0.0, 0.0, 0.2, 1)', style({
transform: 'translateY(-100%)',
opacity: 0
}))
], { optional: true }),
query('content > :enter', [
style({ transform: 'translateY(100%)' }),
animate('600ms cubic-bezier(0.0, 0.0, 0.2, 1)', style({
transform: 'translateY(0%)',
opacity: 1
}))
], { optional: true })
]),
query('content > :leave', animateChild(), { optional: true }),
query('content > :enter', animateChild(), { optional: true })
])
]),
trigger('routerTransitionDown', [
transition('* => *', [
query('content > :enter, content > :leave', [
style({
position: 'absolute',
top: 0,
bottom: 0,
left: 0,
right: 0
})
], { optional: true }),
query('content > :enter', [
style({
transform: 'translateY(-100%)',
opacity: 0
})
], { optional: true }),
sequence([
group([
query('content > :leave', [
style({
transform: 'translateY(0)',
opacity: 1
}),
animate('600ms cubic-bezier(0.0, 0.0, 0.2, 1)', style({
transform: 'translateY(100%)',
opacity: 0
}))
], { optional: true }),
query('content > :enter', [
style({ transform: 'translateY(-100%)' }),
animate('600ms cubic-bezier(0.0, 0.0, 0.2, 1)', style({
transform: 'translateY(0%)',
opacity: 1
}))
], { optional: true })
]),
query('content > :leave', animateChild(), { optional: true }),
query('content > :enter', animateChild(), { optional: true })
])
])
]),
trigger('routerTransitionFade', [
transition('* => *', group([
query('content > :enter, content > :leave ', [
style({
position: 'absolute',
top: 0,
bottom: 0,
left: 0,
right: 0
})
], { optional: true }),
query('content > :enter', [
style({
opacity: 0
})
], { optional: true }),
query('content > :leave', [
style({
opacity: 1
}),
animate('300ms cubic-bezier(0.0, 0.0, 0.2, 1)', style({
opacity: 0
}))
], { optional: true }),
query('content > :enter', [
style({
opacity: 0
}),
animate('300ms cubic-bezier(0.0, 0.0, 0.2, 1)', style({
opacity: 1
}))
], { optional: true }),
query('content > :enter', animateChild(), { optional: true }),
query('content > :leave', animateChild(), { optional: true })
]))
])
];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtbWFyaWVtLWRhdGF0YWJsZS8iLCJzb3VyY2VzIjpbImxpYi9hbmltYXRpb25zL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7O0lBRW5KLGVBQWUsR0FBRyxTQUFTLENBQUM7SUFDOUIsS0FBSyxDQUFDO1FBQ0YsT0FBTyxFQUFJLGFBQWE7UUFDeEIsU0FBUyxFQUFFLG1EQUFtRDtLQUNqRSxDQUFDO0lBQ0YsT0FBTyxDQUFDLHVEQUF1RCxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztDQUMvRSxFQUFFO0lBQ0MsTUFBTSxFQUFFO1FBQ0osUUFBUSxFQUFFLE9BQU87UUFDakIsS0FBSyxFQUFLLEtBQUs7UUFDZixPQUFPLEVBQUcsR0FBRztRQUNiLEtBQUssRUFBSyxHQUFHO1FBQ2IsQ0FBQyxFQUFTLEdBQUc7UUFDYixDQUFDLEVBQVMsR0FBRztRQUNiLENBQUMsRUFBUyxHQUFHO0tBQ2hCO0NBQ0osQ0FBQzs7QUFFRixNQUFNLEtBQU8sVUFBVSxHQUFHO0lBRXRCLE9BQU8sQ0FBQyxTQUFTLEVBQUUsQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLENBQUMsWUFBWSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRTlFLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRTtRQUN0QixLQUFLLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN2QixLQUFLLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN4QixLQUFLLENBQUMsS0FBSyxFQUFF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LEtBQUssQ0FBQztvQkFDRixPQUFPLEVBQUUsQ0FBQztpQkFDYixDQUFDO2dCQUNGLE9BQU8sQ0FBQyxzQ0FBc0MsRUFDMUMsS0FBSyxDQUFDO29CQUNGLE9BQU8sRUFBRSxDQUFDO2lCQUNiLENBQUMsQ0FBQzthQUNWLEVBQUUsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQUM7WUFDcEIsS0FBSyxDQUFDLGtCQUFrQixFQUFFO2dCQUN0QixLQUFLLENBQUM7b0JBQ0YsT0FBTyxFQUFFLENBQUM7aUJBQ2IsQ0FBQztnQkFDRixPQUFPLENBQUMsc0NBQXNDLEVBQzFDLEtBQUssQ0FBQztvQkFDRixPQUFPLEVBQUUsQ0FBQztpQkFDYixDQUFDLENBQUM7YUFDVixFQUFFLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQyxDQUFDO1lBQ3BCLEtBQUssQ0FBQyxrQkFBa0IsRUFBRSxZQUFZLEVBQUUsRUFBRSxFQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUMsQ0FBQztZQUMzRCxLQUFLLENBQUMsa0JBQWtCLEVBQUUsWUFBWSxFQUFFLEVBQUUsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQUM7U0FDOUQsQ0FBQyxDQUFDO0tBQ04sQ0FBQztDQUNMIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgc2VxdWVuY2UsIHRyaWdnZXIsIGFuaW1hdGUsIHN0eWxlLCBncm91cCwgcXVlcnksIHRyYW5zaXRpb24sIGFuaW1hdGVDaGlsZCwgc3RhdGUsIGFuaW1hdGlvbiwgdXNlQW5pbWF0aW9uLCBzdGFnZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5cbmNvbnN0IGN1c3RvbUFuaW1hdGlvbiA9IGFuaW1hdGlvbihbXG4gICAgc3R5bGUoe1xuICAgICAgICBvcGFjaXR5ICA6ICd7e29wYWNpdHl9fScsXG4gICAgICAgIHRyYW5zZm9ybTogJ3NjYWxlKHt7c2NhbGV9fSkgdHJhbnNsYXRlM2Qoe3t4fX0sIHt7eX19LCB7e3p9fSknXG4gICAgfSksXG4gICAgYW5pbWF0ZSgne3tkdXJhdGlvbn19IHt7ZGVsYXl9fSBjdWJpYy1iZXppZXIoMC4wLCAwLjAsIDAuMiwgMSknLCBzdHlsZSgnKicpKVxuXSwge1xuICAgIHBhcmFtczoge1xuICAgICAgICBkdXJhdGlvbjogJzIwMG1zJyxcbiAgICAgICAgZGVsYXkgICA6ICcwbXMnLFxuICAgICAgICBvcGFjaXR5IDogJzAnLFxuICAgICAgICBzY2FsZSAgIDogJzEnLFxuICAgICAgICB4ICAgICAgIDogJzAnLFxuICAgICAgICB5ICAgICAgIDogJzAnLFxuICAgICAgICB6ICAgICAgIDogJzAnXG4gICAgfVxufSk7XG5cbmV4cG9ydCBjb25zdCBBbmltYXRpb25zID0gW1xuXG4gICAgdHJpZ2dlcignYW5pbWF0ZScsIFt0cmFuc2l0aW9uKCd2b2lkID0+IConLCBbdXNlQW5pbWF0aW9uKGN1c3RvbUFuaW1hdGlvbildKV0pLFxuXG4gICAgdHJpZ2dlcignYW5pbWF0ZVN0YWdnZXInLCBbXG4gICAgICAgIHN0YXRlKCc1MCcsIHN0eWxlKCcqJykpLFxuICAgICAgICBzdGF0ZSgnMTAwJywgc3R5bGUoJyonKSksXG4gICAgICAgIHN0YXRlKCcyMDAnLCBzdHlsZSgnKicpKSxcblxuICAgICAgICB0cmFuc2l0aW9uKCd2b2lkID0+IDUwJyxcbiAgICAgICAgICAgIHF1ZXJ5KCdAKicsXG4gICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICBzdGFnZ2VyKCc1MG1zJywgW1xuICAgICAgICAgICAgICAgICAgICAgICAgYW5pbWF0ZUNoaWxkKClcbiAgICAgICAgICAgICAgICAgICAgXSlcbiAgICAgICAgICAgICAgICBdLCB7b3B0aW9uYWw6IHRydWV9KSksXG4gICAgICAgIHRyYW5zaXRpb24oJ3ZvaWQgPT4gMTAwJyxcbiAgICAgICAgICAgIHF1ZXJ5KCdAKicsXG4gICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICBzdGFnZ2VyKCcxMDBtcycsIFtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFuaW1hdGVDaGlsZCgpXG4gICAgICAgICAgICAgICAgICAgIF0pXG4gICAgICAgICAgICAgICAgXSwge29wdGlvbmFsOiB0cnVlfSkpLFxuICAgICAgICB0cmFuc2l0aW9uKCd2b2lkID0+IDIwMCcsXG4gICAgICAgICAgICBxdWVyeSgnQConLFxuICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgc3RhZ2dlcignMjAwbXMnLCBbXG4gICAgICAgICAgICAgICAgICAgICAgICBhbmltYXRlQ2hpbGQoKVxuICAgICAgICAgICAgICAgICAgICBdKVxuICAgICAgICAgICAgICAgIF0sIHtvcHRpb25hbDogdHJ1ZX0pKVxuICAgIF0pLFxuXG4gICAgdHJpZ2dlcignZmFkZUluT3V0JywgW1xuICAgICAgICBzdGF0ZSgnMCcsIHN0eWxlKHtcbiAgICAgICAgICAgIGRpc3BsYXk6ICdub25lJyxcbiAgICAgICAgICAgIG9wYWNpdHk6IDBcbiAgICAgICAgfSkpLFxuICAgICAgICBzdGF0ZSgnMScsIHN0eWxlKHtcbiAgICAgICAgICAgIGRpc3BsYXk6ICdibG9jaycsXG4gICAgICAgICAgICBvcGFjaXR5OiAxXG4gICAgICAgIH0pKSxcbiAgICAgICAgdHJhbnNpdGlvbignMSA9PiAwJywgYW5pbWF0ZSgnMzAwbXMgZWFzZS1vdXQnKSksXG4gICAgICAgIHRyYW5zaXRpb24oJzAgPT4gMScsIGFuaW1hdGUoJzMwMG1zIGVhc2UtaW4nKSlcbiAgICBdKSxcblxuICAgIHRyaWdnZXIoJ3NsaWRlSW5PdXQnLCBbXG4gICAgICAgIHN0YXRlKCcwJywgc3R5bGUoe1xuICAgICAgICAgICAgaGVpZ2h0IDogJzBweCcsXG4gICAgICAgICAgICBkaXNwbGF5OiAnbm9uZSdcbiAgICAgICAgfSkpLFxuICAgICAgICBzdGF0ZSgnMScsIHN0eWxlKHtcbiAgICAgICAgICAgIGhlaWdodCA6ICcqJyxcbiAgICAgICAgICAgIGRpc3BsYXk6ICdibG9jaydcbiAgICAgICAgfSkpLFxuICAgICAgICB0cmFuc2l0aW9uKCcxID0+IDAnLCBhbmltYXRlKCczMDBtcyBlYXNlLW91dCcpKSxcbiAgICAgICAgdHJhbnNpdGlvbignMCA9PiAxJywgYW5pbWF0ZSgnMzAwbXMgZWFzZS1pbicpKVxuICAgIF0pLFxuXG4gICAgdHJpZ2dlcignc2xpZGVJbicsIFtcbiAgICAgICAgdHJhbnNpdGlvbigndm9pZCA9PiBsZWZ0JywgW1xuICAgICAgICAgICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCgxMDAlKSdcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBhbmltYXRlKCczMDBtcyBlYXNlLWluJyxcbiAgICAgICAgICAgICAgICAgICAgc3R5bGUoe1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCgwKSdcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICBdXG4gICAgICAgICksXG4gICAgICAgIHRyYW5zaXRpb24oJ2xlZnQgPT4gdm9pZCcsIFtcbiAgICAgICAgICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoMCknXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgYW5pbWF0ZSgnMzAwbXMgZWFzZS1pbicsXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoLTEwMCUpJ1xuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgIF1cbiAgICAgICAgKSxcbiAgICAgICAgdHJhbnNpdGlvbigndm9pZCA9PiByaWdodCcsIFtcbiAgICAgICAgICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoLTEwMCUpJ1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIGFuaW1hdGUoJzMwMG1zIGVhc2UtaW4nLFxuICAgICAgICAgICAgICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDApJ1xuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgIF1cbiAgICAgICAgKSxcbiAgICAgICAgdHJhbnNpdGlvbigncmlnaHQgPT4gdm9pZCcsIFtcbiAgICAgICAgICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoMCknXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgYW5pbWF0ZSgnMzAwbXMgZWFzZS1pbicsXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoMTAwJSknXG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgXVxuICAgICAgICApLFxuICAgIF0pLFxuXG4gICAgdHJpZ2dlcignc2xpZGVJbkxlZnQnLCBbXG4gICAgICAgIHN0YXRlKCd2b2lkJywgc3R5bGUoe1xuICAgICAgICAgICAgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCgtMTAwJSknLFxuICAgICAgICAgICAgZGlzcGxheSAgOiAnbm9uZSdcbiAgICAgICAgfSkpLFxuICAgICAgICBzdGF0ZSgnKicsIHN0eWxlKHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoMCknLFxuICAgICAgICAgICAgZGlzcGxheSAgOiAnZmxleCdcbiAgICAgICAgfSkpLFxuICAgICAgICB0cmFuc2l0aW9uKCd2b2lkID0+IConLCBhbmltYXRlKCczMDBtcycpKSxcbiAgICAgICAgdHJhbnNpdGlvbignKiA9PiB2b2lkJywgYW5pbWF0ZSgnMzAwbXMnKSlcbiAgICBdKSxcblxuICAgIHRyaWdnZXIoJ3NsaWRlSW5SaWdodCcsIFtcbiAgICAgICAgc3RhdGUoJ3ZvaWQnLCBzdHlsZSh7XG4gICAgICAgICAgICB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDEwMCUpJyxcbiAgICAgICAgICAgIGRpc3BsYXkgIDogJ25vbmUnXG4gICAgICAgIH0pKSxcbiAgICAgICAgc3RhdGUoJyonLCBzdHlsZSh7XG4gICAgICAgICAgICB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDApJyxcbiAgICAgICAgICAgIGRpc3BsYXkgIDogJ2ZsZXgnXG4gICAgICAgIH0pKSxcbiAgICAgICAgdHJhbnNpdGlvbigndm9pZCA9PiAqJywgYW5pbWF0ZSgnMzAwbXMnKSksXG4gICAgICAgIHRyYW5zaXRpb24oJyogPT4gdm9pZCcsIGFuaW1hdGUoJzMwMG1zJykpXG4gICAgXSksXG5cbiAgICB0cmlnZ2VyKCdzbGlkZUluVG9wJywgW1xuICAgICAgICBzdGF0ZSgndm9pZCcsIHN0eWxlKHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoLTEwMCUpJyxcbiAgICAgICAgICAgIGRpc3BsYXkgIDogJ25vbmUnXG4gICAgICAgIH0pKSxcbiAgICAgICAgc3RhdGUoJyonLCBzdHlsZSh7XG4gICAgICAgICAgICB0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKDApJyxcbiAgICAgICAgICAgIGRpc3BsYXkgIDogJ2ZsZXgnXG4gICAgICAgIH0pKSxcbiAgICAgICAgdHJhbnNpdGlvbigndm9pZCA9PiAqJywgYW5pbWF0ZSgnMzAwbXMnKSksXG4gICAgICAgIHRyYW5zaXRpb24oJyogPT4gdm9pZCcsIGFuaW1hdGUoJzMwMG1zJykpXG4gICAgXSksXG5cbiAgICB0cmlnZ2VyKCdzbGlkZUluQm90dG9tJywgW1xuICAgICAgICBzdGF0ZSgndm9pZCcsXG4gICAgICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiAndHJhbnNsYXRlWSgxMDAlKScsXG4gICAgICAgICAgICAgICAgZGlzcGxheSAgOiAnbm9uZSdcbiAgICAgICAgICAgIH0pKSxcbiAgICAgICAgc3RhdGUoJyonLCBzdHlsZSh7XG4gICAgICAgICAgICB0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKDApJyxcbiAgICAgICAgICAgIGRpc3BsYXkgIDogJ2ZsZXgnXG4gICAgICAgIH0pKSxcbiAgICAgICAgdHJhbnNpdGlvbigndm9pZCA9PiAqJywgYW5pbWF0ZSgnMzAwbXMnKSksXG4gICAgICAgIHRyYW5zaXRpb24oJyogPT4gdm9pZCcsIGFuaW1hdGUoJzMwMG1zJykpXG4gICAgXSksXG5cbiAgICB0cmlnZ2VyKCdleHBhbmRDb2xsYXBzZScsIFtcbiAgICAgICAgc3RhdGUoJ3ZvaWQnLCBzdHlsZSh7XG4gICAgICAgICAgICBoZWlnaHQ6ICcwcHgnXG4gICAgICAgIH0pKSxcbiAgICAgICAgc3RhdGUoJyonLCBzdHlsZSh7XG4gICAgICAgICAgICBoZWlnaHQ6ICcqJ1xuICAgICAgICB9KSksXG4gICAgICAgIHRyYW5zaXRpb24oJ3ZvaWQgPT4gKicsIGFuaW1hdGUoJzMwMG1zIGVhc2Utb3V0JykpLFxuICAgICAgICB0cmFuc2l0aW9uKCcqID0+IHZvaWQnLCBhbmltYXRlKCczMDBtcyBlYXNlLWluJykpXG4gICAgXSksXG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vIEAgUm91dGVyIGFuaW1hdGlvbnNcbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFxuICAgIHRyaWdnZXIoJ3JvdXRlclRyYW5zaXRpb25MZWZ0JywgW1xuXG4gICAgICAgIHRyYW5zaXRpb24oJyogPT4gKicsIFtcbiAgICAgICAgICAgIHF1ZXJ5KCdjb250ZW50ID4gOmVudGVyLCBjb250ZW50ID4gOmxlYXZlJywgW1xuICAgICAgICAgICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgICAgICAgICAgICAgICAgIHRvcCAgICAgOiAwLFxuICAgICAgICAgICAgICAgICAgICBib3R0b20gIDogMCxcbiAgICAgICAgICAgICAgICAgICAgbGVmdCAgICA6IDAsXG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0ICAgOiAwXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIF0sIHtvcHRpb25hbDogdHJ1ZX0pLFxuICAgICAgICAgICAgcXVlcnkoJ2NvbnRlbnQgPiA6ZW50ZXInLCBbXG4gICAgICAgICAgICAgICAgc3R5bGUoe1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDEwMCUpJyxcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eSAgOiAwXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIF0sIHtvcHRpb25hbDogdHJ1ZX0pLFxuICAgICAgICAgICAgc2VxdWVuY2UoW1xuICAgICAgICAgICAgICAgIGdyb3VwKFtcbiAgICAgICAgICAgICAgICAgICAgcXVlcnkoJ2NvbnRlbnQgPiA6bGVhdmUnLCBbXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCgwKScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eSAgOiAxXG4gICAgICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGFuaW1hdGUoJzYwMG1zIGN1YmljLWJlemllcigwLjAsIDAuMCwgMC4yLCAxKScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGUoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKC0xMDAlKScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHkgIDogMFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKVxuICAgICAgICAgICAgICAgICAgICBdLCB7b3B0aW9uYWw6IHRydWV9KSxcbiAgICAgICAgICAgICAgICAgICAgcXVlcnkoJ2NvbnRlbnQgPiA6ZW50ZXInLCBbXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlWCgxMDAlKSd9KSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGFuaW1hdGUoJzYwMG1zIGN1YmljLWJlemllcigwLjAsIDAuMCwgMC4yLCAxKScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGUoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDAlKScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHkgIDogMVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKVxuICAgICAgICAgICAgICAgICAgICBdLCB7b3B0aW9uYWw6IHRydWV9KVxuICAgICAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgICAgIHF1ZXJ5KCdjb250ZW50ID4gOmxlYXZlJywgYW5pbWF0ZUNoaWxkKCksIHtvcHRpb25hbDogdHJ1ZX0pLFxuICAgICAgICAgICAgICAgIHF1ZXJ5KCdjb250ZW50ID4gOmVudGVyJywgYW5pbWF0ZUNoaWxkKCksIHtvcHRpb25hbDogdHJ1ZX0pXG4gICAgICAgICAgICBdKVxuICAgICAgICBdKVxuICAgIF0pLFxuXG4gICAgdHJpZ2dlcigncm91dGVyVHJhbnNpdGlvblJpZ2h0JywgW1xuXG4gICAgICAgIHRyYW5zaXRpb24oJyogPT4gKicsIFtcbiAgICAgICAgICAgIHF1ZXJ5KCdjb250ZW50ID4gOmVudGVyLCBjb250ZW50ID4gOmxlYXZlJywgW1xuICAgICAgICAgICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgICAgICAgICAgICAgICAgIHRvcCAgICAgOiAwLFxuICAgICAgICAgICAgICAgICAgICBib3R0b20gIDogMCxcbiAgICAgICAgICAgICAgICAgICAgbGVmdCAgICA6IDAsXG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0ICAgOiAwXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIF0sIHtvcHRpb25hbDogdHJ1ZX0pLFxuICAgICAgICAgICAgcXVlcnkoJ2NvbnRlbnQgPiA6ZW50ZXInLCBbXG4gICAgICAgICAgICAgICAgc3R5bGUoe1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKC0xMDAlKScsXG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHkgIDogMFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICBdLCB7b3B0aW9uYWw6IHRydWV9KSxcbiAgICAgICAgICAgIHNlcXVlbmNlKFtcbiAgICAgICAgICAgICAgICBncm91cChbXG4gICAgICAgICAgICAgICAgICAgIHF1ZXJ5KCdjb250ZW50ID4gOmxlYXZlJywgW1xuICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGUoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoMCknLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHkgIDogMVxuICAgICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgICAgICBhbmltYXRlKCc2MDBtcyBjdWJpYy1iZXppZXIoMC4wLCAwLjAsIDAuMiwgMSknLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCgxMDAlKScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHkgIDogMFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKVxuICAgICAgICAgICAgICAgICAgICBdLCB7b3B0aW9uYWw6IHRydWV9KSxcbiAgICAgICAgICAgICAgICAgICAgcXVlcnkoJ2NvbnRlbnQgPiA6ZW50ZXInLCBbXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlWCgtMTAwJSknfSksXG4gICAgICAgICAgICAgICAgICAgICAgICBhbmltYXRlKCc2MDBtcyBjdWJpYy1iZXppZXIoMC4wLCAwLjAsIDAuMiwgMSknLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCgwJSknLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5ICA6IDFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSlcbiAgICAgICAgICAgICAgICAgICAgXSwge29wdGlvbmFsOiB0cnVlfSlcbiAgICAgICAgICAgICAgICBdKSxcbiAgICAgICAgICAgICAgICBxdWVyeSgnY29udGVudCA+IDpsZWF2ZScsIGFuaW1hdGVDaGlsZCgpLCB7b3B0aW9uYWw6IHRydWV9KSxcbiAgICAgICAgICAgICAgICBxdWVyeSgnY29udGVudCA+IDplbnRlcicsIGFuaW1hdGVDaGlsZCgpLCB7b3B0aW9uYWw6IHRydWV9KVxuICAgICAgICAgICAgXSlcbiAgICAgICAgXSlcbiAgICBdKSxcblxuICAgIHRyaWdnZXIoJ3JvdXRlclRyYW5zaXRpb25VcCcsIFtcblxuICAgICAgICB0cmFuc2l0aW9uKCcqID0+IConLCBbXG4gICAgICAgICAgICBxdWVyeSgnY29udGVudCA+IDplbnRlciwgY29udGVudCA+IDpsZWF2ZScsIFtcbiAgICAgICAgICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgICAgICAgICAgICAgICAgICB0b3AgICAgIDogMCxcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tICA6IDAsXG4gICAgICAgICAgICAgICAgICAgIGxlZnQgICAgOiAwLFxuICAgICAgICAgICAgICAgICAgICByaWdodCAgIDogMFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICBdLCB7b3B0aW9uYWw6IHRydWV9KSxcbiAgICAgICAgICAgIHF1ZXJ5KCdjb250ZW50ID4gOmVudGVyJywgW1xuICAgICAgICAgICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiAndHJhbnNsYXRlWSgxMDAlKScsXG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHkgIDogMFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICBdLCB7b3B0aW9uYWw6IHRydWV9KSxcbiAgICAgICAgICAgIGdyb3VwKFtcbiAgICAgICAgICAgICAgICBxdWVyeSgnY29udGVudCA+IDpsZWF2ZScsIFtcbiAgICAgICAgICAgICAgICAgICAgc3R5bGUoe1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiAndHJhbnNsYXRlWSgwKScsXG4gICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5ICA6IDFcbiAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgIGFuaW1hdGUoJzYwMG1zIGN1YmljLWJlemllcigwLjAsIDAuMCwgMC4yLCAxKScsXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiAndHJhbnNsYXRlWSgtMTAwJSknLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHkgIDogMFxuICAgICAgICAgICAgICAgICAgICAgICAgfSkpXG4gICAgICAgICAgICAgICAgXSwge29wdGlvbmFsOiB0cnVlfSksXG4gICAgICAgICAgICAgICAgcXVlcnkoJ2NvbnRlbnQgPiA6ZW50ZXInLCBbXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlKHt0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKDEwMCUpJ30pLFxuICAgICAgICAgICAgICAgICAgICBhbmltYXRlKCc2MDBtcyBjdWJpYy1iZXppZXIoMC4wLCAwLjAsIDAuMiwgMSknLFxuICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGUoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoMCUpJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5ICA6IDFcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pKVxuICAgICAgICAgICAgICAgIF0sIHtvcHRpb25hbDogdHJ1ZX0pXG4gICAgICAgICAgICBdKSxcbiAgICAgICAgICAgIHF1ZXJ5KCdjb250ZW50ID4gOmxlYXZlJywgYW5pbWF0ZUNoaWxkKCksIHtvcHRpb25hbDogdHJ1ZX0pLFxuICAgICAgICAgICAgcXVlcnkoJ2NvbnRlbnQgPiA6ZW50ZXInLCBhbmltYXRlQ2hpbGQoKSwge29wdGlvbmFsOiB0cnVlfSlcbiAgICAgICAgXSlcbiAgICBdKSxcblxuICAgIHRyaWdnZXIoJ3JvdXRlclRyYW5zaXRpb25Eb3duJywgW1xuXG4gICAgICAgIHRyYW5zaXRpb24oJyogPT4gKicsIFtcbiAgICAgICAgICAgIHF1ZXJ5KCdjb250ZW50ID4gOmVudGVyLCBjb250ZW50ID4gOmxlYXZlJywgW1xuICAgICAgICAgICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgICAgICAgICAgICAgICAgIHRvcCAgICAgOiAwLFxuICAgICAgICAgICAgICAgICAgICBib3R0b20gIDogMCxcbiAgICAgICAgICAgICAgICAgICAgbGVmdCAgICA6IDAsXG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0ICAgOiAwXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIF0sIHtvcHRpb25hbDogdHJ1ZX0pLFxuICAgICAgICAgICAgcXVlcnkoJ2NvbnRlbnQgPiA6ZW50ZXInLCBbXG4gICAgICAgICAgICAgICAgc3R5bGUoe1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKC0xMDAlKScsXG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHkgIDogMFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICBdLCB7b3B0aW9uYWw6IHRydWV9KSxcbiAgICAgICAgICAgIHNlcXVlbmNlKFtcbiAgICAgICAgICAgICAgICBncm91cChbXG4gICAgICAgICAgICAgICAgICAgIHF1ZXJ5KCdjb250ZW50ID4gOmxlYXZlJywgW1xuICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGUoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoMCknLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHkgIDogMVxuICAgICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgICAgICBhbmltYXRlKCc2MDBtcyBjdWJpYy1iZXppZXIoMC4wLCAwLjAsIDAuMiwgMSknLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiAndHJhbnNsYXRlWSgxMDAlKScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHkgIDogMFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKVxuICAgICAgICAgICAgICAgICAgICBdLCB7b3B0aW9uYWw6IHRydWV9KSxcbiAgICAgICAgICAgICAgICAgICAgcXVlcnkoJ2NvbnRlbnQgPiA6ZW50ZXInLCBbXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlWSgtMTAwJSknfSksXG4gICAgICAgICAgICAgICAgICAgICAgICBhbmltYXRlKCc2MDBtcyBjdWJpYy1iZXppZXIoMC4wLCAwLjAsIDAuMiwgMSknLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiAndHJhbnNsYXRlWSgwJSknLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5ICA6IDFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSlcbiAgICAgICAgICAgICAgICAgICAgXSwge29wdGlvbmFsOiB0cnVlfSlcbiAgICAgICAgICAgICAgICBdKSxcbiAgICAgICAgICAgICAgICBxdWVyeSgnY29udGVudCA+IDpsZWF2ZScsIGFuaW1hdGVDaGlsZCgpLCB7b3B0aW9uYWw6IHRydWV9KSxcbiAgICAgICAgICAgICAgICBxdWVyeSgnY29udGVudCA+IDplbnRlcicsIGFuaW1hdGVDaGlsZCgpLCB7b3B0aW9uYWw6IHRydWV9KVxuICAgICAgICAgICAgXSlcbiAgICAgICAgXSlcbiAgICBdKSxcblxuICAgIHRyaWdnZXIoJ3JvdXRlclRyYW5zaXRpb25GYWRlJywgW1xuXG4gICAgICAgIHRyYW5zaXRpb24oJyogPT4gKicsIGdyb3VwKFtcblxuICAgICAgICAgICAgcXVlcnkoJ2NvbnRlbnQgPiA6ZW50ZXIsIGNvbnRlbnQgPiA6bGVhdmUgJywgW1xuICAgICAgICAgICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgICAgICAgICAgICAgICAgIHRvcCAgICAgOiAwLFxuICAgICAgICAgICAgICAgICAgICBib3R0b20gIDogMCxcbiAgICAgICAgICAgICAgICAgICAgbGVmdCAgICA6IDAsXG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0ICAgOiAwXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIF0sIHtvcHRpb25hbDogdHJ1ZX0pLFxuXG4gICAgICAgICAgICBxdWVyeSgnY29udGVudCA+IDplbnRlcicsIFtcbiAgICAgICAgICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDBcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgXSwge29wdGlvbmFsOiB0cnVlfSksXG4gICAgICAgICAgICBxdWVyeSgnY29udGVudCA+IDpsZWF2ZScsIFtcbiAgICAgICAgICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDFcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBhbmltYXRlKCczMDBtcyBjdWJpYy1iZXppZXIoMC4wLCAwLjAsIDAuMiwgMSknLFxuICAgICAgICAgICAgICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwXG4gICAgICAgICAgICAgICAgICAgIH0pKVxuICAgICAgICAgICAgXSwge29wdGlvbmFsOiB0cnVlfSksXG4gICAgICAgICAgICBxdWVyeSgnY29udGVudCA+IDplbnRlcicsIFtcbiAgICAgICAgICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDBcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBhbmltYXRlKCczMDBtcyBjdWJpYy1iZXppZXIoMC4wLCAwLjAsIDAuMiwgMSknLFxuICAgICAgICAgICAgICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxXG4gICAgICAgICAgICAgICAgICAgIH0pKVxuICAgICAgICAgICAgXSwge29wdGlvbmFsOiB0cnVlfSksXG4gICAgICAgICAgICBxdWVyeSgnY29udGVudCA+IDplbnRlcicsIGFuaW1hdGVDaGlsZCgpLCB7b3B0aW9uYWw6IHRydWV9KSxcbiAgICAgICAgICAgIHF1ZXJ5KCdjb250ZW50ID4gOmxlYXZlJywgYW5pbWF0ZUNoaWxkKCksIHtvcHRpb25hbDogdHJ1ZX0pXG4gICAgICAgIF0pKVxuICAgIF0pXG5dO1xuIl19