.bf-block-publications{background-color:var(--color-light-gray);margin-bottom:var(--space-module);margin-top:var(--space-module);padding-bottom:var(--space-block)}.bf-block-publications__top{align-items:center;display:flex;gap:var(--space-element);justify-content:space-between}.bf-block-publications__top .button{padding-bottom:0}@media (max-width:56.25em){.bf-block-publications__top .button{display:none}}.bf-block-publications__slider .swiper-slide{width:-moz-fit-content;width:fit-content}.bf-block-publications__card{aspect-ratio:8.5/11;position:relative;width:260px}.bf-block-publications__image{height:100%;position:absolute;width:100%}.bf-block-publications__image img{height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.bf-block-publications__overlay{align-items:center;background-color:rgba(240,128,7,.85);color:var(--color-light);display:flex;flex-direction:column;gap:calc(var(--space-element) + 4px);inset:0;justify-content:center;max-width:100%;opacity:0;padding:var(--space-element);position:absolute;text-align:center;transition:var(--transition-default);visibility:hidden;z-index:2}.bf-block-publications__overlay a{color:var(--color-light);cursor:pointer;display:block;font-size:18px;font-weight:600;letter-spacing:1px;text-decoration:underline;transform:scale(1);transition:var(--transition-default)}.bf-block-publications__overlay a+a{margin-top:var(--space-atom)}.bf-block-publications__overlay a:hover{transform:scale(1.2)}.bf-block-publications__card:hover .bf-block-publications__overlay{opacity:1;visibility:visible}.bf-block-publications__all-button{margin-top:var(--space-element)!important}@media (min-width:56.3125em){.bf-block-publications__all-button{display:none!important}}
/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInB1YmxpY2F0aW9ucy9ibG9jay5zY3NzIiwicHVibGljYXRpb25zL2Jsb2NrLmNzcyIsIi4uLy4uL2Fzc2V0cy9zcmMvY3NzL19taXhpbnMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLSSx1QkFDSSx3Q0FBQSxDQUVBLGlDQUFBLENBREEsOEJBQUEsQ0FFQSxpQ0NTUixDRE5JLDRCQUVJLGtCQUFBLENBREEsWUFBQSxDQUdBLHdCQUFBLENBREEsNkJDU1IsQ0ROUSxvQ0FDSSxnQkNRWixDQ2tDUSwyQkYzQ0Esb0NBSVEsWUNTZCxDQUNGLENESlEsNkNBQ0ksc0JBQUEsQ0FBQSxpQkNNWixDREZJLDZCQUdJLG1CQUFBLENBRkEsaUJBQUEsQ0FDQSxXQ0tSLENEREksOEJBR0ksV0FBQSxDQUZBLGlCQUFBLENBQ0EsVUNJUixDRERRLGtDQUVJLFdBQUEsQ0FDQSxtQkFBQSxDQUFBLGdCQUFBLENBRkEsVUNLWixDRENJLGdDQU1JLGtCQUFBLENBR0Esb0NBQUEsQ0FDQSx3QkFBQSxDQVBBLFlBQUEsQ0FFQSxxQkFBQSxDQURBLG9DQUFBLENBRkEsT0FBQSxDQUtBLHNCQUFBLENBS0EsY0FBQSxDQUNBLFNBQUEsQ0FMQSw0QkFBQSxDQVBBLGlCQUFBLENBVUEsaUJBQUEsQ0FJQSxvQ0FBQSxDQURBLGlCQUFBLENBRUEsU0NDUixDRENRLGtDQUdJLHdCQUFBLENBSUEsY0FBQSxDQU5BLGFBQUEsQ0FHQSxjQUFBLENBQ0EsZUFBQSxDQUNBLGtCQUFBLENBSkEseUJBQUEsQ0FNQSxrQkFBQSxDQUNBLG9DQ0NaLENEQ1ksb0NBQ0ksNEJDQ2hCLENERVksd0NBQ0ksb0JDQWhCLENESVEsbUVBRUksU0FBQSxDQURBLGtCQ0RaLENETUksbUNBQ0kseUNDSlIsQ0M3Q1EsNkJGZ0RKLG1DQUlRLHNCQ0hWLENBQ0YiLCJmaWxlIjoicHVibGljYXRpb25zL2Jsb2NrLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkB1c2UgXCIuLi8uLi8uLi9hc3NldHMvc3JjL2Nzcy9taXhpbnNcIiBhcyAqO1xuXG4uYmYtYmxvY2stcHVibGljYXRpb25zIHtcbiAgICAkYmFzZTogJjtcblxuICAgICYge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1saWdodC1ncmF5KTtcbiAgICAgICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtbW9kdWxlKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtbW9kdWxlKTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNlLWJsb2NrKTtcbiAgICB9XG5cbiAgICAmX190b3Age1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UtZWxlbWVudCk7XG5cbiAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgwLCBtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fc2xpZGVyIHtcbiAgICAgICAgLnN3aXBlci1zbGlkZSB7XG4gICAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jYXJkIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogMjYwcHg7XG4gICAgICAgIGFzcGVjdC1yYXRpbzogOC41LzExO1xuICAgIH1cblxuICAgICZfX2ltYWdlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fb3ZlcmxheSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgaW5zZXQ6IDA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGdhcDogY2FsYyh2YXIoLS1zcGFjZS1lbGVtZW50KSArIDRweCk7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1lbGVtZW50KTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNDAsIDEyOCwgNywgMC44NSk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saWdodCk7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24tZGVmYXVsdCk7XG4gICAgICAgIHotaW5kZXg6IDI7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWxpZ2h0KTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24tZGVmYXVsdCk7XG5cbiAgICAgICAgICAgICsgYSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtYXRvbSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4yKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICN7JGJhc2V9X19jYXJkOmhvdmVyICYge1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19hbGwtYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtZWxlbWVudCkgIWltcG9ydGFudDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLyoqXG4gKiBNaXhpbiBmb3IgY3JlYXRpbmcgYnJlYWtwb2ludHNcbiAqXG4gKiBAcGFyYW0gJG1pbiAgICBwaXhlbCAgIFRoZSBtaW4gd2lkdGggYnJlYWtwb2ludFxuICogQHBhcmFtICRtYXggICAgcGl4ZWwgICBUaGUgbWF4IHdpZHRoIGJyZWFrcG9pbnRcbiAqIEBwYXJhbSAkd2hpY2ggIHN0cmluZyAgV2lkdGggb3IgaGVpZ2h0XG4gKiBAcmV0dXJuIGNvbnRlbnRcbiAqXG4gKiBFeGFtcGxlczpcbiAqIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0LWxhbmRzY2FwZSkge30gPSBAbWVkaWEgbWluLXdpZHRoOjkwMHB4IHt9XG4gKiBAaW5jbHVkZSBicmVha3BvaW50KDAsIHRhYmxldC1sYW5kc2NhcGUpIHt9ID0gQG1lZGlhIG1heC13aWR0aDo4OTlweCB7fVxuICogQGluY2x1ZGUgYnJlYWtwb2ludCg0MDBweCwgZGVza3RvcCkge30gPSBAbWVkaWEgbWluLXdpZHRoOiA0MDBweCBhbmQgbWF4LXdpZHRoOiAxMTk5cHgge31cbiAqL1xuLmJmLWJsb2NrLXB1YmxpY2F0aW9ucyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWxpZ2h0LWdyYXkpO1xuICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS1tb2R1bGUpO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS1tb2R1bGUpO1xuICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2UtYmxvY2spO1xufVxuLmJmLWJsb2NrLXB1YmxpY2F0aW9uc19fdG9wIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBnYXA6IHZhcigtLXNwYWNlLWVsZW1lbnQpO1xufVxuLmJmLWJsb2NrLXB1YmxpY2F0aW9uc19fdG9wIC5idXR0b24ge1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA1Ni4yNWVtKSB7XG4gIC5iZi1ibG9jay1wdWJsaWNhdGlvbnNfX3RvcCAuYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4uYmYtYmxvY2stcHVibGljYXRpb25zX19zbGlkZXIgLnN3aXBlci1zbGlkZSB7XG4gIHdpZHRoOiBmaXQtY29udGVudDtcbn1cbi5iZi1ibG9jay1wdWJsaWNhdGlvbnNfX2NhcmQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAyNjBweDtcbiAgYXNwZWN0LXJhdGlvOiA4LjUvMTE7XG59XG4uYmYtYmxvY2stcHVibGljYXRpb25zX19pbWFnZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cbi5iZi1ibG9jay1wdWJsaWNhdGlvbnNfX2ltYWdlIGltZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xufVxuLmJmLWJsb2NrLXB1YmxpY2F0aW9uc19fb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaW5zZXQ6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogY2FsYyh2YXIoLS1zcGFjZS1lbGVtZW50KSArIDRweCk7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1lbGVtZW50KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNDAsIDEyOCwgNywgMC44NSk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1saWdodCk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBvcGFjaXR5OiAwO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24tZGVmYXVsdCk7XG4gIHotaW5kZXg6IDI7XG59XG4uYmYtYmxvY2stcHVibGljYXRpb25zX19vdmVybGF5IGEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1saWdodCk7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uLWRlZmF1bHQpO1xufVxuLmJmLWJsb2NrLXB1YmxpY2F0aW9uc19fb3ZlcmxheSBhICsgYSB7XG4gIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLWF0b20pO1xufVxuLmJmLWJsb2NrLXB1YmxpY2F0aW9uc19fb3ZlcmxheSBhOmhvdmVyIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjIpO1xufVxuLmJmLWJsb2NrLXB1YmxpY2F0aW9uc19fY2FyZDpob3ZlciAuYmYtYmxvY2stcHVibGljYXRpb25zX19vdmVybGF5IHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgb3BhY2l0eTogMTtcbn1cbi5iZi1ibG9jay1wdWJsaWNhdGlvbnNfX2FsbC1idXR0b24ge1xuICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS1lbGVtZW50KSAhaW1wb3J0YW50O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDU2LjMxMjVlbSkge1xuICAuYmYtYmxvY2stcHVibGljYXRpb25zX19hbGwtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn0iLCJAdXNlIFwic2FzczptYXRoXCI7XG5cblxuQGZ1bmN0aW9uIHJlbSgkdmFsdWUpIHtcbiAgICAvLyBAcmV0dXJuICR2YWx1ZSAvIDE2cHggKiAxcmVtO1xuICAgIEByZXR1cm4gJHZhbHVlO1xufVxuXG5cbiRicmVha3BvaW50czogKFxuICAgIHNtYWxsOiA2MDFweCxcbiAgICBtZWRpdW06IDkwMXB4LFxuICAgIGxhcmdlOiAxMDI1cHgsXG4gICAgeGxhcmdlOiAxMjAxcHgsXG4gICAgeHhsYXJnZTogMTQ0MXB4LFxuICAgIGh1Z2U6IDE2MDFweCxcbiAgICB1bHRyYXdpZGU6IDE5MjFweFxuKTtcblxuLyoqXG4gKiBNaXhpbiBmb3IgY3JlYXRpbmcgYnJlYWtwb2ludHNcbiAqXG4gKiBAcGFyYW0gJG1pbiAgICBwaXhlbCAgIFRoZSBtaW4gd2lkdGggYnJlYWtwb2ludFxuICogQHBhcmFtICRtYXggICAgcGl4ZWwgICBUaGUgbWF4IHdpZHRoIGJyZWFrcG9pbnRcbiAqIEBwYXJhbSAkd2hpY2ggIHN0cmluZyAgV2lkdGggb3IgaGVpZ2h0XG4gKiBAcmV0dXJuIGNvbnRlbnRcbiAqXG4gKiBFeGFtcGxlczpcbiAqIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0LWxhbmRzY2FwZSkge30gPSBAbWVkaWEgbWluLXdpZHRoOjkwMHB4IHt9XG4gKiBAaW5jbHVkZSBicmVha3BvaW50KDAsIHRhYmxldC1sYW5kc2NhcGUpIHt9ID0gQG1lZGlhIG1heC13aWR0aDo4OTlweCB7fVxuICogQGluY2x1ZGUgYnJlYWtwb2ludCg0MDBweCwgZGVza3RvcCkge30gPSBAbWVkaWEgbWluLXdpZHRoOiA0MDBweCBhbmQgbWF4LXdpZHRoOiAxMTk5cHgge31cbiAqL1xuQG1peGluIGJyZWFrcG9pbnQoJG1pbjogMCwgJG1heDogMCwgJHdoaWNoOiB3aWR0aCkge1xuICAgICRtaW4tYnJlYWs6ICcnO1xuICAgICRtYXgtYnJlYWs6ICcnO1xuXG4gICAgQGlmICgkbWF4ID09IDApIHtcbiAgICAgICAgLy8gaWYgJG1heCBpcyB6ZXJvIHRoZW4gd2UncmUgb25seSBkZWFsaW5nIHdpdGggYSBtaW4gYnJlYWtwb2ludFxuICAgICAgICBAaWYgdHlwZS1vZigkbWluKSA9PSAnbnVtYmVyJyB7XG4gICAgICAgICAgICAkbWluLWJyZWFrOiBtYXRoLmRpdigkbWluLCAxNnB4KSAqIDFlbTtcbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkbWluKSB7XG4gICAgICAgICAgICAgICAgJG1pbi1icmVhazogbWF0aC5kaXYobWFwLWdldCgkYnJlYWtwb2ludHMsICRtaW4pLCAxNnB4KSAqIDFlbTtcbiAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgIEBlcnJvciAnTWluIGJyZWFrcG9pbnQgbm90IGZvdW5kIGluIG1hcC4nXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhIChtaW4tI3skd2hpY2h9OiAkbWluLWJyZWFrKSB7XG4gICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgIH0gQGVsc2UgaWYgKCRtaW4gPT0gMCkge1xuICAgICAgICAvLyBpZiAkbWluIGlzIHplcm8gdGhlbiB3ZSdyZSBvbmx5IGRlYWxpbmcgd2l0aCBhIG1heCBicmVha3BvaW50XG4gICAgICAgIEBpZiB0eXBlLW9mKCRtYXgpID09ICdudW1iZXInIHtcbiAgICAgICAgICAgICRtYXgtYnJlYWs6IG1hdGguZGl2KCgkbWF4IC0gMSksIDE2cHgpICogMWVtO1xuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICRtYXgpIHtcbiAgICAgICAgICAgICAgICAkbWF4LWJyZWFrOiBtYXRoLmRpdigobWFwLWdldCgkYnJlYWtwb2ludHMsICRtYXgpIC0gMSksIDE2cHgpICogMWVtO1xuICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgQGVycm9yICdNYXggYnJlYWtwb2ludCBub3QgZm91bmQgaW4gbWFwLidcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgKG1heC0jeyR3aGljaH06ICRtYXgtYnJlYWspIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIC8vIGlmIG5laXRoZXIgYXJlIHplcm8gdGhlbiB3ZSdyZSBkZWFsaW5nIHdpdGggYm90aFxuICAgICAgICBAaWYgdHlwZS1vZigkbWluKSA9PSAnbnVtYmVyJyB7XG4gICAgICAgICAgICAkbWluLWJyZWFrOiBtYXRoLmRpdigkbWluLCAxNnB4KSAqIDFlbTtcbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkbWluKSB7XG4gICAgICAgICAgICAgICAgJG1pbi1icmVhazogbWF0aC5kaXYobWFwLWdldCgkYnJlYWtwb2ludHMsICRtaW4pLCAxNnB4KSAqIDFlbTtcbiAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgIEBlcnJvciAnTWluIGJyZWFrcG9pbnQgbm90IGZvdW5kIGluIG1hcC4nXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGlmIHR5cGUtb2YoJG1heCkgPT0gJ251bWJlcicge1xuICAgICAgICAgICAgJG1heC1icmVhazogbWF0aC5kaXYoKCRtYXggLSAxKSwgMTZweCkgKiAxZW07XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJG1heCkge1xuICAgICAgICAgICAgICAgICRtYXgtYnJlYWs6IG1hdGguZGl2KChtYXAtZ2V0KCRicmVha3BvaW50cywgJG1heCkgLSAxKSwgMTZweCkgKiAxZW07XG4gICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICBAZXJyb3IgJ01heCBicmVha3BvaW50IG5vdCBmb3VuZCBpbiBtYXAuJ1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAobWluLSN7JHdoaWNofTogJG1pbi1icmVhaykgYW5kIChtYXgtI3skd2hpY2h9OiAkbWF4LWJyZWFrKSB7XG4gICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgIH1cbn0iXX0= */