New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

partial.lenses

Package Overview
Dependencies
Maintainers
1
Versions
180
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

partial.lenses - npm Package Compare versions

Comparing version 3.6.1 to 3.6.2

.nyc_output/23632.json

9

lib/partial.lenses.js

@@ -257,9 +257,6 @@ "use strict";

var choose = exports.choose = function choose(x2yL) {
return function (_constructor) {
return function (constructor) {
return function (inner) {
return function (target) {
var l = lift(x2yL(target));
return R.map(function (focus) {
return setI(l, focus, target);
}, inner(getI(l, target)));
return lift(x2yL(target))(constructor)(inner)(target);
};

@@ -491,2 +488,2 @@ };

exports.default = compose;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9wYXJ0aWFsLmxlbnNlcy5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBOztJQUFZLEM7Ozs7Ozs7Ozs7QUFJWixTQUFTLFFBQVQsQ0FBa0IsS0FBbEIsRUFBeUI7QUFBQyxPQUFLLEtBQUwsR0FBYSxLQUFiO0FBQW1CO0FBQzdDLElBQU0sUUFBUSxTQUFSLEtBQVE7QUFBQSxTQUFLLElBQUksUUFBSixDQUFhLENBQWIsQ0FBTDtBQUFBLENBQWQ7QUFDQSxTQUFTLFNBQVQsQ0FBbUIsR0FBbkIsR0FBeUIsVUFBVSxHQUFWLEVBQWU7QUFBQyxTQUFPLElBQUksUUFBSixDQUFhLElBQUksS0FBSyxLQUFULENBQWIsQ0FBUDtBQUFxQyxDQUE5RTtBQUNBLFNBQVMsU0FBVCxDQUFtQixFQUFuQixHQUF3QixLQUF4QjtBQUNBLFNBQVMsU0FBVCxDQUFtQixFQUFuQixHQUF3QixVQUFVLENBQVYsRUFBYTtBQUFDLFNBQU8sSUFBSSxRQUFKLENBQWEsS0FBSyxLQUFMLENBQVcsRUFBRSxLQUFiLENBQWIsQ0FBUDtBQUF5QyxDQUEvRTs7OztBQUlBLFNBQVMsUUFBVCxDQUFrQixLQUFsQixFQUF5QjtBQUFDLE9BQUssS0FBTCxHQUFhLEtBQWI7QUFBbUI7QUFDN0MsSUFBTSxRQUFRLFNBQVIsS0FBUTtBQUFBLFNBQUssSUFBSSxRQUFKLENBQWEsQ0FBYixDQUFMO0FBQUEsQ0FBZDtBQUNBLFNBQVMsU0FBVCxDQUFtQixHQUFuQixHQUF5QixZQUFZO0FBQUMsU0FBTyxJQUFQO0FBQVksQ0FBbEQ7QUFDQSxTQUFTLFNBQVQsQ0FBbUIsRUFBbkIsR0FBd0IsS0FBeEI7QUFDQSxTQUFTLFNBQVQsQ0FBbUIsRUFBbkIsR0FBd0IsVUFBVSxDQUFWLEVBQWE7QUFBQyxTQUFPLElBQUksS0FBSixDQUFVLEVBQUUsTUFBRixDQUFTLEtBQUssS0FBZCxFQUFxQixFQUFFLEtBQXZCLENBQVYsQ0FBUDtBQUFnRCxDQUF0Rjs7OztBQUlBLElBQU0sU0FBUyxFQUFmOztBQUVBLElBQU0sT0FBTyxTQUFQLElBQU8sVUFBVztBQUN0QixNQUFJLEVBQUUsV0FBVyxNQUFiLENBQUosRUFBMEI7QUFDeEIsV0FBTyxPQUFQLElBQWtCLE9BQWxCO0FBQ0EsWUFBUSxJQUFSLENBQWEsaUJBQWIsRUFBZ0MsT0FBaEM7QUFDRDtBQUNGLENBTEQ7Ozs7QUFTQSxJQUFNLFVBQVcsU0FBWCxPQUFXO0FBQUEsU0FBSyxLQUFLLEVBQUUsV0FBRixLQUFrQixLQUE1QjtBQUFBLENBQWpCO0FBQ0EsSUFBTSxXQUFXLFNBQVgsUUFBVztBQUFBLFNBQUssS0FBSyxFQUFFLFdBQUYsS0FBa0IsTUFBNUI7QUFBQSxDQUFqQjs7QUFFQSxJQUFNLFVBQVcsU0FBWCxPQUFXO0FBQUEsU0FBTSxRQUFRLENBQVIsSUFBYSxDQUFiLEdBQWlCLFNBQXZCO0FBQUEsQ0FBakI7QUFDQSxJQUFNLFdBQVcsU0FBWCxRQUFXO0FBQUEsU0FBSyxTQUFTLENBQVQsSUFBYyxDQUFkLEdBQWtCLFNBQXZCO0FBQUEsQ0FBakI7O0FBRUEsSUFBTSxVQUFVLFNBQVYsT0FBVTtBQUFBLFNBQUssUUFBUSxDQUFSLElBQWEsQ0FBYixHQUFpQixFQUF0QjtBQUFBLENBQWhCOzs7O0FBSUEsSUFBTSxLQUFLLFNBQUwsRUFBSztBQUFBLFNBQUssQ0FBTDtBQUFBLENBQVg7QUFDQSxJQUFNLE1BQU0sU0FBTixHQUFNLENBQUMsQ0FBRCxFQUFJLENBQUo7QUFBQSxTQUFVLENBQVY7QUFBQSxDQUFaOzs7O0FBSUEsSUFBTSxRQUFRLFNBQVIsS0FBUSxDQUFDLFFBQUQsRUFBVyxTQUFYO0FBQUEsU0FBeUIsYUFBSztBQUMxQyxRQUFJLFVBQVUsQ0FBVixDQUFKLEVBQ0UsT0FBTyxDQUFQLENBREYsS0FHRSxNQUFNLElBQUksS0FBSixlQUFzQixRQUF0QixrQkFBMkMsQ0FBM0MsT0FBTjtBQUNILEdBTGE7QUFBQSxDQUFkOztBQU9BLElBQU0sU0FBUyxRQUFRLEdBQVIsQ0FBWSxRQUFaLEtBQXlCLFlBQXpCLEdBQXdDO0FBQUEsU0FBTSxFQUFOO0FBQUEsQ0FBeEMsR0FBbUQsS0FBbEU7Ozs7QUFJQSxJQUFNLFFBQVEsRUFBZDs7QUFFQSxJQUFNLFlBQVksU0FBWixTQUFZLENBQUMsQ0FBRCxFQUFlO0FBQUEsTUFBWCxDQUFXLHlEQUFQLEVBQU87O0FBQy9CLE1BQUksVUFBSjtBQUNBLE9BQUssSUFBTSxDQUFYLElBQWdCLENBQWhCLEVBQW1CO0FBQ2pCLFFBQUksTUFBTSxDQUFWLEVBQWE7QUFDWCxVQUFJLGNBQWMsQ0FBbEIsRUFDRSxJQUFJLEVBQUo7QUFDRixRQUFFLENBQUYsSUFBTyxFQUFFLENBQUYsQ0FBUDtBQUNEO0FBQ0Y7QUFDRCxTQUFPLENBQVA7QUFDRCxDQVZEOztBQVlBLElBQU0sU0FBUyxTQUFULE1BQVMsQ0FBQyxDQUFELEVBQUksQ0FBSixFQUFrQjtBQUFBLE1BQVgsQ0FBVyx5REFBUCxFQUFPOztBQUMvQixNQUFJLEtBQUssQ0FBTCxJQUFVLEVBQUUsTUFBRixDQUFTLENBQVQsRUFBWSxFQUFFLENBQUYsQ0FBWixDQUFkLEVBQ0UsT0FBTyxDQUFQO0FBQ0YsTUFBTSx3QkFBTSxDQUFOLEVBQVUsQ0FBVixDQUFOO0FBQ0EsT0FBSyxJQUFNLENBQVgsSUFBZ0IsQ0FBaEI7QUFDRSxRQUFJLE1BQU0sQ0FBVixFQUNFLEVBQUUsQ0FBRixJQUFPLEVBQUUsQ0FBRixDQUFQO0FBRkosR0FHQSxPQUFPLENBQVA7QUFDRCxDQVJEOzs7O0FBWUEsSUFBTSxVQUFVLFNBQVYsT0FBVTtBQUFBLFNBQU0sT0FBTyxJQUFQLENBQVksRUFBWixFQUFnQixNQUFoQixLQUEyQixDQUEzQixHQUErQixTQUEvQixHQUEyQyxFQUFqRDtBQUFBLENBQWhCOzs7O0FBSUEsSUFBTSxZQUFZLFNBQVosU0FBWTtBQUFBLFNBQWE7QUFBQSxXQUFLLGNBQWMsQ0FBZCxHQUFrQixDQUFsQixHQUFzQixVQUFVLENBQVYsQ0FBM0I7QUFBQSxHQUFiO0FBQUEsQ0FBbEI7Ozs7QUFJQSxJQUFNLFdBQ0osVUFBVSxFQUFFLElBQUYsQ0FBTyxFQUFFLE1BQUYsQ0FBUztBQUFBLFNBQUssTUFBTSxTQUFYO0FBQUEsQ0FBVCxDQUFQLEVBQXVDLE9BQXZDLENBQVYsQ0FERjs7OztBQUtBLElBQU0sV0FBVyxTQUFYLFFBQVcsQ0FBQyxFQUFELEVBQUssRUFBTDtBQUFBLFNBQVksRUFBRSxNQUFGLENBQVMsRUFBVCxFQUFhLEVBQWIsSUFBbUIsRUFBbkIsR0FBd0IsRUFBcEM7QUFBQSxDQUFqQjs7QUFFQSxJQUFNLGFBQWEsU0FBYixVQUFhO0FBQUEsU0FBSyxVQUFDLENBQUQsRUFBSSxFQUFKO0FBQUEsV0FBVyxTQUFTLEVBQUUsQ0FBRixFQUFLLEVBQUwsQ0FBVCxFQUFtQixFQUFuQixDQUFYO0FBQUEsR0FBTDtBQUFBLENBQW5COzs7O0FBSUEsSUFBTSxZQUFZLFNBQVosU0FBWTtBQUFBLFNBQUssT0FBTyxDQUFQLEtBQWEsVUFBYixJQUEyQixFQUFFLE1BQUYsS0FBYSxDQUE3QztBQUFBLENBQWxCOztBQUVBLElBQU0sU0FBUyxPQUFPLFFBQVAsRUFBaUIsU0FBakIsQ0FBZjs7QUFFQSxJQUFNLE9BQU8sU0FBUCxJQUFPLElBQUs7QUFDaEIsTUFBSSxPQUFPLENBQVAsQ0FBSixFQUFnQixPQUFPLFNBQVMsQ0FBVCxDQUFQO0FBQ2hCLE1BQUksUUFBUSxDQUFSLENBQUosRUFBZ0IsT0FBTyxVQUFVLENBQVYsQ0FBUDtBQUNoQixTQUFPLE9BQU8sQ0FBUCxDQUFQO0FBQ0QsQ0FKRDs7QUFNTyxJQUFNLDRCQUFVLFNBQVYsT0FBVTtBQUFBLG9DQUFJLEVBQUo7QUFBSSxNQUFKO0FBQUE7O0FBQUEsU0FDckIsR0FBRyxNQUFILEtBQWMsQ0FBZCxHQUFrQixRQUFsQixHQUNBLEdBQUcsTUFBSCxLQUFjLENBQWQsR0FBa0IsR0FBRyxDQUFILENBQWxCLEdBQ0M7QUFBQSxXQUFTLEVBQUUsT0FBRiw2QkFBYSxHQUFHLEdBQUgsQ0FBTztBQUFBLGFBQUssS0FBSyxDQUFMLEVBQVEsS0FBUixDQUFMO0FBQUEsS0FBUCxDQUFiLEVBQVQ7QUFBQSxHQUhvQjtBQUFBLENBQWhCOztBQUtBLElBQU0sMEJBQVMsRUFBRSxLQUFGLENBQVEsVUFBQyxDQUFELEVBQUksQ0FBSjtBQUFBLFNBQVUsS0FBSyxLQUFLLENBQUwsQ0FBTCxFQUFjLFNBQWQsRUFBeUIsQ0FBekIsQ0FBVjtBQUFBLENBQVIsQ0FBZjs7QUFFQSxJQUFNLGdDQUFZLEVBQUUsS0FBRixDQUFRLFVBQUMsSUFBRCxFQUFPLElBQVAsRUFBZ0I7QUFDL0MsT0FBSyxtR0FBTDtBQUNBLFNBQU8sSUFBSSxJQUFKLEVBQVUsSUFBVixNQUFvQixTQUEzQjtBQUNFLFdBQU8sT0FBTyxJQUFQLEVBQWEsSUFBYixDQUFQO0FBREYsR0FFQSxPQUFPLElBQVA7QUFDRCxDQUx3QixDQUFsQjs7QUFPUCxJQUFNLE9BQU8sU0FBUCxJQUFPLENBQUMsQ0FBRCxFQUFJLENBQUosRUFBTyxDQUFQO0FBQUEsU0FBYSxFQUFFLEtBQUYsRUFBUztBQUFBLFdBQU0sTUFBTSxDQUFOLENBQU47QUFBQSxHQUFULEVBQXlCLENBQXpCLEVBQTRCLEtBQXpDO0FBQUEsQ0FBYjtBQUNBLElBQU0sT0FBTyxTQUFQLElBQU8sQ0FBQyxDQUFELEVBQUksQ0FBSjtBQUFBLFNBQVUsRUFBRSxLQUFGLEVBQVMsS0FBVCxFQUFnQixDQUFoQixFQUFtQixLQUE3QjtBQUFBLENBQWI7QUFDQSxJQUFNLFVBQVUsU0FBVixPQUFVLENBQUMsQ0FBRCxFQUFJLEdBQUosRUFBUyxDQUFUO0FBQUEsU0FBZSxFQUFFLEtBQUYsRUFBUztBQUFBLFdBQUssTUFBTSxJQUFJLENBQUosQ0FBTixDQUFMO0FBQUEsR0FBVCxFQUE2QixDQUE3QixFQUFnQyxLQUEvQztBQUFBLENBQWhCO0FBQ0EsSUFBTSxRQUFRLFNBQVIsS0FBUSxDQUFDLE1BQUQsRUFBUyxNQUFUO0FBQUEsU0FBb0I7QUFBQSxXQUFnQjtBQUFBLGFBQVM7QUFBQSxlQUN6RCxNQUFNLE9BQU8sTUFBUCxDQUFOLEVBQXNCLEdBQXRCLENBQTBCO0FBQUEsaUJBQVMsT0FBTyxLQUFQLEVBQWMsTUFBZCxDQUFUO0FBQUEsU0FBMUIsQ0FEeUQ7QUFBQSxPQUFUO0FBQUEsS0FBaEI7QUFBQSxHQUFwQjtBQUFBLENBQWQ7QUFFQSxJQUFNLFdBQVcsU0FBWCxRQUFXLENBQUMsQ0FBRCxFQUFJLENBQUo7QUFBQSxTQUFVLEVBQUUsS0FBRixFQUFTO0FBQUEsV0FBSyxNQUFNLENBQUMsQ0FBRCxDQUFOLENBQUw7QUFBQSxHQUFULEVBQTBCLENBQTFCLEVBQTZCLEtBQXZDO0FBQUEsQ0FBakI7O0FBRU8sSUFBTSxzQkFBTyxFQUFFLEtBQUYsQ0FBUSxLQUFSLENBQWI7QUFDQSxJQUFNLDBCQUFTLEVBQUUsS0FBRixDQUFRLFVBQUMsQ0FBRCxFQUFJLEdBQUosRUFBUyxDQUFUO0FBQUEsU0FBZSxRQUFRLEtBQUssQ0FBTCxDQUFSLEVBQWlCLEdBQWpCLEVBQXNCLENBQXRCLENBQWY7QUFBQSxDQUFSLENBQWY7QUFDQSxJQUFNLG9CQUFNLEVBQUUsS0FBRixDQUFRLFVBQUMsQ0FBRCxFQUFJLENBQUosRUFBTyxDQUFQO0FBQUEsU0FBYSxLQUFLLEtBQUssQ0FBTCxDQUFMLEVBQWMsQ0FBZCxFQUFpQixDQUFqQixDQUFiO0FBQUEsQ0FBUixDQUFaO0FBQ0EsSUFBTSxvQkFBTSxFQUFFLEtBQUYsQ0FBUSxVQUFDLENBQUQsRUFBSSxDQUFKO0FBQUEsU0FBVSxLQUFLLEtBQUssQ0FBTCxDQUFMLEVBQWMsQ0FBZCxDQUFWO0FBQUEsQ0FBUixDQUFaO0FBQ0EsSUFBTSw0QkFBVSxFQUFFLEtBQUYsQ0FBUSxVQUFDLENBQUQsRUFBSSxDQUFKO0FBQUEsU0FDN0IsS0FBSywyR0FBTCxLQUNBLFFBQVEsU0FBUyxTQUFTLEtBQUssQ0FBTCxDQUFULEVBQWtCLENBQWxCLENBQVQsQ0FBUixDQUY2QjtBQUFBLENBQVIsQ0FBaEI7O0FBSUEsSUFBTSx3QkFBUSxFQUFFLEtBQUYsQ0FBUSxVQUFDLElBQUQsRUFBTyxFQUFQO0FBQUEsU0FDM0IsUUFBUSxFQUFSLEVBQVksT0FBTztBQUFBLFdBQU0sT0FBTyxTQUFQLEdBQW1CLE9BQW5CLEdBQTZCLEtBQUssRUFBTCxDQUFuQztBQUFBLEdBQVAsQ0FBWixDQUQyQjtBQUFBLENBQVIsQ0FBZDs7QUFHQSxJQUFNLHNCQUFPLFNBQVAsSUFBTztBQUFBLFNBQUssTUFBTSxFQUFFLE1BQUYsQ0FBUyxDQUFULENBQU4sRUFBbUIsR0FBbkIsQ0FBTDtBQUFBLENBQWI7O0FBRUEsSUFBTSwwQkFBUyxTQUFULE1BQVM7QUFBQSxTQUFRO0FBQUEsV0FBZ0I7QUFBQSxhQUFTLGtCQUFVO0FBQy9ELFlBQU0sSUFBSSxLQUFLLEtBQUssTUFBTCxDQUFMLENBQVY7QUFDQSxlQUFPLEVBQUUsR0FBRixDQUFNO0FBQUEsaUJBQVMsS0FBSyxDQUFMLEVBQVEsS0FBUixFQUFlLE1BQWYsQ0FBVDtBQUFBLFNBQU4sRUFBdUMsTUFBTSxLQUFLLENBQUwsRUFBUSxNQUFSLENBQU4sQ0FBdkMsQ0FBUDtBQUNELE9BSDZDO0FBQUEsS0FBaEI7QUFBQSxHQUFSO0FBQUEsQ0FBZjs7QUFLQSxJQUFNLDRCQUFVLE1BQU0sR0FBTixFQUFXLEdBQVgsQ0FBaEI7O0FBRUEsSUFBTSwwQkFDWCxFQUFFLEtBQUYsQ0FBUSxVQUFDLENBQUQsRUFBSSxDQUFKO0FBQUEsU0FBVSxPQUFPO0FBQUEsV0FBSyxLQUFLLEtBQUssQ0FBTCxDQUFMLEVBQWMsQ0FBZCxNQUFxQixTQUFyQixHQUFpQyxDQUFqQyxHQUFxQyxDQUExQztBQUFBLEdBQVAsQ0FBVjtBQUFBLENBQVIsQ0FESzs7QUFHQSxJQUFNLDBCQUFTLFNBQVQsTUFBUztBQUFBLHFDQUFJLEVBQUo7QUFBSSxNQUFKO0FBQUE7O0FBQUEsU0FBVyxPQUFPLGFBQUs7QUFDM0MsUUFBTSxJQUFJLEdBQUcsU0FBSCxDQUFhO0FBQUEsYUFBSyxLQUFLLEtBQUssQ0FBTCxDQUFMLEVBQWMsQ0FBZCxNQUFxQixTQUExQjtBQUFBLEtBQWIsQ0FBVjtBQUNBLFdBQU8sS0FBSyxDQUFMLEdBQVMsR0FBRyxDQUFILENBQVQsR0FBaUIsT0FBeEI7QUFDRCxHQUhnQyxDQUFYO0FBQUEsQ0FBZjs7QUFLQSxJQUFNLDRCQUFVLEVBQUUsS0FBRixDQUFRLFVBQUMsR0FBRCxFQUFNLEdBQU47QUFBQSxTQUM3QixNQUFNO0FBQUEsV0FBSyxFQUFFLE1BQUYsQ0FBUyxDQUFULEVBQVksR0FBWixJQUFtQixHQUFuQixHQUF5QixDQUE5QjtBQUFBLEdBQU4sRUFDTSxXQUFXO0FBQUEsV0FBSyxFQUFFLE1BQUYsQ0FBUyxDQUFULEVBQVksR0FBWixJQUFtQixHQUFuQixHQUF5QixDQUE5QjtBQUFBLEdBQVgsQ0FETixDQUQ2QjtBQUFBLENBQVIsQ0FBaEI7O0FBSUEsSUFBTSw4QkFBVyxRQUFRLFNBQVIsQ0FBakI7QUFDQSxJQUFNLDhCQUFXLFNBQVgsUUFBVztBQUFBLFNBQU8sUUFBUSxHQUFSLEVBQWEsU0FBYixDQUFQO0FBQUEsQ0FBakI7QUFDQSxJQUFNLDBCQUFTLFNBQVQsTUFBUztBQUFBLFNBQUssRUFBRSxPQUFGLENBQVUsU0FBUyxDQUFULENBQVYsRUFBdUIsU0FBUyxDQUFULENBQXZCLENBQUw7QUFBQSxDQUFmOztBQUVBLElBQU0sNEJBQVUsU0FBVixPQUFVO0FBQUEsU0FDckIsTUFBTTtBQUFBLFdBQUssTUFBTSxTQUFOLElBQW1CLE1BQU0sSUFBekIsR0FBZ0MsQ0FBaEMsR0FBb0MsQ0FBekM7QUFBQSxHQUFOLEVBQWtELFFBQWxELENBRHFCO0FBQUEsQ0FBaEI7O0FBR0EsSUFBTSxnQ0FBWSxTQUFaLFNBQVk7QUFBQSxTQUN2QixNQUFNLFVBQVUsU0FBVixDQUFOLEVBQTRCLFdBQVcsVUFBVSxTQUFWLENBQVgsQ0FBNUIsQ0FEdUI7QUFBQSxDQUFsQjs7QUFHUCxJQUFNLFNBQVMsU0FBVCxNQUFTO0FBQUEsU0FBSyxPQUFPLENBQVAsS0FBYSxRQUFsQjtBQUFBLENBQWY7O0FBRU8sSUFBTSxzQkFBTyxPQUFPLFVBQVAsRUFBbUIsTUFBbkIsQ0FBYjs7QUFFUCxJQUFNLFdBQVcsU0FBWCxRQUFXO0FBQUEsU0FBSyxNQUFNO0FBQUEsV0FBSyxTQUFTLENBQVQsS0FBZSxFQUFFLENBQUYsQ0FBcEI7QUFBQSxHQUFOLEVBQWdDLFVBQUMsQ0FBRCxFQUFJLEdBQUosRUFBWTtBQUNoRSxRQUFNLElBQUksU0FBUyxHQUFULENBQVY7QUFDQSxXQUFPLE1BQU0sU0FBTixHQUFrQixVQUFVLENBQVYsRUFBYSxDQUFiLENBQWxCLEdBQW9DLE9BQU8sQ0FBUCxFQUFVLENBQVYsRUFBYSxDQUFiLENBQTNDO0FBQ0QsR0FIcUIsQ0FBTDtBQUFBLENBQWpCOztBQUtPLElBQU0sc0JBQU8sU0FBUCxJQUFPO0FBQUEsU0FBYSxPQUFPLGNBQU07QUFDNUMsUUFBSSxRQUFRLEVBQVIsQ0FBSixFQUFpQjtBQUNmLFVBQU0sSUFBSSxHQUFHLFNBQUgsQ0FBYSxTQUFiLENBQVY7QUFDQSxhQUFPLElBQUksQ0FBSixHQUFRLE1BQVIsR0FBaUIsQ0FBeEI7QUFDRCxLQUhELE1BR087QUFDTCxhQUFPLE1BQVA7QUFDRDtBQUNGLEdBUGdDLENBQWI7QUFBQSxDQUFiOztBQVNBLElBQU0sOEJBQVcsU0FBWCxRQUFXLEdBQVc7QUFDakMsTUFBTSxNQUFNLEtBQUssbUNBQUwsQ0FBWjtBQUNBLFNBQU8sUUFBUSxLQUFLO0FBQUEsV0FBSyxLQUFLLEdBQUwsRUFBVSxDQUFWLE1BQWlCLFNBQXRCO0FBQUEsR0FBTCxDQUFSLEVBQStDLEdBQS9DLENBQVA7QUFDRCxDQUhNOztBQUtQLElBQU0sVUFBVSxTQUFWLE9BQVU7QUFBQSxTQUFLLE9BQU8sU0FBUCxDQUFpQixDQUFqQixLQUF1QixLQUFLLENBQWpDO0FBQUEsQ0FBaEI7O0FBRU8sSUFBTSx3QkFBUSxPQUFPLHdCQUFQLEVBQWlDLE9BQWpDLENBQWQ7O0FBRVAsSUFBTSxZQUFZLFNBQVosU0FBWTtBQUFBLFNBQUssTUFBTTtBQUFBLFdBQU0sUUFBUSxFQUFSLEtBQWUsR0FBRyxDQUFILENBQXJCO0FBQUEsR0FBTixFQUFrQyxVQUFDLENBQUQsRUFBSSxFQUFKLEVBQVc7QUFDbEUsUUFBSSxNQUFNLFNBQVYsRUFBcUI7QUFDbkIsVUFBSSxDQUFDLFFBQVEsRUFBUixDQUFMLEVBQ0UsT0FBTyxTQUFQO0FBQ0YsVUFBSSxJQUFJLEdBQUcsTUFBWCxFQUNFLE9BQU8sUUFBUSxHQUFHLEtBQUgsQ0FBUyxDQUFULEVBQVksQ0FBWixFQUFlLE1BQWYsQ0FBc0IsR0FBRyxLQUFILENBQVMsSUFBRSxDQUFYLENBQXRCLENBQVIsQ0FBUDtBQUNGLGFBQU8sUUFBUSxFQUFSLENBQVA7QUFDRCxLQU5ELE1BTU87QUFDTCxVQUFJLENBQUMsUUFBUSxFQUFSLENBQUwsRUFDRSxPQUFPLE1BQU0sQ0FBTixFQUFTLE1BQVQsQ0FBZ0IsQ0FBQyxDQUFELENBQWhCLENBQVA7QUFDRixVQUFJLEdBQUcsTUFBSCxJQUFhLENBQWpCLEVBQ0UsT0FBTyxHQUFHLE1BQUgsQ0FBVSxNQUFNLElBQUksR0FBRyxNQUFiLENBQVYsRUFBZ0MsQ0FBQyxDQUFELENBQWhDLENBQVA7QUFDRixVQUFJLEVBQUUsTUFBRixDQUFTLENBQVQsRUFBWSxHQUFHLENBQUgsQ0FBWixDQUFKLEVBQ0UsT0FBTyxFQUFQO0FBQ0YsYUFBTyxHQUFHLEtBQUgsQ0FBUyxDQUFULEVBQVksQ0FBWixFQUFlLE1BQWYsQ0FBc0IsQ0FBQyxDQUFELENBQXRCLEVBQTJCLEdBQUcsS0FBSCxDQUFTLElBQUUsQ0FBWCxDQUEzQixDQUFQO0FBQ0Q7QUFDRixHQWhCc0IsQ0FBTDtBQUFBLENBQWxCOztBQWtCTyxJQUFNLDBCQUFTLE1BQU0sR0FBTixFQUFXLFVBQUMsQ0FBRCxFQUFJLEVBQUo7QUFBQSxTQUMvQixNQUFNLFNBQU4sR0FBa0IsUUFBUSxFQUFSLENBQWxCLEdBQWdDLFFBQVEsRUFBUixJQUFjLEdBQUcsTUFBSCxDQUFVLENBQUMsQ0FBRCxDQUFWLENBQWQsR0FBK0IsQ0FBQyxDQUFELENBRGhDO0FBQUEsQ0FBWCxDQUFmOztBQUdBLElBQU0sMEJBQVMsU0FBVCxNQUFTO0FBQUEsU0FBSyxNQUFNO0FBQUEsV0FBTSxRQUFRLEVBQVIsS0FBZSxHQUFHLE1BQUgsQ0FBVSxDQUFWLENBQXJCO0FBQUEsR0FBTixFQUF5QyxVQUFDLEVBQUQsRUFBSyxFQUFMO0FBQUEsV0FDbEUsU0FBUyxRQUFRLEVBQUUsTUFBRixDQUFTLFFBQVEsRUFBUixDQUFULEVBQXNCLFFBQVEsRUFBUixFQUFZLE1BQVosQ0FBbUIsRUFBRSxVQUFGLENBQWEsQ0FBYixDQUFuQixDQUF0QixDQUFSLENBQVQsRUFBOEUsRUFBOUUsQ0FEa0U7QUFBQSxHQUF6QyxDQUFMO0FBQUEsQ0FBZjs7QUFHQSxJQUFNLDRCQUFVLFNBQVYsT0FBVTtBQUFBLFNBQVksTUFDakMsYUFBSztBQUNILFFBQUksU0FBUyxDQUFULENBQUosRUFBaUI7QUFDZixVQUFNLGlCQUFRLENBQVIsQ0FBTjtBQUNBLFdBQUssSUFBTSxDQUFYLElBQWdCLFFBQWhCO0FBQ0UsVUFBRSxDQUFGLElBQU8sU0FBUyxDQUFULEVBQVksQ0FBWixDQUFQO0FBREYsT0FFQSxPQUFPLENBQVA7QUFDRCxLQUxELE1BS087QUFDTCxhQUFPLFNBQVA7QUFDRDtBQUNGLEdBVmdDLEVBV2pDLFdBQVcsVUFBQyxDQUFELEVBQUksR0FBSixFQUFZO0FBQ3JCLFFBQUksU0FBUyxDQUFULENBQUosRUFBaUI7QUFBQTtBQUNmLFlBQU0sSUFBSSxTQUFTLEdBQVQsS0FBaUIsRUFBM0I7QUFDQSxZQUFJLFVBQUo7QUFDQSxZQUFNLE1BQU0sU0FBTixHQUFNLENBQUMsQ0FBRCxFQUFJLENBQUosRUFBVTtBQUNwQixjQUFJLGNBQWMsQ0FBbEIsRUFDRSxJQUFJLEVBQUo7QUFDRixZQUFFLENBQUYsSUFBTyxDQUFQO0FBQ0QsU0FKRDtBQUtBLGFBQUssSUFBTSxDQUFYLElBQWdCLENBQWhCLEVBQW1CO0FBQ2pCLGNBQUksRUFBRSxLQUFLLFFBQVAsQ0FBSixFQUNFLElBQUksQ0FBSixFQUFPLEVBQUUsQ0FBRixDQUFQLEVBREYsS0FHRSxJQUFJLEtBQUssQ0FBVCxFQUNFLElBQUksQ0FBSixFQUFPLEVBQUUsQ0FBRixDQUFQO0FBQ0w7QUFDRDtBQUFBLGFBQU87QUFBUDtBQWZlOztBQUFBO0FBZ0JoQixLQWhCRCxNQWdCTztBQUNMLGFBQU8sU0FBUDtBQUNEO0FBQ0YsR0FwQkQsQ0FYaUMsQ0FBWjtBQUFBLENBQWhCOztBQWlDQSxJQUFNLHNCQUFPLFNBQVAsSUFBTztBQUFBLFNBQVksTUFDOUIsYUFBSztBQUNILFFBQUksVUFBSjtBQUNBLFNBQUssSUFBTSxDQUFYLElBQWdCLFFBQWhCLEVBQTBCO0FBQ3hCLFVBQU0sSUFBSSxLQUFLLEtBQUssU0FBUyxDQUFULENBQUwsQ0FBTCxFQUF3QixDQUF4QixDQUFWO0FBQ0EsVUFBSSxNQUFNLFNBQVYsRUFBcUI7QUFDbkIsWUFBSSxNQUFNLFNBQVYsRUFDRSxJQUFJLEVBQUo7QUFDRixVQUFFLENBQUYsSUFBTyxDQUFQO0FBQ0Q7QUFDRjtBQUNELFdBQU8sQ0FBUDtBQUNELEdBWjZCLEVBYTlCLFlBQW9CO0FBQUEsUUFBbkIsQ0FBbUIseURBQWYsS0FBZTtBQUFBLFFBQVIsR0FBUTs7QUFDbEIsUUFBSSxJQUFJLEdBQVI7QUFDQSxTQUFLLElBQU0sQ0FBWCxJQUFnQixRQUFoQjtBQUNFLFVBQUksS0FBSyxLQUFLLFNBQVMsQ0FBVCxDQUFMLENBQUwsRUFBd0IsRUFBRSxDQUFGLENBQXhCLEVBQThCLENBQTlCLENBQUo7QUFERixLQUVBLE9BQU8sQ0FBUDtBQUNELEdBbEI2QixDQUFaO0FBQUEsQ0FBYjs7QUFvQkEsSUFBTSw4QkFBVyxNQUFNLEVBQU4sRUFBVSxRQUFWLENBQWpCOztBQUVBLElBQU0sd0JBQVEsU0FBUixLQUFRO0FBQUEscUNBQUksRUFBSjtBQUFJLE1BQUo7QUFBQTs7QUFBQSxTQUFXLEtBQUssRUFBRSxNQUFGLENBQVMsRUFBVCxFQUFhLEVBQWIsQ0FBTCxDQUFYO0FBQUEsQ0FBZDs7QUFFUCxJQUFNLE9BQU8sU0FBUCxJQUFPO0FBQUEscUNBQUksTUFBSjtBQUFJLFVBQUo7QUFBQTs7QUFBQSxTQUFlO0FBQUE7O0FBQUEsV0FBSyxxQkFBUSxHQUFSLGlCQUFlLE1BQWYsU0FBdUIsQ0FBdkIsT0FBNkIsQ0FBbEM7QUFBQSxHQUFmO0FBQUEsQ0FBYjs7QUFFTyxJQUFNLG9CQUFNLFNBQU4sR0FBTTtBQUFBLHFDQUFJLE1BQUo7QUFBSSxVQUFKO0FBQUE7O0FBQUEsU0FDakIsTUFBTSxzQkFBUSxNQUFSLFNBQWdCLEtBQWhCLEdBQU4sRUFBOEIsc0JBQVEsTUFBUixTQUFnQixLQUFoQixHQUE5QixDQURpQjtBQUFBLENBQVo7O0FBR0EsSUFBTSw4QkFBVyxTQUFYLFFBQVc7QUFBQSxTQUFlO0FBQUEsV0FBUztBQUFBLGFBQzlDLEtBQUssNEdBQUwsS0FDQSxFQUFFLFFBQUYsQ0FBVyxXQUFYLEVBQXdCLEtBQXhCLEVBQStCLFFBQVEsTUFBUixDQUEvQixFQUNDLEdBREQsQ0FDSyxRQURMLENBRjhDO0FBQUEsS0FBVDtBQUFBLEdBQWY7QUFBQSxDQUFqQjs7QUFLQSxJQUFNLGdDQUFZLFNBQVosU0FBWTtBQUFBLFNBQUs7QUFBQSxXQUFnQixDQUFoQjtBQUFBLEdBQUw7QUFBQSxDQUFsQjtBQUNBLElBQU0sNEJBQVUsU0FBVixPQUFVO0FBQUEsU0FDckIsS0FBSyxDQUFMLEVBQVEsWUFBTTtBQUFDLFVBQU0sSUFBSSxLQUFKLENBQVUsbUNBQVYsQ0FBTjtBQUFxRCxHQUFwRSxDQURxQjtBQUFBLENBQWhCOztrQkFHUSxPIiwiZmlsZSI6InBhcnRpYWwubGVuc2VzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUiBmcm9tIFwicmFtZGFcIlxuXG4vL1xuXG5mdW5jdGlvbiBJZGVudGl0eSh2YWx1ZSkge3RoaXMudmFsdWUgPSB2YWx1ZX1cbmNvbnN0IElkZW50ID0geCA9PiBuZXcgSWRlbnRpdHkoeClcbklkZW50aXR5LnByb3RvdHlwZS5tYXAgPSBmdW5jdGlvbiAoeDJ5KSB7cmV0dXJuIG5ldyBJZGVudGl0eSh4MnkodGhpcy52YWx1ZSkpfVxuSWRlbnRpdHkucHJvdG90eXBlLm9mID0gSWRlbnRcbklkZW50aXR5LnByb3RvdHlwZS5hcCA9IGZ1bmN0aW9uICh4KSB7cmV0dXJuIG5ldyBJZGVudGl0eSh0aGlzLnZhbHVlKHgudmFsdWUpKX1cblxuLy9cblxuZnVuY3Rpb24gQ29uc3RhbnQodmFsdWUpIHt0aGlzLnZhbHVlID0gdmFsdWV9XG5jb25zdCBDb25zdCA9IHggPT4gbmV3IENvbnN0YW50KHgpXG5Db25zdGFudC5wcm90b3R5cGUubWFwID0gZnVuY3Rpb24gKCkge3JldHVybiB0aGlzfVxuQ29uc3RhbnQucHJvdG90eXBlLm9mID0gQ29uc3RcbkNvbnN0YW50LnByb3RvdHlwZS5hcCA9IGZ1bmN0aW9uICh4KSB7cmV0dXJuIG5ldyBDb25zdChSLmNvbmNhdCh0aGlzLnZhbHVlLCB4LnZhbHVlKSl9XG5cbi8vXG5cbmNvbnN0IHdhcm5lZCA9IHt9XG5cbmNvbnN0IHdhcm4gPSBtZXNzYWdlID0+IHtcbiAgaWYgKCEobWVzc2FnZSBpbiB3YXJuZWQpKSB7XG4gICAgd2FybmVkW21lc3NhZ2VdID0gbWVzc2FnZVxuICAgIGNvbnNvbGUud2FybihcInBhcnRpYWwubGVuc2VzOlwiLCBtZXNzYWdlKVxuICB9XG59XG5cbi8vXG5cbmNvbnN0IGlzQXJyYXkgID0geCA9PiB4ICYmIHguY29uc3RydWN0b3IgPT09IEFycmF5XG5jb25zdCBpc09iamVjdCA9IHggPT4geCAmJiB4LmNvbnN0cnVjdG9yID09PSBPYmplY3RcblxuY29uc3QgdW5BcnJheSAgPSB4ID0+ICBpc0FycmF5KHgpID8geCA6IHVuZGVmaW5lZFxuY29uc3QgdW5PYmplY3QgPSB4ID0+IGlzT2JqZWN0KHgpID8geCA6IHVuZGVmaW5lZFxuXG5jb25zdCBta0FycmF5ID0geCA9PiBpc0FycmF5KHgpID8geCA6IFtdXG5cbi8vXG5cbmNvbnN0IGlkID0geCA9PiB4XG5jb25zdCBzbmQgPSAoXywgYykgPT4gY1xuXG4vL1xuXG5jb25zdCBjaGVjayA9IChleHBlY3RlZCwgcHJlZGljYXRlKSA9PiB4ID0+IHtcbiAgaWYgKHByZWRpY2F0ZSh4KSlcbiAgICByZXR1cm4geFxuICBlbHNlXG4gICAgdGhyb3cgbmV3IEVycm9yKGBFeHBlY3RlZCAke2V4cGVjdGVkfSwgYnV0IGdvdCAke3h9LmApXG59XG5cbmNvbnN0IGFzc2VydCA9IHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/ICgpID0+IGlkIDogY2hlY2tcblxuLy9cblxuY29uc3QgZW1wdHkgPSB7fVxuXG5jb25zdCBkZWxldGVLZXkgPSAoaywgbyA9IHt9KSA9PiB7XG4gIGxldCByXG4gIGZvciAoY29uc3QgcCBpbiBvKSB7XG4gICAgaWYgKHAgIT09IGspIHtcbiAgICAgIGlmICh1bmRlZmluZWQgPT09IHIpXG4gICAgICAgIHIgPSB7fVxuICAgICAgcltwXSA9IG9bcF1cbiAgICB9XG4gIH1cbiAgcmV0dXJuIHJcbn1cblxuY29uc3Qgc2V0S2V5ID0gKGssIHYsIG8gPSB7fSkgPT4ge1xuICBpZiAoayBpbiBvICYmIFIuZXF1YWxzKHYsIG9ba10pKVxuICAgIHJldHVybiBvXG4gIGNvbnN0IHIgPSB7W2tdOiB2fVxuICBmb3IgKGNvbnN0IHAgaW4gbylcbiAgICBpZiAocCAhPT0gaylcbiAgICAgIHJbcF0gPSBvW3BdXG4gIHJldHVybiByXG59XG5cbi8vXG5cbmNvbnN0IGRyb3BwZWQgPSB4cyA9PiBPYmplY3Qua2V5cyh4cykubGVuZ3RoID09PSAwID8gdW5kZWZpbmVkIDogeHNcblxuLy9cblxuY29uc3QgdG9QYXJ0aWFsID0gdHJhbnNmb3JtID0+IHggPT4gdW5kZWZpbmVkID09PSB4ID8geCA6IHRyYW5zZm9ybSh4KVxuXG4vL1xuXG5jb25zdCBmaWx0ZXJlZCA9XG4gIHRvUGFydGlhbChSLnBpcGUoUi5maWx0ZXIoeCA9PiB4ICE9PSB1bmRlZmluZWQpLCBkcm9wcGVkKSlcblxuLy9cblxuY29uc3QgY29uc2VydmUgPSAoYzEsIGMwKSA9PiBSLmVxdWFscyhjMSwgYzApID8gYzAgOiBjMVxuXG5jb25zdCB0b0NvbnNlcnZlID0gZiA9PiAoeSwgYzApID0+IGNvbnNlcnZlKGYoeSwgYzApLCBjMClcblxuLy9cblxuY29uc3Qgc2VlbXNMZW5zID0geCA9PiB0eXBlb2YgeCA9PT0gXCJmdW5jdGlvblwiICYmIHgubGVuZ3RoID09PSAxXG5cbmNvbnN0IGxpZnRlZCA9IGFzc2VydChcImEgbGVuc1wiLCBzZWVtc0xlbnMpXG5cbmNvbnN0IGxpZnQgPSBsID0+IHtcbiAgaWYgKGlzUHJvcChsKSkgIHJldHVybiBsaWZ0UHJvcChsKVxuICBpZiAoaXNJbmRleChsKSkgcmV0dXJuIGxpZnRJbmRleChsKVxuICByZXR1cm4gbGlmdGVkKGwpXG59XG5cbmV4cG9ydCBjb25zdCBjb21wb3NlID0gKC4uLmxzKSA9PlxuICBscy5sZW5ndGggPT09IDAgPyBpZGVudGl0eSA6XG4gIGxzLmxlbmd0aCA9PT0gMSA/IGxzWzBdIDpcbiAgKHRvQ2F0ID0+IFIuY29tcG9zZSguLi5scy5tYXAobCA9PiBsaWZ0KGwpKHRvQ2F0KSkpKVxuXG5leHBvcnQgY29uc3QgcmVtb3ZlID0gUi5jdXJyeSgobCwgcykgPT4gc2V0SShsaWZ0KGwpLCB1bmRlZmluZWQsIHMpKVxuXG5leHBvcnQgY29uc3QgcmVtb3ZlQWxsID0gUi5jdXJyeSgobGVucywgZGF0YSkgPT4ge1xuICB3YXJuKFwiYHJlbW92ZUFsbGAgaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIG5leHQgbWFqb3IgdmVyc2lvbiAtLS0gdXNlIGEgZGlmZmVyZW50IGFwcHJvYWNoLlwiKVxuICB3aGlsZSAoZ2V0KGxlbnMsIGRhdGEpICE9PSB1bmRlZmluZWQpXG4gICAgZGF0YSA9IHJlbW92ZShsZW5zLCBkYXRhKVxuICByZXR1cm4gZGF0YVxufSlcblxuY29uc3Qgc2V0SSA9IChsLCB4LCBzKSA9PiBsKElkZW50KSgoKSA9PiBJZGVudCh4KSkocykudmFsdWVcbmNvbnN0IGdldEkgPSAobCwgcykgPT4gbChDb25zdCkoQ29uc3QpKHMpLnZhbHVlXG5jb25zdCBtb2RpZnlJID0gKGwsIHgyeCwgcykgPT4gbChJZGVudCkoeSA9PiBJZGVudCh4MngoeSkpKShzKS52YWx1ZVxuY29uc3QgbGVuc0kgPSAoZ2V0dGVyLCBzZXR0ZXIpID0+IF9jb25zdHJ1Y3RvciA9PiBpbm5lciA9PiB0YXJnZXQgPT5cbiAgaW5uZXIoZ2V0dGVyKHRhcmdldCkpLm1hcChmb2N1cyA9PiBzZXR0ZXIoZm9jdXMsIHRhcmdldCkpXG5jb25zdCBjb2xsZWN0SSA9IChsLCBzKSA9PiBsKENvbnN0KSh4ID0+IENvbnN0KFt4XSkpKHMpLnZhbHVlXG5cbmV4cG9ydCBjb25zdCBsZW5zID0gUi5jdXJyeShsZW5zSSlcbmV4cG9ydCBjb25zdCBtb2RpZnkgPSBSLmN1cnJ5KChsLCB4MngsIHMpID0+IG1vZGlmeUkobGlmdChsKSwgeDJ4LCBzKSlcbmV4cG9ydCBjb25zdCBzZXQgPSBSLmN1cnJ5KChsLCB4LCBzKSA9PiBzZXRJKGxpZnQobCksIHgsIHMpKVxuZXhwb3J0IGNvbnN0IGdldCA9IFIuY3VycnkoKGwsIHMpID0+IGdldEkobGlmdChsKSwgcykpXG5leHBvcnQgY29uc3QgY29sbGVjdCA9IFIuY3VycnkoKGwsIHMpID0+XG4gIHdhcm4oXCJgY29sbGVjdGAgaXMgZXhwZXJpbWVudGFsIGFuZCBtaWdodCBiZSByZW1vdmVkLCByZW5hbWVkIG9yIGNoYW5nZWQgc2VtYW50aWNhbGx5IGJlZm9yZSBuZXh0IG1ham9yIHJlbGVhc2VcIikgfHxcbiAgbWtBcnJheShmaWx0ZXJlZChjb2xsZWN0SShsaWZ0KGwpLCBzKSkpKVxuXG5leHBvcnQgY29uc3QgY2hhaW4gPSBSLmN1cnJ5KCh4MnlMLCB4TCkgPT5cbiAgY29tcG9zZSh4TCwgY2hvb3NlKHhPID0+IHhPID09PSB1bmRlZmluZWQgPyBub3RoaW5nIDogeDJ5TCh4TykpKSlcblxuZXhwb3J0IGNvbnN0IGp1c3QgPSB4ID0+IGxlbnNJKFIuYWx3YXlzKHgpLCBzbmQpXG5cbmV4cG9ydCBjb25zdCBjaG9vc2UgPSB4MnlMID0+IF9jb25zdHJ1Y3RvciA9PiBpbm5lciA9PiB0YXJnZXQgPT4ge1xuICBjb25zdCBsID0gbGlmdCh4MnlMKHRhcmdldCkpXG4gIHJldHVybiBSLm1hcChmb2N1cyA9PiBzZXRJKGwsIGZvY3VzLCB0YXJnZXQpLCBpbm5lcihnZXRJKGwsIHRhcmdldCkpKVxufVxuXG5leHBvcnQgY29uc3Qgbm90aGluZyA9IGxlbnNJKHNuZCwgc25kKVxuXG5leHBvcnQgY29uc3Qgb3JFbHNlID1cbiAgUi5jdXJyeSgoZCwgbCkgPT4gY2hvb3NlKHggPT4gZ2V0SShsaWZ0KGwpLCB4KSAhPT0gdW5kZWZpbmVkID8gbCA6IGQpKVxuXG5leHBvcnQgY29uc3QgY2hvaWNlID0gKC4uLmxzKSA9PiBjaG9vc2UoeCA9PiB7XG4gIGNvbnN0IGkgPSBscy5maW5kSW5kZXgobCA9PiBnZXRJKGxpZnQobCksIHgpICE9PSB1bmRlZmluZWQpXG4gIHJldHVybiAwIDw9IGkgPyBsc1tpXSA6IG5vdGhpbmdcbn0pXG5cbmV4cG9ydCBjb25zdCByZXBsYWNlID0gUi5jdXJyeSgoaW5uLCBvdXQpID0+XG4gIGxlbnNJKHggPT4gUi5lcXVhbHMoeCwgaW5uKSA/IG91dCA6IHgsXG4gICAgICAgIHRvQ29uc2VydmUoeSA9PiBSLmVxdWFscyh5LCBvdXQpID8gaW5uIDogeSkpKVxuXG5leHBvcnQgY29uc3QgZGVmYXVsdHMgPSByZXBsYWNlKHVuZGVmaW5lZClcbmV4cG9ydCBjb25zdCByZXF1aXJlZCA9IGlubiA9PiByZXBsYWNlKGlubiwgdW5kZWZpbmVkKVxuZXhwb3J0IGNvbnN0IGRlZmluZSA9IHYgPT4gUi5jb21wb3NlKHJlcXVpcmVkKHYpLCBkZWZhdWx0cyh2KSlcblxuZXhwb3J0IGNvbnN0IHZhbHVlT3IgPSB2ID0+XG4gIGxlbnNJKHggPT4geCA9PT0gdW5kZWZpbmVkIHx8IHggPT09IG51bGwgPyB2IDogeCwgY29uc2VydmUpXG5cbmV4cG9ydCBjb25zdCBub3JtYWxpemUgPSB0cmFuc2Zvcm0gPT5cbiAgbGVuc0kodG9QYXJ0aWFsKHRyYW5zZm9ybSksIHRvQ29uc2VydmUodG9QYXJ0aWFsKHRyYW5zZm9ybSkpKVxuXG5jb25zdCBpc1Byb3AgPSB4ID0+IHR5cGVvZiB4ID09PSBcInN0cmluZ1wiXG5cbmV4cG9ydCBjb25zdCBwcm9wID0gYXNzZXJ0KFwiYSBzdHJpbmdcIiwgaXNQcm9wKVxuXG5jb25zdCBsaWZ0UHJvcCA9IGsgPT4gbGVuc0kobyA9PiB1bk9iamVjdChvKSAmJiBvW2tdLCAodiwgb0luKSA9PiB7XG4gIGNvbnN0IG8gPSB1bk9iamVjdChvSW4pXG4gIHJldHVybiB2ID09PSB1bmRlZmluZWQgPyBkZWxldGVLZXkoaywgbykgOiBzZXRLZXkoaywgdiwgbylcbn0pXG5cbmV4cG9ydCBjb25zdCBmaW5kID0gcHJlZGljYXRlID0+IGNob29zZSh4cyA9PiB7XG4gIGlmIChpc0FycmF5KHhzKSkge1xuICAgIGNvbnN0IGkgPSB4cy5maW5kSW5kZXgocHJlZGljYXRlKVxuICAgIHJldHVybiBpIDwgMCA/IGFwcGVuZCA6IGlcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gYXBwZW5kXG4gIH1cbn0pXG5cbmV4cG9ydCBjb25zdCBmaW5kV2l0aCA9ICguLi5scykgPT4ge1xuICBjb25zdCBsbHMgPSBsaWZ0KGNvbXBvc2UoLi4ubHMpKVxuICByZXR1cm4gY29tcG9zZShmaW5kKHggPT4gZ2V0SShsbHMsIHgpICE9PSB1bmRlZmluZWQpLCBsbHMpXG59XG5cbmNvbnN0IGlzSW5kZXggPSB4ID0+IE51bWJlci5pc0ludGVnZXIoeCkgJiYgMCA8PSB4XG5cbmV4cG9ydCBjb25zdCBpbmRleCA9IGFzc2VydChcImEgbm9uLW5lZ2F0aXZlIGludGVnZXJcIiwgaXNJbmRleClcblxuY29uc3QgbGlmdEluZGV4ID0gaSA9PiBsZW5zSSh4cyA9PiB1bkFycmF5KHhzKSAmJiB4c1tpXSwgKHgsIHhzKSA9PiB7XG4gIGlmICh4ID09PSB1bmRlZmluZWQpIHtcbiAgICBpZiAoIWlzQXJyYXkoeHMpKVxuICAgICAgcmV0dXJuIHVuZGVmaW5lZFxuICAgIGlmIChpIDwgeHMubGVuZ3RoKVxuICAgICAgcmV0dXJuIGRyb3BwZWQoeHMuc2xpY2UoMCwgaSkuY29uY2F0KHhzLnNsaWNlKGkrMSkpKVxuICAgIHJldHVybiBkcm9wcGVkKHhzKVxuICB9IGVsc2Uge1xuICAgIGlmICghaXNBcnJheSh4cykpXG4gICAgICByZXR1cm4gQXJyYXkoaSkuY29uY2F0KFt4XSlcbiAgICBpZiAoeHMubGVuZ3RoIDw9IGkpXG4gICAgICByZXR1cm4geHMuY29uY2F0KEFycmF5KGkgLSB4cy5sZW5ndGgpLCBbeF0pXG4gICAgaWYgKFIuZXF1YWxzKHgsIHhzW2ldKSlcbiAgICAgIHJldHVybiB4c1xuICAgIHJldHVybiB4cy5zbGljZSgwLCBpKS5jb25jYXQoW3hdLCB4cy5zbGljZShpKzEpKVxuICB9XG59KVxuXG5leHBvcnQgY29uc3QgYXBwZW5kID0gbGVuc0koc25kLCAoeCwgeHMpID0+XG4gIHggPT09IHVuZGVmaW5lZCA/IHVuQXJyYXkoeHMpIDogaXNBcnJheSh4cykgPyB4cy5jb25jYXQoW3hdKSA6IFt4XSlcblxuZXhwb3J0IGNvbnN0IGZpbHRlciA9IHAgPT4gbGVuc0koeHMgPT4gdW5BcnJheSh4cykgJiYgeHMuZmlsdGVyKHApLCAoeXMsIHhzKSA9PlxuICBjb25zZXJ2ZShkcm9wcGVkKFIuY29uY2F0KG1rQXJyYXkoeXMpLCBta0FycmF5KHhzKS5maWx0ZXIoUi5jb21wbGVtZW50KHApKSkpLCB4cykpXG5cbmV4cG9ydCBjb25zdCBhdWdtZW50ID0gdGVtcGxhdGUgPT4gbGVuc0koXG4gIHggPT4ge1xuICAgIGlmIChpc09iamVjdCh4KSkge1xuICAgICAgY29uc3QgeiA9IHsuLi54fVxuICAgICAgZm9yIChjb25zdCBrIGluIHRlbXBsYXRlKVxuICAgICAgICB6W2tdID0gdGVtcGxhdGVba10oeClcbiAgICAgIHJldHVybiB6XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWRcbiAgICB9XG4gIH0sXG4gIHRvQ29uc2VydmUoKHksIGNJbikgPT4ge1xuICAgIGlmIChpc09iamVjdCh5KSkge1xuICAgICAgY29uc3QgYyA9IHVuT2JqZWN0KGNJbikgfHwge31cbiAgICAgIGxldCB6XG4gICAgICBjb25zdCBzZXQgPSAoaywgdikgPT4ge1xuICAgICAgICBpZiAodW5kZWZpbmVkID09PSB6KVxuICAgICAgICAgIHogPSB7fVxuICAgICAgICB6W2tdID0gdlxuICAgICAgfVxuICAgICAgZm9yIChjb25zdCBrIGluIHkpIHtcbiAgICAgICAgaWYgKCEoayBpbiB0ZW1wbGF0ZSkpXG4gICAgICAgICAgc2V0KGssIHlba10pXG4gICAgICAgIGVsc2VcbiAgICAgICAgICBpZiAoayBpbiBjKVxuICAgICAgICAgICAgc2V0KGssIGNba10pXG4gICAgICB9XG4gICAgICByZXR1cm4gelxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkXG4gICAgfVxuICB9KSlcblxuZXhwb3J0IGNvbnN0IHBpY2sgPSB0ZW1wbGF0ZSA9PiBsZW5zSShcbiAgYyA9PiB7XG4gICAgbGV0IHJcbiAgICBmb3IgKGNvbnN0IGsgaW4gdGVtcGxhdGUpIHtcbiAgICAgIGNvbnN0IHYgPSBnZXRJKGxpZnQodGVtcGxhdGVba10pLCBjKVxuICAgICAgaWYgKHYgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBpZiAociA9PT0gdW5kZWZpbmVkKVxuICAgICAgICAgIHIgPSB7fVxuICAgICAgICByW2tdID0gdlxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gclxuICB9LFxuICAobyA9IGVtcHR5LCBjSW4pID0+IHtcbiAgICBsZXQgYyA9IGNJblxuICAgIGZvciAoY29uc3QgayBpbiB0ZW1wbGF0ZSlcbiAgICAgIGMgPSBzZXRJKGxpZnQodGVtcGxhdGVba10pLCBvW2tdLCBjKVxuICAgIHJldHVybiBjXG4gIH0pXG5cbmV4cG9ydCBjb25zdCBpZGVudGl0eSA9IGxlbnNJKGlkLCBjb25zZXJ2ZSlcblxuZXhwb3J0IGNvbnN0IHByb3BzID0gKC4uLmtzKSA9PiBwaWNrKFIuemlwT2JqKGtzLCBrcykpXG5cbmNvbnN0IHNob3cgPSAoLi4ubGFiZWxzKSA9PiB4ID0+IGNvbnNvbGUubG9nKC4uLmxhYmVscywgeCkgfHwgeFxuXG5leHBvcnQgY29uc3QgbG9nID0gKC4uLmxhYmVscykgPT5cbiAgbGVuc0koc2hvdyguLi5sYWJlbHMsIFwiZ2V0XCIpLCBzaG93KC4uLmxhYmVscywgXCJzZXRcIikpXG5cbmV4cG9ydCBjb25zdCBzZXF1ZW5jZSA9IGNvbnN0cnVjdG9yID0+IGlubmVyID0+IHRhcmdldCA9PlxuICB3YXJuKFwiYHNlcXVlbmNlYCBpcyBleHBlcmltZW50YWwgYW5kIG1pZ2h0IGJlIHJlbW92ZWQsIHJlbmFtZWQgb3IgY2hhbmdlZCBzZW1hbnRpY2FsbHkgYmVmb3JlIG5leHQgbWFqb3IgcmVsZWFzZVwiKSB8fFxuICBSLnRyYXZlcnNlKGNvbnN0cnVjdG9yLCBpbm5lciwgbWtBcnJheSh0YXJnZXQpKVxuICAubWFwKGZpbHRlcmVkKVxuXG5leHBvcnQgY29uc3QgZnJvbVJhbWRhID0gbCA9PiBfY29uc3RydWN0b3IgPT4gbFxuZXhwb3J0IGNvbnN0IHRvUmFtZGEgPSBsID0+XG4gIGxpZnQobCkoKCkgPT4ge3Rocm93IG5ldyBFcnJvcihcIlNvcnJ5LCBgdG9SYW1kYWAgaXMgb25seSBmYW50YXN5IVwiKX0pXG5cbmV4cG9ydCBkZWZhdWx0IGNvbXBvc2VcbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9wYXJ0aWFsLmxlbnNlcy5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBOztJQUFZLEM7Ozs7Ozs7Ozs7QUFJWixTQUFTLFFBQVQsQ0FBa0IsS0FBbEIsRUFBeUI7QUFBQyxPQUFLLEtBQUwsR0FBYSxLQUFiO0FBQW1CO0FBQzdDLElBQU0sUUFBUSxTQUFSLEtBQVE7QUFBQSxTQUFLLElBQUksUUFBSixDQUFhLENBQWIsQ0FBTDtBQUFBLENBQWQ7QUFDQSxTQUFTLFNBQVQsQ0FBbUIsR0FBbkIsR0FBeUIsVUFBVSxHQUFWLEVBQWU7QUFBQyxTQUFPLElBQUksUUFBSixDQUFhLElBQUksS0FBSyxLQUFULENBQWIsQ0FBUDtBQUFxQyxDQUE5RTtBQUNBLFNBQVMsU0FBVCxDQUFtQixFQUFuQixHQUF3QixLQUF4QjtBQUNBLFNBQVMsU0FBVCxDQUFtQixFQUFuQixHQUF3QixVQUFVLENBQVYsRUFBYTtBQUFDLFNBQU8sSUFBSSxRQUFKLENBQWEsS0FBSyxLQUFMLENBQVcsRUFBRSxLQUFiLENBQWIsQ0FBUDtBQUF5QyxDQUEvRTs7OztBQUlBLFNBQVMsUUFBVCxDQUFrQixLQUFsQixFQUF5QjtBQUFDLE9BQUssS0FBTCxHQUFhLEtBQWI7QUFBbUI7QUFDN0MsSUFBTSxRQUFRLFNBQVIsS0FBUTtBQUFBLFNBQUssSUFBSSxRQUFKLENBQWEsQ0FBYixDQUFMO0FBQUEsQ0FBZDtBQUNBLFNBQVMsU0FBVCxDQUFtQixHQUFuQixHQUF5QixZQUFZO0FBQUMsU0FBTyxJQUFQO0FBQVksQ0FBbEQ7QUFDQSxTQUFTLFNBQVQsQ0FBbUIsRUFBbkIsR0FBd0IsS0FBeEI7QUFDQSxTQUFTLFNBQVQsQ0FBbUIsRUFBbkIsR0FBd0IsVUFBVSxDQUFWLEVBQWE7QUFBQyxTQUFPLElBQUksS0FBSixDQUFVLEVBQUUsTUFBRixDQUFTLEtBQUssS0FBZCxFQUFxQixFQUFFLEtBQXZCLENBQVYsQ0FBUDtBQUFnRCxDQUF0Rjs7OztBQUlBLElB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QVEsTUFBUixTQUFnQixLQUFoQixHQUE5QixDQURpQjtBQUFBLENBQVo7O0FBR0EsSUFBTSw4QkFBVyxTQUFYLFFBQVc7QUFBQSxTQUFlO0FBQUEsV0FBUztBQUFBLGFBQzlDLEtBQUssNEdBQUwsS0FDQSxFQUFFLFFBQUYsQ0FBVyxXQUFYLEVBQXdCLEtBQXhCLEVBQStCLFFBQVEsTUFBUixDQUEvQixFQUNDLEdBREQsQ0FDSyxRQURMLENBRjhDO0FBQUEsS0FBVDtBQUFBLEdBQWY7QUFBQSxDQUFqQjs7QUFLQSxJQUFNLGdDQUFZLFNBQVosU0FBWTtBQUFBLFNBQUs7QUFBQSxXQUFnQixDQUFoQjtBQUFBLEdBQUw7QUFBQSxDQUFsQjtBQUNBLElBQU0sNEJBQVUsU0FBVixPQUFVO0FBQUEsU0FDckIsS0FBSyxDQUFMLEVBQVEsWUFBTTtBQUFDLFVBQU0sSUFBSSxLQUFKLENBQVUsbUNBQVYsQ0FBTjtBQUFxRCxHQUFwRSxDQURxQjtBQUFBLENBQWhCOztrQkFHUSxPIiwiZmlsZSI6InBhcnRpYWwubGVuc2VzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUiBmcm9tIFwicmFtZGFcIlxuXG4vL1xuXG5mdW5jdGlvbiBJZGVudGl0eSh2YWx1ZSkge3RoaXMudmFsdWUgPSB2YWx1ZX1cbmNvbnN0IElkZW50ID0geCA9PiBuZXcgSWRlbnRpdHkoeClcbklkZW50aXR5LnByb3RvdHlwZS5tYXAgPSBmdW5jdGlvbiAoeDJ5KSB7cmV0dXJuIG5ldyBJZGVudGl0eSh4MnkodGhpcy52YWx1ZSkpfVxuSWRlbnRpdHkucHJvdG90eXBlLm9mID0gSWRlbnRcbklkZW50aXR5LnByb3RvdHlwZS5hcCA9IGZ1bmN0aW9uICh4KSB7cmV0dXJuIG5ldyBJZGVudGl0eSh0aGlzLnZhbHVlKHgudmFsdWUpKX1cblxuLy9cblxuZnVuY3Rpb24gQ29uc3RhbnQodmFsdWUpIHt0aGlzLnZhbHVlID0gdmFsdWV9XG5jb25zdCBDb25zdCA9IHggPT4gbmV3IENvbnN0YW50KHgpXG5Db25zdGFudC5wcm90b3R5cGUubWFwID0gZnVuY3Rpb24gKCkge3JldHVybiB0aGlzfVxuQ29uc3RhbnQucHJvdG90eXBlLm9mID0gQ29uc3RcbkNvbnN0YW50LnByb3RvdHlwZS5hcCA9IGZ1bmN0aW9uICh4KSB7cmV0dXJuIG5ldyBDb25zdChSLmNvbmNhdCh0aGlzLnZhbHVlLCB4LnZhbHVlKSl9XG5cbi8vXG5cbmNvbnN0IHdhcm5lZCA9IHt9XG5cbmNvbnN0IHdhcm4gPSBtZXNzYWdlID0+IHtcbiAgaWYgKCEobWVzc2FnZSBpbiB3YXJuZWQpKSB7XG4gICAgd2FybmVkW21lc3NhZ2VdID0gbWVzc2FnZVxuICAgIGNvbnNvbGUud2FybihcInBhcnRpYWwubGVuc2VzOlwiLCBtZXNzYWdlKVxuICB9XG59XG5cbi8vXG5cbmNvbnN0IGlzQXJyYXkgID0geCA9PiB4ICYmIHguY29uc3RydWN0b3IgPT09IEFycmF5XG5jb25zdCBpc09iamVjdCA9IHggPT4geCAmJiB4LmNvbnN0cnVjdG9yID09PSBPYmplY3RcblxuY29uc3QgdW5BcnJheSAgPSB4ID0+ICBpc0FycmF5KHgpID8geCA6IHVuZGVmaW5lZFxuY29uc3QgdW5PYmplY3QgPSB4ID0+IGlzT2JqZWN0KHgpID8geCA6IHVuZGVmaW5lZFxuXG5jb25zdCBta0FycmF5ID0geCA9PiBpc0FycmF5KHgpID8geCA6IFtdXG5cbi8vXG5cbmNvbnN0IGlkID0geCA9PiB4XG5jb25zdCBzbmQgPSAoXywgYykgPT4gY1xuXG4vL1xuXG5jb25zdCBjaGVjayA9IChleHBlY3RlZCwgcHJlZGljYXRlKSA9PiB4ID0+IHtcbiAgaWYgKHByZWRpY2F0ZSh4KSlcbiAgICByZXR1cm4geFxuICBlbHNlXG4gICAgdGhyb3cgbmV3IEVycm9yKGBFeHBlY3RlZCAke2V4cGVjdGVkfSwgYnV0IGdvdCAke3h9LmApXG59XG5cbmNvbnN0IGFzc2VydCA9IHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/ICgpID0+IGlkIDogY2hlY2tcblxuLy9cblxuY29uc3QgZW1wdHkgPSB7fVxuXG5jb25zdCBkZWxldGVLZXkgPSAoaywgbyA9IHt9KSA9PiB7XG4gIGxldCByXG4gIGZvciAoY29uc3QgcCBpbiBvKSB7XG4gICAgaWYgKHAgIT09IGspIHtcbiAgICAgIGlmICh1bmRlZmluZWQgPT09IHIpXG4gICAgICAgIHIgPSB7fVxuICAgICAgcltwXSA9IG9bcF1cbiAgICB9XG4gIH1cbiAgcmV0dXJuIHJcbn1cblxuY29uc3Qgc2V0S2V5ID0gKGssIHYsIG8gPSB7fSkgPT4ge1xuICBpZiAoayBpbiBvICYmIFIuZXF1YWxzKHYsIG9ba10pKVxuICAgIHJldHVybiBvXG4gIGNvbnN0IHIgPSB7W2tdOiB2fVxuICBmb3IgKGNvbnN0IHAgaW4gbylcbiAgICBpZiAocCAhPT0gaylcbiAgICAgIHJbcF0gPSBvW3BdXG4gIHJldHVybiByXG59XG5cbi8vXG5cbmNvbnN0IGRyb3BwZWQgPSB4cyA9PiBPYmplY3Qua2V5cyh4cykubGVuZ3RoID09PSAwID8gdW5kZWZpbmVkIDogeHNcblxuLy9cblxuY29uc3QgdG9QYXJ0aWFsID0gdHJhbnNmb3JtID0+IHggPT4gdW5kZWZpbmVkID09PSB4ID8geCA6IHRyYW5zZm9ybSh4KVxuXG4vL1xuXG5jb25zdCBmaWx0ZXJlZCA9XG4gIHRvUGFydGlhbChSLnBpcGUoUi5maWx0ZXIoeCA9PiB4ICE9PSB1bmRlZmluZWQpLCBkcm9wcGVkKSlcblxuLy9cblxuY29uc3QgY29uc2VydmUgPSAoYzEsIGMwKSA9PiBSLmVxdWFscyhjMSwgYzApID8gYzAgOiBjMVxuXG5jb25zdCB0b0NvbnNlcnZlID0gZiA9PiAoeSwgYzApID0+IGNvbnNlcnZlKGYoeSwgYzApLCBjMClcblxuLy9cblxuY29uc3Qgc2VlbXNMZW5zID0geCA9PiB0eXBlb2YgeCA9PT0gXCJmdW5jdGlvblwiICYmIHgubGVuZ3RoID09PSAxXG5cbmNvbnN0IGxpZnRlZCA9IGFzc2VydChcImEgbGVuc1wiLCBzZWVtc0xlbnMpXG5cbmNvbnN0IGxpZnQgPSBsID0+IHtcbiAgaWYgKGlzUHJvcChsKSkgIHJldHVybiBsaWZ0UHJvcChsKVxuICBpZiAoaXNJbmRleChsKSkgcmV0dXJuIGxpZnRJbmRleChsKVxuICByZXR1cm4gbGlmdGVkKGwpXG59XG5cbmV4cG9ydCBjb25zdCBjb21wb3NlID0gKC4uLmxzKSA9PlxuICBscy5sZW5ndGggPT09IDAgPyBpZGVudGl0eSA6XG4gIGxzLmxlbmd0aCA9PT0gMSA/IGxzWzBdIDpcbiAgKHRvQ2F0ID0+IFIuY29tcG9zZSguLi5scy5tYXAobCA9PiBsaWZ0KGwpKHRvQ2F0KSkpKVxuXG5leHBvcnQgY29uc3QgcmVtb3ZlID0gUi5jdXJyeSgobCwgcykgPT4gc2V0SShsaWZ0KGwpLCB1bmRlZmluZWQsIHMpKVxuXG5leHBvcnQgY29uc3QgcmVtb3ZlQWxsID0gUi5jdXJyeSgobGVucywgZGF0YSkgPT4ge1xuICB3YXJuKFwiYHJlbW92ZUFsbGAgaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIG5leHQgbWFqb3IgdmVyc2lvbiAtLS0gdXNlIGEgZGlmZmVyZW50IGFwcHJvYWNoLlwiKVxuICB3aGlsZSAoZ2V0KGxlbnMsIGRhdGEpICE9PSB1bmRlZmluZWQpXG4gICAgZGF0YSA9IHJlbW92ZShsZW5zLCBkYXRhKVxuICByZXR1cm4gZGF0YVxufSlcblxuY29uc3Qgc2V0SSA9IChsLCB4LCBzKSA9PiBsKElkZW50KSgoKSA9PiBJZGVudCh4KSkocykudmFsdWVcbmNvbnN0IGdldEkgPSAobCwgcykgPT4gbChDb25zdCkoQ29uc3QpKHMpLnZhbHVlXG5jb25zdCBtb2RpZnlJID0gKGwsIHgyeCwgcykgPT4gbChJZGVudCkoeSA9PiBJZGVudCh4MngoeSkpKShzKS52YWx1ZVxuY29uc3QgbGVuc0kgPSAoZ2V0dGVyLCBzZXR0ZXIpID0+IF9jb25zdHJ1Y3RvciA9PiBpbm5lciA9PiB0YXJnZXQgPT5cbiAgaW5uZXIoZ2V0dGVyKHRhcmdldCkpLm1hcChmb2N1cyA9PiBzZXR0ZXIoZm9jdXMsIHRhcmdldCkpXG5jb25zdCBjb2xsZWN0SSA9IChsLCBzKSA9PiBsKENvbnN0KSh4ID0+IENvbnN0KFt4XSkpKHMpLnZhbHVlXG5cbmV4cG9ydCBjb25zdCBsZW5zID0gUi5jdXJyeShsZW5zSSlcbmV4cG9ydCBjb25zdCBtb2RpZnkgPSBSLmN1cnJ5KChsLCB4MngsIHMpID0+IG1vZGlmeUkobGlmdChsKSwgeDJ4LCBzKSlcbmV4cG9ydCBjb25zdCBzZXQgPSBSLmN1cnJ5KChsLCB4LCBzKSA9PiBzZXRJKGxpZnQobCksIHgsIHMpKVxuZXhwb3J0IGNvbnN0IGdldCA9IFIuY3VycnkoKGwsIHMpID0+IGdldEkobGlmdChsKSwgcykpXG5leHBvcnQgY29uc3QgY29sbGVjdCA9IFIuY3VycnkoKGwsIHMpID0+XG4gIHdhcm4oXCJgY29sbGVjdGAgaXMgZXhwZXJpbWVudGFsIGFuZCBtaWdodCBiZSByZW1vdmVkLCByZW5hbWVkIG9yIGNoYW5nZWQgc2VtYW50aWNhbGx5IGJlZm9yZSBuZXh0IG1ham9yIHJlbGVhc2VcIikgfHxcbiAgbWtBcnJheShmaWx0ZXJlZChjb2xsZWN0SShsaWZ0KGwpLCBzKSkpKVxuXG5leHBvcnQgY29uc3QgY2hhaW4gPSBSLmN1cnJ5KCh4MnlMLCB4TCkgPT5cbiAgY29tcG9zZSh4TCwgY2hvb3NlKHhPID0+IHhPID09PSB1bmRlZmluZWQgPyBub3RoaW5nIDogeDJ5TCh4TykpKSlcblxuZXhwb3J0IGNvbnN0IGp1c3QgPSB4ID0+IGxlbnNJKFIuYWx3YXlzKHgpLCBzbmQpXG5cbmV4cG9ydCBjb25zdCBjaG9vc2UgPSB4MnlMID0+IGNvbnN0cnVjdG9yID0+IGlubmVyID0+IHRhcmdldCA9PlxuICBsaWZ0KHgyeUwodGFyZ2V0KSkoY29uc3RydWN0b3IpKGlubmVyKSh0YXJnZXQpXG5cbmV4cG9ydCBjb25zdCBub3RoaW5nID0gbGVuc0koc25kLCBzbmQpXG5cbmV4cG9ydCBjb25zdCBvckVsc2UgPVxuICBSLmN1cnJ5KChkLCBsKSA9PiBjaG9vc2UoeCA9PiBnZXRJKGxpZnQobCksIHgpICE9PSB1bmRlZmluZWQgPyBsIDogZCkpXG5cbmV4cG9ydCBjb25zdCBjaG9pY2UgPSAoLi4ubHMpID0+IGNob29zZSh4ID0+IHtcbiAgY29uc3QgaSA9IGxzLmZpbmRJbmRleChsID0+IGdldEkobGlmdChsKSwgeCkgIT09IHVuZGVmaW5lZClcbiAgcmV0dXJuIDAgPD0gaSA/IGxzW2ldIDogbm90aGluZ1xufSlcblxuZXhwb3J0IGNvbnN0IHJlcGxhY2UgPSBSLmN1cnJ5KChpbm4sIG91dCkgPT5cbiAgbGVuc0koeCA9PiBSLmVxdWFscyh4LCBpbm4pID8gb3V0IDogeCxcbiAgICAgICAgdG9Db25zZXJ2ZSh5ID0+IFIuZXF1YWxzKHksIG91dCkgPyBpbm4gOiB5KSkpXG5cbmV4cG9ydCBjb25zdCBkZWZhdWx0cyA9IHJlcGxhY2UodW5kZWZpbmVkKVxuZXhwb3J0IGNvbnN0IHJlcXVpcmVkID0gaW5uID0+IHJlcGxhY2UoaW5uLCB1bmRlZmluZWQpXG5leHBvcnQgY29uc3QgZGVmaW5lID0gdiA9PiBSLmNvbXBvc2UocmVxdWlyZWQodiksIGRlZmF1bHRzKHYpKVxuXG5leHBvcnQgY29uc3QgdmFsdWVPciA9IHYgPT5cbiAgbGVuc0koeCA9PiB4ID09PSB1bmRlZmluZWQgfHwgeCA9PT0gbnVsbCA/IHYgOiB4LCBjb25zZXJ2ZSlcblxuZXhwb3J0IGNvbnN0IG5vcm1hbGl6ZSA9IHRyYW5zZm9ybSA9PlxuICBsZW5zSSh0b1BhcnRpYWwodHJhbnNmb3JtKSwgdG9Db25zZXJ2ZSh0b1BhcnRpYWwodHJhbnNmb3JtKSkpXG5cbmNvbnN0IGlzUHJvcCA9IHggPT4gdHlwZW9mIHggPT09IFwic3RyaW5nXCJcblxuZXhwb3J0IGNvbnN0IHByb3AgPSBhc3NlcnQoXCJhIHN0cmluZ1wiLCBpc1Byb3ApXG5cbmNvbnN0IGxpZnRQcm9wID0gayA9PiBsZW5zSShvID0+IHVuT2JqZWN0KG8pICYmIG9ba10sICh2LCBvSW4pID0+IHtcbiAgY29uc3QgbyA9IHVuT2JqZWN0KG9JbilcbiAgcmV0dXJuIHYgPT09IHVuZGVmaW5lZCA/IGRlbGV0ZUtleShrLCBvKSA6IHNldEtleShrLCB2LCBvKVxufSlcblxuZXhwb3J0IGNvbnN0IGZpbmQgPSBwcmVkaWNhdGUgPT4gY2hvb3NlKHhzID0+IHtcbiAgaWYgKGlzQXJyYXkoeHMpKSB7XG4gICAgY29uc3QgaSA9IHhzLmZpbmRJbmRleChwcmVkaWNhdGUpXG4gICAgcmV0dXJuIGkgPCAwID8gYXBwZW5kIDogaVxuICB9IGVsc2Uge1xuICAgIHJldHVybiBhcHBlbmRcbiAgfVxufSlcblxuZXhwb3J0IGNvbnN0IGZpbmRXaXRoID0gKC4uLmxzKSA9PiB7XG4gIGNvbnN0IGxscyA9IGxpZnQoY29tcG9zZSguLi5scykpXG4gIHJldHVybiBjb21wb3NlKGZpbmQoeCA9PiBnZXRJKGxscywgeCkgIT09IHVuZGVmaW5lZCksIGxscylcbn1cblxuY29uc3QgaXNJbmRleCA9IHggPT4gTnVtYmVyLmlzSW50ZWdlcih4KSAmJiAwIDw9IHhcblxuZXhwb3J0IGNvbnN0IGluZGV4ID0gYXNzZXJ0KFwiYSBub24tbmVnYXRpdmUgaW50ZWdlclwiLCBpc0luZGV4KVxuXG5jb25zdCBsaWZ0SW5kZXggPSBpID0+IGxlbnNJKHhzID0+IHVuQXJyYXkoeHMpICYmIHhzW2ldLCAoeCwgeHMpID0+IHtcbiAgaWYgKHggPT09IHVuZGVmaW5lZCkge1xuICAgIGlmICghaXNBcnJheSh4cykpXG4gICAgICByZXR1cm4gdW5kZWZpbmVkXG4gICAgaWYgKGkgPCB4cy5sZW5ndGgpXG4gICAgICByZXR1cm4gZHJvcHBlZCh4cy5zbGljZSgwLCBpKS5jb25jYXQoeHMuc2xpY2UoaSsxKSkpXG4gICAgcmV0dXJuIGRyb3BwZWQoeHMpXG4gIH0gZWxzZSB7XG4gICAgaWYgKCFpc0FycmF5KHhzKSlcbiAgICAgIHJldHVybiBBcnJheShpKS5jb25jYXQoW3hdKVxuICAgIGlmICh4cy5sZW5ndGggPD0gaSlcbiAgICAgIHJldHVybiB4cy5jb25jYXQoQXJyYXkoaSAtIHhzLmxlbmd0aCksIFt4XSlcbiAgICBpZiAoUi5lcXVhbHMoeCwgeHNbaV0pKVxuICAgICAgcmV0dXJuIHhzXG4gICAgcmV0dXJuIHhzLnNsaWNlKDAsIGkpLmNvbmNhdChbeF0sIHhzLnNsaWNlKGkrMSkpXG4gIH1cbn0pXG5cbmV4cG9ydCBjb25zdCBhcHBlbmQgPSBsZW5zSShzbmQsICh4LCB4cykgPT5cbiAgeCA9PT0gdW5kZWZpbmVkID8gdW5BcnJheSh4cykgOiBpc0FycmF5KHhzKSA/IHhzLmNvbmNhdChbeF0pIDogW3hdKVxuXG5leHBvcnQgY29uc3QgZmlsdGVyID0gcCA9PiBsZW5zSSh4cyA9PiB1bkFycmF5KHhzKSAmJiB4cy5maWx0ZXIocCksICh5cywgeHMpID0+XG4gIGNvbnNlcnZlKGRyb3BwZWQoUi5jb25jYXQobWtBcnJheSh5cyksIG1rQXJyYXkoeHMpLmZpbHRlcihSLmNvbXBsZW1lbnQocCkpKSksIHhzKSlcblxuZXhwb3J0IGNvbnN0IGF1Z21lbnQgPSB0ZW1wbGF0ZSA9PiBsZW5zSShcbiAgeCA9PiB7XG4gICAgaWYgKGlzT2JqZWN0KHgpKSB7XG4gICAgICBjb25zdCB6ID0gey4uLnh9XG4gICAgICBmb3IgKGNvbnN0IGsgaW4gdGVtcGxhdGUpXG4gICAgICAgIHpba10gPSB0ZW1wbGF0ZVtrXSh4KVxuICAgICAgcmV0dXJuIHpcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZFxuICAgIH1cbiAgfSxcbiAgdG9Db25zZXJ2ZSgoeSwgY0luKSA9PiB7XG4gICAgaWYgKGlzT2JqZWN0KHkpKSB7XG4gICAgICBjb25zdCBjID0gdW5PYmplY3QoY0luKSB8fCB7fVxuICAgICAgbGV0IHpcbiAgICAgIGNvbnN0IHNldCA9IChrLCB2KSA9PiB7XG4gICAgICAgIGlmICh1bmRlZmluZWQgPT09IHopXG4gICAgICAgICAgeiA9IHt9XG4gICAgICAgIHpba10gPSB2XG4gICAgICB9XG4gICAgICBmb3IgKGNvbnN0IGsgaW4geSkge1xuICAgICAgICBpZiAoIShrIGluIHRlbXBsYXRlKSlcbiAgICAgICAgICBzZXQoaywgeVtrXSlcbiAgICAgICAgZWxzZVxuICAgICAgICAgIGlmIChrIGluIGMpXG4gICAgICAgICAgICBzZXQoaywgY1trXSlcbiAgICAgIH1cbiAgICAgIHJldHVybiB6XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWRcbiAgICB9XG4gIH0pKVxuXG5leHBvcnQgY29uc3QgcGljayA9IHRlbXBsYXRlID0+IGxlbnNJKFxuICBjID0+IHtcbiAgICBsZXQgclxuICAgIGZvciAoY29uc3QgayBpbiB0ZW1wbGF0ZSkge1xuICAgICAgY29uc3QgdiA9IGdldEkobGlmdCh0ZW1wbGF0ZVtrXSksIGMpXG4gICAgICBpZiAodiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGlmIChyID09PSB1bmRlZmluZWQpXG4gICAgICAgICAgciA9IHt9XG4gICAgICAgIHJba10gPSB2XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiByXG4gIH0sXG4gIChvID0gZW1wdHksIGNJbikgPT4ge1xuICAgIGxldCBjID0gY0luXG4gICAgZm9yIChjb25zdCBrIGluIHRlbXBsYXRlKVxuICAgICAgYyA9IHNldEkobGlmdCh0ZW1wbGF0ZVtrXSksIG9ba10sIGMpXG4gICAgcmV0dXJuIGNcbiAgfSlcblxuZXhwb3J0IGNvbnN0IGlkZW50aXR5ID0gbGVuc0koaWQsIGNvbnNlcnZlKVxuXG5leHBvcnQgY29uc3QgcHJvcHMgPSAoLi4ua3MpID0+IHBpY2soUi56aXBPYmooa3MsIGtzKSlcblxuY29uc3Qgc2hvdyA9ICguLi5sYWJlbHMpID0+IHggPT4gY29uc29sZS5sb2coLi4ubGFiZWxzLCB4KSB8fCB4XG5cbmV4cG9ydCBjb25zdCBsb2cgPSAoLi4ubGFiZWxzKSA9PlxuICBsZW5zSShzaG93KC4uLmxhYmVscywgXCJnZXRcIiksIHNob3coLi4ubGFiZWxzLCBcInNldFwiKSlcblxuZXhwb3J0IGNvbnN0IHNlcXVlbmNlID0gY29uc3RydWN0b3IgPT4gaW5uZXIgPT4gdGFyZ2V0ID0+XG4gIHdhcm4oXCJgc2VxdWVuY2VgIGlzIGV4cGVyaW1lbnRhbCBhbmQgbWlnaHQgYmUgcmVtb3ZlZCwgcmVuYW1lZCBvciBjaGFuZ2VkIHNlbWFudGljYWxseSBiZWZvcmUgbmV4dCBtYWpvciByZWxlYXNlXCIpIHx8XG4gIFIudHJhdmVyc2UoY29uc3RydWN0b3IsIGlubmVyLCBta0FycmF5KHRhcmdldCkpXG4gIC5tYXAoZmlsdGVyZWQpXG5cbmV4cG9ydCBjb25zdCBmcm9tUmFtZGEgPSBsID0+IF9jb25zdHJ1Y3RvciA9PiBsXG5leHBvcnQgY29uc3QgdG9SYW1kYSA9IGwgPT5cbiAgbGlmdChsKSgoKSA9PiB7dGhyb3cgbmV3IEVycm9yKFwiU29ycnksIGB0b1JhbWRhYCBpcyBvbmx5IGZhbnRhc3khXCIpfSlcblxuZXhwb3J0IGRlZmF1bHQgY29tcG9zZVxuIl19
{
"name": "partial.lenses",
"version": "3.6.1",
"version": "3.6.2",
"description": "Partial lenses",

@@ -5,0 +5,0 @@ "main": "lib/partial.lenses.js",

@@ -361,3 +361,4 @@ [ [Tutorial](#tutorial) | [Reference](#reference) | [Background](#background) ]

In alphabetical order.
In alphabetical order. Operations on lenses take lenses as parameters, but do
not return lenses.

@@ -430,3 +431,4 @@ #### <a name="get"></a>[`L.get(l, s)`](#get "L.get :: PLens s a -> Maybe s -> Maybe a")

In alphabetical order.
In alphabetical order. Lens combinators are either lenses or functions that
return lenses.

@@ -530,2 +532,9 @@ #### <a name="append"></a>[`L.append`](#append "L.append :: PLens [a] a")

*Note:* In versions of this library before 3.6.1 `L.compose` happened to be
almost equivalent to `R.compose` and partial lenses were internally nearly
directly compatible with Ramda's lenses. Implicit Ramda compatibility was
already dropped in version [3.0.0](CHANGELOG.md#300). In version 3.6.1 the
internal implementation was changed to make it possible to support traversals
properly.
#### <a name="defaults"></a>[`L.defaults(out)`](#defaults "L.defaults :: s -> PLens s s")

@@ -881,5 +890,4 @@

a collection of focuses and for this reason traversals cannot be viewed
([`get`](#get) does not work on a traversal), but they can be modified, set and
removed. Traversals (and lenses) can also be folded over (or reduced), but such
an operation is currently not provided.
([`get`](#get) does not work on a traversal), but they can be collected,
modified, set and removed.

@@ -886,0 +894,0 @@ #### <a name="collect"></a>[`L.collect(t, s)`](#collect "L.collect :: PTraversal s a -> Maybe s -> [a]")

@@ -147,6 +147,4 @@ import * as R from "ramda"

export const choose = x2yL => _constructor => inner => target => {
const l = lift(x2yL(target))
return R.map(focus => setI(l, focus, target), inner(getI(l, target)))
}
export const choose = x2yL => constructor => inner => target =>
lift(x2yL(target))(constructor)(inner)(target)

@@ -153,0 +151,0 @@ export const nothing = lensI(snd, snd)

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc