class TailwindMerge::Merger

def initialize(config: {})

def initialize(config: {})
  @config = merge_config(config)
  @config[:important_modifier] = @config[:important_modifier].to_s
  @class_utils = TailwindMerge::ClassGroupUtils.new(@config)
  @cache = LruRedux::Cache.new(@config[:cache_size], @config[:ignore_empty_cache])
end

def merge(classes)

def merge(classes)
  normalized = classes.is_a?(Array) ? classes.compact.join(" ") : classes.to_s
  @cache.getset(normalized) do
    merge_class_list(normalized).freeze
  end
end

def merge_class_list(class_list)

def merge_class_list(class_list)
of class_group_ids in following format:
portantModifier}{variantModifiers}{classGroupId}`
mple 'float'
mple 'hover:focus:bg-color'
mple 'md:!pr'
d = class_list.strip
 "" if trimmed.empty?
groups_in_conflict = Set.new
_classes = []
d.split(SPLIT_CLASSES_REGEX).reverse_each do |original_class_name|
lt = parse_class_name(original_class_name, prefix: @config[:prefix])
xternal = result.is_external
fiers = result.modifiers
important_modifier = result.has_important_modifier
_class_name = result.base_class_name
e_postfix_modifier_position = result.maybe_postfix_modifier_position
s_external
rged_classes.push(original_class_name)
xt
postfix_modifier = maybe_postfix_modifier_position ? true : false
al_base_class_name = has_postfix_modifier ? base_class_name[0...maybe_postfix_modifier_position] : base_class_name
s_group_id = @class_utils.class_group_id(actual_base_class_name)
ss class_group_id
less has_postfix_modifier
# Not a Tailwind class
merged_classes << original_class_name
next
d
ass_group_id = @class_utils.class_group_id(base_class_name)
less class_group_id
# Not a Tailwind class
merged_classes << original_class_name
next
d
s_postfix_modifier = false
ant_modifier = sort_modifiers(modifiers, @config[:order_sensitive_modifiers]).join(":")
fier_id = has_important_modifier ? "#{variant_modifier}#{IMPORTANT_MODIFIER}" : variant_modifier
s_id = "#{modifier_id}#{class_group_id}"
ilwind class omitted due to conflict
 if class_groups_in_conflict.include?(class_id)
s_groups_in_conflict << class_id
ss_utils.get_conflicting_class_group_ids(class_group_id, has_postfix_modifier).each do |conflicting_id|
ass_groups_in_conflict << "#{modifier_id}#{conflicting_id}"
ilwind class not in conflict
ed_classes << original_class_name
_classes.reverse.join(" ")