var f = Object.defineProperty;
var p = (t, e, r) => e in t ? f(t, e, { enumerable: !0, configurable: !0, writable: !0, value: r }) : t[e] = r;
var i = (t, e, r) => (p(t, typeof e != "symbol" ? e + "" : e, r), r);
import { startOfISOWeek as n } from "../../../startOfISOWeek.js";
import { constructFrom as u } from "../../../constructFrom.js";
import { Parser as c } from "../Parser.js";
import { parseNDigitsSigned as a } from "../utils.js";
class W extends c {
  constructor() {
    super(...arguments);
    i(this, "priority", 130);
    i(this, "incompatibleTokens", [
      "G",
      "y",
      "Y",
      "u",
      "Q",
      "q",
      "M",
      "L",
      "w",
      "d",
      "D",
      "e",
      "c",
      "t",
      "T"
    ]);
  }
  parse(r, s) {
    return s === "R" ? a(4, r) : a(s.length, r);
  }
  set(r, s, m) {
    const o = u(r, 0);
    return o.setFullYear(m, 0, 4), o.setHours(0, 0, 0, 0), n(o);
  }
}
export {
  W as ISOWeekYearParser
};
