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