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