{"id":38613,"date":"2026-04-29T14:29:28","date_gmt":"2026-04-29T07:29:28","guid":{"rendered":"https:\/\/dps.media\/?page_id=38613"},"modified":"2026-04-29T16:46:14","modified_gmt":"2026-04-29T09:46:14","slug":"%e8%b4%b4%e7%ba%b8%e5%88%87%e5%89%b2%e5%b7%a5%e5%85%b7%e8%87%aa%e5%8a%a8%e5%88%a0%e9%99%a4%e8%83%8c%e6%99%af%e8%b4%b4%e7%ba%b8%e5%88%86%e5%89%b2%e5%99%a8-cong-cu-cat-sticker-xoa-nen-tu-dong-sticker-sp","status":"publish","type":"page","link":"https:\/\/dps.media\/zh\/%e8%b4%b4%e7%ba%b8%e5%88%87%e5%89%b2%e5%b7%a5%e5%85%b7%e8%87%aa%e5%8a%a8%e5%88%a0%e9%99%a4%e8%83%8c%e6%99%af%e8%b4%b4%e7%ba%b8%e5%88%86%e5%89%b2%e5%99%a8-cong-cu-cat-sticker-xoa-nen-tu-dong-sticker-sp\/","title":{"rendered":"\u8d34\u7eb8\u88c1\u526a\u5de5\u5177 &amp; \u81ea\u52a8\u53bb\u80cc\u666f\uff08Sticker Splitter\uff09"},"content":{"rendered":"<div id=\"dps-isolated-root\">\n  <script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/jszip\/3.10.1\/jszip.min.js\"><\/script>\n  <style>\n    \n@import url('https:\/\/fonts.googleapis.com\/css2?family=Nunito:wght@700;800;900&family=DM+Sans:wght@400;500;700&display=swap');\n#dps-isolated-root * { margin: 0; padding: 0; box-sizing: border-box; font-family: inherit; }\n\n\n#dps-isolated-root *,#dps-isolated-root *::before,#dps-isolated-root *::after{ box-sizing: border-box; margin: 0; padding: 0; }\n:root {\n  --bg: #f8fafc;\n  --surface: #ffffff;\n  --primary: #4f46e5;\n  --primary-hover: #4338ca;\n  --primary-light: #eef2ff;\n  --accent: #ec4899;\n  --text-main: #0f172a;\n  --text-muted: #64748b;\n  --border: #e2e8f0;\n  --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);\n  --shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);\n  --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);\n  --shadow-glow: 0 0 20px rgba(79, 70, 229, 0.15);\n  --radius: 20px;\n}\n\n#dps-isolated-root{\n  background: var(--bg);\n  color: var(--text-main);\n  font-family: 'DM Sans', sans-serif;\n  min-height: 100vh;\n  line-height: 1.5;\n  position: relative;\n  overflow-x: hidden;\n}\n\n\n#dps-isolated-root::before,#dps-isolated-root::after{\n  content: ''; position: fixed; border-radius: 50%; filter: blur(80px); z-index: -1; pointer-events: none;\n}\n#dps-isolated-root::before{ top: -10%; left: -10%; width: 50vw; height: 50vw; background: rgba(79, 70, 229, 0.07); }\n#dps-isolated-root::after{ bottom: -10%; right: -10%; width: 50vw; height: 50vw; background: rgba(236, 72, 153, 0.07); }\n\n#dps-isolated-root .dps-i-wrap{ max-width: 900px; margin: 0 auto; padding: 48px 20px 80px; position: relative; z-index: 1; }\n\n\n#dps-isolated-root .dps-i-header{ text-align: center; margin-bottom: 40px; }\n#dps-isolated-root .dps-i-badge{\n  display: inline-flex; align-items: center; gap: 8px;\n  background: var(--surface); border: 1px solid var(--border); box-shadow: var(--shadow-sm);\n  border-radius: 100px; padding: 6px 16px;\n  font-size: 12px; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; color: var(--primary);\n  margin-bottom: 16px;\n}\n#dps-isolated-root .dps-i-badge .dps-i-dot{ width: 8px; height: 8px; background: var(--primary); border-radius: 50%; box-shadow: 0 0 8px var(--primary); animation: pulse 2s infinite; }\n@keyframes pulse { 0% { box-shadow: 0 0 0 0 rgba(79,70,229,0.4); } 70% { box-shadow: 0 0 0 6px rgba(79,70,229,0); } 100% { box-shadow: 0 0 0 0 rgba(79,70,229,0); } }\n\n#dps-isolated-root .dps-i-h1{\n  font-family: 'Nunito', sans-serif; font-size: clamp(32px, 6vw, 48px); font-weight: 900;\n  color: var(--text-main); line-height: 1.2; margin-bottom: 12px;\n}\n#dps-isolated-root .dps-i-h1 span{\n  background: linear-gradient(135deg, var(--primary), var(--accent));\n  -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;\n}\n#dps-isolated-root .dps-i-sub{ color: var(--text-muted); font-size: 16px; max-width: 500px; margin: 0 auto; }\n\n\n#dps-isolated-root .dps-i-panel{\n  background: var(--surface); border: 1px solid var(--border); box-shadow: var(--shadow);\n  border-radius: var(--radius); padding: 32px; margin-bottom: 24px; transition: all 0.3s ease;\n}\n\n\n#dps-isolated-root .dps-i-upload-zone{\n  border: 2px dashed #cbd5e1; background: #f8fafc;\n  text-align: center; cursor: pointer; padding: 56px 32px;\n}\n#dps-isolated-root .dps-i-upload-zone:hover,#dps-isolated-root .dps-i-upload-zone.over{\n  border-color: var(--primary); background: var(--primary-light);\n}\n#dps-isolated-root .dps-i-upload-zone .dps-i-ico{ font-size: 56px; display: block; margin-bottom: 16px; transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1); }\n#dps-isolated-root .dps-i-upload-zone:hover .dps-i-ico{ transform: scale(1.1) translateY(-4px); }\n#dps-isolated-root .dps-i-upload-zone h3{ font-family: 'Nunito', sans-serif; font-weight: 800; font-size: 20px; color: var(--text-main); margin-bottom: 8px; }\n#dps-isolated-root .dps-i-upload-zone p{ color: var(--text-muted); font-size: 14px; }\n#dps-isolated-root #fileInput{ display: none; }\n\n\n#dps-isolated-root .dps-i-preview-row{ display: flex; align-items: center; gap: 20px; margin-bottom: 32px; padding-bottom: 24px; border-bottom: 1px solid var(--border); }\n#dps-isolated-root .dps-i-preview-row img{ width: 90px; height: 90px; object-fit: contain; border-radius: 12px; background: #f1f5f9; border: 1px solid var(--border); flex-shrink: 0; }\n#dps-isolated-root .dps-i-preview-info h4{ font-family: 'Nunito', sans-serif; font-weight: 800; font-size: 18px; color: var(--text-main); margin-bottom: 4px; }\n#dps-isolated-root .dps-i-preview-info p{ font-size: 14px; color: var(--text-muted); }\n\n\n#dps-isolated-root .dps-i-grid-section{ margin-bottom: 28px; }\n#dps-isolated-root .dps-i-section-label{\n  font-size: 13px; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase;\n  color: var(--text-muted); margin-bottom: 16px; display: block;\n}\n#dps-isolated-root .dps-i-grid-presets{ display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 16px; }\n#dps-isolated-root .dps-i-preset-btn{\n  padding: 8px 20px; border-radius: 12px; border: 1px solid var(--border);\n  background: var(--surface); color: var(--text-muted); font-family: 'DM Sans', sans-serif;\n  font-weight: 700; font-size: 15px; cursor: pointer; transition: all 0.2s ease;\n}\n#dps-isolated-root .dps-i-preset-btn:hover{ border-color: var(--primary); color: var(--primary); background: var(--primary-light); }\n#dps-isolated-root .dps-i-preset-btn.dps-i-active{ border-color: var(--primary); background: var(--primary); color: white; box-shadow: var(--shadow-glow); }\n\n#dps-isolated-root .dps-i-grid-custom{ display: inline-flex; align-items: center; gap: 12px; background: #f8fafc; padding: 8px 16px; border-radius: 14px; border: 1px solid var(--border); }\n#dps-isolated-root .dps-i-grid-custom input{\n  width: 60px; padding: 8px; border-radius: 8px; border: 1px solid var(--border); background: var(--surface);\n  color: var(--text-main); font-family: 'Nunito', sans-serif; font-weight: 800; font-size: 18px; text-align: center; outline: none; transition: all 0.2s;\n}\n#dps-isolated-root .dps-i-grid-custom input:focus{ border-color: var(--primary); box-shadow: 0 0 0 3px var(--primary-light); }\n#dps-isolated-root .dps-i-grid-custom span{ color: var(--text-muted); font-weight: 500; font-size: 15px; }\n#dps-isolated-root .dps-i-grid-custom .dps-i-times{ font-size: 18px; font-weight: 700; color: #cbd5e1; }\n#dps-isolated-root .dps-i-grid-info{ font-size: 14px; color: var(--primary); margin-top: 12px; font-weight: 500; display: flex; align-items: center; gap: 6px; }\n#dps-isolated-root .dps-i-grid-info strong{ font-weight: 800; }\n\n\n#dps-isolated-root .dps-i-toggle-row{\n  display: flex; align-items: center; justify-content: space-between;\n  padding: 20px 0 0; border-top: 1px solid var(--border);\n}\n#dps-isolated-root .dps-i-toggle-label{ font-size: 16px; font-weight: 700; color: var(--text-main); }\n#dps-isolated-root .dps-i-toggle-label small{ display: block; font-size: 13px; color: var(--text-muted); font-weight: 400; margin-top: 4px; }\n#dps-isolated-root .dps-i-toggle{ position: relative; width: 50px; height: 28px; }\n#dps-isolated-root .dps-i-toggle input{ opacity: 0; width: 0; height: 0; }\n#dps-isolated-root .dps-i-toggle-track{\n  position: absolute; inset: 0; border-radius: 100px;\n  background: #cbd5e1; cursor: pointer; transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n}\n#dps-isolated-root .dps-i-toggle-track::after{\n  content: ''; position: absolute; left: 4px; top: 4px;\n  width: 20px; height: 20px; border-radius: 50%;\n  background: white; box-shadow: 0 2px 4px rgba(0,0,0,0.2); transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n}\n#dps-isolated-root .dps-i-toggle input:checked + .dps-i-toggle-track{ background: var(--primary); }\n#dps-isolated-root .dps-i-toggle input:checked + .dps-i-toggle-track::after{ transform: translateX(22px); }\n\n\n#dps-isolated-root .dps-i-guide-box{\n  margin-top: 24px;\n  padding: 16px;\n  background: #f8fafc;\n  border: 1px solid var(--border);\n  border-radius: 12px;\n}\n#dps-isolated-root .dps-i-guide-box h4{\n  margin: 0 0 8px 0;\n  color: var(--primary);\n  font-size: 15px;\n  display: flex;\n  align-items: center;\n  gap: 6px;\n}\n#dps-isolated-root .dps-i-guide-box p{\n  font-size: 13px;\n  color: var(--text-muted);\n  margin: 0 0 12px 0;\n  line-height: 1.4;\n}\n#dps-isolated-root .dps-i-prompt-text{\n  background: #fff;\n  border: 1px solid var(--border);\n  padding: 12px;\n  border-radius: 8px;\n  font-size: 12px;\n  color: var(--text);\n  max-height: 100px;\n  overflow-y: auto;\n  line-height: 1.5;\n  white-space: pre-wrap;\n  user-select: all;\n}\n\n\n#dps-isolated-root .dps-i-thresh-row{\n  display: flex; align-items: center; gap: 16px;\n  padding-top: 16px; margin-top: 16px; border-top: 1px dashed var(--border);\n}\n#dps-isolated-root .dps-i-thresh-row label{ font-size: 14px; font-weight: 500; color: var(--text-muted); white-space: nowrap; }\n#dps-isolated-root .dps-i-thresh-row input[type=range]{\n  flex: 1; -webkit-appearance: none; height: 6px;\n  background: #e2e8f0; border-radius: 100px; outline: none;\n}\n#dps-isolated-root .dps-i-thresh-row input[type=range]::-webkit-slider-thumb{\n  -webkit-appearance: none; width: 20px; height: 20px; border-radius: 50%;\n  background: white; border: 2px solid var(--primary); cursor: pointer; box-shadow: 0 2px 6px rgba(0,0,0,0.1);\n  transition: transform 0.1s;\n}\n#dps-isolated-root .dps-i-thresh-row input[type=range]::-webkit-slider-thumb:hover{ transform: scale(1.1); }\n#dps-isolated-root .dps-i-thresh-val{ font-size: 14px; color: var(--primary); font-weight: 800; width: 36px; text-align: right; background: var(--primary-light); padding: 4px 8px; border-radius: 6px; }\n\n\n#dps-isolated-root .dps-i-action-row{ display: flex; gap: 16px; flex-wrap: wrap; margin-top: 32px; padding-top: 24px; border-top: 1px solid var(--border); }\n#dps-isolated-root .dps-i-btn{\n  display: inline-flex; align-items: center; justify-content: center; gap: 8px;\n  padding: 14px 28px; border: none; border-radius: 12px;\n  font-family: 'Nunito', sans-serif; font-weight: 800; font-size: 16px;\n  cursor: pointer; transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);\n}\n#dps-isolated-root .dps-i-btn-primary{ background: var(--primary); color: #fff; box-shadow: 0 4px 12px rgba(79, 70, 229, 0.3); flex: 1; min-width: 200px; }\n#dps-isolated-root .dps-i-btn-primary:hover{ transform: translateY(-2px); box-shadow: 0 6px 16px rgba(79, 70, 229, 0.4); background: var(--primary-hover); }\n#dps-isolated-root .dps-i-btn-primary:active{ transform: translateY(0); }\n#dps-isolated-root .dps-i-btn-primary:disabled{ opacity: 0.6; cursor: not-allowed; transform: none; box-shadow: none; }\n#dps-isolated-root .dps-i-btn-secondary{ background: var(--surface); border: 2px solid var(--border); color: var(--text-main); }\n#dps-isolated-root .dps-i-btn-secondary:hover{ border-color: #cbd5e1; background: #f8fafc; }\n#dps-isolated-root .dps-i-btn-success{ background: #10b981; color: white; box-shadow: 0 4px 12px rgba(16, 185, 129, 0.2); }\n#dps-isolated-root .dps-i-btn-success:hover{ background: #059669; transform: translateY(-2px); box-shadow: 0 6px 16px rgba(16, 185, 129, 0.3); }\n#dps-isolated-root .dps-i-btn-sm{ padding: 8px 16px; font-size: 13px; border-radius: 8px; }\n#dps-isolated-root .dps-i-btn-outline-primary{ background: white; border: 1px solid var(--primary); color: var(--primary); }\n#dps-isolated-root .dps-i-btn-outline-primary:hover{ background: var(--primary-light); }\n\n\n#dps-isolated-root .dps-i-progress-panel{ text-align: center; }\n#dps-isolated-root .dps-i-spinner{ \n  width: 48px; height: 48px; margin: 0 auto 20px; \n  border: 4px solid var(--primary-light); border-top-color: var(--primary); \n  border-radius: 50%; animation: spin 1s cubic-bezier(0.55, 0.15, 0.45, 0.85) infinite; \n}\n@keyframes spin { to { transform: rotate(360deg); } }\n#dps-isolated-root .dps-i-progress-title{ font-family: 'Nunito', sans-serif; font-weight: 800; font-size: 20px; color: var(--text-main); margin-bottom: 16px; }\n#dps-isolated-root .dps-i-track{ height: 8px; background: var(--primary-light); border-radius: 100px; overflow: hidden; margin-bottom: 12px; }\n#dps-isolated-root .dps-i-fill{ height: 100%; border-radius: 100px; background: var(--primary); transition: width 0.3s ease; }\n#dps-isolated-root .dps-i-progress-detail{ font-size: 14px; color: var(--text-muted); font-weight: 500; }\n\n\n#dps-isolated-root .dps-i-alert{ border-radius: 12px; padding: 16px 20px; font-size: 15px; margin-bottom: 24px; display: flex; align-items: center; gap: 12px; font-weight: 500; }\n#dps-isolated-root .dps-i-alert-error{ background: #fef2f2; border: 1px solid #fca5a5; color: #b91c1c; }\n#dps-isolated-root .dps-i-alert-success{ background: #f0fdf4; border: 1px solid #86efac; color: #15803d; }\n\n\n#dps-isolated-root .dps-i-results-header{\n  display: flex; align-items: center; justify-content: space-between;\n  flex-wrap: wrap; gap: 16px; margin-bottom: 24px;\n}\n#dps-isolated-root .dps-i-results-title{ font-family: 'Nunito', sans-serif; font-weight: 900; font-size: 24px; color: var(--text-main); display: flex; align-items: center; gap: 12px; }\n#dps-isolated-root .dps-i-chip{ font-size: 13px; padding: 4px 12px; border-radius: 100px; font-weight: 800; background: var(--primary-light); color: var(--primary); }\n\n\n#dps-isolated-root .dps-i-sticker-grid{ display: grid; gap: 20px; margin-bottom: 32px; }\n#dps-isolated-root .dps-i-sticker-card{\n  background: var(--surface); border: 1px solid var(--border); border-radius: 16px;\n  overflow: hidden; transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);\n  box-shadow: var(--shadow-sm);\n  animation: popUp 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) both;\n}\n@keyframes popUp { from { opacity: 0; transform: scale(0.9) translateY(10px); } to { opacity: 1; transform: scale(1) translateY(0); } }\n#dps-isolated-root .dps-i-sticker-card:hover{ border-color: var(--primary); transform: translateY(-4px); box-shadow: var(--shadow-lg); }\n#dps-isolated-root .dps-i-s-preview{\n  background: \n    linear-gradient(45deg, #f1f5f9 25%, transparent 25%, transparent 75%, #f1f5f9 75%, #f1f5f9), \n    linear-gradient(45deg, #f1f5f9 25%, transparent 25%, transparent 75%, #f1f5f9 75%, #f1f5f9);\n  background-color: #ffffff; background-size: 20px 20px; background-position: 0 0, 10px 10px;\n  display: flex; align-items: center; justify-content: center;\n  min-height: 160px; padding: 20px; position: relative;\n}\n#dps-isolated-root .dps-i-s-preview::after{\n  content: ''; position: absolute; inset: 0; box-shadow: inset 0 0 0 1px rgba(0,0,0,0.03); pointer-events: none;\n}\n#dps-isolated-root .dps-i-s-preview img{ max-width: 100%; max-height: 140px; object-fit: contain; filter: drop-shadow(0 4px 12px rgba(0,0,0,0.15)); transition: transform 0.3s ease; }\n#dps-isolated-root .dps-i-sticker-card:hover .dps-i-s-preview img{ transform: scale(1.05); }\n#dps-isolated-root .dps-i-s-footer{ padding: 12px 16px; border-top: 1px solid var(--border); display: flex; align-items: center; justify-content: space-between; background: #f8fafc; }\n#dps-isolated-root .dps-i-s-label{ font-family: 'DM Sans', sans-serif; font-weight: 700; font-size: 13px; color: var(--text-muted); }\n\n#dps-isolated-root .dps-i-hidden{ display: none !important; }\n\n\n@media(max-width: 640px) { \n#dps-isolated-root .dps-i-wrap{ padding: 24px 16px 60px; }\n#dps-isolated-root .dps-i-panel{ padding: 24px 20px; }\n#dps-isolated-root .dps-i-action-row{ flex-direction: column; }\n#dps-isolated-root .dps-i-btn{ width: 100%; }\n#dps-isolated-root .dps-i-grid-presets{ gap: 8px; }\n#dps-isolated-root .dps-i-preset-btn{ padding: 8px 16px; flex: 1; text-align: center; min-width: calc(33% - 8px); }\n#dps-isolated-root .dps-i-preview-row{ flex-direction: column; text-align: center; }\n#dps-isolated-root .dps-i-toggle-row{ flex-direction: column; align-items: flex-start; gap: 16px; }\n#dps-isolated-root .dps-i-toggle{ align-self: flex-end; margin-top: -36px; }\n}\n\n  <\/style>\n\n  \n<div class=\"dps-i-wrap\">\n\n<div class=\"dps-i-header\">\n  <div class=\"dps-i-badge\"><span class=\"dps-i-dot\"><\/span> \u667a\u80fd\u5de5\u5177<\/div>\n  <div class=\"dps-i-h1\">\u8d34\u7eb8 <span>\u5206\u5272\u5668<\/span><\/div>\n  <div  class=\"dps-i-p dps-i-sub\">\u4e0a\u4f20\u8d34\u7eb8\u7f51\u683c\u56fe\u7247\u6587\u4ef6\uff0c\u5de5\u5177\u5c06\u81ea\u52a8\u88c1\u526a\u5e76\u53bb\u9664\u80cc\u666f\uff0c\u751f\u6210\u5b8c\u7f8e\u900f\u660e\u7684PNG\u6587\u4ef6\u3002.<\/div>\n<\/div>\n\n<!-- Upload -->\n<div class=\"dps-i-panel dps-i-upload-zone\" id=\"uploadZone\">\n  <input type=\"file\" id=\"fileInput\" accept=\"image\/*\">\n  <span class=\"dps-i-ico\">\u2728<\/span>\n  <div class=\"dps-i-h3\">\u62d6\u653e\u6216\u70b9\u51fb\u9009\u62e9\u56fe\u7247<\/div>\n  <div class=\"dps-i-p\">\u652f\u6301JPG\u3001PNG\u3001WebP\u683c\u5f0f<\/div>\n<\/div>\n\n<div class=\"dps-i-guide-box\" id=\"guideBox\" style=\"margin-bottom: 24px; margin-top: 0;\">\n  <div class=\"dps-i-h4\">\ud83d\udca1 \u793a\u4f8b\u8d34\u7eb8\u751f\u6210\u63d0\u793a\u8bcd<\/div>\n  <div class=\"dps-i-p\">\u4e3a\u4e86\u83b7\u5f97\u6700\u4f73\u88c1\u526a\u6548\u679c\uff0c\u8bf7\u4f7f\u7528\u4ee5\u4e0b\u63d0\u793a\u8bcd\uff1a<\/div>\n  <div class=\"dps-i-prompt-text\">Create a cute Vietnamese Zalo sticker pack in a 3\u00d73 grid layout on a white background. The canvas is square. Divide it into a strict 3\u00d73 grid where each cell occupies exactly 1\/3 of the total width and 1\/3 of the total height. Each sticker must be fully contained within its own cell \u2014 nothing may cross cell boundaries or overlap into adjacent cells. Within each cell: Kabot\u2019s character takes up the top 70% of the cell height, and the Vietnamese caption takes up the bottom 30% of the cell height. All elements including decorative doodles must stay strictly within the cell\u2019s boundaries. Use the robot mascot \u201cKabot\u201d from DPS Media consistently across all 9 stickers. Kabot\u2019s design: round dark blue oval head, two light blue circular eye highlights, small blue antenna on top, expressive curved mouth, white and dark blue body suit with the DPS logo badge on the chest, short rounded limbs, friendly chibi proportion. Sticker list (left to right, top to bottom): Flexing confidently with big grin \u2014 \u201cChill, \u0111\u1ec3 DPS lo!\u201d Holding phone showing graph going up \u2014 \u201cReach t\u0103ng v\u00f9 v\u00f9!\u201d Panicking with sweat drops holding laptop \u2014 \u201cDeadline h\u00f4m nay r\u1ed3i!\u201d Winking doing finger guns \u2014 \u201cB\u1eaft trend nhanh h\u01a1n s\u00e1ng nay!\u201d Pointing at glowing lightbulb above head \u2014 \u201c\u00dd t\u01b0\u1edfng hay \u0111\u00e2y!\u201d Typing furiously on tiny keyboard \u2014 \u201cContent \u0111ang ch\u1ea1y!\u201d Arms crossed cool pose with sunglasses \u2014 \u201cViral l\u00e0 chuy\u1ec7n nh\u1ecf!\u201d Jumping in joy with confetti \u2014 \u201cKPI \u0111\u1ea1t r\u1ed3i anh \u01a1i!\u201d Waving both hands cheerfully \u2014 \u201cH\u1ee3p t\u00e1c v\u1edbi DPS nha!\u201d Add small colorful doodles (lightning bolts, sparkles, stars, hearts, arrows) inside each cell, strictly within bounds. Style: cute chibi robot, Zalo sticker style, vibrant Gen Z colors (electric blue, coral, yellow, mint green), bold colorful gradient captions with thick white outline, high resolution, 1:1 square canvas.<\/div>\n  <div role=\"button\" tabindex=\"0\" class=\"dps-i-btn dps-i-btn-secondary\" style=\"margin-top: 12px; width: 100%; display: flex; justify-content: center; gap: 8px;\" onclick=\"navigator.clipboard.writeText(document.querySelector('.dps-i-prompt-text').innerText); const icon = this.innerHTML; this.innerHTML='<span style=\\'font-size:16px\\'>\u2713<\/span> \u0110\u00e3 copy&#8217;; setTimeout(()=>this.innerHTML=icon, 2000);&#8221;>    <span style=\"font-size: 16px;\">\ud83d\udccb<\/span> \u590d\u5236\u63d0\u793a\u8bcd\n  <\/div>\n<\/div>\n\n<!-- Config -->\n<div class=\"dps-i-panel dps-i-config-panel dps-i-hidden\" id=\"configPanel\">\n  <div class=\"dps-i-preview-row\">\n    <img id=\"origThumb\" alt=\"\u7f29\u7565\u56fe\">\n    <div class=\"dps-i-preview-info\">\n      <div class=\"dps-i-h4\" id=\"origName\">filename.png<\/div>\n      <div class=\"dps-i-p\" id=\"origMeta\">1024 \u00d7 1024px \u00b7 1.5 MB<\/div>\n    <\/div>\n  <\/div>\n\n  <div class=\"dps-i-grid-section\">\n    <span class=\"dps-i-section-label\">\ud83d\udcd0 \u7f51\u683c\u5c3a\u5bf8<\/span>\n    <div class=\"dps-i-grid-presets\">\n      <div role=\"button\" tabindex=\"0\" class=\"dps-i-preset-btn\" data-c=\"2\" data-r=\"2\">2\u00d72<\/div>\n      <div role=\"button\" tabindex=\"0\" class=\"dps-i-preset-btn dps-i-active\" data-c=\"3\" data-r=\"3\">3\u00d73<\/div>\n      <div role=\"button\" tabindex=\"0\" class=\"dps-i-preset-btn\" data-c=\"4\" data-r=\"4\">4\u00d74<\/div>\n      <div role=\"button\" tabindex=\"0\" class=\"dps-i-preset-btn\" data-c=\"2\" data-r=\"3\">2\u00d73<\/div>\n      <div role=\"button\" tabindex=\"0\" class=\"dps-i-preset-btn\" data-c=\"3\" data-r=\"2\">3\u00d72<\/div>\n      <div role=\"button\" tabindex=\"0\" class=\"dps-i-preset-btn\" data-c=\"4\" data-r=\"3\">4\u00d73<\/div>\n    <\/div>\n    <div class=\"dps-i-grid-custom\">\n      <input type=\"number\" id=\"gridCols\" value=\"3\" min=\"1\" max=\"20\">\n      <span class=\"dps-i-times\">\u00d7<\/span>\n      <input type=\"number\" id=\"gridRows\" value=\"3\" min=\"1\" max=\"20\">\n    <\/div>\n    <div class=\"dps-i-grid-info\" id=\"gridInfo\">\ud83c\udf89 \u5c06\u88c1\u526a\u51fa <span class=\"dps-i-strong\">9<\/span> \u8d34\u7eb8<\/div>\n  <\/div>\n\n  <div class=\"dps-i-toggle-row\">\n    <div class=\"dps-i-toggle-label\">\n      \ud83e\ude84 \u53bb\u9664\u767d\u8272\u80cc\u666f\n      <span class=\"dps-i-small\">\u81ea\u52a8\u68c0\u6d4b\u5e76\u5c06\u5468\u56f4\u767d\u8272\u80cc\u666f\u53d8\u4e3a\u900f\u660e<\/span>\n    <\/div>\n    <label  class=\"dps-i-label dps-i-toggle\">\n      <input type=\"checkbox\" id=\"removeBg\">\n      <span class=\"dps-i-toggle-track\"><\/span>\n    <\/label>\n  <\/div>\n\n  <div class=\"dps-i-thresh-row dps-i-hidden\" id=\"threshRow\">\n    <label class=\"dps-i-label\">\u767d\u8272\u654f\u611f\u5ea6<\/label>\n    <input type=\"range\" id=\"bgThresh\" min=\"200\" max=\"255\" value=\"240\">\n    <span class=\"dps-i-thresh-val\" id=\"threshVal\">240<\/span>\n  <\/div>\n\n  <div class=\"dps-i-thresh-row dps-i-hidden\" id=\"shiftRow\" style=\"margin-top: 12px; border-top: none; padding-top: 0;\">\n    <label class=\"dps-i-label\">\u6536\u7f29 \/ \u6269\u5c55\u8fb9\u7f18\uff08px\uff09<\/label>\n    <input type=\"range\" id=\"edgeShift\" min=\"-5\" max=\"5\" value=\"-1\">\n    <span class=\"dps-i-thresh-val\" id=\"shiftVal\">-1<\/span>\n  <\/div>\n\n  <div class=\"dps-i-toggle-row\" style=\"padding-top: 16px; margin-top: 16px; border-top: 1px dashed var(--border);\">\n    <div class=\"dps-i-toggle-label\">\n      \ud83d\udca7 \u8fb9\u7f18\u5e73\u6ed1\uff08\u6297\u952f\u9f7f\uff09\n      <span class=\"dps-i-small\">\u6d88\u9664\u952f\u9f7f\u8fb9\u7f18\uff0c\u5efa\u8bae\u5f00\u542f\u4ee5\u907f\u514d\u56fe\u50cf\u7f3a\u635f<\/span>\n    <\/div>\n    <label  class=\"dps-i-label dps-i-toggle\">\n      <input type=\"checkbox\" id=\"smoothEdgeCb\" checked>\n      <span class=\"dps-i-toggle-track\"><\/span>\n    <\/label>\n  <\/div>\n\n  <div class=\"dps-i-toggle-row\" style=\"padding-top: 16px; margin-top: 16px; border-top: 1px dashed var(--border);\">\n    <div class=\"dps-i-toggle-label\">\n      \u2702\ufe0f \u88c1\u8fb9\uff08Crop\uff09\n      <span class=\"dps-i-small\">\u5411\u5185\u88c1\u526a\u4ee5\u53bb\u9664\u7f51\u683c\u5206\u5272\u7ebf<\/span>\n    <\/div>\n    <div style=\"display: flex; align-items: center; gap: 8px;\">\n      <input type=\"number\" id=\"cropPx\" value=\"3\" min=\"0\" max=\"50\" style=\"width: 60px; padding: 6px; border-radius: 8px; border: 1px solid var(--border); text-align: center; font-weight: bold; outline: none; font-family: 'Nunito', sans-serif;\">\n      <span style=\"font-size: 14px; color: var(--text-muted); font-weight: 500;\">px<\/span>\n    <\/div>\n  <\/div>\n\n  <div class=\"dps-i-toggle-row\" style=\"padding-top: 16px; margin-top: 16px; border-top: 1px dashed var(--border);\">\n    <div class=\"dps-i-toggle-label\">\n      \ud83c\udfaf \u81ea\u52a8\u5c45\u4e2d\n      <span class=\"dps-i-small\">\u88c1\u6389\u591a\u4f59\u7a7a\u767d\u5e76\u5c06\u8d34\u7eb8\u7f6e\u4e8e\u753b\u9762\u4e2d\u5fc3<\/span>\n    <\/div>\n    <label  class=\"dps-i-label dps-i-toggle\">\n      <input type=\"checkbox\" id=\"autoCenterCb\" checked>\n      <span class=\"dps-i-toggle-track\"><\/span>\n    <\/label>\n  <\/div>\n\n  <div class=\"dps-i-action-row\">\n    <div role=\"button\" tabindex=\"0\" class=\"dps-i-btn dps-i-btn-primary\" id=\"processBtn\">\u26a1 \u7acb\u5373\u88c1\u526a\u8d34\u7eb8<\/div>\n    <div role=\"button\" tabindex=\"0\" class=\"dps-i-btn dps-i-btn-secondary\" id=\"resetBtn\">\u21ba \u66f4\u6362\u56fe\u7247<\/div>\n  <\/div>\n<\/div>\n\n<!-- Progress -->\n<div class=\"dps-i-panel dps-i-progress-panel dps-i-hidden\" id=\"progressPanel\">\n  <div class=\"dps-i-spinner\"><\/div>\n  <div class=\"dps-i-progress-title\" id=\"progressTitle\">\u5904\u7406\u4e2d\u2026<\/div>\n  <div class=\"dps-i-track\"><div class=\"dps-i-fill\" id=\"progressFill\" style=\"width:0%\"><\/div><\/div>\n  <div class=\"dps-i-progress-detail\" id=\"progressDetail\">\u8bf7\u7a0d\u5019<\/div>\n<\/div>\n\n<!-- Alert -->\n<div class=\"dps-i-hidden\" id=\"alertBox\"><\/div>\n\n<!-- Results -->\n<div class=\"dps-i-hidden\" id=\"resultsWrap\">\n  <div class=\"dps-i-results-header\">\n    <div class=\"dps-i-results-title\">\ud83c\udfa8 \u7ed3\u679c <span class=\"dps-i-chip\" id=\"countChip\">0<\/span><\/div>\n    <div role=\"button\" tabindex=\"0\" class=\"dps-i-btn dps-i-btn-success\" id=\"downloadAllBtn\">\ud83d\udce6 \u4e0b\u8f7d\u5168\u90e8\uff08ZIP\uff09<\/div>\n  <\/div>\n  <div class=\"dps-i-sticker-grid\" id=\"stickerGrid\"><\/div>\n<\/div>\n\n<\/div>\n\n\n\n\n  <script>\n    \n  document.getElementById('dps-isolated-root').addEventListener('keydown', function(e) {\n    if (['Enter', ' '].includes(e.key)) {\n      if (e.target.getAttribute('role') === 'button') {\n        e.preventDefault();\n        e.target.click();\n      }\n    }\n  });\n\n    \n  const enc = \"Ci8vIOKUgOKUgCBTdGF0ZSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIAKbGV0IGZpbGVEYXRhVVJMID0gbnVsbDsKbGV0IGltZ1cgPSAwLCBpbWdIID0gMDsKbGV0IHN0aWNrZXJVUkxzID0gW107CmxldCBvcmlnRmlsZU5hbWUgPSAnc3RpY2tlcic7CgovLyDilIDilIAgRWxlbWVudHMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSACmNvbnN0IHVwbG9hZFpvbmUgICA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd1cGxvYWRab25lJyk7CmNvbnN0IGZpbGVJbnB1dCAgICA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmaWxlSW5wdXQnKTsKY29uc3QgY29uZmlnUGFuZWwgID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbmZpZ1BhbmVsJyk7CmNvbnN0IHByb2Nlc3NCdG4gICA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwcm9jZXNzQnRuJyk7CmNvbnN0IHJlc2V0QnRuICAgICA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZXNldEJ0bicpOwpjb25zdCBwcm9ncmVzc1BhbmVsPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncHJvZ3Jlc3NQYW5lbCcpOwpjb25zdCBhbGVydEJveCAgICAgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYWxlcnRCb3gnKTsKY29uc3QgcmVzdWx0c1dyYXAgID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Jlc3VsdHNXcmFwJyk7CmNvbnN0IHN0aWNrZXJHcmlkICA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzdGlja2VyR3JpZCcpOwpjb25zdCBkb3dubG9hZEFsbEJ0biA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkb3dubG9hZEFsbEJ0bicpOwpjb25zdCBjb2xzSW5wdXQgICAgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZ3JpZENvbHMnKTsKY29uc3Qgcm93c0lucHV0ICAgID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2dyaWRSb3dzJyk7CmNvbnN0IGdyaWRJbmZvICAgICA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdncmlkSW5mbycpOwpjb25zdCByZW1vdmVCZ0NiICAgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVtb3ZlQmcnKTsKY29uc3QgdGhyZXNoUm93ICAgID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RocmVzaFJvdycpOwpjb25zdCB0aHJlc2hTbGlkZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYmdUaHJlc2gnKTsKY29uc3QgdGhyZXNoVmFsICAgID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RocmVzaFZhbCcpOwpjb25zdCBzaGlmdFJvdyAgICAgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc2hpZnRSb3cnKTsKY29uc3Qgc2hpZnRTbGlkZXIgID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2VkZ2VTaGlmdCcpOwpjb25zdCBzaGlmdFZhbCAgICAgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc2hpZnRWYWwnKTsKY29uc3Qgc21vb3RoRWRnZUNiID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Ntb290aEVkZ2VDYicpOwpjb25zdCBjcm9wUHhJbnB1dCAgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY3JvcFB4Jyk7CmNvbnN0IGF1dG9DZW50ZXJDYiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdhdXRvQ2VudGVyQ2InKTsKCi8vIOKUgOKUgCBHcmlkIHBpY2tlciDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIAKZnVuY3Rpb24gdXBkYXRlR3JpZEluZm8oKSB7CiAgY29uc3QgYyA9IHBhcnNlSW50KGNvbHNJbnB1dC52YWx1ZSkgfHwgMTsKICBjb25zdCByID0gcGFyc2VJbnQocm93c0lucHV0LnZhbHVlKSB8fCAxOwogIGdyaWRJbmZvLmlubmVySFRNTCA9ICfwn46JIFPhur0gY+G6r3QgcmEgPHN0cm9uZz4nICsgKGMqcikgKyAnPC9zdHJvbmc+IHN0aWNrZXJzJzsKfQoKZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLnByZXNldC1idG4nKS5mb3JFYWNoKGJ0biA9PiB7CiAgYnRuLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4gewogICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLnByZXNldC1idG4nKS5mb3JFYWNoKGIgPT4gYi5jbGFzc0xpc3QucmVtb3ZlKCdhY3RpdmUnKSk7CiAgICBidG4uY2xhc3NMaXN0LmFkZCgnYWN0aXZlJyk7CiAgICBjb2xzSW5wdXQudmFsdWUgPSBidG4uZGF0YXNldC5jOwogICAgcm93c0lucHV0LnZhbHVlID0gYnRuLmRhdGFzZXQucjsKICAgIHVwZGF0ZUdyaWRJbmZvKCk7CiAgfSk7Cn0pOwoKW2NvbHNJbnB1dCwgcm93c0lucHV0XS5mb3JFYWNoKGVsID0+IHsKICBlbC5hZGRFdmVudExpc3RlbmVyKCdpbnB1dCcsICgpID0+IHsKICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5wcmVzZXQtYnRuJykuZm9yRWFjaChiID0+IGIuY2xhc3NMaXN0LnJlbW92ZSgnYWN0aXZlJykpOwogICAgdXBkYXRlR3JpZEluZm8oKTsKICB9KTsKfSk7CgpyZW1vdmVCZ0NiLmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsICgpID0+IHsKICB0aHJlc2hSb3cuY2xhc3NMaXN0LnRvZ2dsZSgnaGlkZGVuJywgIXJlbW92ZUJnQ2IuY2hlY2tlZCk7CiAgc2hpZnRSb3cuY2xhc3NMaXN0LnRvZ2dsZSgnaGlkZGVuJywgIXJlbW92ZUJnQ2IuY2hlY2tlZCk7Cn0pOwoKdGhyZXNoU2xpZGVyLmFkZEV2ZW50TGlzdGVuZXIoJ2lucHV0JywgKCkgPT4gewogIHRocmVzaFZhbC50ZXh0Q29udGVudCA9IHRocmVzaFNsaWRlci52YWx1ZTsKfSk7CgpzaGlmdFNsaWRlci5hZGRFdmVudExpc3RlbmVyKCdpbnB1dCcsICgpID0+IHsKICBzaGlmdFZhbC50ZXh0Q29udGVudCA9IHNoaWZ0U2xpZGVyLnZhbHVlOwp9KTsKCi8vIOKUgOKUgCBVcGxvYWQg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSACnVwbG9hZFpvbmUuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiBmaWxlSW5wdXQuY2xpY2soKSk7CnVwbG9hZFpvbmUuYWRkRXZlbnRMaXN0ZW5lcignZHJhZ292ZXInLCBlID0+IHsgZS5wcmV2ZW50RGVmYXVsdCgpOyB1cGxvYWRab25lLmNsYXNzTGlzdC5hZGQoJ292ZXInKTsgfSk7CnVwbG9hZFpvbmUuYWRkRXZlbnRMaXN0ZW5lcignZHJhZ2xlYXZlJywgKCkgPT4gdXBsb2FkWm9uZS5jbGFzc0xpc3QucmVtb3ZlKCdvdmVyJykpOwp1cGxvYWRab25lLmFkZEV2ZW50TGlzdGVuZXIoJ2Ryb3AnLCBlID0+IHsKICBlLnByZXZlbnREZWZhdWx0KCk7IHVwbG9hZFpvbmUuY2xhc3NMaXN0LnJlbW92ZSgnb3ZlcicpOwogIGNvbnN0IGYgPSBlLmRhdGFUcmFuc2Zlci5maWxlc1swXTsKICBpZiAoZiAmJiBmLnR5cGUuc3RhcnRzV2l0aCgnaW1hZ2UvJykpIGxvYWRGaWxlKGYpOwp9KTsKZmlsZUlucHV0LmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsICgpID0+IHsgaWYgKGZpbGVJbnB1dC5maWxlc1swXSkgbG9hZEZpbGUoZmlsZUlucHV0LmZpbGVzWzBdKTsgfSk7CgpmdW5jdGlvbiBsb2FkRmlsZShmaWxlKSB7CiAgY29uc3QgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTsKICByZWFkZXIub25sb2FkID0gZSA9PiB7CiAgICBmaWxlRGF0YVVSTCA9IGUudGFyZ2V0LnJlc3VsdDsKICAgIGNvbnN0IGltZyA9IG5ldyBJbWFnZSgpOwogICAgaW1nLm9ubG9hZCA9ICgpID0+IHsKICAgICAgaW1nVyA9IGltZy5uYXR1cmFsV2lkdGg7IGltZ0ggPSBpbWcubmF0dXJhbEhlaWdodDsKICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ29yaWdUaHVtYicpLnNyYyA9IGZpbGVEYXRhVVJMOwogICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnb3JpZ05hbWUnKS50ZXh0Q29udGVudCA9IGZpbGUubmFtZTsKICAgICAgb3JpZ0ZpbGVOYW1lID0gZmlsZS5uYW1lLnJlcGxhY2UoL1wuW14vLl0rJC8sICIiKSB8fCAnc3RpY2tlcic7CiAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdvcmlnTWV0YScpLnRleHRDb250ZW50ID0KICAgICAgICBpbWdXICsgJyDDlyAnICsgaW1nSCArICdweCDCtyAnICsgKGZpbGUuc2l6ZS8xMDI0LzEwMjQpLnRvRml4ZWQoMikgKyAnIE1CJzsKICAgICAgdXBkYXRlR3JpZEluZm8oKTsKICAgIH07CiAgICBpbWcuc3JjID0gZmlsZURhdGFVUkw7CiAgfTsKICByZWFkZXIucmVhZEFzRGF0YVVSTChmaWxlKTsKCiAgdXBsb2FkWm9uZS5jbGFzc0xpc3QuYWRkKCdoaWRkZW4nKTsKICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZ3VpZGVCb3gnKS5jbGFzc0xpc3QuYWRkKCdoaWRkZW4nKTsKICBjb25maWdQYW5lbC5jbGFzc0xpc3QucmVtb3ZlKCdoaWRkZW4nKTsKICByZXN1bHRzV3JhcC5jbGFzc0xpc3QuYWRkKCdoaWRkZW4nKTsKICBhbGVydEJveC5jbGFzc0xpc3QuYWRkKCdoaWRkZW4nKTsKICBzdGlja2VyVVJMcyA9IFtdOwp9CgpyZXNldEJ0bi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHsKICBmaWxlRGF0YVVSTCA9IG51bGw7IGZpbGVJbnB1dC52YWx1ZSA9ICcnOwogIHVwbG9hZFpvbmUuY2xhc3NMaXN0LnJlbW92ZSgnaGlkZGVuJyk7CiAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2d1aWRlQm94JykuY2xhc3NMaXN0LnJlbW92ZSgnaGlkZGVuJyk7CiAgY29uZmlnUGFuZWwuY2xhc3NMaXN0LmFkZCgnaGlkZGVuJyk7CiAgcmVzdWx0c1dyYXAuY2xhc3NMaXN0LmFkZCgnaGlkZGVuJyk7CiAgYWxlcnRCb3guY2xhc3NMaXN0LmFkZCgnaGlkZGVuJyk7CiAgcHJvZ3Jlc3NQYW5lbC5jbGFzc0xpc3QuYWRkKCdoaWRkZW4nKTsKICBzdGlja2VyR3JpZC5pbm5lckhUTUwgPSAnJzsKfSk7CgovLyDilIDilIAgUHJvY2VzcyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIAKcHJvY2Vzc0J0bi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGFzeW5jICgpID0+IHsKICBpZiAoIWZpbGVEYXRhVVJMKSByZXR1cm47CgogIGNvbnN0IGNvbHMgPSBNYXRoLm1heCgxLCBwYXJzZUludChjb2xzSW5wdXQudmFsdWUpIHx8IDMpOwogIGNvbnN0IHJvd3MgPSBNYXRoLm1heCgxLCBwYXJzZUludChyb3dzSW5wdXQudmFsdWUpIHx8IDMpOwogIGNvbnN0IGRvUmVtb3ZlQmcgPSByZW1vdmVCZ0NiLmNoZWNrZWQ7CiAgY29uc3QgZG9BdXRvQ2VudGVyID0gYXV0b0NlbnRlckNiLmNoZWNrZWQ7CiAgY29uc3QgY3JvcEFtdCA9IHBhcnNlSW50KGNyb3BQeElucHV0LnZhbHVlKSB8fCAwOwogIGNvbnN0IHRocmVzaCA9IHBhcnNlSW50KHRocmVzaFNsaWRlci52YWx1ZSk7CiAgY29uc3Qgc2hpZnRBbXQgPSBwYXJzZUludChzaGlmdFNsaWRlci52YWx1ZSk7CgogIHByb2Nlc3NCdG4uZGlzYWJsZWQgPSB0cnVlOwogIGFsZXJ0Qm94LmNsYXNzTGlzdC5hZGQoJ2hpZGRlbicpOwogIHByb2dyZXNzUGFuZWwuY2xhc3NMaXN0LnJlbW92ZSgnaGlkZGVuJyk7CiAgcmVzdWx0c1dyYXAuY2xhc3NMaXN0LmFkZCgnaGlkZGVuJyk7CgogIHRyeSB7CiAgICBzZXRQcm9ncmVzcyg1LCAnxJBhbmcgdOG6o2kg4bqjbmguLi4nLCAnJyk7CgogICAgLy8gRHJhdyBvcmlnaW5hbCB0byBjYW52YXMKICAgIGNvbnN0IGltZyA9IGF3YWl0IGxvYWRJbWcoZmlsZURhdGFVUkwpOwogICAgY29uc3QgY2FudmFzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY2FudmFzJyk7CiAgICBjYW52YXMud2lkdGggPSBpbWcubmF0dXJhbFdpZHRoOwogICAgY2FudmFzLmhlaWdodCA9IGltZy5uYXR1cmFsSGVpZ2h0OwogICAgY29uc3QgY3R4ID0gY2FudmFzLmdldENvbnRleHQoJzJkJyk7CiAgICBjdHguZHJhd0ltYWdlKGltZywgMCwgMCk7CgogICAgc2V0UHJvZ3Jlc3MoMTUsICfEkGFuZyB44butIGzDvSBwaMOibiBt4bqjbmguLi4nLCAnJyk7CiAgICBhd2FpdCB0aWNrKCk7CgogICAgY29uc3QgY2VsbFcgPSBNYXRoLmZsb29yKGNhbnZhcy53aWR0aCAvIGNvbHMpOwogICAgY29uc3QgY2VsbEggPSBNYXRoLmZsb29yKGNhbnZhcy5oZWlnaHQgLyByb3dzKTsKICAgIGNvbnN0IHRvdGFsID0gY29scyAqIHJvd3M7CiAgICBjb25zdCByZXN1bHRzID0gW107CgogICAgZm9yIChsZXQgciA9IDA7IHIgPCByb3dzOyByKyspIHsKICAgICAgZm9yIChsZXQgYyA9IDA7IGMgPCBjb2xzOyBjKyspIHsKICAgICAgICBsZXQgeCA9IGMgKiBjZWxsVzsKICAgICAgICBsZXQgeSA9IHIgKiBjZWxsSDsKICAgICAgICAvLyBMYXN0IGNvbC9yb3cgZ2V0cyByZW1haW5pbmcgcGl4ZWxzCiAgICAgICAgbGV0IHcgPSAoYyA9PT0gY29scyAtIDEpID8gY2FudmFzLndpZHRoIC0geCA6IGNlbGxXOwogICAgICAgIGxldCBoID0gKHIgPT09IHJvd3MgLSAxKSA\/IGNhbnZhcy5oZWlnaHQgLSB5IDogY2VsbEg7CiAgICAgICAgCiAgICAgICAgLy8gQXBwbHkgY3JvcCBtYXJnaW4KICAgICAgICBpZiAoY3JvcEFtdCA+IDAgJiYgdyA+IGNyb3BBbXQgKiAyICYmIGggPiBjcm9wQW10ICogMikgewogICAgICAgICAgeCArPSBjcm9wQW10OwogICAgICAgICAgeSArPSBjcm9wQW10OwogICAgICAgICAgdyAtPSBjcm9wQW10ICogMjsKICAgICAgICAgIGggLT0gY3JvcEFtdCAqIDI7CiAgICAgICAgfQoKICAgICAgICBjb25zdCBzdWIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKTsKICAgICAgICBzdWIud2lkdGggPSB3OyBzdWIuaGVpZ2h0ID0gaDsKICAgICAgICBjb25zdCBzQ3R4ID0gc3ViLmdldENvbnRleHQoJzJkJyk7CiAgICAgICAgc0N0eC5kcmF3SW1hZ2UoY2FudmFzLCB4LCB5LCB3LCBoLCAwLCAwLCB3LCBoKTsKCiAgICAgICAgbGV0IGZpbmFsQ2FudmFzID0gc3ViOwoKICAgICAgICBpZiAoZG9SZW1vdmVCZykgewogICAgICAgICAgY29uc3QgaW1nRGF0YSA9IHNDdHguZ2V0SW1hZ2VEYXRhKDAsIDAsIHcsIGgpOwogICAgICAgICAgbGV0IGNsZWFuZWQgPSBmbG9vZEZpbGxCZyhpbWdEYXRhLCB0aHJlc2gpOwogICAgICAgICAgaWYgKHNoaWZ0QW10ICE9PSAwKSB7CiAgICAgICAgICAgIGNsZWFuZWQgPSBzaGlmdE1hc2soY2xlYW5lZCwgc2hpZnRBbXQpOwogICAgICAgICAgfQogICAgICAgICAgY2xlYW5lZCA9IHJlbW92ZUVkZ2VOb2lzZShjbGVhbmVkKTsKICAgICAgICAgIGlmIChzbW9vdGhFZGdlQ2IuY2hlY2tlZCkgewogICAgICAgICAgICBjbGVhbmVkID0gcHJvY2Vzc0FudGlBbGlhc2luZyhjbGVhbmVkLCAyKTsKICAgICAgICAgIH0KICAgICAgICAgIHNDdHgucHV0SW1hZ2VEYXRhKGNsZWFuZWQsIDAsIDApOwogICAgICAgIH0KCiAgICAgICAgaWYgKGRvQXV0b0NlbnRlcikgewogICAgICAgICAgY29uc3QgdHJpbW1lZCA9IHRyaW1DYW52YXMoZmluYWxDYW52YXMpOwogICAgICAgICAgaWYgKHRyaW1tZWQpIHsKICAgICAgICAgICAgY29uc3QgY2VudGVyZWQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKTsKICAgICAgICAgICAgY2VudGVyZWQud2lkdGggPSA0NjU7CiAgICAgICAgICAgIGNlbnRlcmVkLmhlaWdodCA9IDQ2NTsKICAgICAgICAgICAgY29uc3QgY0N0eCA9IGNlbnRlcmVkLmdldENvbnRleHQoJzJkJyk7CiAgICAgICAgICAgIGNvbnN0IGR4ID0gTWF0aC5mbG9vcigoNDY1IC0gdHJpbW1lZC53aWR0aCkgLyAyKTsKICAgICAgICAgICAgY29uc3QgZHkgPSBNYXRoLmZsb29yKCg0NjUgLSB0cmltbWVkLmhlaWdodCkgLyAyKTsKICAgICAgICAgICAgY0N0eC5kcmF3SW1hZ2UodHJpbW1lZCwgZHgsIGR5KTsKICAgICAgICAgICAgZmluYWxDYW52YXMgPSBjZW50ZXJlZDsKICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHJlc3VsdHMucHVzaChmaW5hbENhbnZhcy50b0RhdGFVUkwoJ2ltYWdlL3BuZycpKTsKICAgICAgICBjb25zdCBpZHggPSByICogY29scyArIGMgKyAxOwogICAgICAgIHNldFByb2dyZXNzKDE1ICsgTWF0aC5yb3VuZCgoaWR4IC8gdG90YWwpICogODIpLAogICAgICAgICAgJ1N0aWNrZXIgJyArIGlkeCArICcvJyArIHRvdGFsLAogICAgICAgICAgJ0jDoG5nICcgKyAocisxKSArICcgwrcgQ+G7mXQgJyArIChjKzEpKTsKICAgICAgICBhd2FpdCB0aWNrKCk7CiAgICAgIH0KICAgIH0KCiAgICBzdGlja2VyVVJMcyA9IHJlc3VsdHM7CiAgICByZW5kZXJSZXN1bHRzKHJlc3VsdHMsIGNvbHMpOwogICAgcHJvZ3Jlc3NQYW5lbC5jbGFzc0xpc3QuYWRkKCdoaWRkZW4nKTsKICAgIHByb2Nlc3NCdG4uZGlzYWJsZWQgPSBmYWxzZTsKCiAgfSBjYXRjaChlcnIpIHsKICAgIHNob3dBbGVydCgnZXJyb3InLCAn4p2MICcgKyBlcnIubWVzc2FnZSk7CiAgICBwcm9ncmVzc1BhbmVsLmNsYXNzTGlzdC5hZGQoJ2hpZGRlbicpOwogICAgcHJvY2Vzc0J0bi5kaXNhYmxlZCA9IGZhbHNlOwogIH0KfSk7CgovLyDilIDilIAgRmxvb2QgZmlsbCBiYWNrZ3JvdW5kIHJlbW92YWwg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSACmZ1bmN0aW9uIGZsb29kRmlsbEJnKGltYWdlRGF0YSwgdGhyZXNoKSB7CiAgY29uc3QgeyBkYXRhLCB3aWR0aCwgaGVpZ2h0IH0gPSBpbWFnZURhdGE7CiAgY29uc3QgcmVzdWx0ID0gbmV3IEltYWdlRGF0YShuZXcgVWludDhDbGFtcGVkQXJyYXkoZGF0YSksIHdpZHRoLCBoZWlnaHQpOwogIGNvbnN0IHZpc2l0ZWQgPSBuZXcgVWludDhBcnJheSh3aWR0aCAqIGhlaWdodCk7CiAgLy8gVXNlIGEgdHlwZWQgYXJyYXkgYXMgYSBmYXN0IHF1ZXVlCiAgY29uc3QgcXVldWUgPSBuZXcgSW50MzJBcnJheSh3aWR0aCAqIGhlaWdodCk7CiAgbGV0IGhlYWQgPSAwLCB0YWlsID0gMDsKCiAgY29uc3QgaXNMaWdodCA9IHBvcyA9PiB7CiAgICBjb25zdCBiID0gcG9zICogNDsKICAgIHJldHVybiByZXN1bHQuZGF0YVtiXSA+IHRocmVzaCAmJiByZXN1bHQuZGF0YVtiKzFdID4gdGhyZXNoICYmIHJlc3VsdC5kYXRhW2IrMl0gPiB0aHJlc2g7CiAgfTsKICBjb25zdCBwdXNoID0gcG9zID0+IHsKICAgIGlmICghdmlzaXRlZFtwb3NdICYmIGlzTGlnaHQocG9zKSkgeyB2aXNpdGVkW3Bvc10gPSAxOyBxdWV1ZVt0YWlsKytdID0gcG9zOyB9CiAgfTsKCiAgZm9yIChsZXQgeCA9IDA7IHggPCB3aWR0aDsgeCsrKSB7IHB1c2goeCk7IHB1c2goKGhlaWdodC0xKSp3aWR0aCt4KTsgfQogIGZvciAobGV0IHkgPSAxOyB5IDwgaGVpZ2h0LTE7IHkrKykgeyBwdXNoKHkqd2lkdGgpOyBwdXNoKHkqd2lkdGgrd2lkdGgtMSk7IH0KCiAgd2hpbGUgKGhlYWQgPCB0YWlsKSB7CiAgICBjb25zdCBwID0gcXVldWVbaGVhZCsrXTsKICAgIHJlc3VsdC5kYXRhW3AqNCszXSA9IDA7CiAgICBjb25zdCB4ID0gcCAlIHdpZHRoLCB5ID0gKHAvd2lkdGgpfDA7CiAgICBpZiAoeCA+IDApICAgICAgICBwdXNoKHAtMSk7CiAgICBpZiAoeCA8IHdpZHRoLTEpICBwdXNoKHArMSk7CiAgICBpZiAoeSA+IDApICAgICAgICBwdXNoKHAtd2lkdGgpOwogICAgaWYgKHkgPCBoZWlnaHQtMSkgcHVzaChwK3dpZHRoKTsKICB9CiAgcmV0dXJuIHJlc3VsdDsKfQoKLy8g4pSA4pSAIFRyaW0gdHJhbnNwYXJlbnQgcGl4ZWxzIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgApmdW5jdGlvbiB0cmltQ2FudmFzKGNhbnZhcykgewogIGNvbnN0IGN0eCA9IGNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogIGNvbnN0IHdpZHRoID0gY2FudmFzLndpZHRoOwogIGNvbnN0IGhlaWdodCA9IGNhbnZhcy5oZWlnaHQ7CiAgY29uc3QgaW1nRGF0YSA9IGN0eC5nZXRJbWFnZURhdGEoMCwgMCwgd2lkdGgsIGhlaWdodCk7CiAgY29uc3QgZGF0YSA9IGltZ0RhdGEuZGF0YTsKCiAgbGV0IHRvcCA9IG51bGwsIGJvdHRvbSA9IG51bGwsIGxlZnQgPSBudWxsLCByaWdodCA9IG51bGw7CgogIGZvciAobGV0IHkgPSAwOyB5IDwgaGVpZ2h0OyB5KyspIHsKICAgIGZvciAobGV0IHggPSAwOyB4IDwgd2lkdGg7IHgrKykgewogICAgICBpZiAoZGF0YVsoeSAqIHdpZHRoICsgeCkgKiA0ICsgM10gPiAwKSB7CiAgICAgICAgaWYgKHRvcCA9PT0gbnVsbCkgdG9wID0geTsKICAgICAgICBpZiAoYm90dG9tID09PSBudWxsIHx8IHkgPiBib3R0b20pIGJvdHRvbSA9IHk7CiAgICAgICAgaWYgKGxlZnQgPT09IG51bGwgfHwgeCA8IGxlZnQpIGxlZnQgPSB4OwogICAgICAgIGlmIChyaWdodCA9PT0gbnVsbCB8fCB4ID4gcmlnaHQpIHJpZ2h0ID0geDsKICAgICAgfQogICAgfQogIH0KCiAgaWYgKHRvcCA9PT0gbnVsbCkgcmV0dXJuIG51bGw7CgogIGNvbnN0IHRyaW1tZWRXID0gcmlnaHQgLSBsZWZ0ICsgMTsKICBjb25zdCB0cmltbWVkSCA9IGJvdHRvbSAtIHRvcCArIDE7CiAgY29uc3QgdHJpbW1lZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpOwogIHRyaW1tZWQud2lkdGggPSB0cmltbWVkVzsKICB0cmltbWVkLmhlaWdodCA9IHRyaW1tZWRIOwogIHRyaW1tZWQuZ2V0Q29udGV4dCgnMmQnKS5kcmF3SW1hZ2UoY2FudmFzLCBsZWZ0LCB0b3AsIHRyaW1tZWRXLCB0cmltbWVkSCwgMCwgMCwgdHJpbW1lZFcsIHRyaW1tZWRIKTsKICByZXR1cm4gdHJpbW1lZDsKfQoKLy8g4pSA4pSAIFJlbW92ZSBzdHJheSBub2lzZSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIAKZnVuY3Rpb24gcmVtb3ZlRWRnZU5vaXNlKGltYWdlRGF0YSkgewogIGNvbnN0IHsgZGF0YSwgd2lkdGgsIGhlaWdodCB9ID0gaW1hZ2VEYXRhOwogIGNvbnN0IHJlc3VsdCA9IG5ldyBJbWFnZURhdGEobmV3IFVpbnQ4Q2xhbXBlZEFycmF5KGRhdGEpLCB3aWR0aCwgaGVpZ2h0KTsKICBjb25zdCB2aXNpdGVkID0gbmV3IFVpbnQ4QXJyYXkod2lkdGggKiBoZWlnaHQpOwogIGNvbnN0IHF1ZXVlID0gbmV3IEludDMyQXJyYXkod2lkdGggKiBoZWlnaHQpOwogIAogIGxldCBtYXhDb21wU2l6ZSA9IDA7CiAgbGV0IG1heENvbXBJZCA9IDA7CiAgbGV0IGN1cnJlbnRDb21wSWQgPSAxOwogIGNvbnN0IHBpeGVsQ29tcCA9IG5ldyBJbnQzMkFycmF5KHdpZHRoICogaGVpZ2h0KTsKICBjb25zdCBjb21wVG91Y2hlc0VkZ2UgPSB7fTsKICBjb25zdCBjb21wU2l6ZXMgPSB7fTsKCiAgZm9yIChsZXQgaSA9IDA7IGkgPCB3aWR0aCAqIGhlaWdodDsgaSsrKSB7CiAgICBpZiAocmVzdWx0LmRhdGFbaSAqIDQgKyAzXSA+IDAgJiYgIXZpc2l0ZWRbaV0pIHsKICAgICAgbGV0IGhlYWQgPSAwLCB0YWlsID0gMDsKICAgICAgcXVldWVbdGFpbCsrXSA9IGk7CiAgICAgIHZpc2l0ZWRbaV0gPSAxOwogICAgICBsZXQgY29tcFNpemUgPSAwOwogICAgICBsZXQgdG91Y2hlc0VkZ2UgPSBmYWxzZTsKCiAgICAgIHdoaWxlIChoZWFkIDwgdGFpbCkgewogICAgICAgIGNvbnN0IHAgPSBxdWV1ZVtoZWFkKytdOwogICAgICAgIHBpeGVsQ29tcFtwXSA9IGN1cnJlbnRDb21wSWQ7CiAgICAgICAgY29tcFNpemUrKzsKICAgICAgICAKICAgICAgICBjb25zdCB4ID0gcCAlIHdpZHRoLCB5ID0gKHAgLyB3aWR0aCkgfCAwOwogICAgICAgIGlmICh4ID09PSAwIHx8IHggPT09IHdpZHRoIC0gMSB8fCB5ID09PSAwIHx8IHkgPT09IGhlaWdodCAtIDEpIHsKICAgICAgICAgIHRvdWNoZXNFZGdlID0gdHJ1ZTsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgZm9yIChsZXQgZHkgPSAtMTsgZHkgPD0gMTsgZHkrKykgewogICAgICAgICAgZm9yIChsZXQgZHggPSAtMTsgZHggPD0gMTsgZHgrKykgewogICAgICAgICAgICBpZiAoZHggPT09IDAgJiYgZHkgPT09IDApIGNvbnRpbnVlOwogICAgICAgICAgICBjb25zdCBueCA9IHggKyBkeDsKICAgICAgICAgICAgY29uc3QgbnkgPSB5ICsgZHk7CiAgICAgICAgICAgIGlmIChueCA+PSAwICYmIG54IDwgd2lkdGggJiYgbnkgPj0gMCAmJiBueSA8IGhlaWdodCkgewogICAgICAgICAgICAgIGNvbnN0IG5wID0gbnkgKiB3aWR0aCArIG54OwogICAgICAgICAgICAgIGlmIChyZXN1bHQuZGF0YVtucCAqIDQgKyAzXSA+IDAgJiYgIXZpc2l0ZWRbbnBdKSB7CiAgICAgICAgICAgICAgICB2aXNpdGVkW25wXSA9IDE7CiAgICAgICAgICAgICAgICBxdWV1ZVt0YWlsKytdID0gbnA7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICB9CiAgICAgIAogICAgICBjb21wVG91Y2hlc0VkZ2VbY3VycmVudENvbXBJZF0gPSB0b3VjaGVzRWRnZTsKICAgICAgY29tcFNpemVzW2N1cnJlbnRDb21wSWRdID0gY29tcFNpemU7CgogICAgICBpZiAoY29tcFNpemUgPiBtYXhDb21wU2l6ZSkgewogICAgICAgIG1heENvbXBTaXplID0gY29tcFNpemU7CiAgICAgICAgbWF4Q29tcElkID0gY3VycmVudENvbXBJZDsKICAgICAgfQogICAgICBjdXJyZW50Q29tcElkKys7CiAgICB9CiAgfQoKICBmb3IgKGxldCBpID0gMDsgaSA8IHdpZHRoICogaGVpZ2h0OyBpKyspIHsKICAgIGNvbnN0IGNJZCA9IHBpeGVsQ29tcFtpXTsKICAgIGlmIChjSWQgIT09IDAgJiYgY0lkICE9PSBtYXhDb21wSWQpIHsKICAgICAgLy8gRGVsZXRlIGlmIGl0IHRvdWNoZXMgZWRnZSwgb3IgaWYgaXQncyBzbWFsbGVyIHRoYW4gMTAgcGl4ZWxzICh0aW55IG5vaXNlKQogICAgICBpZiAoY29tcFRvdWNoZXNFZGdlW2NJZF0gfHwgY29tcFNpemVzW2NJZF0gPCAxMCkgewogICAgICAgIHJlc3VsdC5kYXRhW2kgKiA0ICsgM10gPSAwOwogICAgICAgIHJlc3VsdC5kYXRhW2kgKiA0ICsgMF0gPSAwOwogICAgICAgIHJlc3VsdC5kYXRhW2kgKiA0ICsgMV0gPSAwOwogICAgICAgIHJlc3VsdC5kYXRhW2kgKiA0ICsgMl0gPSAwOwogICAgICB9CiAgICB9CiAgfQoKICByZXR1cm4gcmVzdWx0Owp9CgovLyDilIDilIAgU2hpZnQgTWFzayAoRXJvZGUgLyBEaWxhdGUpIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgApmdW5jdGlvbiBzaGlmdE1hc2soaW1hZ2VEYXRhLCBzaGlmdEFtb3VudCkgewogIGlmIChzaGlmdEFtb3VudCA9PT0gMCkgcmV0dXJuIGltYWdlRGF0YTsKICBjb25zdCB7IGRhdGEsIHdpZHRoLCBoZWlnaHQgfSA9IGltYWdlRGF0YTsKICBjb25zdCBhbHBoYSA9IG5ldyBVaW50OEFycmF5KHdpZHRoICogaGVpZ2h0KTsKICBmb3IgKGxldCBpID0gMDsgaSA8IHdpZHRoICogaGVpZ2h0OyBpKyspIHsKICAgIGFscGhhW2ldID0gZGF0YVtpICogNCArIDNdID4gMCA\/IDEgOiAwOwogIH0KICAKICBjb25zdCB0ZW1wID0gbmV3IFVpbnQ4QXJyYXkod2lkdGggKiBoZWlnaHQpOwogIGNvbnN0IGl0ZXJzID0gTWF0aC5hYnMoc2hpZnRBbW91bnQpOwogIGNvbnN0IGRpbGF0ZSA9IHNoaWZ0QW1vdW50ID4gMDsKICAKICBmb3IgKGxldCByID0gMDsgciA8IGl0ZXJzOyByKyspIHsKICAgIHRlbXAuc2V0KGFscGhhKTsKICAgIGZvciAobGV0IHkgPSAwOyB5IDwgaGVpZ2h0OyB5KyspIHsKICAgICAgZm9yIChsZXQgeCA9IDA7IHggPCB3aWR0aDsgeCsrKSB7CiAgICAgICAgY29uc3QgaSA9IHkgKiB3aWR0aCArIHg7CiAgICAgICAgaWYgKGRpbGF0ZSkgewogICAgICAgICAgaWYgKGFscGhhW2ldID09PSAwKSB7CiAgICAgICAgICAgIGxldCBoYXNGZyA9IGZhbHNlOwogICAgICAgICAgICBmb3IobGV0IGR5PS0xOyBkeTw9MSAmJiAhaGFzRmc7IGR5KyspIHsKICAgICAgICAgICAgICBmb3IobGV0IGR4PS0xOyBkeDw9MSAmJiAhaGFzRmc7IGR4KyspIHsKICAgICAgICAgICAgICAgICBpZihkeD09PTAgJiYgZHk9PT0wKSBjb250aW51ZTsKICAgICAgICAgICAgICAgICBjb25zdCBueD14K2R4LCBueT15K2R5OwogICAgICAgICAgICAgICAgIGlmKG54Pj0wICYmIG54PHdpZHRoICYmIG55Pj0wICYmIG55PGhlaWdodCAmJiBhbHBoYVtueSp3aWR0aCtueF0pIGhhc0ZnPXRydWU7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmIChoYXNGZykgdGVtcFtpXSA9IDE7CiAgICAgICAgICB9CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIGlmIChhbHBoYVtpXSA9PT0gMSkgewogICAgICAgICAgICBsZXQgaGFzQmcgPSBmYWxzZTsKICAgICAgICAgICAgZm9yKGxldCBkeT0tMTsgZHk8PTEgJiYgIWhhc0JnOyBkeSsrKSB7CiAgICAgICAgICAgICAgZm9yKGxldCBkeD0tMTsgZHg8PTEgJiYgIWhhc0JnOyBkeCsrKSB7CiAgICAgICAgICAgICAgICAgaWYoZHg9PT0wICYmIGR5PT09MCkgY29udGludWU7CiAgICAgICAgICAgICAgICAgY29uc3Qgbng9eCtkeCwgbnk9eStkeTsKICAgICAgICAgICAgICAgICBpZihueDwwIHx8IG54Pj13aWR0aCB8fCBueTwwIHx8IG55Pj1oZWlnaHQpIHsKICAgICAgICAgICAgICAgICAgIGhhc0JnID0gdHJ1ZTsKICAgICAgICAgICAgICAgICB9IGVsc2UgaWYoYWxwaGFbbnkqd2lkdGgrbnhdPT09MCkgewogICAgICAgICAgICAgICAgICAgaGFzQmcgPSB0cnVlOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKGhhc0JnKSB0ZW1wW2ldID0gMDsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0KICAgIH0KICAgIGFscGhhLnNldCh0ZW1wKTsKICB9CiAgCiAgZm9yIChsZXQgaSA9IDA7IGkgPCB3aWR0aCAqIGhlaWdodDsgaSsrKSB7CiAgICBpZiAoYWxwaGFbaV0gPT09IDApIHsKICAgICAgZGF0YVtpICogNCArIDNdID0gMDsKICAgIH0gZWxzZSBpZiAoZGF0YVtpICogNCArIDNdID09PSAwKSB7CiAgICAgIGRhdGFbaSAqIDQgKyAzXSA9IDI1NTsKICAgIH0KICB9CiAgcmV0dXJuIGltYWdlRGF0YTsKfQoKLy8g4pSA4pSAIEFudGktYWxpYXNpbmcgKFNtb290aCBlZGdlcykg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSACmZ1bmN0aW9uIHByb2Nlc3NBbnRpQWxpYXNpbmcoaW1hZ2VEYXRhLCByYWRpdXMgPSAxKSB7CiAgY29uc3QgeyBkYXRhLCB3aWR0aCwgaGVpZ2h0IH0gPSBpbWFnZURhdGE7CiAgCiAgLy8gMS4gQmxlZWQgY29sb3JzCiAgbGV0IGN1cnJlbnREYXRhID0gbmV3IFVpbnQ4Q2xhbXBlZEFycmF5KGRhdGEpOwogIGZvciAobGV0IHIgPSAwOyByIDwgcmFkaXVzOyByKyspIHsKICAgIGNvbnN0IG5leHREYXRhID0gbmV3IFVpbnQ4Q2xhbXBlZEFycmF5KGN1cnJlbnREYXRhKTsKICAgIGZvciAobGV0IHkgPSAwOyB5IDwgaGVpZ2h0OyB5KyspIHsKICAgICAgZm9yIChsZXQgeCA9IDA7IHggPCB3aWR0aDsgeCsrKSB7CiAgICAgICAgY29uc3QgaSA9ICh5ICogd2lkdGggKyB4KSAqIDQ7CiAgICAgICAgaWYgKGN1cnJlbnREYXRhW2kgKyAzXSA9PT0gMCkgewogICAgICAgICAgbGV0IHJTdW0gPSAwLCBnU3VtID0gMCwgYlN1bSA9IDAsIGNvdW50ID0gMDsKICAgICAgICAgIGZvciAobGV0IGR5ID0gLTE7IGR5IDw9IDE7IGR5KyspIHsKICAgICAgICAgICAgZm9yIChsZXQgZHggPSAtMTsgZHggPD0gMTsgZHgrKykgewogICAgICAgICAgICAgIGlmIChkeCA9PT0gMCAmJiBkeSA9PT0gMCkgY29udGludWU7CiAgICAgICAgICAgICAgY29uc3QgbnkgPSB5ICsgZHksIG54ID0geCArIGR4OwogICAgICAgICAgICAgIGlmIChueCA+PSAwICYmIG54IDwgd2lkdGggJiYgbnkgPj0gMCAmJiBueSA8IGhlaWdodCkgewogICAgICAgICAgICAgICAgY29uc3QgbmkgPSAobnkgKiB3aWR0aCArIG54KSAqIDQ7CiAgICAgICAgICAgICAgICBpZiAoY3VycmVudERhdGFbbmkgKyAzXSA+IDApIHsKICAgICAgICAgICAgICAgICAgclN1bSArPSBjdXJyZW50RGF0YVtuaV07CiAgICAgICAgICAgICAgICAgIGdTdW0gKz0gY3VycmVudERhdGFbbmkgKyAxXTsKICAgICAgICAgICAgICAgICAgYlN1bSArPSBjdXJyZW50RGF0YVtuaSArIDJdOwogICAgICAgICAgICAgICAgICBjb3VudCsrOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgICAgaWYgKGNvdW50ID4gMCkgewogICAgICAgICAgICBuZXh0RGF0YVtpXSA9IHJTdW0gLyBjb3VudDsKICAgICAgICAgICAgbmV4dERhdGFbaSArIDFdID0gZ1N1bSAvIGNvdW50OwogICAgICAgICAgICBuZXh0RGF0YVtpICsgMl0gPSBiU3VtIC8gY291bnQ7CiAgICAgICAgICAgIG5leHREYXRhW2kgKyAzXSA9IDE7IC8vIG1hcmtlcgogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQogICAgfQogICAgY3VycmVudERhdGEgPSBuZXh0RGF0YTsKICB9CiAgCiAgLy8gYXBwbHkgYmxlZCBjb2xvcnMgYmFjaywgcmVzZXQgYWxwaGEgbWFya2VyCiAgZm9yIChsZXQgaSA9IDA7IGkgPCBkYXRhLmxlbmd0aDsgaSArPSA0KSB7CiAgICBpZiAoY3VycmVudERhdGFbaSArIDNdID09PSAxKSB7CiAgICAgIGRhdGFbaV0gPSBjdXJyZW50RGF0YVtpXTsKICAgICAgZGF0YVtpICsgMV0gPSBjdXJyZW50RGF0YVtpICsgMV07CiAgICAgIGRhdGFbaSArIDJdID0gY3VycmVudERhdGFbaSArIDJdOwogICAgICAvLyBhbHBoYSByZW1haW5zIDAgaW4gJ2RhdGEnCiAgICB9CiAgfQoKICAvLyAyLiBCbHVyIEFscGhhCiAgY29uc3QgbmV3QWxwaGEgPSBuZXcgVWludDhDbGFtcGVkQXJyYXkod2lkdGggKiBoZWlnaHQpOwogIGZvciAobGV0IGkgPSAwOyBpIDwgd2lkdGggKiBoZWlnaHQ7IGkrKykgewogICAgbmV3QWxwaGFbaV0gPSBkYXRhW2kgKiA0ICsgM107CiAgfQogIAogIGZvciAobGV0IHIgPSAwOyByIDwgcmFkaXVzOyByKyspIHsKICAgIGNvbnN0IHRlbXBBbHBoYSA9IG5ldyBVaW50OENsYW1wZWRBcnJheShuZXdBbHBoYSk7CiAgICBmb3IgKGxldCB5ID0gMDsgeSA8IGhlaWdodDsgeSsrKSB7CiAgICAgIGZvciAobGV0IHggPSAwOyB4IDwgd2lkdGg7IHgrKykgewogICAgICAgIGxldCBzdW0gPSAwLCBjb3VudCA9IDA7CiAgICAgICAgZm9yIChsZXQgZHkgPSAtMTsgZHkgPD0gMTsgZHkrKykgewogICAgICAgICAgZm9yIChsZXQgZHggPSAtMTsgZHggPD0gMTsgZHgrKykgewogICAgICAgICAgICBjb25zdCBueSA9IHkgKyBkeSwgbnggPSB4ICsgZHg7CiAgICAgICAgICAgIGlmIChueCA+PSAwICYmIG54IDwgd2lkdGggJiYgbnkgPj0gMCAmJiBueSA8IGhlaWdodCkgewogICAgICAgICAgICAgIHN1bSArPSB0ZW1wQWxwaGFbbnkgKiB3aWR0aCArIG54XTsKICAgICAgICAgICAgICBjb3VudCsrOwogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIG5ld0FscGhhW3kgKiB3aWR0aCArIHhdID0gc3VtIC8gY291bnQ7CiAgICAgIH0KICAgIH0KICB9CiAgCiAgZm9yIChsZXQgaSA9IDA7IGkgPCB3aWR0aCAqIGhlaWdodDsgaSsrKSB7CiAgICBkYXRhW2kgKiA0ICsgM10gPSBuZXdBbHBoYVtpXTsKICB9CiAgCiAgcmV0dXJuIGltYWdlRGF0YTsKfQoKLy8g4pSA4pSAIFJlbmRlciDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIAKZnVuY3Rpb24gcmVuZGVyUmVzdWx0cyh1cmxzLCBjb2xzKSB7CiAgc3RpY2tlckdyaWQuaW5uZXJIVE1MID0gJyc7CiAgLy8gUmVzcG9uc2l2ZSBncmlkIGFkanVzdGluZyBiYXNlZCBvbiBjb2xzIHJlcXVlc3RlZCBidXQgYm91bmRlZAogIGNvbnN0IGRpc3BsYXlDb2xzID0gTWF0aC5taW4oY29scywgd2luZG93LmlubmVyV2lkdGggPCA2NDAgPyAyIDogd2luZG93LmlubmVyV2lkdGggPCA5MDAgPyAzIDogNCk7CiAgc3RpY2tlckdyaWQuc3R5bGUuZ3JpZFRlbXBsYXRlQ29sdW1ucyA9ICdyZXBlYXQoYXV0by1maWxsLCBtaW5tYXgoMTgwcHgsIDFmcikpJzsKICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY291bnRDaGlwJykudGV4dENvbnRlbnQgPSB1cmxzLmxlbmd0aDsKCiAgdXJscy5mb3JFYWNoKCh1cmwsIGkpID0+IHsKICAgIGNvbnN0IGNhcmQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKICAgIGNhcmQuY2xhc3NOYW1lID0gJ2Rwcy1pLXN0aWNrZXItY2FyZCc7CiAgICBjYXJkLnN0eWxlLmFuaW1hdGlvbkRlbGF5ID0gKGkgKiA1MCkgKyAnbXMnOwogICAgY2FyZC5pbm5lckhUTUwgPQogICAgICAnPGRpdiBjbGFzcz0iZHBzLWktcy1wcmV2aWV3Ij48aW1nIHNyYz0iJyArIHVybCArICciIGxvYWRpbmc9ImxhenkiPjwvZGl2PicgKwogICAgICAnPGRpdiBjbGFzcz0iZHBzLWktcy1mb290ZXIiPicgKwogICAgICAgICc8c3BhbiBjbGFzcz0iZHBzLWktcy1sYWJlbCI+U3RpY2tlciAnICsgU3RyaW5nKGkrMSkucGFkU3RhcnQoMiwnMCcpICsgJzwvc3Bhbj4nICsKICAgICAgICAnPGJ1dHRvbiBjbGFzcz0iZHBzLWktYnRuIGRwcy1pLWJ0bi1zbSBkcHMtaS1idG4tb3V0bGluZS1wcmltYXJ5IiBkYXRhLWk9IicgKyBpICsgJyI+4oaTIFThuqNpIFBORzwvYnV0dG9uPicgKwogICAgICAnPC9kaXY+JzsKICAgIHN0aWNrZXJHcmlkLmFwcGVuZENoaWxkKGNhcmQpOwogIH0pOwoKICByZXN1bHRzV3JhcC5jbGFzc0xpc3QucmVtb3ZlKCdoaWRkZW4nKTsKICAKICAvLyBzbW9vdGggc2Nyb2xsIHRvIHJlc3VsdHMKICBzZXRUaW1lb3V0KCgpID0+IHsKICAgIHJlc3VsdHNXcmFwLnNjcm9sbEludG9WaWV3KHsgYmVoYXZpb3I6ICdzbW9vdGgnLCBibG9jazogJ3N0YXJ0JyB9KTsKICB9LCAxMDApOwp9CgovLyDilIDilIAgRG93bmxvYWQgWklQIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgApkb3dubG9hZEFsbEJ0bi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGFzeW5jICgpID0+IHsKICBpZiAoIXN0aWNrZXJVUkxzLmxlbmd0aCkgcmV0dXJuOwogIGRvd25sb2FkQWxsQnRuLmRpc2FibGVkID0gdHJ1ZTsKICBkb3dubG9hZEFsbEJ0bi5pbm5lckhUTUwgPSAn4o+zIMSQYW5nIMSRw7NuZyBnw7NpIFpJUC4uLic7CiAgY29uc3QgemlwID0gbmV3IEpTWmlwKCk7CiAgc3RpY2tlclVSTHMuZm9yRWFjaCgodXJsLCBpKSA9PiB7CiAgICB6aXAuZmlsZShvcmlnRmlsZU5hbWUgKyAnXycgKyBTdHJpbmcoaSsxKS5wYWRTdGFydCgyLCcwJykgKyAnLnBuZycsIHVybC5zcGxpdCgnLCcpWzFdLCB7YmFzZTY0OnRydWV9KTsKICB9KTsKICBjb25zdCBibG9iID0gYXdhaXQgemlwLmdlbmVyYXRlQXN5bmMoe3R5cGU6J2Jsb2InLCBjb21wcmVzc2lvbjonREVGTEFURSd9KTsKICBkbEZpbGUoVVJMLmNyZWF0ZU9iamVjdFVSTChibG9iKSwgb3JpZ0ZpbGVOYW1lICsgJ19zdGlja2Vycy56aXAnKTsKICBkb3dubG9hZEFsbEJ0bi5kaXNhYmxlZCA9IGZhbHNlOwogIGRvd25sb2FkQWxsQnRuLmlubmVySFRNTCA9ICfwn5OmIFThuqNpIHbhu4EgdOG6pXQgY+G6oyAoWklQKSc7Cn0pOwoKc3RpY2tlckdyaWQuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBlID0+IHsKICBjb25zdCBidG4gPSBlLnRhcmdldC5jbG9zZXN0KCdbZGF0YS1pXScpOwogIGlmICghYnRuKSByZXR1cm47CiAgZGxGaWxlKHN0aWNrZXJVUkxzWytidG4uZGF0YXNldC5pXSwgb3JpZ0ZpbGVOYW1lICsgJ18nICsgU3RyaW5nKCtidG4uZGF0YXNldC5pKzEpLnBhZFN0YXJ0KDIsJzAnKSArICcucG5nJyk7Cn0pOwoKLy8g4pSA4pSAIFV0aWxzIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgApmdW5jdGlvbiBzZXRQcm9ncmVzcyhwY3QsIHRpdGxlLCBkZXRhaWwpIHsKICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncHJvZ3Jlc3NGaWxsJykuc3R5bGUud2lkdGggPSBwY3QgKyAnJSc7CiAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Byb2dyZXNzVGl0bGUnKS50ZXh0Q29udGVudCA9IHRpdGxlOwogIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwcm9ncmVzc0RldGFpbCcpLnRleHRDb250ZW50ID0gZGV0YWlsOwp9CmZ1bmN0aW9uIHNob3dBbGVydCh0eXBlLCBtc2cpIHsKICBhbGVydEJveC5jbGFzc05hbWUgPSAnZHBzLWktYWxlcnQgZHBzLWktYWxlcnQtJyArIHR5cGU7CiAgYWxlcnRCb3guaW5uZXJIVE1MID0gbXNnOwogIGFsZXJ0Qm94LmNsYXNzTGlzdC5yZW1vdmUoJ2hpZGRlbicpOwp9CmZ1bmN0aW9uIGxvYWRJbWcoc3JjKSB7CiAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXMsIHJlaikgPT4gewogICAgY29uc3QgaW1nID0gbmV3IEltYWdlKCk7CiAgICBpbWcub25sb2FkID0gKCkgPT4gcmVzKGltZyk7CiAgICBpbWcub25lcnJvciA9ICgpID0+IHJlaihuZXcgRXJyb3IoJ0tow7RuZyBsb2FkIMSRxrDhu6NjIOG6o25oJykpOwogICAgaW1nLnNyYyA9IHNyYzsKICB9KTsKfQpmdW5jdGlvbiBkbEZpbGUodXJsLCBuYW1lKSB7CiAgY29uc3QgYSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTsgYS5ocmVmID0gdXJsOyBhLmRvd25sb2FkID0gbmFtZTsgYS5jbGljaygpOwp9CmZ1bmN0aW9uIHRpY2soKSB7IHJldHVybiBuZXcgUHJvbWlzZShyID0+IHNldFRpbWVvdXQociwgMCkpOyB9Cg==\";\n  let code = decodeURIComponent(escape(atob(enc)));\n  \n  const classesToPrefix = [\"wrap\",\"badge\",\"dot\",\"sub\",\"panel\",\"upload-zone\",\"ico\",\"hidden\",\"config-panel\",\"preview-row\",\"preview-info\",\"grid-section\",\"section-label\",\"grid-presets\",\"preset-btn\",\"active\",\"grid-custom\",\"times\",\"grid-info\",\"toggle-row\",\"toggle-label\",\"toggle\",\"toggle-track\",\"thresh-row\",\"thresh-val\",\"action-row\",\"btn\",\"btn-primary\",\"btn-secondary\",\"btn-success\",\"btn-sm\",\"btn-outline-primary\",\"guide-box\",\"prompt-text\",\"progress-panel\",\"spinner\",\"progress-title\",\"track\",\"fill\",\"progress-detail\",\"alert\",\"alert-error\",\"alert-success\",\"results-header\",\"results-title\",\"chip\",\"sticker-grid\",\"sticker-card\",\"s-preview\",\"s-footer\",\"s-label\"];\n  classesToPrefix.forEach(cls => {\n    code = code.replace(new RegExp(`classList\\\\.add\\\\(['\\\\\"]${cls}['\\\\\"]\\\\)`, 'g'), `classList.add('dps-i-${cls}')`);\n    code = code.replace(new RegExp(`classList\\\\.remove\\\\(['\\\\\"]${cls}['\\\\\"]\\\\)`, 'g'), `classList.remove('dps-i-${cls}')`);\n    code = code.replace(new RegExp(`classList\\\\.toggle\\\\(['\\\\\"]${cls}['\\\\\"]`, 'g'), `classList.toggle('dps-i-${cls}'`);\n    \n    code = code.replace(new RegExp(`querySelectorAll\\\\(['\\\\\"]\\\\.${cls}['\\\\\"]\\\\)`, 'g'), `querySelectorAll('.dps-i-${cls}')`);\n    code = code.replace(new RegExp(`querySelector\\\\(['\\\\\"]\\\\.${cls}['\\\\\"]\\\\)`, 'g'), `querySelector('.dps-i-${cls}')`);\n  });\n  \n  new Function(code)();\n\n  <\/script>\n<\/div>\n\n\n\n\n<h1 class=\"wp-block-heading\" id=\"user-content--h\u01b0\u1edbng-d\u1eabn-s\u1eed-d\u1ee5ng-c\u00f4ng-c\u1ee5-c\u1eaft-sticker--x\u00f3a-n\u1ec1n-t\u1ef1-\u0111\u1ed9ng-sticker-splitter\">\ud83e\ude84 Sticker Splitter \u4f7f\u7528\u6307\u5357\uff08\u8d34\u7eb8\u88c1\u526a\u4e0e\u81ea\u52a8\u53bb\u80cc\u666f\uff09<\/h1>\n\n\n\n<p>\u4f60\u521a\u5728 Midjourney\u3001DALL-E \u6216 Canva \u4e0a\u521b\u5efa\u4e86\u4e00\u4e2a\u7cbe\u7f8e\u7684\u8d34\u7eb8\u5305\uff0c\u4f46\u5b83\u4eec\u90fd\u8fde\u5728\u540c\u4e00\u5f20\u7f51\u683c\u56fe\u7247\uff082\u00d72\u30013\u00d73\u2026\uff09\u4e0a\uff1f\u4f60\u60f3\u5c06\u6bcf\u5f20\u56fe\u7247\u5206\u79bb\u51fa\u6765\uff0c\u53bb\u9664\u767d\u8272\u80cc\u666f\u5e76\u81ea\u52a8\u5c45\u4e2d\uff0c\u53ea\u9700\u51e0\u79d2\u5b8c\u6210\uff1f<\/p>\n\n\n\n<p>\u522b\u62c5\u5fc3\uff0c&nbsp;<strong>Sticker Splitter<\/strong>&nbsp;\u5de5\u5177\u5c06\u901a\u8fc7\u51e0\u6b21\u70b9\u51fb\u5e2e\u4f60\u5f7b\u5e95\u89e3\u51b3\u8fd9\u4e2a\u95ee\u9898\uff01<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"user-content--c\u00e1c-t\u00ednh-n\u0103ng-n\u1ed5i-b\u1eadt\">\ud83c\udf1f \u4e3b\u8981\u529f\u80fd<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u81ea\u52a8\u7f51\u683c\u88c1\u526a\uff1a<\/strong>&nbsp;\u652f\u6301\u6309\u5e38\u89c1\u7f51\u683c\u683c\u5f0f\uff082\u00d72\u30013\u00d73\u30014\u00d74\u7b49\uff09\u5feb\u901f\u88c1\u526a\u56fe\u7247\u3002.<\/li>\n\n\n\n<li><strong>\u667a\u80fd\u53bb\u767d\u80cc\u666f\uff08\u7c7b\u4f3cAI\uff09\uff1a<\/strong>&nbsp;\u81ea\u52a8\u68c0\u6d4b\u5e76\u5c06\u8d34\u7eb8\u5468\u56f4\u7684\u767d\u8272\u80cc\u666f\u53d8\u4e3a\u900f\u660e\u3002.<\/li>\n\n\n\n<li><strong>\u88c1\u8fb9\uff08\u5185\u88c1\uff09\uff1a<\/strong>&nbsp;\u5f7b\u5e95\u53bb\u9664\u5404\u5355\u5143\u4e4b\u95f4\u7684\u9ed1\/\u767d\u5206\u9694\u7ebf\u3002.<\/li>\n\n\n\n<li><strong>\u81ea\u52a8\u5c45\u4e2d\uff1a<\/strong>&nbsp;\u81ea\u52a8\u88c1\u6389\u591a\u4f59\u7a7a\u767d\u5e76\u5c06\u8d34\u7eb8\u7f6e\u4e8e\u6807\u51c6465x465px\u65b9\u5f62\u753b\u5e03\u4e2d\u5fc3\uff08Zalo\/Telegram\u6807\u51c6\uff09\u3002.<\/li>\n\n\n\n<li><strong>\u6279\u91cf\u4e0b\u8f7d\uff1a<\/strong>&nbsp;\u5c06\u6240\u6709\u8d34\u7eb8\u6253\u5305\u4e3a\u4e00\u4e2a&nbsp;<code>.ZIP<\/code>&nbsp;\u6587\u4ef6\uff0c\u6216\u5355\u72ec\u4e0b\u8f7d\u900f\u660ePNG\u56fe\u7247\u3002.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"user-content--h\u01b0\u1edbng-d\u1eabn-s\u1eed-d\u1ee5ng-t\u1eebng-b\u01b0\u1edbc\">\ud83d\udcdd \u5206\u6b65\u4f7f\u7528\u6307\u5357<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"user-content-b\u01b0\u1edbc-1-t\u1ea1o-\u1ea3nh-sticker-n\u1ebfu-b\u1ea1n-ch\u01b0a-c\u00f3\">\u6b65\u9aa41\uff1a\u751f\u6210\u8d34\u7eb8\u56fe\u7247\uff08\u5982\u679c\u8fd8\u6ca1\u6709\uff09<\/h3>\n\n\n\n<p>\u5982\u679c\u4f60\u4f7f\u7528 Midjourney \u6216 DALL-E\uff0c\u53ef\u4ee5\u5c1d\u8bd5\u590d\u5236\u6211\u4eec\u5de5\u5177\u4e2d\u63d0\u4f9b\u7684\u793a\u4f8b\u63d0\u793a\u8bcd\uff08\u70b9\u51fb\u6309\u94ae&nbsp;<code>\ud83d\udccb Copy Prompt<\/code>\uff09\u3002AI\u4f1a\u4e3a\u4f60\u751f\u6210\u4e00\u5f20\u5305\u542b\u591a\u4e2a\u8d34\u7eb8\u7684\u767d\u5e95\u7f51\u683c\u56fe\u7247\u3002.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"user-content-b\u01b0\u1edbc-2-t\u1ea3i-\u1ea3nh-l\u00ean-c\u00f4ng-c\u1ee5\">\u6b65\u9aa42\uff1a\u4e0a\u4f20\u56fe\u7247\u5230\u5de5\u5177<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u8bbf\u95ee\u5de5\u5177&nbsp;<strong>Sticker Splitter<\/strong>.<\/li>\n\n\n\n<li>\u70b9\u51fb\u533a\u57df&nbsp;<strong>\u201c\u70b9\u51fb\u6216\u62d6\u62fd\u56fe\u7247\u5230\u8fd9\u91cc\u201d<\/strong>&nbsp;\u6216\u7c98\u8d34\uff08Ctrl+V\uff09\u4f60\u7684\u7f51\u683c\u8d34\u7eb8\u56fe\u7247\u3002.<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"user-content-b\u01b0\u1edbc-3-t\u00f9y-ch\u1ec9nh-th\u00f4ng-s\u1ed1-c\u1eaft\">\u6b65\u9aa43\uff1a\u8c03\u6574\u88c1\u526a\u53c2\u6570<\/h3>\n\n\n\n<p>\u4e0a\u4f20\u56fe\u7247\u540e\uff0c\u63a7\u5236\u9762\u677f\u5c06\u51fa\u73b0\u3002\u5728\u8fd9\u91cc\u8bbe\u7f6e\u4ee5\u4e0b\u53c2\u6570\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\ud83d\udcd0 \u7f51\u683c\u5c3a\u5bf8\uff1a<\/strong>&nbsp;\u9009\u62e9\u4e0e\u4f60\u56fe\u7247\u5bf9\u5e94\u7684\u884c\u5217\u6570\u3002\u4f8b\u5982\uff1a\u5982\u679c\u67099\u5f20\u8d34\u7eb8\uff083\u884c3\u5217\uff09\uff0c\u9009\u62e9&nbsp;<strong>3\u00d73<\/strong>.<\/li>\n\n\n\n<li><strong>\ud83e\ude84 \u53bb\u767d\u80cc\u666f\uff1a<\/strong>&nbsp;\u5982\u679c\u56fe\u7247\u662f\u767d\u5e95\uff0c\u8bf7\u5f00\u542f\u6b64\u9009\u9879\u3002\u5de5\u5177\u4f1a\u81ea\u52a8\u5c06\u767d\u8272\u80cc\u666f\u53d8\u4e3a\u900f\u660e\u3002\u4f60\u53ef\u4ee5\u8c03\u6574\u6ed1\u5757&nbsp;<strong>\u201c\u767d\u8272\u654f\u611f\u5ea6\u201d<\/strong>&nbsp;\uff08\u901a\u5e38\u9ed8\u8ba4240\u6548\u679c\u6700\u4f73\uff09\u3002.<\/li>\n\n\n\n<li><strong>\u2702\ufe0f \u88c1\u8fb9\uff08Crop\uff09\uff1a<\/strong>&nbsp;\u5982\u679c\u56fe\u7247\u6709\u5206\u9694\u7ebf\uff0c\u8bf7\u589e\u52a0\u8be5\u503c\uff08\u4f8b\u5982\uff1a&nbsp;<code>3px<\/code>&nbsp;\u6216&nbsp;<code>5px<\/code>\uff09\u4ee5\u5411\u5185\u88c1\u526a\uff0c\u53bb\u9664\u591a\u4f59\u8fb9\u6846\u3002.<\/li>\n\n\n\n<li><strong>\ud83c\udfaf \u81ea\u52a8\u5c45\u4e2d\uff1a<\/strong>&nbsp;\u63a8\u8350\u4f7f\u7528\uff01\u6b64\u529f\u80fd\u4f1a\u8d34\u5408\u89d2\u8272\u8fb9\u7f18\u5e76\u5c06\u5176\u7f6e\u4e8e\u5b8c\u7f8e\u65b9\u5f62\u4e2d\u5fc3\u3002.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"user-content-b\u01b0\u1edbc-4-x\u1eed-l\u00fd-v\u00e0-t\u1ea3i-v\u1ec1\">\u6b65\u9aa44\uff1a\u5904\u7406\u5e76\u4e0b\u8f7d<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u8bbe\u7f6e\u5b8c\u6210\u540e\uff0c\u70b9\u51fb\u6309\u94ae&nbsp;<strong>\u201c\ud83d\ude80 \u5f00\u59cb\u88c1\u526a\u8d34\u7eb8\u201d<\/strong>.<\/li>\n\n\n\n<li>\u7b49\u5f85\u7ea61-2\u79d2\u7cfb\u7edf\u5904\u7406\u3002.<\/li>\n\n\n\n<li>\u6eda\u52a8\u5230\u90e8\u5206&nbsp;<strong>\u7ed3\u679c<\/strong>, \uff0c\u4f60\u5c06\u770b\u5230\u8d34\u7eb8\u5df2\u88ab\u5206\u79bb\u5e76\u53bb\u9664\u80cc\u666f\u3002.<\/li>\n\n\n\n<li>\u4f60\u53ef\u4ee5\u70b9\u51fb&nbsp;<strong>\u201c\u2193 \u4e0b\u8f7dPNG\u201d<\/strong>&nbsp;\u5355\u72ec\u4e0b\u8f7d\u6bcf\u5f20\uff0c\u6216\u70b9\u51fb\u7eff\u8272\u6309\u94ae&nbsp;<strong>\u201c\ud83d\udce6 \u4e0b\u8f7d\u5168\u90e8\uff08ZIP\uff09\u201d<\/strong>&nbsp;\u4e00\u952e\u4e0b\u8f7d\u5168\u90e8\uff01<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"user-content--m\u1eb9o-nh\u1ecf-\u0111\u1ec3-c\u00f3-k\u1ebft-qu\u1ea3-ho\u00e0n-h\u1ea3o\">\ud83d\udca1 \u83b7\u53d6\u5b8c\u7f8e\u7ed3\u679c\u7684\u5c0f\u6280\u5de7<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u56fe\u7247\u63d0\u793a\u8bcd\uff1a<\/strong>&nbsp;\u59cb\u7ec8\u5728Midjourney\/DALL-E\u63d0\u793a\u8bcd\u4e2d\u6dfb\u52a0&nbsp;<code>white background<\/code>&nbsp;\uff08\u767d\u8272\u80cc\u666f\uff09\u4ee5\u786e\u4fdd\u53bb\u80cc\u666f\u6548\u679c\u6700\u4f73\u3002.<\/li>\n\n\n\n<li><strong>\u56fe\u50cf\u8d28\u91cf\uff1a<\/strong>&nbsp;\u56fe\u7247\u8d8a\u6e05\u6670\u3001\u8fb9\u7f18\u6297\u952f\u9f7f\u8d8a\u5c11\uff0c\u88c1\u526a\u7ed3\u679c\u8d8a\u9510\u5229\u4e14\u4e0d\u4f1a\u51fa\u73b0\u7ec6\u5c0f\u767d\u8fb9\u3002.<\/li>\n\n\n\n<li>\u4e0b\u8f7d\u6587\u4ef6\u540d\u5c06\u81ea\u52a8&nbsp;<strong>\u4fdd\u7559\u539f\u59cb\u6587\u4ef6\u540d<\/strong>&nbsp;\uff08\u4f8b\u5982\uff1a&nbsp;<code>hoat-hinh_01.png<\/code>\uff09\uff0c\u65b9\u4fbf\u7ba1\u7406\u6587\u4ef6\u3002.<\/li>\n<\/ul>\n\n\n\n<p>\u795d\u4f60\u521b\u4f5c\u51fa\u72ec\u7279\u53c8\u6709\u8da3\u7684\u8d34\u7eb8\u5305\uff01\u5982\u6709\u4efb\u4f55\u95ee\u9898\uff0c\u8bf7\u5728\u4e0b\u65b9\u7559\u8a00\u3002.<\/p>","protected":false},"excerpt":{"rendered":"<p>Smart Tool Sticker Splitter T\u1ea3i l\u00ean file \u1ea3nh sticker grid, c\u00f4ng c\u1ee5 s\u1ebd t\u1ef1 \u0111\u1ed9ng c\u1eaft v\u00e0 x\u00f3a n\u1ec1n gi\u00fap b\u1ea1n c\u00f3 nh\u1eefng file PNG trong su\u1ed1t ho\u00e0n h\u1ea3o. \u2728 K\u00e9o th\u1ea3 ho\u1eb7c nh\u1ea5n \u0111\u1ec3 ch\u1ecdn \u1ea3nh H\u1ed7 tr\u1ee3 \u0111\u1ecbnh d\u1ea1ng JPG, PNG, WebP \ud83d\udca1 Prompt t\u1ea1o Sticker m\u1eabu \u0110\u1ec3 k\u1ebft qu\u1ea3 c\u1eaft ho\u00e0n h\u1ea3o [&hellip;]<\/p>","protected":false},"author":1,"featured_media":38619,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-38613","page","type-page","status-publish","has-post-thumbnail","hentry"],"acf":[],"rankmath_keywords":{"primary":"","secondary":[""]},"yoast_keywords":{"primary":"","secondary":[]},"yoast_focuskw":"","rankmath_focuskw":"","seo_keywords":{"primary":"","secondary":[""]},"_links":{"self":[{"href":"https:\/\/dps.media\/zh\/wp-json\/wp\/v2\/pages\/38613","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dps.media\/zh\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/dps.media\/zh\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/dps.media\/zh\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/dps.media\/zh\/wp-json\/wp\/v2\/comments?post=38613"}],"version-history":[{"count":6,"href":"https:\/\/dps.media\/zh\/wp-json\/wp\/v2\/pages\/38613\/revisions"}],"predecessor-version":[{"id":38623,"href":"https:\/\/dps.media\/zh\/wp-json\/wp\/v2\/pages\/38613\/revisions\/38623"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/dps.media\/zh\/wp-json\/wp\/v2\/media\/38619"}],"wp:attachment":[{"href":"https:\/\/dps.media\/zh\/wp-json\/wp\/v2\/media?parent=38613"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}