{
  "version": 3,
  "sources": ["/cdn/shop/t/14/assets/aaw-judgeme-reviews.js?aaw_reviews=photo-first-longest-alt-v4"],
  "sourcesContent": ["(function () {\n  if (window.AAWJudgeMeReviewSorterLoaded) return;\n  window.AAWJudgeMeReviewSorterLoaded = true;\n\n  var WIDGET_SELECTOR = '.jdgm-review-widget';\n  var REVIEW_SELECTOR = '.jdgm-rev';\n  var REVIEWS_PARENT_SELECTOR = '.jdgm-rev-widg__reviews';\n  var GALLERY_DATA_SELECTOR = '.jdgm-gallery-data[data-json]';\n  var DEFAULT_SHOP_DOMAIN = 'advanced-acousticwerkes.myshopify.com';\n  var DEFAULT_PLATFORM = 'shopify';\n  var PHOTO_SELECTOR = [\n    '.jdgm-rev__pics',\n    '.jdgm-rev__pic',\n    '.jdgm-rev__pic-link',\n    '.jdgm-rev__media',\n    '.jdgm-rev__media-grid',\n    '.jdgm-rev__attachment',\n    'img',\n    'video'\n  ].join(',');\n  var BODY_SELECTOR = '.jdgm-rev__body, .jdgm-rev__content, .jdgm-rev__text';\n  var FIRST_PAGE_REVIEW_COUNT = 5;\n  var HOME_SCHEMA_ID = 'aaw-judgeme-home-review-schema';\n  var HOME_JUDGEME_SELECTOR = [\n    '.jdgm-carousel-wrapper',\n    '.jdgm-carousel',\n    '.jdgm-all-reviews-widget',\n    '.jdgm-widget[data-average-rating][data-number-of-reviews]',\n    '[class*=\"jdgm-carousel\"]'\n  ].join(',');\n\n  function normalizeText(text) {\n    return (text || '').replace(/\\s+/g, ' ').trim();\n  }\n\n  function textFromHtml(html) {\n    var holder = document.createElement('div');\n    holder.innerHTML = html || '';\n    return normalizeText(holder.textContent);\n  }\n\n  function sanitizeReviewHtml(html) {\n    var holder = document.createElement('div');\n    holder.innerHTML = html || '';\n    holder.querySelectorAll('script, style, iframe, object, embed').forEach(function (node) {\n      node.remove();\n    });\n    holder.querySelectorAll('*').forEach(function (node) {\n      Array.prototype.slice.call(node.attributes).forEach(function (attribute) {\n        if (/^on/i.test(attribute.name)) node.removeAttribute(attribute.name);\n      });\n    });\n    return holder.innerHTML;\n  }\n\n  function hasReviewMedia(review) {\n    var media = review.querySelector(PHOTO_SELECTOR);\n    if (!media) return false;\n    if (media.matches && media.matches('img,video')) return true;\n    return !!media.querySelector('img,video,a');\n  }\n\n  function reviewLength(review) {\n    var body = review.querySelector(BODY_SELECTOR) || review;\n    return normalizeText(body.textContent).length;\n  }\n\n  function galleryReviewLength(review) {\n    return [\n      review.title,\n      textFromHtml(review.body_html || review.body)\n    ].join(' ').length;\n  }\n\n  function reviewId(review) {\n    return review.getAttribute('data-review-id') || review.id || '';\n  }\n\n  function reviewKey(review) {\n    return [\n      hasReviewMedia(review) ? 1 : 0,\n      reviewLength(review),\n      reviewId(review)\n    ].join(':');\n  }\n\n  function parseGalleryReviews(widget) {\n    var dataNode = widget.querySelector(GALLERY_DATA_SELECTOR);\n    if (!dataNode) return [];\n\n    try {\n      var reviews = JSON.parse(dataNode.getAttribute('data-json') || '[]');\n      if (!Array.isArray(reviews)) return [];\n      return reviews.filter(function (review) {\n        return review && Array.isArray(review.pictures_urls) && review.pictures_urls.length;\n      });\n    } catch (error) {\n      return [];\n    }\n  }\n\n  function getReviewsParent(widget) {\n    var parent = widget.querySelector(REVIEWS_PARENT_SELECTOR);\n    if (parent) return parent;\n\n    var firstReview = widget.querySelector(REVIEW_SELECTOR);\n    return firstReview ? firstReview.parentNode : null;\n  }\n\n  function getNativeReviews(parent) {\n    return Array.prototype.slice.call(parent.querySelectorAll(REVIEW_SELECTOR)).filter(function (review) {\n      return !review.hasAttribute('data-aaw-curated-review');\n    });\n  }\n\n  function hideNativeReviews(parent) {\n    getNativeReviews(parent).forEach(function (review) {\n      review.setAttribute('data-aaw-native-review-hidden', 'true');\n      review.style.display = 'none';\n    });\n  }\n\n  function revealNativeReviews(parent) {\n    getNativeReviews(parent).forEach(function (review) {\n      if (review.getAttribute('data-aaw-native-review-hidden') === 'true') {\n        review.removeAttribute('data-aaw-native-review-hidden');\n        review.style.display = '';\n      }\n    });\n  }\n\n  function removeCuratedReviews(parent) {\n    parent.querySelectorAll('[data-aaw-curated-review=\"true\"]').forEach(function (review) {\n      review.remove();\n    });\n    revealNativeReviews(parent);\n    delete parent.dataset.aawJudgeMeCurated;\n  }\n\n  function getActivePageNumber(widget) {\n    var active = widget.querySelector([\n      '.jdgm-paginate__page.jdgm-curt',\n      '.jdgm-paginate__page.jdgm--current',\n      '.jdgm-paginate__page.active',\n      '.jdgm-paginate__page[aria-current=\"page\"]'\n    ].join(','));\n\n    if (!active) return 1;\n    var number = parseInt(normalizeText(active.textContent), 10);\n    return Number.isFinite(number) ? number : 1;\n  }\n\n  function buildStars(rating) {\n    var stars = document.createElement('div');\n    stars.className = 'jdgm-rev__rating';\n    stars.setAttribute('data-score', rating || 5);\n\n    for (var index = 1; index <= 5; index += 1) {\n      var star = document.createElement('span');\n      star.className = 'jdgm-star ' + (index <= rating ? 'jdgm--on' : 'jdgm--off');\n      star.setAttribute('role', 'img');\n      star.setAttribute('aria-label', index <= rating ? 'star' : 'empty star');\n      stars.appendChild(star);\n    }\n\n    return stars;\n  }\n\n  function buildReviewer(review) {\n    var author = document.createElement('div');\n    author.className = 'jdgm-rev__author-wrapper';\n\n    var icon = document.createElement('span');\n    icon.className = 'jdgm-rev__buyer-badge-wrapper';\n    icon.innerHTML = '<span class=\"jdgm-rev__icon\"></span>';\n    author.appendChild(icon);\n\n    var name = document.createElement('span');\n    name.className = 'jdgm-rev__author';\n    name.textContent = getReviewAuthor(review) || 'AAW Listener';\n    author.appendChild(name);\n\n    return author;\n  }\n\n  function getReviewAuthor(review) {\n    var directKeys = [\n      'name',\n      'reviewer_name',\n      'reviewerName',\n      'author',\n      'author_name',\n      'authorName',\n      'display_name',\n      'displayName',\n      'buyer_name',\n      'buyerName',\n      'customer_name',\n      'customerName',\n      'user_name',\n      'userName'\n    ];\n    var nestedKeys = ['reviewer', 'author', 'buyer', 'customer', 'user'];\n\n    for (var index = 0; index < directKeys.length; index += 1) {\n      var value = review && review[directKeys[index]];\n      if (typeof value === 'string' && normalizeText(value)) return normalizeText(value);\n    }\n\n    for (var nestedIndex = 0; nestedIndex < nestedKeys.length; nestedIndex += 1) {\n      var nested = review && review[nestedKeys[nestedIndex]];\n      if (nested && typeof nested === 'object') {\n        var nestedName = getReviewAuthor(nested);\n        if (nestedName) return nestedName;\n      }\n    }\n\n    return '';\n  }\n\n  function buildGalleryImages(review) {\n    var urls = review.pictures_urls || [];\n    var thumbs = review.pictures_urls_compact || urls;\n    var wrapper = document.createElement('div');\n    wrapper.className = 'jdgm-rev__pics';\n\n    urls.forEach(function (picture, index) {\n      var url = extractPictureUrl(picture, ['original', 'large', 'url', 'src', 'normal', 'mfp_src']);\n      var thumbUrl = extractPictureUrl(thumbs[index], ['compact', 'thumbnail', 'thumb', 'small', 'url', 'src']) || url;\n      if (!url) return;\n\n      var link = document.createElement('a');\n      link.className = 'jdgm-rev__pic-link';\n      link.href = url;\n      link.target = '_blank';\n      link.rel = 'noopener';\n\n      var image = document.createElement('img');\n      image.className = 'jdgm-rev__pic-img';\n      image.src = thumbUrl;\n      image.alt = 'Customer review photo';\n      image.loading = 'lazy';\n\n      link.appendChild(image);\n      wrapper.appendChild(link);\n    });\n\n    return wrapper;\n  }\n\n  function extractPictureUrl(value, preferredKeys) {\n    if (!value) return '';\n    if (typeof value === 'string') return normalizeImageUrl(value);\n    if (typeof value !== 'object') return '';\n\n    var keys = preferredKeys || [];\n    for (var index = 0; index < keys.length; index += 1) {\n      var direct = extractPictureUrl(value[keys[index]]);\n      if (direct) return direct;\n    }\n\n    var objectKeys = Object.keys(value);\n    for (var keyIndex = 0; keyIndex < objectKeys.length; keyIndex += 1) {\n      var nested = extractPictureUrl(value[objectKeys[keyIndex]]);\n      if (nested) return nested;\n    }\n\n    return '';\n  }\n\n  function normalizeImageUrl(url) {\n    var value = normalizeText(url);\n    if (!value || value === '[object Object]') return '';\n    if (value.indexOf('//') === 0) return 'https:' + value;\n    if (/^https?:\\/\\//i.test(value)) return value;\n    return '';\n  }\n\n  function buildGalleryReview(review) {\n    var article = document.createElement('div');\n    article.className = 'jdgm-rev jdgm-divider-top aaw-curated-jdgm-rev';\n    article.setAttribute('data-review-id', review.uuid || review.id || '');\n    article.setAttribute('data-aaw-curated-review', 'true');\n\n    article.appendChild(buildStars(Number(review.rating) || 5));\n    article.appendChild(buildReviewer(review));\n\n    if (review.title) {\n      var title = document.createElement('b');\n      title.className = 'jdgm-rev__title';\n      title.textContent = textFromHtml(review.title);\n      article.appendChild(title);\n    }\n\n    var body = document.createElement('div');\n    body.className = 'jdgm-rev__body';\n    body.innerHTML = sanitizeReviewHtml(review.body_html || review.body || '');\n    article.appendChild(body);\n\n    var images = buildGalleryImages(review);\n    if (images.children.length) article.appendChild(images);\n    return article;\n  }\n\n  function sortDomReviews(reviews) {\n    return reviews.slice().sort(function (a, b) {\n      var aPhoto = hasReviewMedia(a) ? 1 : 0;\n      var bPhoto = hasReviewMedia(b) ? 1 : 0;\n      if (aPhoto !== bPhoto) return bPhoto - aPhoto;\n      return reviewLength(b) - reviewLength(a);\n    });\n  }\n\n  function sortGalleryReviews(reviews) {\n    return reviews.slice().sort(function (a, b) {\n      var aPhoto = Array.isArray(a.pictures_urls) && a.pictures_urls.length ? 1 : 0;\n      var bPhoto = Array.isArray(b.pictures_urls) && b.pictures_urls.length ? 1 : 0;\n      if (aPhoto !== bPhoto) return bPhoto - aPhoto;\n      return galleryReviewLength(b) - galleryReviewLength(a);\n    });\n  }\n\n  function buildQuery(params) {\n    return Object.keys(params).filter(function (key) {\n      return params[key] !== null && params[key] !== undefined && params[key] !== '';\n    }).map(function (key) {\n      return encodeURIComponent(key) + '=' + encodeURIComponent(params[key]);\n    }).join('&');\n  }\n\n  function getShopDomain() {\n    if (window.Shopify && window.Shopify.shop) return window.Shopify.shop;\n    if (window.jdgmSettings && window.jdgmSettings.shop_domain) return window.jdgmSettings.shop_domain;\n    return DEFAULT_SHOP_DOMAIN;\n  }\n\n  function getPlatform() {\n    return (window.jdgmSettings && window.jdgmSettings.platform) || DEFAULT_PLATFORM;\n  }\n\n  function fetchManagedReviews(widget, callback) {\n    var pager = widget.querySelector('.jdgm-paginate');\n    var url = (pager && pager.getAttribute('data-url')) || 'https://api.judge.me/reviews/reviews_for_widget';\n    var productId = widget.getAttribute('data-id');\n    if (!url || !productId) return;\n\n    var request = new XMLHttpRequest();\n    request.open('GET', url + '?' + buildQuery({\n      shop_domain: getShopDomain(),\n      url: getShopDomain(),\n      platform: getPlatform(),\n      product_id: productId,\n      page: 1,\n      per_page: 100\n    }), true);\n\n    request.onreadystatechange = function () {\n      if (request.readyState !== 4) return;\n      if (request.status < 200 || request.status >= 300) return;\n\n      try {\n        var payload = JSON.parse(request.responseText);\n        if (payload && Array.isArray(payload.reviews) && payload.reviews.length) {\n          callback(payload);\n        }\n      } catch (error) {\n        // Leave the static Judge.me markup in place if the API shape changes.\n      }\n    };\n\n    request.send();\n  }\n\n  function setupManagedWidget(widget) {\n    if (widget.dataset.aawJudgeMeManaged === 'true' || widget.dataset.aawJudgeMeLoading === 'true') return;\n    if (!widget.querySelector('.jdgm-paginate')) return;\n\n    widget.dataset.aawJudgeMeLoading = 'true';\n    fetchManagedReviews(widget, function (payload) {\n      widget.dataset.aawJudgeMeManaged = 'true';\n      widget.dataset.aawJudgeMeUserPaging = 'true';\n      widget.aawJudgeMeReviews = sortGalleryReviews(payload.reviews);\n      renderManagedPage(widget, 1);\n      delete widget.dataset.aawJudgeMeLoading;\n    });\n  }\n\n  function renderManagedPage(widget, page) {\n    var parent = getReviewsParent(widget);\n    if (!parent || !Array.isArray(widget.aawJudgeMeReviews)) return;\n\n    var perPage = parseInt((widget.querySelector('.jdgm-paginate') || {}).dataset && widget.querySelector('.jdgm-paginate').dataset.perPage, 10) || FIRST_PAGE_REVIEW_COUNT;\n    var totalPages = Math.max(1, Math.ceil(widget.aawJudgeMeReviews.length / perPage));\n    var currentPage = Math.max(1, Math.min(page || 1, totalPages));\n    var start = (currentPage - 1) * perPage;\n    var selected = widget.aawJudgeMeReviews.slice(start, start + perPage).map(buildGalleryReview);\n\n    parent.querySelectorAll('[data-aaw-curated-review=\"true\"]').forEach(function (review) {\n      review.remove();\n    });\n    hideNativeReviews(parent);\n\n    var fragment = document.createDocumentFragment();\n    selected.forEach(function (review) {\n      fragment.appendChild(review);\n    });\n    var firstNativeReview = getNativeReviews(parent)[0];\n    parent.insertBefore(fragment, firstNativeReview || null);\n    parent.dataset.aawJudgeMeCurated = selected.map(reviewId).join('|');\n\n    renderManagedPager(widget, currentPage, totalPages);\n  }\n\n  function renderManagedPager(widget, currentPage, totalPages) {\n    var pager = widget.querySelector('.jdgm-paginate');\n    if (!pager) return;\n\n    pager.innerHTML = '';\n    pager.setAttribute('data-aaw-managed-pager', 'true');\n    if (totalPages <= 1) {\n      pager.style.display = 'none';\n      return;\n    }\n    pager.style.display = '';\n\n    if (currentPage > 1) {\n      pager.appendChild(buildPageLink(1, '', 'jdgm-paginate__first-page'));\n      pager.appendChild(buildPageLink(currentPage - 1, '', 'jdgm-paginate__prev-page'));\n    }\n\n    var start = Math.max(1, Math.min(currentPage - 1, totalPages - 2));\n    var end = Math.min(totalPages, start + 2);\n    for (var page = start; page <= end; page += 1) {\n      pager.appendChild(buildPageLink(page, String(page), page === currentPage ? 'jdgm-curt' : ''));\n    }\n\n    if (currentPage < totalPages) {\n      pager.appendChild(buildPageLink(currentPage + 1, '', 'jdgm-paginate__next-page'));\n      pager.appendChild(buildPageLink(totalPages, '', 'jdgm-paginate__last-page'));\n    }\n  }\n\n  function buildPageLink(page, text, extraClass) {\n    var link = document.createElement('a');\n    link.className = 'jdgm-paginate__page ' + (extraClass || '');\n    link.setAttribute('data-page', page);\n    link.setAttribute('aria-label', 'Page ' + page);\n    link.setAttribute('tabindex', '0');\n    link.setAttribute('role', 'button');\n    link.textContent = text;\n    return link;\n  }\n\n  function sortCurrentPage(widget) {\n    var parent = getReviewsParent(widget);\n    if (!parent) return;\n\n    var reviews = getNativeReviews(parent);\n    if (reviews.length < 2) return;\n\n    var current = reviews.map(reviewKey).join('|');\n    var sorted = sortDomReviews(reviews);\n    var next = sorted.map(reviewKey).join('|');\n    if (current === next || parent.dataset.aawJudgeMeSort === next) return;\n\n    var fragment = document.createDocumentFragment();\n    sorted.forEach(function (review) {\n      fragment.appendChild(review);\n    });\n    parent.appendChild(fragment);\n    parent.dataset.aawJudgeMeSort = next;\n  }\n\n  function curateFirstPage(widget) {\n    var parent = getReviewsParent(widget);\n    if (!parent) return;\n    if (widget.dataset.aawJudgeMeManaged === 'true') return;\n\n    if (widget.dataset.aawJudgeMeUserPaging === 'true') {\n      removeCuratedReviews(parent);\n      sortCurrentPage(widget);\n      return;\n    }\n\n    if (getActivePageNumber(widget) !== 1) {\n      removeCuratedReviews(parent);\n      sortCurrentPage(widget);\n      return;\n    }\n\n    var galleryReviews = sortGalleryReviews(parseGalleryReviews(widget));\n    if (!galleryReviews.length) {\n      sortCurrentPage(widget);\n      return;\n    }\n\n    var currentReviews = sortDomReviews(getNativeReviews(parent));\n    var selectedIds = {};\n    var selected = [];\n\n    galleryReviews.forEach(function (review) {\n      var id = review.uuid || review.id || '';\n      if (!id || selectedIds[id]) return;\n      selectedIds[id] = true;\n      selected.push(buildGalleryReview(review));\n    });\n\n    currentReviews.forEach(function (review) {\n      var id = reviewId(review);\n      if (id && selectedIds[id]) return;\n      if (id) selectedIds[id] = true;\n      var clone = review.cloneNode(true);\n      clone.setAttribute('data-aaw-curated-review', 'true');\n      clone.style.display = '';\n      selected.push(clone);\n    });\n\n    var limit = Math.max(FIRST_PAGE_REVIEW_COUNT, Math.min(currentReviews.length || FIRST_PAGE_REVIEW_COUNT, 10));\n    selected = selected.slice(0, limit);\n    var signature = selected.map(reviewId).join('|');\n    var visibleSignature = Array.prototype.slice.call(parent.querySelectorAll('[data-aaw-curated-review=\"true\"]')).map(reviewId).join('|');\n    if (parent.dataset.aawJudgeMeCurated === signature && visibleSignature === signature) return;\n\n    parent.querySelectorAll('[data-aaw-curated-review=\"true\"]').forEach(function (review) {\n      review.remove();\n    });\n    hideNativeReviews(parent);\n\n    var fragment = document.createDocumentFragment();\n    selected.forEach(function (review) {\n      fragment.appendChild(review);\n    });\n    var firstNativeReview = getNativeReviews(parent)[0];\n    parent.insertBefore(fragment, firstNativeReview || null);\n    parent.dataset.aawJudgeMeCurated = signature;\n  }\n\n  function curateAllWidgets() {\n    document.querySelectorAll(WIDGET_SELECTOR).forEach(curateFirstPage);\n    document.querySelectorAll(WIDGET_SELECTOR).forEach(setupManagedWidget);\n  }\n\n  function setJudgeMeImageAlts() {\n    if (window.location.pathname !== '/' && window.location.pathname !== '') return;\n    var images = document.querySelectorAll([\n      '.jdgm-carousel-wrapper img',\n      '.jdgm-carousel img',\n      '.jdgm-all-reviews-widget img',\n      '.jdgm-widget[data-average-rating][data-number-of-reviews] img',\n      '[class*=\"jdgm-carousel\"] img'\n    ].join(','));\n\n    images.forEach(function (image, index) {\n      if (normalizeText(image.getAttribute('alt'))) return;\n      image.setAttribute('alt', 'Customer-submitted AAW in-ear monitor build showcase photo ' + (index + 1));\n    });\n  }\n\n  function debounceCurate() {\n    window.clearTimeout(debounceCurate.timer);\n    debounceCurate.timer = window.setTimeout(function () {\n      curateAllWidgets();\n      setJudgeMeImageAlts();\n      injectHomeJudgeMeSchema();\n    }, 120);\n  }\n\n  function currentHomeUrl() {\n    return window.location.origin + '/';\n  }\n\n  function numericAttribute(node, names) {\n    if (!node) return 0;\n    for (var index = 0; index < names.length; index += 1) {\n      var name = names[index];\n      var value = node.getAttribute(name) || (node.dataset && node.dataset[name.replace(/^data-/, '').replace(/-([a-z])/g, function (_, letter) {\n        return letter.toUpperCase();\n      })]);\n      var parsed = parseFloat(value);\n      if (Number.isFinite(parsed) && parsed > 0) return parsed;\n    }\n    return 0;\n  }\n\n  function numericText(node, pattern) {\n    if (!node) return 0;\n    var text = normalizeText(node.textContent).replace(/,/g, '');\n    var match = text.match(pattern);\n    var parsed = match && parseFloat(match[1]);\n    return Number.isFinite(parsed) && parsed > 0 ? parsed : 0;\n  }\n\n  function findJudgeMeRatingNode(root) {\n    if (!root) return null;\n    if (root.matches && root.matches('[data-average-rating][data-number-of-reviews]')) return root;\n    return root.querySelector([\n      '[data-average-rating][data-number-of-reviews]',\n      '[data-average-rating][data-review-count]',\n      '.jdgm-average-rating',\n      '.jdgm-rating-text'\n    ].join(','));\n  }\n\n  function extractJudgeMeAggregate(root) {\n    var ratingNode = findJudgeMeRatingNode(root);\n    var ratingValue = numericAttribute(ratingNode, ['data-average-rating']);\n    var reviewCount = numericAttribute(ratingNode, ['data-number-of-reviews', 'data-review-count']);\n\n    if (!ratingValue) {\n      var ratingTextNode = root && root.querySelector('.jdgm-rating-text, .jdgm-average-rating');\n      ratingValue = numericText(ratingTextNode, /([0-5](?:\\.\\d+)?)(?:\\s*\u2605|\\s+out\\s+of\\s+5|\\s*\\/\\s*5)?/i);\n    }\n\n    if (!reviewCount) {\n      var countNode = root && root.querySelector('.jdgm-reviews-count, .jdgm-carousel-number-of-reviews, .jdgm-rating-text');\n      reviewCount = numericText(countNode, /\\((\\d+)\\)/) || numericText(countNode, /(\\d+)\\s+reviews?/i) || numericText(countNode, /^(\\d+)$/);\n    }\n\n    if (!ratingValue || !reviewCount) return null;\n    return {\n      ratingValue: ratingValue,\n      reviewCount: reviewCount\n    };\n  }\n\n  function ratingFromReview(review) {\n    var ratingNode = review.querySelector('[data-score], [data-rating], [aria-label*=\"star\"], [aria-label*=\"Star\"]');\n    var score = numericAttribute(ratingNode, ['data-score', 'data-rating']);\n    if (score) return score;\n\n    var label = ratingNode && ratingNode.getAttribute('aria-label');\n    var match = label && label.match(/([0-5](?:\\.\\d+)?)\\s*(?:out of|\\/)\\s*5/i);\n    if (match) return parseFloat(match[1]);\n\n    var onStars = review.querySelectorAll('.jdgm--on, .jdgm-star.jdgm--on, [class*=\"star\"][class*=\"on\"]').length;\n    return onStars > 0 && onStars <= 5 ? onStars : 0;\n  }\n\n  function extractJudgeMeReviews(root) {\n    if (!root) return [];\n    var reviewNodes = Array.prototype.slice.call(root.querySelectorAll([\n      '.jdgm-rev',\n      '.jdgm-carousel-item',\n      '.jdgm-carousel-item__review',\n      '[data-review-id]'\n    ].join(',')));\n\n    return reviewNodes.map(function (review) {\n      var bodyNode = review.querySelector([\n        BODY_SELECTOR,\n        '.jdgm-carousel-item__review-body',\n        '.jdgm-carousel-item__body',\n        '[class*=\"review-body\"]',\n        '[class*=\"review_text\"]'\n      ].join(','));\n      var body = normalizeText((bodyNode || review).textContent);\n      if (!body || body.length < 24) return null;\n\n      var authorNode = review.querySelector([\n        '.jdgm-rev__author',\n        '.jdgm-carousel-item__reviewer-name',\n        '.jdgm-carousel-item__author',\n        '[class*=\"reviewer-name\"]',\n        '[class*=\"author\"]'\n      ].join(','));\n      var rating = ratingFromReview(review);\n      var schema = {\n        '@type': 'Review',\n        itemReviewed: {\n          '@id': currentHomeUrl() + '#judgeme-aaw-in-ear-monitors'\n        },\n        author: {\n          '@type': 'Person',\n          name: normalizeText(authorNode && authorNode.textContent) || 'Judge.me reviewer'\n        },\n        reviewBody: body.slice(0, 500)\n      };\n\n      if (rating) {\n        schema.reviewRating = {\n          '@type': 'Rating',\n          ratingValue: String(Math.round(rating * 100) / 100),\n          bestRating: '5',\n          worstRating: '1'\n        };\n      }\n      return schema;\n    }).filter(Boolean).slice(0, 5);\n  }\n\n  function buildJudgeMeReviewSchema(root) {\n    var aggregate = extractJudgeMeAggregate(root);\n    if (!aggregate) return null;\n\n    var schema = {\n      '@context': 'https://schema.org',\n      '@type': 'Product',\n      '@id': currentHomeUrl() + '#judgeme-aaw-in-ear-monitors',\n      name: 'AAW custom and universal in-ear monitors',\n      url: currentHomeUrl(),\n      brand: {\n        '@type': 'Brand',\n        '@id': currentHomeUrl() + '#brand',\n        name: 'Advanced AcousticWerkes',\n        alternateName: 'AAW'\n      },\n      aggregateRating: {\n        '@type': 'AggregateRating',\n        ratingValue: String(Math.round(aggregate.ratingValue * 100) / 100),\n        bestRating: '5',\n        worstRating: '1',\n        reviewCount: String(Math.round(aggregate.reviewCount))\n      }\n    };\n    var reviews = extractJudgeMeReviews(root);\n    if (reviews.length) schema.review = reviews;\n    return schema;\n  }\n\n  function injectHomeJudgeMeSchema() {\n    if (window.location.pathname !== '/' && window.location.pathname !== '') return;\n    var root = document.querySelector(HOME_JUDGEME_SELECTOR);\n    var schema = buildJudgeMeReviewSchema(root);\n    if (!schema) return;\n\n    var script = document.getElementById(HOME_SCHEMA_ID);\n    if (!script) {\n      script = document.createElement('script');\n      script.type = 'application/ld+json';\n      script.id = HOME_SCHEMA_ID;\n      document.head.appendChild(script);\n    }\n    script.textContent = JSON.stringify(schema);\n  }\n\n  if (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', function () {\n      curateAllWidgets();\n      setJudgeMeImageAlts();\n      injectHomeJudgeMeSchema();\n    });\n  } else {\n    curateAllWidgets();\n    setJudgeMeImageAlts();\n    injectHomeJudgeMeSchema();\n  }\n\n  document.addEventListener('click', function (event) {\n    var pager = event.target && event.target.closest && event.target.closest([\n      '.jdgm-paginate',\n      '.jdgm-paginate__page',\n      '.jdgm-paginate__next-page',\n      '.jdgm-paginate__last-page',\n      '.jdgm-paginate__prev-page',\n      '.jdgm-paginate__first-page'\n    ].join(','));\n    if (!pager) return;\n\n    var widget = pager.closest(WIDGET_SELECTOR);\n    if (widget && widget.dataset.aawJudgeMeManaged === 'true') {\n      event.preventDefault();\n      event.stopImmediatePropagation();\n      var requestedPage = parseInt(pager.getAttribute('data-page'), 10);\n      renderManagedPage(widget, requestedPage);\n      return;\n    }\n\n    if (widget) {\n      window.setTimeout(function () {\n        var parent = getReviewsParent(widget);\n        if (parent) removeCuratedReviews(parent);\n        widget.dataset.aawJudgeMeUserPaging = 'true';\n      }, 0);\n    }\n  }, true);\n\n  window.addEventListener('load', function () {\n    curateAllWidgets();\n    setJudgeMeImageAlts();\n    injectHomeJudgeMeSchema();\n  });\n\n  if ('MutationObserver' in window) {\n    new MutationObserver(debounceCurate).observe(document.documentElement, {\n      childList: true,\n      subtree: true\n    });\n  }\n})();\n"],
  "mappings": "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",
  "names": []
}
